diff options
Diffstat (limited to 'drivers/s390/cio/chsc.h')
-rw-r--r-- | drivers/s390/cio/chsc.h | 51 |
1 files changed, 50 insertions, 1 deletions
diff --git a/drivers/s390/cio/chsc.h b/drivers/s390/cio/chsc.h index 23d072e70eb2..7e53a9c8b0b9 100644 --- a/drivers/s390/cio/chsc.h +++ b/drivers/s390/cio/chsc.h | |||
@@ -61,7 +61,9 @@ struct css_chsc_char { | |||
61 | u32 : 20; | 61 | u32 : 20; |
62 | u32 scssc : 1; /* bit 107 */ | 62 | u32 scssc : 1; /* bit 107 */ |
63 | u32 scsscf : 1; /* bit 108 */ | 63 | u32 scsscf : 1; /* bit 108 */ |
64 | u32 : 19; | 64 | u32:7; |
65 | u32 pnso:1; /* bit 116 */ | ||
66 | u32:11; | ||
65 | }__attribute__((packed)); | 67 | }__attribute__((packed)); |
66 | 68 | ||
67 | extern struct css_chsc_char css_chsc_characteristics; | 69 | extern struct css_chsc_char css_chsc_characteristics; |
@@ -188,6 +190,53 @@ struct chsc_scm_info { | |||
188 | 190 | ||
189 | int chsc_scm_info(struct chsc_scm_info *scm_area, u64 token); | 191 | int chsc_scm_info(struct chsc_scm_info *scm_area, u64 token); |
190 | 192 | ||
193 | struct chsc_brinfo_resume_token { | ||
194 | u64 t1; | ||
195 | u64 t2; | ||
196 | } __packed; | ||
197 | |||
198 | struct chsc_brinfo_naihdr { | ||
199 | struct chsc_brinfo_resume_token resume_token; | ||
200 | u32:32; | ||
201 | u32 instance; | ||
202 | u32:24; | ||
203 | u8 naids; | ||
204 | u32 reserved[3]; | ||
205 | } __packed; | ||
206 | |||
207 | struct chsc_pnso_area { | ||
208 | struct chsc_header request; | ||
209 | u8:2; | ||
210 | u8 m:1; | ||
211 | u8:5; | ||
212 | u8:2; | ||
213 | u8 ssid:2; | ||
214 | u8 fmt:4; | ||
215 | u16 sch; | ||
216 | u8:8; | ||
217 | u8 cssid; | ||
218 | u16:16; | ||
219 | u8 oc; | ||
220 | u32:24; | ||
221 | struct chsc_brinfo_resume_token resume_token; | ||
222 | u32 n:1; | ||
223 | u32:31; | ||
224 | u32 reserved[3]; | ||
225 | struct chsc_header response; | ||
226 | u32:32; | ||
227 | struct chsc_brinfo_naihdr naihdr; | ||
228 | union { | ||
229 | struct qdio_brinfo_entry_l3_ipv6 l3_ipv6[0]; | ||
230 | struct qdio_brinfo_entry_l3_ipv4 l3_ipv4[0]; | ||
231 | struct qdio_brinfo_entry_l2 l2[0]; | ||
232 | } entries; | ||
233 | } __packed; | ||
234 | |||
235 | int chsc_pnso_brinfo(struct subchannel_id schid, | ||
236 | struct chsc_pnso_area *brinfo_area, | ||
237 | struct chsc_brinfo_resume_token resume_token, | ||
238 | int cnc); | ||
239 | |||
191 | #ifdef CONFIG_SCM_BUS | 240 | #ifdef CONFIG_SCM_BUS |
192 | int scm_update_information(void); | 241 | int scm_update_information(void); |
193 | int scm_process_availability_information(void); | 242 | int scm_process_availability_information(void); |