aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/include/asm/sclp.h
diff options
context:
space:
mode:
authorSebastian Ott <sebott@linux.vnet.ibm.com>2015-11-27 11:18:02 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2016-04-15 18:16:38 +0200
commit12283a4035691697977083a5ac1e00ad5cfa6a3d (patch)
tree1e1fd34032cda6850e378cfa019e0ddfcf04b929 /arch/s390/include/asm/sclp.h
parents390/sclp: move pci related commands to separate file (diff)
downloadlinux-dev-12283a4035691697977083a5ac1e00ad5cfa6a3d.tar.xz
linux-dev-12283a4035691697977083a5ac1e00ad5cfa6a3d.zip
s390/sclp: add error notification command
Add SCLP event 24 "Adapter-error notification". Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/sclp.h')
-rw-r--r--arch/s390/include/asm/sclp.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/s390/include/asm/sclp.h b/arch/s390/include/asm/sclp.h
index bab456be9a4f..bd7893d274fa 100644
--- a/arch/s390/include/asm/sclp.h
+++ b/arch/s390/include/asm/sclp.h
@@ -72,6 +72,18 @@ struct sclp_info {
};
extern struct sclp_info sclp;
+struct zpci_report_error_header {
+ u8 version; /* Interface version byte */
+ u8 action; /* Action qualifier byte
+ * 1: Deconfigure and repair action requested
+ * (OpenCrypto Problem Call Home)
+ * 2: Informational Report
+ * (OpenCrypto Successful Diagnostics Execution)
+ */
+ u16 length; /* Length of Subsequent Data (up to 4K – SCLP header */
+ u8 data[0]; /* Subsequent Data passed verbatim to SCLP ET 24 */
+} __packed;
+
int sclp_get_core_info(struct sclp_core_info *info);
int sclp_core_configure(u8 core);
int sclp_core_deconfigure(u8 core);
@@ -83,6 +95,7 @@ int sclp_chp_read_info(struct sclp_chp_info *info);
void sclp_get_ipl_info(struct sclp_ipl_info *info);
int sclp_pci_configure(u32 fid);
int sclp_pci_deconfigure(u32 fid);
+int sclp_pci_report(struct zpci_report_error_header *report, u32 fh, u32 fid);
int memcpy_hsa_kernel(void *dest, unsigned long src, size_t count);
int memcpy_hsa_user(void __user *dest, unsigned long src, size_t count);
void sclp_early_detect(void);