diff options
Diffstat (limited to 'drivers/s390/cio/chsc.h')
| -rw-r--r-- | drivers/s390/cio/chsc.h | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/drivers/s390/cio/chsc.h b/drivers/s390/cio/chsc.h index 5453013f094b..6693f5e3176f 100644 --- a/drivers/s390/cio/chsc.h +++ b/drivers/s390/cio/chsc.h | |||
| @@ -57,21 +57,39 @@ struct chsc_ssd_info { | |||
| 57 | struct chp_id chpid[8]; | 57 | struct chp_id chpid[8]; |
| 58 | u16 fla[8]; | 58 | u16 fla[8]; |
| 59 | }; | 59 | }; |
| 60 | |||
| 61 | struct chsc_scpd { | ||
| 62 | struct chsc_header request; | ||
| 63 | u32:2; | ||
| 64 | u32 m:1; | ||
| 65 | u32 c:1; | ||
| 66 | u32 fmt:4; | ||
| 67 | u32 cssid:8; | ||
| 68 | u32:4; | ||
| 69 | u32 rfmt:4; | ||
| 70 | u32 first_chpid:8; | ||
| 71 | u32:24; | ||
| 72 | u32 last_chpid:8; | ||
| 73 | u32 zeroes1; | ||
| 74 | struct chsc_header response; | ||
| 75 | u8 data[PAGE_SIZE - 20]; | ||
| 76 | } __attribute__ ((packed)); | ||
| 77 | |||
| 78 | |||
| 60 | extern int chsc_get_ssd_info(struct subchannel_id schid, | 79 | extern int chsc_get_ssd_info(struct subchannel_id schid, |
| 61 | struct chsc_ssd_info *ssd); | 80 | struct chsc_ssd_info *ssd); |
| 62 | extern int chsc_determine_css_characteristics(void); | 81 | extern int chsc_determine_css_characteristics(void); |
| 63 | extern int chsc_alloc_sei_area(void); | 82 | extern int chsc_init(void); |
| 64 | extern void chsc_free_sei_area(void); | 83 | extern void chsc_init_cleanup(void); |
| 65 | 84 | ||
| 66 | extern int chsc_enable_facility(int); | 85 | extern int chsc_enable_facility(int); |
| 67 | struct channel_subsystem; | 86 | struct channel_subsystem; |
| 68 | extern int chsc_secm(struct channel_subsystem *, int); | 87 | extern int chsc_secm(struct channel_subsystem *, int); |
| 69 | int __chsc_do_secm(struct channel_subsystem *css, int enable, void *page); | 88 | int __chsc_do_secm(struct channel_subsystem *css, int enable); |
| 70 | 89 | ||
| 71 | int chsc_chp_vary(struct chp_id chpid, int on); | 90 | int chsc_chp_vary(struct chp_id chpid, int on); |
| 72 | int chsc_determine_channel_path_desc(struct chp_id chpid, int fmt, int rfmt, | 91 | int chsc_determine_channel_path_desc(struct chp_id chpid, int fmt, int rfmt, |
| 73 | int c, int m, | 92 | int c, int m, void *page); |
| 74 | struct chsc_response_struct *resp); | ||
| 75 | int chsc_determine_base_channel_path_desc(struct chp_id chpid, | 93 | int chsc_determine_base_channel_path_desc(struct chp_id chpid, |
| 76 | struct channel_path_desc *desc); | 94 | struct channel_path_desc *desc); |
| 77 | void chsc_chp_online(struct chp_id chpid); | 95 | void chsc_chp_online(struct chp_id chpid); |
