| /linux/drivers/s390/char/ |
| H A D | sclp_early.c | 29 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 …]
|
| H A D | sclp_early_core.c | 66 int sclp_early_cmd(sclp_cmdw_t cmd, void *sccb) in sclp_early_cmd() argument 72 rc = sclp_service_call(cmd, sccb); in sclp_early_cmd() 91 struct write_sccb *sccb; in sclp_early_print_lm() local 97 sccb = (struct write_sccb *) sclp_early_sccb; in sclp_early_print_lm() 98 end = (unsigned char *) sccb + EARLY_SCCB_SIZE - 1; in sclp_early_print_lm() 99 memset(sccb, 0, sizeof(*sccb)); in sclp_early_print_lm() 100 ptr = (unsigned char *) &sccb->msg.mdb.mto; in sclp_early_print_lm() 116 len = ptr - (unsigned char *) sccb; in sclp_early_print_lm() 117 sccb->header.length = len - offsetof(struct write_sccb, header); in sclp_early_print_lm() 118 msg = &sccb->msg; in sclp_early_print_lm() [all …]
|
| H A D | sclp_cmd.c | 58 int sclp_sync_request(sclp_cmdw_t cmd, void *sccb) in sclp_sync_request() argument 60 return sclp_sync_request_timeout(cmd, sccb, 0); in sclp_sync_request() 63 int sclp_sync_request_timeout(sclp_cmdw_t cmd, void *sccb, int timeout) in sclp_sync_request_timeout() argument 75 request->sccb = sccb; in sclp_sync_request_timeout() 98 struct read_cpu_info_sccb *sccb; in _sclp_get_core_info() local 105 sccb = (void *)__get_free_pages(GFP_KERNEL | GFP_DMA | __GFP_ZERO, get_order(length)); in _sclp_get_core_info() 106 if (!sccb) in _sclp_get_core_info() 108 sccb->header.length = length; in _sclp_get_core_info() 109 sccb->header.control_mask[2] = 0x80; in _sclp_get_core_info() 110 rc = sclp_sync_request_timeout(SCLP_CMDW_READ_CPU_INFO, sccb, in _sclp_get_core_info() [all …]
|
| H A D | sclp_sdias.c | 60 struct sdias_sccb *sccb = sclp_sdias_sccb; in sdias_sclp_send() local 81 if (!(sccb->evbuf.hdr.flags & 0x80)) { in sdias_sclp_send() 83 sccb->evbuf.hdr.flags); in sdias_sclp_send() 87 * for the sync interface the response is in the initial sccb in sdias_sclp_send() 90 memcpy(&sdias_evbuf, &sccb->evbuf, sizeof(sdias_evbuf)); in sdias_sclp_send() 107 struct sdias_sccb *sccb = sclp_sdias_sccb; in sclp_sdias_blk_count() local 113 memset(sccb, 0, sizeof(*sccb)); in sclp_sdias_blk_count() 116 sccb->hdr.length = sizeof(*sccb); in sclp_sdias_blk_count() 117 sccb->evbuf.hdr.length = sizeof(struct sdias_evbuf); in sclp_sdias_blk_count() 118 sccb->evbuf.hdr.type = EVTYP_SDIAS; in sclp_sdias_blk_count() [all …]
|
| H A D | sclp_pci.c | 41 struct pci_cfg_sccb *sccb; in do_pci_configure() local 47 sccb = (struct pci_cfg_sccb *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in do_pci_configure() 48 if (!sccb) in do_pci_configure() 51 sccb->header.length = PAGE_SIZE; in do_pci_configure() 52 sccb->atype = SCLP_ATYPE_PCI; in do_pci_configure() 53 sccb->aid = fid; in do_pci_configure() 54 rc = sclp_sync_request(cmd, sccb); in do_pci_configure() 57 switch (sccb->header.response_code) { in do_pci_configure() 63 cmd, sccb->header.response_code); in do_pci_configure() 68 free_page((unsigned long) sccb); in do_pci_configure() [all …]
|
| H A D | sclp.h | 118 #define sccb_get_generic_mask(sccb, i) \ argument 120 __typeof__(sccb) __sccb = sccb; \ 124 #define sccb_get_recv_mask(sccb) sccb_get_generic_mask(sccb, 0) argument 125 #define sccb_get_send_mask(sccb) sccb_get_generic_mask(sccb, 1) argument 126 #define sccb_get_sclp_recv_mask(sccb) sccb_get_generic_mask(sccb, 2) argument 127 #define sccb_get_sclp_send_mask(sccb) sccb_get_generic_mask(sccb, 3) argument 129 #define sccb_set_generic_mask(sccb, i, val) \ argument 131 __typeof__(sccb) __sccb = sccb; \ 135 #define sccb_set_recv_mask(sccb, val) sccb_set_generic_mask(sccb, 0, val) argument 136 #define sccb_set_send_mask(sccb, val) sccb_set_generic_mask(sccb, 1, val) argument [all …]
|
| H A D | sclp_rw.c | 23 * 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 …]
|
| H A D | sclp_ftp.c | 41 pr_debug("SCLP (ET7) TX-IRQ, SCCB @ 0x%p: %*phN\n", in sclp_ftp_txcb() 42 req->sccb, 24, req->sccb); in sclp_ftp_txcb() 90 struct sclp_diag_sccb *sccb; in sclp_ftp_et7() local 96 sccb = (void *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in sclp_ftp_et7() 97 if (!req || !sccb) { in sclp_ftp_et7() 102 sccb->hdr.length = SCLP_DIAG_FTP_EVBUF_LEN + in sclp_ftp_et7() 104 sccb->evbuf.hdr.type = EVTYP_DIAG_TEST; in sclp_ftp_et7() 105 sccb->evbuf.hdr.length = SCLP_DIAG_FTP_EVBUF_LEN; in sclp_ftp_et7() 106 sccb->evbuf.hdr.flags = 0; /* clear processed-buffer */ in sclp_ftp_et7() 107 sccb->evbuf.route = SCLP_DIAG_FTP_ROUTE; in sclp_ftp_et7() [all …]
|
| H A D | sclp.c | 118 static inline int abbrev_len(sclp_cmdw_t cmd, struct sccb_header *sccb) in abbrev_len() argument 120 struct evbuf_header *evbuf = (struct evbuf_header *)(sccb + 1); in abbrev_len() 121 int len = sccb->length, limit = SCLP_TRACE_MAX_SIZE; in abbrev_len() 123 /* Full SCCB tracing if debug level is set to max. */ in abbrev_len() 136 sclp_cmdw_t cmd, struct sccb_header *sccb, in sclp_trace_sccb() argument 140 if (sccb) { in sclp_trace_sccb() 141 sclp_trace_bin(prio + 1, sccb, abbrev_len(cmd, sccb), in sclp_trace_sccb() 142 err ? sccb->length : 0); in sclp_trace_sccb() 158 struct sccb_header *sccb = req->sccb; in sclp_trace_req() local 170 summary.response = sccb ? sccb->response_code : 0; in sclp_trace_req() [all …]
|
| H A D | sclp_mem.c | 84 struct assign_storage_sccb *sccb; in do_assign_storage() local 87 sccb = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); in do_assign_storage() 88 if (!sccb) in do_assign_storage() 90 sccb->header.length = PAGE_SIZE; in do_assign_storage() 91 sccb->rn = rn; in do_assign_storage() 92 rc = sclp_sync_request_timeout(cmd, sccb, SCLP_QUEUE_INTERVAL); in do_assign_storage() 95 switch (sccb->header.response_code) { in do_assign_storage() 101 cmd, sccb->header.response_code, rn); in do_assign_storage() 106 free_page((unsigned long)sccb); in do_assign_storage() 130 struct attach_storage_sccb *sccb; in sclp_attach_storage() local [all …]
|
| H A D | sclp_ctl.c | 54 struct sccb_header *sccb; in sclp_ctl_ioctl_sccb() local 62 sccb = (void *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in sclp_ctl_ioctl_sccb() 63 if (!sccb) in sclp_ctl_ioctl_sccb() 66 copy_from_user(sccb, u64_to_uptr(ctl_sccb.sccb), PAGE_SIZE); in sclp_ctl_ioctl_sccb() 68 sizeof(sccb->length) > copied || sccb->length > copied) { in sclp_ctl_ioctl_sccb() 72 if (sccb->length < 8) { in sclp_ctl_ioctl_sccb() 76 rc = sclp_sync_request(ctl_sccb.cmdw, sccb); in sclp_ctl_ioctl_sccb() 79 if (copy_to_user(u64_to_uptr(ctl_sccb.sccb), sccb, sccb->length)) in sclp_ctl_ioctl_sccb() 82 free_page((unsigned long) sccb); in sclp_ctl_ioctl_sccb() 87 * SCLP SCCB ioctl function
|
| H A D | sclp_vt220.c | 49 /* 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 …]
|
| H A D | sclp_config.c | 94 struct sclp_ofb_sccb *sccb; in sclp_ofb_send_req() local 99 sccb = (struct sclp_ofb_sccb *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in sclp_ofb_send_req() 100 if (!sccb) in sclp_ofb_send_req() 102 /* Setup SCCB for Control-Program Identification */ in sclp_ofb_send_req() 103 sccb->header.length = sizeof(struct sclp_ofb_sccb); in sclp_ofb_send_req() 104 sccb->ofb_evbuf.header.length = sizeof(struct sclp_ofb_evbuf); in sclp_ofb_send_req() 105 sccb->ofb_evbuf.header.type = EVTYP_CONFMGMDATA; in sclp_ofb_send_req() 106 sccb->ofb_evbuf.cm_data.ev_qualifier = EV_QUAL_OPEN4BUSINESS; in sclp_ofb_send_req() 107 memcpy(sccb->ofb_evbuf.ev_data, ev_data, len); in sclp_ofb_send_req() 114 rc = sclp_sync_request(SCLP_CMDW_WRITE_EVENT_DATA, sccb); in sclp_ofb_send_req() [all …]
|
| H A D | sclp_ap.c | 23 struct ap_cfg_sccb *sccb; in do_ap_configure() local 29 sccb = (struct ap_cfg_sccb *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in do_ap_configure() 30 if (!sccb) in do_ap_configure() 33 sccb->header.length = PAGE_SIZE; in do_ap_configure() 35 rc = sclp_sync_request(cmd, sccb); in do_ap_configure() 38 switch (sccb->header.response_code) { in do_ap_configure() 43 apid, cmd, sccb->header.response_code); in do_ap_configure() 48 free_page((unsigned long) sccb); in do_ap_configure()
|
| H A D | sclp_cpi_sys.c | 81 struct cpi_sccb *sccb; in cpi_prepare_req() local 87 sccb = (struct cpi_sccb *) get_zeroed_page(GFP_KERNEL | GFP_DMA); in cpi_prepare_req() 88 if (!sccb) { in cpi_prepare_req() 93 /* setup SCCB for Control-Program Identification */ in cpi_prepare_req() 94 sccb->header.length = sizeof(struct cpi_sccb); in cpi_prepare_req() 95 sccb->cpi_evbuf.header.length = sizeof(struct cpi_evbuf); in cpi_prepare_req() 96 sccb->cpi_evbuf.header.type = EVTYP_CTLPROGIDENT; in cpi_prepare_req() 97 evb = &sccb->cpi_evbuf; in cpi_prepare_req() 113 req->sccb = sccb; in cpi_prepare_req() 121 free_page((unsigned long) req->sccb); in cpi_free_req() [all …]
|
| H A D | sclp_sd.c | 192 struct sclp_sd_sccb *sccb = (void *) page; in sclp_sd_sync() local 201 sclp_sd_listener_init(&listener, __pa(sccb)); in sclp_sd_sync() 204 /* Prepare SCCB */ in sclp_sd_sync() 205 memset(sccb, 0, PAGE_SIZE); in sclp_sd_sync() 206 sccb->hdr.length = sizeof(sccb->hdr) + sizeof(sccb->evbuf); in sclp_sd_sync() 207 evbuf = &sccb->evbuf; in sclp_sd_sync() 221 rc = sclp_sync_request(SCLP_CMDW_WRITE_EVENT_DATA, sccb); in sclp_sd_sync() 227 if (sccb->hdr.response_code == 0x73f0) { in sclp_sd_sync() 232 if (sccb->hdr.response_code != 0x0020 || !(evbuf->hdr.flags & 0x80)) { in sclp_sd_sync() 268 eq, di, sccb->hdr.response_code, evbuf->hdr.flags, in sclp_sd_sync()
|
| H A D | sclp_rw.h | 57 /* 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 */
|
| H A D | sclp_diag.h | 80 * struct sclp_diag_sccb - Diagnostic Test (ET7) SCCB 81 * @hdr: SCCB header
|
| /linux/drivers/base/regmap/ |
| H A D | regmap-sccb.c | 2 // 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 128 MODULE_DESCRIPTION("Register map access API - SCCB support");
|
| /linux/drivers/scsi/ |
| H A D | FlashPoint.c | 3 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 …]
|
| H A D | BusLogic.h | 16 Finally, special thanks to Mylex/BusLogic for making the FlashPoint SCCB 655 only uses codes 0 - 4. The FlashPoint SCCB Manager has no mailboxes, so 758 Firmware Interface and the FlashPoint SCCB Manager. 781 FlashPoint SCCB Manager. The next 60 bytes are defined by the FlashPoint 782 SCCB Manager. The remaining components are defined by the Linux BusLogic 790 FlashPoint SCCB Manager; the FlashPoint SCCB Manager only supports 32 Logical 799 MultiMaster Firmware and FlashPoint SCCB Manager Common Portion. 824 FlashPoint SCCB Manager Defined Portion. 937 by the FlashPoint SCCB Manager. 1256 Define the version number of the FlashPoint Firmware (SCCB Manager).
|
| /linux/arch/s390/kvm/ |
| H A D | intercept.c | 524 * a: an sccb answering interrupt was already pending or in flight. in handle_pv_sclp() 525 * As the sccb value is not known we can simply set some value to in handle_pv_sclp() 526 * trigger delivery of a saved SCCB. UV will then use its saved in handle_pv_sclp() 527 * copy of the SCCB value. in handle_pv_sclp() 528 * b: an error SCCB interrupt needs to be injected so we also inject in handle_pv_sclp() 529 * a fake SCCB address. Firmware will use the proper one. in handle_pv_sclp() 530 * This makes sure, that both errors and real sccb returns will only in handle_pv_sclp()
|
| /linux/Documentation/devicetree/bindings/media/i2c/ |
| H A D | ovti,ov5675.yaml | 20 Serial Camera Control Bus (SCCB) interface. 22 This chip is programmable through I2C and two-wire SCCB. The sensor output
|
| H A D | ovti,ov8856.yaml | 17 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
|
| H A D | ovti,ov5693.yaml | 17 Serial Camera Control Bus (SCCB) interface. 20 (SCCB). The sensor output is available via CSI-2 serial data output (up to
|