Home
last modified time | relevance | path

Searched full:sccb (Results 1 – 25 of 103) sorted by relevance

12345

/kernel/linux/linux-5.10/drivers/s390/char/
Dsclp_early.c23 static void __init sclp_early_facilities_detect(struct read_info_sccb *sccb) in sclp_early_facilities_detect() argument
28 if (sclp_early_get_info(sccb)) in sclp_early_facilities_detect()
31 sclp.facilities = sccb->facilities; in sclp_early_facilities_detect()
32 sclp.has_sprp = !!(sccb->fac84 & 0x02); in sclp_early_facilities_detect()
33 sclp.has_core_type = !!(sccb->fac84 & 0x01); in sclp_early_facilities_detect()
34 sclp.has_gsls = !!(sccb->fac85 & 0x80); in sclp_early_facilities_detect()
35 sclp.has_64bscao = !!(sccb->fac116 & 0x80); in sclp_early_facilities_detect()
36 sclp.has_cmma = !!(sccb->fac116 & 0x40); in sclp_early_facilities_detect()
37 sclp.has_esca = !!(sccb->fac116 & 0x08); in sclp_early_facilities_detect()
38 sclp.has_pfmfi = !!(sccb->fac117 & 0x40); in sclp_early_facilities_detect()
[all …]
Dsclp_early_core.c63 int sclp_early_cmd(sclp_cmdw_t cmd, void *sccb) in sclp_early_cmd() argument
69 rc = sclp_service_call(cmd, sccb); in sclp_early_cmd()
88 struct write_sccb *sccb; in sclp_early_print_lm() local
94 sccb = (struct write_sccb *) sclp_early_sccb; in sclp_early_print_lm()
95 end = (unsigned char *) sccb + EARLY_SCCB_SIZE - 1; in sclp_early_print_lm()
96 memset(sccb, 0, sizeof(*sccb)); in sclp_early_print_lm()
97 ptr = (unsigned char *) &sccb->msg.mdb.mto; in sclp_early_print_lm()
113 len = ptr - (unsigned char *) sccb; in sclp_early_print_lm()
114 sccb->header.length = len - offsetof(struct write_sccb, header); in sclp_early_print_lm()
115 msg = &sccb->msg; in sclp_early_print_lm()
[all …]
Dsclp_cmd.c40 int sclp_sync_request(sclp_cmdw_t cmd, void *sccb) in sclp_sync_request() argument
42 return sclp_sync_request_timeout(cmd, sccb, 0); in sclp_sync_request()
45 int sclp_sync_request_timeout(sclp_cmdw_t cmd, void *sccb, int timeout) in sclp_sync_request_timeout() argument
57 request->sccb = sccb; in sclp_sync_request_timeout()
90 struct read_cpu_info_sccb *sccb; in _sclp_get_core_info() local
94 sccb = (void *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in _sclp_get_core_info()
95 if (!sccb) in _sclp_get_core_info()
97 sccb->header.length = sizeof(*sccb); in _sclp_get_core_info()
98 rc = sclp_sync_request_timeout(SCLP_CMDW_READ_CPU_INFO, sccb, in _sclp_get_core_info()
102 if (sccb->header.response_code != 0x0010) { in _sclp_get_core_info()
[all …]
Dsclp_sdias.c61 struct sdias_sccb *sccb = sclp_sdias_sccb; in sdias_sclp_send() local
82 if (!(sccb->evbuf.hdr.flags & 0x80)) { in sdias_sclp_send()
84 sccb->evbuf.hdr.flags); in sdias_sclp_send()
88 * for the sync interface the response is in the initial sccb in sdias_sclp_send()
91 memcpy(&sdias_evbuf, &sccb->evbuf, sizeof(sdias_evbuf)); in sdias_sclp_send()
108 struct sdias_sccb *sccb = sclp_sdias_sccb; in sclp_sdias_blk_count() local
114 memset(sccb, 0, sizeof(*sccb)); in sclp_sdias_blk_count()
117 sccb->hdr.length = sizeof(*sccb); in sclp_sdias_blk_count()
118 sccb->evbuf.hdr.length = sizeof(struct sdias_evbuf); in sclp_sdias_blk_count()
119 sccb->evbuf.hdr.type = EVTYP_SDIAS; in sclp_sdias_blk_count()
[all …]
Dsclp_pci.c60 struct pci_cfg_sccb *sccb; in do_pci_configure() local
66 sccb = (struct pci_cfg_sccb *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in do_pci_configure()
67 if (!sccb) in do_pci_configure()
70 sccb->header.length = PAGE_SIZE; in do_pci_configure()
71 sccb->atype = SCLP_ATYPE_PCI; in do_pci_configure()
72 sccb->aid = fid; in do_pci_configure()
73 rc = sclp_sync_request(cmd, sccb); in do_pci_configure()
76 switch (sccb->header.response_code) { in do_pci_configure()
82 cmd, sccb->header.response_code); in do_pci_configure()
87 free_page((unsigned long) sccb); in do_pci_configure()
[all …]
Dsclp.h131 #define sccb_get_generic_mask(sccb, i) \ argument
133 __typeof__(sccb) __sccb = sccb; \
137 #define sccb_get_recv_mask(sccb) sccb_get_generic_mask(sccb, 0) argument
138 #define sccb_get_send_mask(sccb) sccb_get_generic_mask(sccb, 1) argument
139 #define sccb_get_sclp_recv_mask(sccb) sccb_get_generic_mask(sccb, 2) argument
140 #define sccb_get_sclp_send_mask(sccb) sccb_get_generic_mask(sccb, 3) argument
142 #define sccb_set_generic_mask(sccb, i, val) \ argument
144 __typeof__(sccb) __sccb = sccb; \
148 #define sccb_set_recv_mask(sccb, val) sccb_set_generic_mask(sccb, 0, val) argument
149 #define sccb_set_send_mask(sccb, val) sccb_set_generic_mask(sccb, 1, val) argument
[all …]
Dsclp_ftp.c40 pr_debug("SCLP (ET7) TX-IRQ, SCCB @ 0x%p: %*phN\n", in sclp_ftp_txcb()
41 req->sccb, 24, req->sccb); in sclp_ftp_txcb()
88 struct sclp_diag_sccb *sccb; in sclp_ftp_et7() local
94 sccb = (void *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in sclp_ftp_et7()
95 if (!req || !sccb) { in sclp_ftp_et7()
100 sccb->hdr.length = SCLP_DIAG_FTP_EVBUF_LEN + in sclp_ftp_et7()
102 sccb->evbuf.hdr.type = EVTYP_DIAG_TEST; in sclp_ftp_et7()
103 sccb->evbuf.hdr.length = SCLP_DIAG_FTP_EVBUF_LEN; in sclp_ftp_et7()
104 sccb->evbuf.hdr.flags = 0; /* clear processed-buffer */ in sclp_ftp_et7()
105 sccb->evbuf.route = SCLP_DIAG_FTP_ROUTE; in sclp_ftp_et7()
[all …]
Dsclp_rw.c23 * The room for the SCCB (only for writing) is not equal to a pages size
51 struct sccb_header *sccb; in sclp_make_buffer() local
53 sccb = (struct sccb_header *) page; in sclp_make_buffer()
56 * of the sccb page. in sclp_make_buffer()
58 buffer = ((struct sclp_buffer *) ((addr_t) sccb + PAGE_SIZE)) - 1; in sclp_make_buffer()
59 buffer->sccb = sccb; in sclp_make_buffer()
68 /* initialize sccb */ in sclp_make_buffer()
69 memset(sccb, 0, sizeof(struct sccb_header)); in sclp_make_buffer()
70 sccb->length = sizeof(struct sccb_header); in sclp_make_buffer()
82 return buffer->sccb; in sclp_unmake_buffer()
[all …]
Dsclp_ctl.c58 struct sccb_header *sccb; in sclp_ctl_ioctl_sccb() local
66 sccb = (void *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in sclp_ctl_ioctl_sccb()
67 if (!sccb) in sclp_ctl_ioctl_sccb()
70 copy_from_user(sccb, u64_to_uptr(ctl_sccb.sccb), PAGE_SIZE); in sclp_ctl_ioctl_sccb()
72 sizeof(sccb->length) > copied || sccb->length > copied) { in sclp_ctl_ioctl_sccb()
76 if (sccb->length < 8) { in sclp_ctl_ioctl_sccb()
80 rc = sclp_sync_request(ctl_sccb.cmdw, sccb); in sclp_ctl_ioctl_sccb()
83 if (copy_to_user(u64_to_uptr(ctl_sccb.sccb), sccb, sccb->length)) in sclp_ctl_ioctl_sccb()
86 free_page((unsigned long) sccb); in sclp_ctl_ioctl_sccb()
91 * SCLP SCCB ioctl function
Dsclp_vt220.c48 /* VT220 SCCB */
128 page = request->sclp_req.sccb; in sclp_vt220_process_queue()
160 struct sclp_vt220_sccb *sccb; in sclp_vt220_callback() local
167 sccb = (struct sclp_vt220_sccb *) vt220_request->sclp_req.sccb; in sclp_vt220_callback()
170 switch (sccb->header.response_code) { in sclp_vt220_callback()
181 if (sclp_remove_processed((struct sccb_header *) sccb) > 0) { in sclp_vt220_callback()
183 sccb->header.response_code = 0x0000; in sclp_vt220_callback()
193 sccb->header.response_code = 0x0000; in sclp_vt220_callback()
228 struct sclp_vt220_sccb *sccb; in sclp_vt220_emit_current() local
232 sccb = (struct sclp_vt220_sccb *) in sclp_vt220_emit_current()
[all …]
Dsclp_config.c96 struct sclp_ofb_sccb *sccb; in sclp_ofb_send_req() local
101 sccb = (struct sclp_ofb_sccb *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in sclp_ofb_send_req()
102 if (!sccb) in sclp_ofb_send_req()
104 /* Setup SCCB for Control-Program Identification */ in sclp_ofb_send_req()
105 sccb->header.length = sizeof(struct sclp_ofb_sccb); in sclp_ofb_send_req()
106 sccb->ofb_evbuf.header.length = sizeof(struct sclp_ofb_evbuf); in sclp_ofb_send_req()
107 sccb->ofb_evbuf.header.type = EVTYP_CONFMGMDATA; in sclp_ofb_send_req()
108 sccb->ofb_evbuf.cm_data.ev_qualifier = EV_QUAL_OPEN4BUSINESS; in sclp_ofb_send_req()
109 memcpy(sccb->ofb_evbuf.ev_data, ev_data, len); in sclp_ofb_send_req()
116 rc = sclp_sync_request(SCLP_CMDW_WRITE_EVENT_DATA, sccb); in sclp_ofb_send_req()
[all …]
Dsclp_ap.c24 struct ap_cfg_sccb *sccb; in do_ap_configure() local
30 sccb = (struct ap_cfg_sccb *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in do_ap_configure()
31 if (!sccb) in do_ap_configure()
34 sccb->header.length = PAGE_SIZE; in do_ap_configure()
36 rc = sclp_sync_request(cmd, sccb); in do_ap_configure()
39 switch (sccb->header.response_code) { in do_ap_configure()
44 apid, cmd, sccb->header.response_code); in do_ap_configure()
49 free_page((unsigned long) sccb); in do_ap_configure()
/kernel/linux/linux-6.6/drivers/s390/char/
Dsclp_early.c29 struct read_info_sccb *sccb; in sclp_early_facilities_detect() local
32 sccb = sclp_early_get_info(); in sclp_early_facilities_detect()
33 if (!sccb) in sclp_early_facilities_detect()
36 sclp.facilities = sccb->facilities; in sclp_early_facilities_detect()
37 sclp.has_sprp = !!(sccb->fac84 & 0x02); in sclp_early_facilities_detect()
38 sclp.has_core_type = !!(sccb->fac84 & 0x01); in sclp_early_facilities_detect()
39 sclp.has_gsls = !!(sccb->fac85 & 0x80); in sclp_early_facilities_detect()
40 sclp.has_64bscao = !!(sccb->fac116 & 0x80); in sclp_early_facilities_detect()
41 sclp.has_cmma = !!(sccb->fac116 & 0x40); in sclp_early_facilities_detect()
42 sclp.has_esca = !!(sccb->fac116 & 0x08); in sclp_early_facilities_detect()
[all …]
Dsclp_early_core.c64 int sclp_early_cmd(sclp_cmdw_t cmd, void *sccb) in sclp_early_cmd() argument
70 rc = sclp_service_call(cmd, sccb); in sclp_early_cmd()
89 struct write_sccb *sccb; in sclp_early_print_lm() local
95 sccb = (struct write_sccb *) sclp_early_sccb; in sclp_early_print_lm()
96 end = (unsigned char *) sccb + EARLY_SCCB_SIZE - 1; in sclp_early_print_lm()
97 memset(sccb, 0, sizeof(*sccb)); in sclp_early_print_lm()
98 ptr = (unsigned char *) &sccb->msg.mdb.mto; in sclp_early_print_lm()
114 len = ptr - (unsigned char *) sccb; in sclp_early_print_lm()
115 sccb->header.length = len - offsetof(struct write_sccb, header); in sclp_early_print_lm()
116 msg = &sccb->msg; in sclp_early_print_lm()
[all …]
Dsclp_cmd.c39 int sclp_sync_request(sclp_cmdw_t cmd, void *sccb) in sclp_sync_request() argument
41 return sclp_sync_request_timeout(cmd, sccb, 0); in sclp_sync_request()
44 int sclp_sync_request_timeout(sclp_cmdw_t cmd, void *sccb, int timeout) in sclp_sync_request_timeout() argument
56 request->sccb = sccb; in sclp_sync_request_timeout()
90 struct read_cpu_info_sccb *sccb; in _sclp_get_core_info() local
95 sccb = (void *)__get_free_pages(GFP_KERNEL | GFP_DMA | __GFP_ZERO, get_order(length)); in _sclp_get_core_info()
96 if (!sccb) in _sclp_get_core_info()
98 sccb->header.length = length; in _sclp_get_core_info()
99 sccb->header.control_mask[2] = 0x80; in _sclp_get_core_info()
100 rc = sclp_sync_request_timeout(SCLP_CMDW_READ_CPU_INFO, sccb, in _sclp_get_core_info()
[all …]
Dsclp_sdias.c61 struct sdias_sccb *sccb = sclp_sdias_sccb; in sdias_sclp_send() local
82 if (!(sccb->evbuf.hdr.flags & 0x80)) { in sdias_sclp_send()
84 sccb->evbuf.hdr.flags); in sdias_sclp_send()
88 * for the sync interface the response is in the initial sccb in sdias_sclp_send()
91 memcpy(&sdias_evbuf, &sccb->evbuf, sizeof(sdias_evbuf)); in sdias_sclp_send()
108 struct sdias_sccb *sccb = sclp_sdias_sccb; in sclp_sdias_blk_count() local
114 memset(sccb, 0, sizeof(*sccb)); in sclp_sdias_blk_count()
117 sccb->hdr.length = sizeof(*sccb); in sclp_sdias_blk_count()
118 sccb->evbuf.hdr.length = sizeof(struct sdias_evbuf); in sclp_sdias_blk_count()
119 sccb->evbuf.hdr.type = EVTYP_SDIAS; in sclp_sdias_blk_count()
[all …]
Dsclp_pci.c60 struct pci_cfg_sccb *sccb; in do_pci_configure() local
66 sccb = (struct pci_cfg_sccb *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in do_pci_configure()
67 if (!sccb) in do_pci_configure()
70 sccb->header.length = PAGE_SIZE; in do_pci_configure()
71 sccb->atype = SCLP_ATYPE_PCI; in do_pci_configure()
72 sccb->aid = fid; in do_pci_configure()
73 rc = sclp_sync_request(cmd, sccb); in do_pci_configure()
76 switch (sccb->header.response_code) { in do_pci_configure()
82 cmd, sccb->header.response_code); in do_pci_configure()
87 free_page((unsigned long) sccb); in do_pci_configure()
[all …]
Dsclp.h123 #define sccb_get_generic_mask(sccb, i) \ argument
125 __typeof__(sccb) __sccb = sccb; \
129 #define sccb_get_recv_mask(sccb) sccb_get_generic_mask(sccb, 0) argument
130 #define sccb_get_send_mask(sccb) sccb_get_generic_mask(sccb, 1) argument
131 #define sccb_get_sclp_recv_mask(sccb) sccb_get_generic_mask(sccb, 2) argument
132 #define sccb_get_sclp_send_mask(sccb) sccb_get_generic_mask(sccb, 3) argument
134 #define sccb_set_generic_mask(sccb, i, val) \ argument
136 __typeof__(sccb) __sccb = sccb; \
140 #define sccb_set_recv_mask(sccb, val) sccb_set_generic_mask(sccb, 0, val) argument
141 #define sccb_set_send_mask(sccb, val) sccb_set_generic_mask(sccb, 1, val) argument
[all …]
Dsclp_rw.c23 * The room for the SCCB (only for writing) is not equal to a pages size
44 struct sccb_header *sccb; in sclp_make_buffer() local
46 sccb = (struct sccb_header *) page; in sclp_make_buffer()
49 * of the sccb page. in sclp_make_buffer()
51 buffer = ((struct sclp_buffer *) ((addr_t) sccb + PAGE_SIZE)) - 1; in sclp_make_buffer()
52 buffer->sccb = sccb; in sclp_make_buffer()
61 /* initialize sccb */ in sclp_make_buffer()
62 memset(sccb, 0, sizeof(struct sccb_header)); in sclp_make_buffer()
63 sccb->length = sizeof(struct sccb_header); in sclp_make_buffer()
75 return buffer->sccb; in sclp_unmake_buffer()
[all …]
Dsclp_ftp.c42 pr_debug("SCLP (ET7) TX-IRQ, SCCB @ 0x%p: %*phN\n", in sclp_ftp_txcb()
43 req->sccb, 24, req->sccb); in sclp_ftp_txcb()
91 struct sclp_diag_sccb *sccb; in sclp_ftp_et7() local
97 sccb = (void *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in sclp_ftp_et7()
98 if (!req || !sccb) { in sclp_ftp_et7()
103 sccb->hdr.length = SCLP_DIAG_FTP_EVBUF_LEN + in sclp_ftp_et7()
105 sccb->evbuf.hdr.type = EVTYP_DIAG_TEST; in sclp_ftp_et7()
106 sccb->evbuf.hdr.length = SCLP_DIAG_FTP_EVBUF_LEN; in sclp_ftp_et7()
107 sccb->evbuf.hdr.flags = 0; /* clear processed-buffer */ in sclp_ftp_et7()
108 sccb->evbuf.route = SCLP_DIAG_FTP_ROUTE; in sclp_ftp_et7()
[all …]
Dsclp.c110 static inline int abbrev_len(sclp_cmdw_t cmd, struct sccb_header *sccb) in abbrev_len() argument
112 struct evbuf_header *evbuf = (struct evbuf_header *)(sccb + 1); in abbrev_len()
113 int len = sccb->length, limit = SCLP_TRACE_MAX_SIZE; in abbrev_len()
115 /* Full SCCB tracing if debug level is set to max. */ in abbrev_len()
128 sclp_cmdw_t cmd, struct sccb_header *sccb, in sclp_trace_sccb() argument
132 if (sccb) { in sclp_trace_sccb()
133 sclp_trace_bin(prio + 1, sccb, abbrev_len(cmd, sccb), in sclp_trace_sccb()
134 err ? sccb->length : 0); in sclp_trace_sccb()
150 struct sccb_header *sccb = req->sccb; in sclp_trace_req() local
162 summary.response = sccb ? sccb->response_code : 0; in sclp_trace_req()
[all …]
Dsclp_ctl.c58 struct sccb_header *sccb; in sclp_ctl_ioctl_sccb() local
66 sccb = (void *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in sclp_ctl_ioctl_sccb()
67 if (!sccb) in sclp_ctl_ioctl_sccb()
70 copy_from_user(sccb, u64_to_uptr(ctl_sccb.sccb), PAGE_SIZE); in sclp_ctl_ioctl_sccb()
72 sizeof(sccb->length) > copied || sccb->length > copied) { in sclp_ctl_ioctl_sccb()
76 if (sccb->length < 8) { in sclp_ctl_ioctl_sccb()
80 rc = sclp_sync_request(ctl_sccb.cmdw, sccb); in sclp_ctl_ioctl_sccb()
83 if (copy_to_user(u64_to_uptr(ctl_sccb.sccb), sccb, sccb->length)) in sclp_ctl_ioctl_sccb()
86 free_page((unsigned long) sccb); in sclp_ctl_ioctl_sccb()
91 * SCLP SCCB ioctl function
Dsclp_vt220.c49 /* VT220 SCCB */
123 page = request->sclp_req.sccb; in sclp_vt220_process_queue()
155 struct sclp_vt220_sccb *sccb; in sclp_vt220_callback() local
162 sccb = (struct sclp_vt220_sccb *) vt220_request->sclp_req.sccb; in sclp_vt220_callback()
165 switch (sccb->header.response_code) { in sclp_vt220_callback()
176 if (sclp_remove_processed((struct sccb_header *) sccb) > 0) { in sclp_vt220_callback()
178 sccb->header.response_code = 0x0000; in sclp_vt220_callback()
188 sccb->header.response_code = 0x0000; in sclp_vt220_callback()
223 struct sclp_vt220_sccb *sccb; in sclp_vt220_emit_current() local
227 sccb = (struct sclp_vt220_sccb *) in sclp_vt220_emit_current()
[all …]
Dsclp_config.c95 struct sclp_ofb_sccb *sccb; in sclp_ofb_send_req() local
100 sccb = (struct sclp_ofb_sccb *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in sclp_ofb_send_req()
101 if (!sccb) in sclp_ofb_send_req()
103 /* Setup SCCB for Control-Program Identification */ in sclp_ofb_send_req()
104 sccb->header.length = sizeof(struct sclp_ofb_sccb); in sclp_ofb_send_req()
105 sccb->ofb_evbuf.header.length = sizeof(struct sclp_ofb_evbuf); in sclp_ofb_send_req()
106 sccb->ofb_evbuf.header.type = EVTYP_CONFMGMDATA; in sclp_ofb_send_req()
107 sccb->ofb_evbuf.cm_data.ev_qualifier = EV_QUAL_OPEN4BUSINESS; in sclp_ofb_send_req()
108 memcpy(sccb->ofb_evbuf.ev_data, ev_data, len); in sclp_ofb_send_req()
115 rc = sclp_sync_request(SCLP_CMDW_WRITE_EVENT_DATA, sccb); in sclp_ofb_send_req()
[all …]
Dsclp_ap.c24 struct ap_cfg_sccb *sccb; in do_ap_configure() local
30 sccb = (struct ap_cfg_sccb *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in do_ap_configure()
31 if (!sccb) in do_ap_configure()
34 sccb->header.length = PAGE_SIZE; in do_ap_configure()
36 rc = sclp_sync_request(cmd, sccb); in do_ap_configure()
39 switch (sccb->header.response_code) { in do_ap_configure()
44 apid, cmd, sccb->header.response_code); in do_ap_configure()
49 free_page((unsigned long) sccb); in do_ap_configure()

12345