s390/cio: introduce DMA pools to cio
authorHalil Pasic <pasic@linux.ibm.com>
Tue, 2 Apr 2019 16:47:29 +0000 (18:47 +0200)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Sat, 15 Jun 2019 10:24:56 +0000 (12:24 +0200)
commitbb99332a2b558e1f28b4c5011f9ea3b46f1c8806
treef6412179ed9826c356de539543164a32206cb76a
parent64e1f0c531d1072cd97939bf0d8df42b26713543
s390/cio: introduce DMA pools to cio

To support protected virtualization cio will need to make sure the
memory used for communication with the hypervisor is DMA memory.

Let us introduce one global pool for cio.

Our DMA pools are implemented as a gen_pool backed with DMA pages. The
idea is to avoid each allocation effectively wasting a page, as we
typically allocate much less than PAGE_SIZE.

Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
Reviewed-by: Sebastian Ott <sebott@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Michael Mueller <mimu@linux.ibm.com>
Tested-by: Michael Mueller <mimu@linux.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
arch/s390/Kconfig
arch/s390/include/asm/cio.h
drivers/s390/cio/css.c