s390/ap,zcrypt,vfio: introduce and use ap_queue_status_reg union
authorHarald Freudenberger <freude@linux.ibm.com>
Fri, 17 Feb 2023 11:05:36 +0000 (12:05 +0100)
committerHeiko Carstens <hca@linux.ibm.com>
Mon, 27 Feb 2023 14:29:36 +0000 (15:29 +0100)
commitebf95e884694b2c796ecb53d80d2b4cff8990d2f
tree0f0728a8d438131129e9ae61a2d544211652a14e
parentae4b60f6b7a8d25c7253cab104468d22efcecf1a
s390/ap,zcrypt,vfio: introduce and use ap_queue_status_reg union

Introduce a new ap queue status register wrapper union to access register
wide values. So the inline assembler only sees register wide values but the
surrounding code may use a more structured view of the same value and a
reader of the code (and the compiler) gets a clear understanding about the
mapping between fields and register values.

All the changes to access the ap queue status are local to the inline
functions within ap.h. However, the struct ap_qirq_ctrl has been replaces
by a union for same reason and this needed slight adaptions in the calling
code.

Suggested-by: Halil Pasic <pasic@linux.ibm.com>
Suggested-by: Andreas Arnez <arnez@linux.ibm.com>
Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Acked-by: Heiko Carstens <hca@linux.ibm.com>
Reviewed-by: Holger Dengler <dengler@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
arch/s390/include/asm/ap.h
drivers/s390/crypto/ap_queue.c
drivers/s390/crypto/vfio_ap_ops.c