]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/diag: Add busy-indication-facility requirements
authorMete Durlu <meted@linux.ibm.com>
Thu, 4 Jul 2024 12:10:07 +0000 (14:10 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Wed, 10 Jul 2024 17:50:45 +0000 (19:50 +0200)
To verify if busy indication facility is installed or not sclp bits has
to be checked. Add a function that checks sclp to improve readability.
Add busy-indication-request bit mask for diag204 subcodes.

Acked-by: Heiko Carstens <hca@linux.ibm.com>
Reviewed-by: Tobias Huschle <huschle@linux.ibm.com>
Signed-off-by: Mete Durlu <meted@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/diag.h

index 20b94220113b3d385f8f9f8e9229d63aa92e7caf..6527d7e8e010f644b1f47528a382941c84b4274d 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/if_ether.h>
 #include <linux/percpu.h>
 #include <asm/asm-extable.h>
+#include <asm/sclp.h>
 #include <asm/cio.h>
 
 enum diag_stat_enum {
@@ -117,6 +118,7 @@ enum diag204_sc {
 };
 
 #define DIAG204_SUBCODE_MASK 0xffff
+#define DIAG204_BIF_BIT 0x80000000
 
 /* The two available diag 204 data formats */
 enum diag204_format {
@@ -326,6 +328,11 @@ union diag318_info {
        };
 };
 
+static inline bool diag204_has_bif(void)
+{
+       return sclp.has_diag204_bif;
+}
+
 int diag204(unsigned long subcode, unsigned long size, void *addr);
 int diag224(void *ptr);
 int diag26c(void *req, void *resp, enum diag26c_sc subcode);