linux-stable/drivers/s390
Eric Farman a4c6040472 vfio/ccw: simplify CCW chain fetch routines
The act of processing a fetched CCW has two components:

 1) Process a Transfer-in-channel (TIC) CCW
 2) Process any other CCW

The former needs to look at whether the TIC jumps backwards into
the current channel program or forwards into a new segment,
while the latter just processes the CCW data address itself.

Rather than passing the chain segment and index within it to the
handlers for the above, and requiring each to calculate the
elements it needs, simply pass the needed pointers directly.

For the TIC, that means the CCW being processed and the location
of the entire channel program which holds all segments. For the
other CCWs, the page_array pointer is also needed to perform the
page pinning, etc.

While at it, rename ccwchain_fetch_direct to _ccw, to indicate
what it is. The name "_direct" is historical, when it used to
process a direct-addressed CCW, but IDAs are processed here too.

Signed-off-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2023-01-09 14:34:07 +01:00
..
block block: handle bio_split_to_limits() NULL return 2023-01-04 09:05:23 -07:00
char s390/con3270: add special output handling when oops_in_progress is set 2023-01-09 14:34:06 +01:00
cio vfio/ccw: simplify CCW chain fetch routines 2023-01-09 14:34:07 +01:00
crypto VFIO updates for v6.2-rc1 2022-12-15 13:12:15 -08:00
net s390/qeth: convert sysfs snprintf to sysfs_emit 2022-12-28 12:10:42 +00:00
scsi Random number generator updates for Linux 6.2-rc1. 2022-12-12 16:22:22 -08:00
virtio
Makefile