s390/pci: add ioctl interface for CLP
[cascardo/linux.git] / arch / s390 / include / asm / clp.h
index a0e71a5..5687d62 100644 (file)
@@ -4,14 +4,23 @@
 /* CLP common request & response block size */
 #define CLP_BLK_SIZE                   PAGE_SIZE
 
+#define CLP_LPS_BASE   0
+#define CLP_LPS_PCI    2
+
 struct clp_req_hdr {
        u16 len;
        u16 cmd;
+       u32 fmt         : 4;
+       u32 reserved1   : 28;
+       u64 reserved2;
 } __packed;
 
 struct clp_rsp_hdr {
        u16 len;
        u16 rsp;
+       u32 fmt         : 4;
+       u32 reserved1   : 28;
+       u64 reserved2;
 } __packed;
 
 /* CLP Response Codes */
@@ -25,4 +34,22 @@ struct clp_rsp_hdr {
 #define CLP_RC_NODATA                  0x0080  /* No data available */
 #define CLP_RC_FC_UNKNOWN              0x0100  /* Function code not recognized */
 
+/* Store logical-processor characteristics request */
+struct clp_req_slpc {
+       struct clp_req_hdr hdr;
+} __packed;
+
+struct clp_rsp_slpc {
+       struct clp_rsp_hdr hdr;
+       u32 reserved2[4];
+       u32 lpif[8];
+       u32 reserved3[8];
+       u32 lpic[8];
+} __packed;
+
+struct clp_req_rsp_slpc {
+       struct clp_req_slpc request;
+       struct clp_rsp_slpc response;
+} __packed;
+
 #endif