Home
last modified time | relevance | path

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

12

/Linux-v5.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_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_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_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()
Dsclp.c279 rc = sclp_service_call(req->command, req->sccb); in __sclp_start_request()
316 if (!req->sccb) in sclp_process_queue()
380 if (!req->sccb) { in sclp_add_request()
399 sclp_dispatch_evbufs(struct sccb_header *sccb) in sclp_dispatch_evbufs() argument
410 for (offset = sizeof(struct sccb_header); offset < sccb->length; in sclp_dispatch_evbufs()
412 evbuf = (struct evbuf_header *) ((addr_t) sccb + offset); in sclp_dispatch_evbufs()
441 struct sccb_header *sccb; in sclp_read_cb() local
443 sccb = (struct sccb_header *) req->sccb; in sclp_read_cb()
444 if (req->status == SCLP_REQ_DONE && (sccb->response_code == 0x20 || in sclp_read_cb()
445 sccb->response_code == 0x220)) in sclp_read_cb()
[all …]
Dsclp_cpi_sys.c82 struct cpi_sccb *sccb; in cpi_prepare_req() local
88 sccb = (struct cpi_sccb *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in cpi_prepare_req()
89 if (!sccb) { in cpi_prepare_req()
94 /* setup SCCB for Control-Program Identification */ in cpi_prepare_req()
95 sccb->header.length = sizeof(struct cpi_sccb); in cpi_prepare_req()
96 sccb->cpi_evbuf.header.length = sizeof(struct cpi_evbuf); in cpi_prepare_req()
97 sccb->cpi_evbuf.header.type = EVTYP_CTLPROGIDENT; in cpi_prepare_req()
98 evb = &sccb->cpi_evbuf; in cpi_prepare_req()
114 req->sccb = sccb; in cpi_prepare_req()
122 free_page((unsigned long) req->sccb); in cpi_free_req()
[all …]
Dsclp_sd.c191 struct sclp_sd_sccb *sccb = (void *) page; in sclp_sd_sync() local
196 sclp_sd_listener_init(&listener, (u32) (addr_t) sccb); in sclp_sd_sync()
199 /* Prepare SCCB */ in sclp_sd_sync()
200 memset(sccb, 0, PAGE_SIZE); in sclp_sd_sync()
201 sccb->hdr.length = sizeof(sccb->hdr) + sizeof(sccb->evbuf); in sclp_sd_sync()
202 evbuf = &sccb->evbuf; in sclp_sd_sync()
216 rc = sclp_sync_request(SCLP_CMDW_WRITE_EVENT_DATA, sccb); in sclp_sd_sync()
222 if (sccb->hdr.response_code == 0x73f0) { in sclp_sd_sync()
227 if (sccb->hdr.response_code != 0x0020 || !(evbuf->hdr.flags & 0x80)) { in sclp_sd_sync()
260 eq, di, sccb->hdr.response_code, evbuf->hdr.flags, in sclp_sd_sync()
Dsclp_rw.h57 /* The number of empty mto buffers that can be contained in a single sccb. */
68 void *sccb; member
77 unsigned int char_sum; /* # chars in sccb */
78 unsigned int messages; /* # messages in sccb */
Dsclp_diag.h80 * struct sclp_diag_sccb - Diagnostic Test (ET7) SCCB
81 * @hdr: SCCB header
/Linux-v5.10/drivers/base/regmap/
Dregmap-sccb.c2 // Register map access API - SCCB support
11 * sccb_is_available - Check if the adapter supports SCCB protocol
14 * Return true if the I2C adapter is capable of using SCCB helper functions,
22 * If we ever want support for hardware doing SCCB natively, we will in sccb_is_available()
31 * regmap_sccb_read - Read data from SCCB slave device
67 * regmap_sccb_write - Write data to SCCB slave device
72 * This executes the SCCB 3-phase write transmission cycle, returning negative
DMakefile18 obj-$(CONFIG_REGMAP_SCCB) += regmap-sccb.o
/Linux-v5.10/drivers/scsi/
DFlashPoint.c3 FlashPoint.c -- FlashPoint SCCB Manager for Linux
5 This file contains the FlashPoint SCCB Manager from BusLogic's FlashPoint
28 struct sccb;
29 typedef void (*CALL_BK_FN) (struct sccb *);
69 /* SCCB struct used for both SCCB and UCB manager compiles!
70 * The UCB Manager treats the SCCB as it's 'native hardware structure'
74 struct sccb { struct
108 struct sccb *Sccb_forwardlink; argument
109 struct sccb *Sccb_backlink; argument
153 #define SCCB_COMPLETE 0x00 /* SCCB completed without error */
[all …]
DBusLogic.h16 Finally, special thanks to Mylex/BusLogic for making the FlashPoint SCCB
663 only uses codes 0 - 4. The FlashPoint SCCB Manager has no mailboxes, so
766 Firmware Interface and the FlashPoint SCCB Manager.
789 FlashPoint SCCB Manager. The next 60 bytes are defined by the FlashPoint
790 SCCB Manager. The remaining components are defined by the Linux BusLogic
798 FlashPoint SCCB Manager; the FlashPoint SCCB Manager only supports 32 Logical
807 MultiMaster Firmware and FlashPoint SCCB Manager Common Portion.
832 FlashPoint SCCB Manager Defined Portion.
945 by the FlashPoint SCCB Manager.
1267 Define the version number of the FlashPoint Firmware (SCCB Manager).
/Linux-v5.10/arch/s390/kvm/
Dintercept.c479 * a: an sccb answering interrupt was already pending or in flight. in handle_pv_sclp()
480 * As the sccb value is not known we can simply set some value to in handle_pv_sclp()
481 * trigger delivery of a saved SCCB. UV will then use its saved in handle_pv_sclp()
482 * copy of the SCCB value. in handle_pv_sclp()
483 * b: an error SCCB interrupt needs to be injected so we also inject in handle_pv_sclp()
484 * a fake SCCB address. Firmware will use the proper one. in handle_pv_sclp()
485 * This makes sure, that both errors and real sccb returns will only in handle_pv_sclp()
/Linux-v5.10/Documentation/devicetree/bindings/media/i2c/
Dov8856.yaml17 Serial Camera Control Bus (SCCB) interface. This chip is programmable
18 through I2C and two-wire SCCB. The sensor output is available via CSI-2
Dov2659.txt4 1632H x 1212V. It is programmable through a SCCB. The OV2659 sensor supports
/Linux-v5.10/arch/s390/include/uapi/asm/
Dsclp_ctl.h17 __u64 sccb; member

12