linux/drivers/s390/cio
Julian Wiedmann 396c100472 s390/qdio: let driver manage the QAOB
We are spending way too much effort on qdio-internal bookkeeping for
QAOB management & caching, and it's still not robust. Once qdio's
TX path has detached the QAOB from a PENDING buffer, we lost all
track of it until it shows up in a CQ notification again. So if the
device is torn down before that notification arrives, we leak the QAOB.

Just have the driver take care of it, and simply pass down a QAOB if
they want a TX with async-completion capability. For a buffer in PENDING
state that requires the QAOB for final completion, qeth can now also try
to recycle the buffer's QAOB rather than unconditionally freeing it.

This also eliminates the qdio_outbuf_state array, which was only needed
to transfer the aob->user1 tag from the driver to the qdio layer.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Acked-by: Benjamin Block <bblock@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2021-03-22 11:36:05 +01: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: use bus->dev_groups for bus-based sysfs attributes 2020-12-07 06:55:21 -08:00
ccwreq.c
chp.c s390/cio: Export information about Endpoint-Security Capability 2020-11-16 08:14:37 -07:00
chp.h s390/cio: Add support for FCES status notification 2020-11-16 08:14:38 -07:00
chsc_sch.c s390/cio: remove pm support from chsc subchannel driver 2020-12-02 18:19:25 +01:00
chsc_sch.h
chsc.c s390/cio: Add support for FCES status notification 2020-11-16 08:14:38 -07:00
chsc.h s390/cio: Export information about Endpoint-Security Capability 2020-11-16 08:14:37 -07:00
cio_debug.h s390/cio: introduce CIO debugfs directory 2021-03-22 11:36:04 +01:00
cio_debugfs.c s390/cio: introduce CIO debugfs directory 2021-03-22 11:36:04 +01:00
cio_inject.c s390/cio: add CRW inject functionality 2021-03-22 11:36:04 +01:00
cio_inject.h s390/cio: add CRW inject functionality 2021-03-22 11:36:04 +01:00
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
cmf.c s390/cio: remove pm support from ccw bus driver 2020-12-02 18:19:25 +01:00
crw.c
css.c s390/cio: use dma helpers for setting masks 2021-01-19 12:29:26 +01:00
css.h s390/cio: remove pm support from css-bus driver 2020-12-02 18:19:25 +01:00
device_fsm.c s390/time,idle: get rid of unsigned long long 2021-03-08 10:46:27 +01:00
device_id.c
device_ops.c s390/cio: Helper functions to read CSSID, IID, and CHID 2020-09-15 13:21:46 -07:00
device_pgid.c
device_status.c
device.c s390/cio: use dma helpers for setting masks 2021-01-19 12:29:26 +01:00
device.h s390/cio: remove pm support from ccw bus driver 2020-12-02 18:19:25 +01:00
eadm_sch.c s390/cio: remove pm support from eadm-sch drivers 2020-12-02 18:19:24 +01:00
eadm_sch.h
fcx.c
idset.c s390/cio: Remove unused inline function idset_sch_get_first 2020-05-20 10:22:49 +02:00
idset.h
io_sch.h s390/cio: remove pm support from ccw bus driver 2020-12-02 18:19:25 +01:00
ioasm.c s390/cio: add CRW inject functionality 2021-03-22 11:36:04 +01:00
ioasm.h
isc.c
itcw.c
Makefile s390/cio: add CRW inject functionality 2021-03-22 11:36:04 +01:00
orb.h
qdio_debug.c s390/qdio: inline qdio_kick_handler() 2021-02-13 17:17:55 +01:00
qdio_debug.h s390/qdio: cleanly split alloc and establish 2020-04-06 13:13:50 +02:00
qdio_main.c s390/qdio: let driver manage the QAOB 2021-03-22 11:36:05 +01:00
qdio_setup.c s390/qdio: let driver manage the QAOB 2021-03-22 11:36:05 +01:00
qdio_thinint.c s390/qdio: track time of last data IRQ for each device 2021-02-09 15:57:04 +01:00
qdio.h s390/qdio: let driver manage the QAOB 2021-03-22 11:36:05 +01:00
scm.c
trace.c
trace.h
vfio_ccw_async.c
vfio_ccw_chp.c vfio-ccw: Fix a build error due to missing include of linux/slab.h 2020-07-03 11:41:31 +02:00
vfio_ccw_cp.c vfio-ccw: Enable transparent CCW IPL from DASD 2020-06-02 13:14:08 +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: Add trace for CRW event 2020-06-03 11:28:19 +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 s390/cio: return -EFAULT if copy_to_user() fails 2021-03-08 10:46:30 +01:00
vfio_ccw_private.h vfio-ccw: Wire in the request callback 2020-12-03 16:21:08 -07:00
vfio_ccw_trace.c vfio-ccw: Add trace for CRW event 2020-06-03 11:28:19 +02:00
vfio_ccw_trace.h vfio-ccw: Add trace for CRW event 2020-06-03 11:28:19 +02:00