aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/chsc.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/cio/chsc.h')
-rw-r--r--drivers/s390/cio/chsc.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/drivers/s390/cio/chsc.h b/drivers/s390/cio/chsc.h
index 3f15b2aaeaea..662dab4b93e6 100644
--- a/drivers/s390/cio/chsc.h
+++ b/drivers/s390/cio/chsc.h
@@ -3,6 +3,7 @@
3 3
4#include <linux/types.h> 4#include <linux/types.h>
5#include <linux/device.h> 5#include <linux/device.h>
6#include <asm/css_chars.h>
6#include <asm/chpid.h> 7#include <asm/chpid.h>
7#include <asm/chsc.h> 8#include <asm/chsc.h>
8#include <asm/schid.h> 9#include <asm/schid.h>
@@ -118,4 +119,46 @@ int chsc_error_from_response(int response);
118 119
119int chsc_siosl(struct subchannel_id schid); 120int chsc_siosl(struct subchannel_id schid);
120 121
122/* Functions and definitions to query storage-class memory. */
123struct sale {
124 u64 sa;
125 u32 p:4;
126 u32 op_state:4;
127 u32 data_state:4;
128 u32 rank:4;
129 u32 r:1;
130 u32:7;
131 u32 rid:8;
132 u32:32;
133} __packed;
134
135struct chsc_scm_info {
136 struct chsc_header request;
137 u32:32;
138 u64 reqtok;
139 u32 reserved1[4];
140 struct chsc_header response;
141 u64:56;
142 u8 rq;
143 u32 mbc;
144 u64 msa;
145 u16 is;
146 u16 mmc;
147 u32 mci;
148 u64 nr_scm_ini;
149 u64 nr_scm_unini;
150 u32 reserved2[10];
151 u64 restok;
152 struct sale scmal[248];
153} __packed;
154
155int chsc_scm_info(struct chsc_scm_info *scm_area, u64 token);
156
157#ifdef CONFIG_SCM_BUS
158int scm_update_information(void);
159#else /* CONFIG_SCM_BUS */
160#define scm_update_information() 0
161#endif /* CONFIG_SCM_BUS */
162
163
121#endif 164#endif