s390/ap: Unmask SLCF bit in card and queue ap functions sysfs
authorHarald Freudenberger <freude@linux.ibm.com>
Wed, 23 Jul 2025 13:39:12 +0000 (15:39 +0200)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Thu, 31 Jul 2025 16:59:26 +0000 (18:59 +0200)
The SLCF bit ("stateless command filtering") introduced with
CEX8 cards was because of the function mask's default value
suppressed when user space read the ap function for an AP
card or queue. Unmask this bit so that user space applications
like lszcrypt can evaluate and list this feature.

Fixes: d4c53ae8e494 ("s390/ap: store TAPQ hwinfo in struct ap_card")
Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Reviewed-by: Holger Dengler <dengler@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
arch/s390/include/asm/ap.h
drivers/s390/crypto/ap_bus.h

index 395b02d6a1337494da76135608d91a22f20a9bc3..352108727d7e6215049078e73d0d88b6818392a2 100644 (file)
@@ -103,7 +103,7 @@ struct ap_tapq_hwinfo {
                        unsigned int accel :  1; /* A */
                        unsigned int ep11  :  1; /* X */
                        unsigned int apxa  :  1; /* APXA */
-                       unsigned int       :  1;
+                       unsigned int slcf  :  1; /* Cmd filtering avail. */
                        unsigned int class :  8;
                        unsigned int bs    :  2; /* SE bind/assoc */
                        unsigned int       : 14;
index 88b625ba197802d32e051a6866939e4febe90fa7..4b7ffa840563c47bc1d8549fed5842861887e1a9 100644 (file)
@@ -180,7 +180,7 @@ struct ap_card {
        atomic64_t total_request_count; /* # requests ever for this AP device.*/
 };
 
-#define TAPQ_CARD_HWINFO_MASK 0xFEFF0000FFFF0F0FUL
+#define TAPQ_CARD_HWINFO_MASK 0xFFFF0000FFFF0F0FUL
 #define ASSOC_IDX_INVALID 0x10000
 
 #define to_ap_card(x) container_of((x), struct ap_card, ap_dev.device)