linux-stable/drivers/s390/cio
Julian Wiedmann d8564e19da s390/qdio: allow for non-contiguous SBAL array in init_data
Upper-layer drivers allocate their SBALs by calling qdio_alloc_buffers()
for each individual queue. But when later passing the SBAL addresses to
qdio_establish(), they need to be in a single array of pointers.
So if the driver uses multiple Input or Output queues, it needs to
allocate a temporary array just to present all its SBAL pointers in this
layout.

This patch slightly changes the format of the QDIO initialization data,
so that drivers can pass a per-queue array where each element points to
a queue's SBAL array.
zfcp doesn't use multiple queues, so the impact there is trivial.
For qeth this brings a nice reduction in complexity, and removes
a page-sized allocation.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2020-04-06 13:13:50 +02:00
..
airq.c s390/irq: replace setup_irq() by request_irq() 2020-03-11 14:18:44 +01:00
blacklist.c s390/cio: cio_ignore_proc_seq_next should increase position index 2020-02-17 18:01:57 +01:00
blacklist.h
ccwgroup.c s390/ccwgroup: remove pm support 2020-03-27 10:22:47 +01:00
ccwreq.c
chp.c s390/cio: use kobj_to_dev() API 2020-02-17 18:01:57 +01:00
chp.h
chsc.c s390/qdio: pass ISC as parameter to chsc_sadc() 2020-03-23 13:41:55 +01:00
chsc.h s390/qdio: pass ISC as parameter to chsc_sadc() 2020-03-23 13:41:55 +01:00
chsc_sch.c
chsc_sch.h
cio.c s390/irq: replace setup_irq() by request_irq() 2020-03-11 14:18:44 +01:00
cio.h s390/cio: fix virtio-ccw DMA without PV 2019-10-10 10:49:46 +02:00
cio_debug.h
cmf.c
crw.c
css.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
css.h
device.c s390/cio: use fallthrough; 2020-03-25 12:39:38 +01:00
device.h
device_fsm.c
device_id.c
device_ops.c s390/dasd/cio: Interpret ccw_device_get_mdc return value correctly 2019-12-20 11:52:01 -07:00
device_pgid.c
device_status.c
eadm_sch.c
eadm_sch.h
fcx.c
idset.c s390: Replace zero-length array with flexible-array member 2020-02-27 16:02:21 +01:00
idset.h
io_sch.h
ioasm.c
ioasm.h
isc.c
itcw.c
Makefile vfio-ccw: Refactor how the traces are built 2019-10-17 11:35:56 +02:00
orb.h
qdio.h s390 updates for the 5.7 merge window 2020-04-04 09:45:50 -07:00
qdio_debug.c s390/qdio: cleanly split alloc and establish 2020-04-06 13:13:50 +02:00
qdio_debug.h s390/qdio: cleanly split alloc and establish 2020-04-06 13:13:50 +02:00
qdio_main.c s390/qdio: cleanly split alloc and establish 2020-04-06 13:13:50 +02:00
qdio_setup.c s390/qdio: allow for non-contiguous SBAL array in init_data 2020-04-06 13:13:50 +02:00
qdio_thinint.c s390 updates for the 5.7 merge window 2020-04-04 09:45:50 -07:00
scm.c
trace.c
trace.h
vfio_ccw_async.c vfio-ccw: make vfio_ccw_async_region_ops static 2019-07-29 18:05:03 +02:00
vfio_ccw_cp.c vfio-ccw: Set pa_nr to 0 if memory allocation fails for pa_iova_pfn 2019-07-15 14:16:37 +02:00
vfio_ccw_cp.h vfio-ccw: Refactor how the traces are built 2019-10-17 11:35:56 +02:00
vfio_ccw_drv.c vfio-ccw: fix error return code in vfio_ccw_sch_init() 2019-09-05 15:18:15 +02:00
vfio_ccw_fsm.c vfio-ccw: Rework the io_fctl trace 2019-10-17 11:37:24 +02:00
vfio_ccw_ops.c vfio-ccw: add some logging 2019-08-23 12:53:32 +02:00
vfio_ccw_private.h vfio-ccw: Trace the FSM jumptable 2019-10-17 11:36:29 +02:00
vfio_ccw_trace.c vfio-ccw: Rework the io_fctl trace 2019-10-17 11:37:24 +02:00
vfio_ccw_trace.h vfio-ccw: Use the correct style for SPDX License Identifier 2020-01-07 10:37:34 +01:00