s390/ap: Fix queue depth field length

The queue depth field is defined as a 5 bit field in the Z architecture
instead of a 4 bit field.

The queue depth (qd) can be in range 0-31 and is reported in bits 59-63
of the TAPQ response. Currently this has no effect as all CEX generations
report a queue depth of 7, which fits into 4 bits. However, future CEX
generations reporting a value >15 would not be properly reflected by the
ap bus and therefore all user space applications relying on it.

Reviewed-by: Harald Freudenberger <freude@linux.ibm.com>
Signed-off-by: Finn Callies <fcallies@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
Finn Callies
2026-07-23 17:00:38 +02:00
committed by Vasily Gorbik
parent 2d6b38e661
commit bdce129e44
2 changed files with 3 additions and 3 deletions

View File

@@ -125,8 +125,8 @@ struct ap_tapq_hwinfo {
unsigned int nd : 8; /* nr of domains */
unsigned int : 4;
unsigned int ml : 4; /* apxl ml */
unsigned int : 4;
unsigned int qd : 4; /* queue depth */
unsigned int : 3;
unsigned int qd : 5; /* queue depth */
};
};
};

View File

@@ -181,7 +181,7 @@ struct ap_card {
bool chkstop; /* checkstop state */
};
#define TAPQ_CARD_HWINFO_MASK 0xFFFF0000FFFF0F0FUL
#define TAPQ_CARD_HWINFO_MASK 0xFFFF0000FFFF0F1FUL
#define ASSOC_IDX_INVALID 0x10000
#define to_ap_card(x) container_of((x), struct ap_card, ap_dev.device)