s390/qdio: clean up QDR setup
authorJulian Wiedmann <jwi@linux.ibm.com>
Wed, 19 Feb 2020 10:15:30 +0000 (11:15 +0100)
committerVasily Gorbik <gor@linux.ibm.com>
Mon, 14 Sep 2020 08:30:07 +0000 (10:30 +0200)
commit4d4a3caaf36246520d61c17a9fd86ce3893f6595
treebc2ba2722f9c6a12c2264bbe4504abd9298cf5a9
parent309f98dbc66cb183a84781e2b19595f044a2d6e4
s390/qdio: clean up QDR setup

__qdio_allocate_fill_qdr() is meant to set up one specific queue
descriptor in the QDR. But for this simple task, it gets passed a bunch
of global structs and offsets - and then navigates through the structs
to find its actual operands.

Clean up all the complicated pointer chasing & index calculation, and
just pass a descriptor and its associated queue struct.

While at it also add some virt_to_phys() translations, to clarify that
addresses in the QDR are meant to be absolute.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/qdio.h
drivers/s390/cio/qdio_setup.c