summaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorMete Durlu <meted@linux.ibm.com>2024-07-04 14:10:07 +0200
committerVasily Gorbik <gor@linux.ibm.com>2024-07-10 19:50:45 +0200
commit97999f8c62a43cf2af5d725b045b82f9b47d83ea (patch)
tree15a00cd45462cf1b0052db30caa042679616a383 /arch/s390
parents390/diag: Diag204 add busy return errno (diff)
downloadlinux-97999f8c62a43cf2af5d725b045b82f9b47d83ea.tar.xz
linux-97999f8c62a43cf2af5d725b045b82f9b47d83ea.zip
s390/diag: Add busy-indication-facility requirements
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>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/include/asm/diag.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/s390/include/asm/diag.h b/arch/s390/include/asm/diag.h
index 20b94220113b..6527d7e8e010 100644
--- a/arch/s390/include/asm/diag.h
+++ b/arch/s390/include/asm/diag.h
@@ -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);