/linux/drivers/s390/virtio/ |
A D | virtio_ccw.c | 478 if (!ccw) in virtio_ccw_del_vqs() 486 ccw_device_dma_free(vcdev->cdev, ccw, sizeof(*ccw)); in virtio_ccw_del_vqs() 643 if (!ccw) in virtio_ccw_find_vqs() 719 if (!ccw) in virtio_ccw_reset() 743 if (!ccw) in virtio_ccw_get_features() 806 if (!ccw) in virtio_ccw_finalize_features() 860 if (!ccw) in virtio_ccw_get_config() 900 if (!ccw) in virtio_ccw_set_config() 937 if (!ccw) in virtio_ccw_get_status() 964 if (!ccw) in virtio_ccw_set_status() [all …]
|
/linux/drivers/s390/char/ |
A D | tape.h | 309 return ccw + 1; in tape_ccw_cc() 316 ccw->flags = 0; in tape_ccw_end() 319 return ccw + 1; in tape_ccw_end() 326 ccw->flags = 0; in tape_ccw_cmd() 327 ccw->count = 0; in tape_ccw_cmd() 328 ccw->cda = (__u32)(addr_t) &ccw->cmd_code; in tape_ccw_cmd() 339 ccw->cda = (__u32)(addr_t) &ccw->cmd_code; in tape_ccw_repeat() 340 ccw++; in tape_ccw_repeat() 342 return ccw; in tape_ccw_repeat() 351 return ccw++; in tape_ccw_cc_idal() [all …]
|
A D | tape_std.c | 278 ccw = tape_ccw_repeat(ccw, FORSPACEFILE, mt_count); in tape_std_mtfsf() 279 ccw = tape_ccw_end(ccw, NOP, 0, NULL); in tape_std_mtfsf() 303 ccw = tape_ccw_repeat(ccw, FORSPACEBLOCK, mt_count); in tape_std_mtfsr() 304 ccw = tape_ccw_end(ccw, NOP, 0, NULL); in tape_std_mtfsr() 336 ccw = tape_ccw_end(ccw, NOP, 0, NULL); in tape_std_mtbsr() 365 ccw = tape_ccw_repeat(ccw, WRITETAPEMARK, mt_count); in tape_std_mtweof() 366 ccw = tape_ccw_end(ccw, NOP, 0, NULL); in tape_std_mtweof() 391 ccw = tape_ccw_end(ccw, NOP, 0, NULL); in tape_std_mtbsfm() 416 ccw = tape_ccw_end(ccw, NOP, 0, NULL); in tape_std_mtbsf() 446 ccw = tape_ccw_repeat(ccw, FORSPACEFILE, mt_count); in tape_std_mtfsfm() [all …]
|
A D | raw3270.c | 160 rq->ccw.flags = CCW_FLAG_SLI; in raw3270_request_alloc() 182 rq->ccw.cmd_code = 0; in raw3270_request_reset() 183 rq->ccw.count = 0; in raw3270_request_reset() 185 rq->ccw.flags = CCW_FLAG_SLI; in raw3270_request_reset() 196 rq->ccw.cmd_code = cmd; in raw3270_request_set_cmd() 208 rq->ccw.count += size; in raw3270_request_add_data() 218 rq->ccw.cda = __pa(data); in raw3270_request_set_data() 219 rq->ccw.count = size; in raw3270_request_set_data() 228 rq->ccw.cda = __pa(ib->data); in raw3270_request_set_idal() 229 rq->ccw.count = ib->size; in raw3270_request_set_idal() [all …]
|
A D | con3215.c | 146 struct ccw1 *ccw; in raw3215_mk_read_req() local 158 ccw = req->ccws; in raw3215_mk_read_req() 161 ccw->count = 160; in raw3215_mk_read_req() 174 struct ccw1 *ccw; in raw3215_mk_write_req() local 191 ccw = req->ccws; in raw3215_mk_write_req() 221 ccw->cda = in raw3215_mk_write_req() 226 ccw->count = count; in raw3215_mk_write_req() 229 ccw++; in raw3215_mk_write_req() 239 ccw->flags = 0; in raw3215_mk_write_req() 240 ccw->cda = 0; in raw3215_mk_write_req() [all …]
|
/linux/drivers/s390/block/ |
A D | dasd_fba.c | 84 ccw->flags = 0; in define_extent() 85 ccw->count = 16; in define_extent() 104 ccw->flags = 0; in locate_record() 105 ccw->count = 8; in locate_record() 254 ccw->count = 0; in ccw_write_no_data() 521 ccw++; in dasd_fba_build_cp_regular() 538 ccw++; in dasd_fba_build_cp_regular() 582 ccw++; in dasd_fba_free_cp() 584 ccw++; in dasd_fba_free_cp() 590 ccw++; in dasd_fba_free_cp() [all …]
|
A D | dasd_eckd.c | 269 if (ccw) { in set_timestamp() 1559 ccw++; in dasd_eckd_read_features() 1628 ccw++; in dasd_eckd_read_vol_info() 1812 ccw++; in dasd_eckd_read_ext_pool_info() 2228 ccw++; in dasd_eckd_analysis_ccw() 2613 ccw++; in dasd_eckd_build_check() 4835 ccw++; in dasd_eckd_free_cp() 5241 ccw++; in dasd_eckd_performance() 5390 ccw++; in dasd_symm_io() 5875 ccw++; in dasd_eckd_read_message_buffer() [all …]
|
A D | dasd_3990_erp.c | 201 struct ccw1 *ccw; in dasd_3990_erp_DCTL() local 222 ccw->count = 4; in dasd_3990_erp_DCTL() 1711 ccw->count = 16; in dasd_3990_erp_action_1B_32() 1715 ccw++; in dasd_3990_erp_action_1B_32() 1719 ccw->count = 16; in dasd_3990_erp_action_1B_32() 1723 ccw++; in dasd_3990_erp_action_1B_32() 1725 ccw->cda = cpa; in dasd_3990_erp_action_1B_32() 1770 struct ccw1 *ccw; in dasd_3990_update_1B() local 1852 ccw->cda = cpa; in dasd_3990_update_1B() 2375 struct ccw1 *ccw; in dasd_3990_erp_add_erp() local [all …]
|
A D | dasd_alias.c | 420 struct ccw1 *ccw; in read_unit_address_configuration() local 442 ccw = cqr->cpaddr; in read_unit_address_configuration() 443 ccw->cmd_code = DASD_ECKD_CCW_PSF; in read_unit_address_configuration() 445 ccw->flags |= CCW_FLAG_CC; in read_unit_address_configuration() 446 ccw->cda = (__u32)(addr_t) prssdp; in read_unit_address_configuration() 451 ccw++; in read_unit_address_configuration() 453 ccw->count = sizeof(*(lcu->uac)); in read_unit_address_configuration() 736 struct ccw1 *ccw; in reset_summary_unit_check() local 741 ccw = cqr->cpaddr; in reset_summary_unit_check() 743 ccw->flags = CCW_FLAG_SLI; in reset_summary_unit_check() [all …]
|
A D | dasd_eer.c | 461 struct ccw1 *ccw; in dasd_eer_enable() local 490 ccw = cqr->cpaddr; in dasd_eer_enable() 491 ccw->cmd_code = DASD_ECKD_CCW_SNSS; in dasd_eer_enable() 492 ccw->count = SNSS_DATA_SIZE; in dasd_eer_enable() 493 ccw->flags = 0; in dasd_eer_enable() 494 ccw->cda = (__u32)(addr_t) cqr->data; in dasd_eer_enable()
|
/linux/drivers/dma/ |
A D | mxs-dma.c | 405 if (!mxs_chan->ccw) { in mxs_dma_alloc_chan_resources() 507 ccw = &mxs_chan->ccw[idx - 1]; in mxs_dma_prep_slave_sg() 508 ccw->next = mxs_chan->ccw_phys + sizeof(*ccw) * idx; in mxs_dma_prep_slave_sg() 517 ccw = &mxs_chan->ccw[idx++]; in mxs_dma_prep_slave_sg() 523 ccw->bits = 0; in mxs_dma_prep_slave_sg() 542 ccw = &mxs_chan->ccw[idx++]; in mxs_dma_prep_slave_sg() 544 ccw->next = mxs_chan->ccw_phys + sizeof(*ccw) * idx; in mxs_dma_prep_slave_sg() 548 ccw->bits = 0; in mxs_dma_prep_slave_sg() 606 struct mxs_dma_ccw *ccw = &mxs_chan->ccw[i]; in mxs_dma_prep_dma_cyclic() local 611 ccw->next = mxs_chan->ccw_phys + sizeof(*ccw) * (i + 1); in mxs_dma_prep_dma_cyclic() [all …]
|
/linux/drivers/s390/cio/ |
A D | vfio_ccw_cp.c | 261 if (ccw->count == 0) in ccw_does_data_transfer() 265 if (ccw_is_noop(ccw)) in ccw_does_data_transfer() 277 if (ccw_is_read(ccw) || ccw_is_read_backward(ccw)) in ccw_does_data_transfer() 352 if (ccw_is_tic(ccw)) in ccwchain_cda_free() 395 if (!ccw_is_chain(ccw) && !is_tic_within_range(ccw, iova, cnt)) in ccwchain_calc_length() 398 ccw++; in ccwchain_calc_length() 511 struct ccw1 *ccw; in ccwchain_fetch_direct() local 522 if (ccw->count) in ccwchain_fetch_direct() 523 bytes = ccw->count; in ccwchain_fetch_direct() 533 iova = ccw->cda; in ccwchain_fetch_direct() [all …]
|
A D | qdio_main.c | 1008 irq_ptr->ccw.cmd_code = irq_ptr->equeue.cmd; in qdio_establish() 1009 irq_ptr->ccw.flags = CCW_FLAG_SLI; in qdio_establish() 1010 irq_ptr->ccw.count = irq_ptr->equeue.count; in qdio_establish() 1011 irq_ptr->ccw.cda = (u32) virt_to_phys(irq_ptr->qdr); in qdio_establish() 1016 rc = ccw_device_start(cdev, &irq_ptr->ccw, QDIO_DOING_ESTABLISH, 0, 0); in qdio_establish() 1082 irq_ptr->ccw.cmd_code = irq_ptr->aqueue.cmd; in qdio_activate() 1083 irq_ptr->ccw.flags = CCW_FLAG_SLI; in qdio_activate() 1084 irq_ptr->ccw.count = irq_ptr->aqueue.count; in qdio_activate() 1085 irq_ptr->ccw.cda = 0; in qdio_activate() 1090 rc = ccw_device_start(cdev, &irq_ptr->ccw, QDIO_DOING_ACTIVATE, in qdio_activate()
|
/linux/arch/s390/include/asm/ |
A D | idals.h | 76 if (ccw->flags & CCW_FLAG_IDA) in set_normalized_cda() 85 ccw->flags |= CCW_FLAG_IDA; in set_normalized_cda() 88 ccw->cda = (__u32)(unsigned long) vaddr; in set_normalized_cda() 96 clear_normalized_cda(struct ccw1 * ccw) in clear_normalized_cda() argument 98 if (ccw->flags & CCW_FLAG_IDA) { in clear_normalized_cda() 100 ccw->flags &= ~CCW_FLAG_IDA; in clear_normalized_cda() 102 ccw->cda = 0; in clear_normalized_cda() 184 ccw->cda = (u32)(addr_t) ib->data; in idal_buffer_set_cda() 185 ccw->flags |= CCW_FLAG_IDA; in idal_buffer_set_cda() 188 ccw->cda = (u32)(addr_t) ib->data[0]; in idal_buffer_set_cda() [all …]
|
A D | ipl.h | 24 struct ipl_pb0_ccw ccw; member 79 } ccw; member
|
/linux/Documentation/driver-api/ |
A D | s390-drivers.rst | 39 device on the ccw bus and are described below. 40 * I/O subchannels bound to the vfio-ccw driver. See 41 Documentation/s390/vfio-ccw.rst. 47 The ccw bus 50 The ccw bus typically contains the majority of devices available to a 51 s390 system. Named after the channel command word (ccw), the basic 52 command structure used to address its devices, the ccw bus contains 56 subchannel directly, but only via the I/O device on the ccw bus, the ccw 70 ccw devices 75 provides the abstractions of ccw devices and ccw device drivers. [all …]
|
/linux/drivers/s390/net/ |
A D | ctcm_mpc.c | 1695 ch->ccw[8].count = 0; in mpc_action_side_xid() 1696 ch->ccw[8].cda = 0x00; in mpc_action_side_xid() 1716 ch->ccw[10].count = XID2_LENGTH; in mpc_action_side_xid() 1726 ch->ccw[12].count = XID2_LENGTH; in mpc_action_side_xid() 1733 ch->ccw[9].cmd_code = CCW_CMD_READ; in mpc_action_side_xid() 1740 ch->ccw[10].count = XID2_LENGTH; in mpc_action_side_xid() 1754 ch->ccw[12].count = XID2_LENGTH; in mpc_action_side_xid() 1764 ch->ccw[13].count = 4; in mpc_action_side_xid() 1767 ch->ccw[14].flags = CCW_FLAG_SLI; in mpc_action_side_xid() 1768 ch->ccw[14].count = 0; in mpc_action_side_xid() [all …]
|
A D | ctcm_fsms.c | 606 ch->ccw[1].count = 0; in ctcm_chx_start() 610 ch->ccw[1].count = 0; in ctcm_chx_start() 622 ch->ccw[0].count = 0; in ctcm_chx_start() 623 ch->ccw[0].cda = 0; in ctcm_chx_start() 625 ch->ccw[2].flags = CCW_FLAG_SLI; in ctcm_chx_start() 626 ch->ccw[2].count = 0; in ctcm_chx_start() 627 ch->ccw[2].cda = 0; in ctcm_chx_start() 628 memcpy(&ch->ccw[3], &ch->ccw[0], sizeof(struct ccw1) * 3); in ctcm_chx_start() 629 ch->ccw[4].cda = 0; in ctcm_chx_start() 1020 ch->ccw[4].count = skb->len; in ctcm_chx_txretry() [all …]
|
A D | ctcm_main.c | 230 kfree(ch->ccw); in channel_remove() 384 clear_normalized_cda(&ch->ccw[1]); in ctcm_ch_alloc_buffer() 407 ch->ccw[1].count = 0; in ctcm_ch_alloc_buffer() 534 ch->ccw[4].count = block_len; in ctcm_transmit_skb() 554 ch->ccw[1].count = skb->len; in ctcm_transmit_skb() 755 ch->ccw[4].count = skb->len; in ctcmpc_transmit_skb() 771 ch->ccw[1].count = skb->len; in ctcmpc_transmit_skb() 1339 if (ch->ccw == NULL) in add_channel() 1390 ch->ccw[6].flags = CCW_FLAG_SLI; in add_channel() 1393 ch->ccw[7].flags = CCW_FLAG_SLI; in add_channel() [all …]
|
/linux/drivers/crypto/nx/ |
A D | nx-common-powernv.c | 464 u32 ccw; in nx842_exec_icswx() local 485 ccw = 0; in nx842_exec_icswx() 486 ccw = SET_FIELD(CCW_CT, ccw, nx842_ct); in nx842_exec_icswx() 487 ccw = SET_FIELD(CCW_CI_842, ccw, 0); /* use 0 for hw auto-selection */ in nx842_exec_icswx() 488 ccw = SET_FIELD(CCW_FC_842, ccw, fc); in nx842_exec_icswx() 493 ret = icswx(cpu_to_be32(ccw), crb); in nx842_exec_icswx() 496 (unsigned int)ccw, in nx842_exec_icswx() 568 u32 ccw; in nx842_exec_vas() local 582 ccw = 0; in nx842_exec_vas() 583 ccw = SET_FIELD(CCW_FC_842, ccw, fc); in nx842_exec_vas() [all …]
|
/linux/arch/s390/kernel/ |
A D | ipl_vmparm.c | 16 if ((ipb->ccw.vm_flags & IPL_PB0_CCW_VM_FLAG_VP) && in ipl_block_get_ascii_vmparm() 17 (ipb->ccw.vm_parm_len > 0)) { in ipl_block_get_ascii_vmparm() 19 len = min_t(size_t, size - 1, ipb->ccw.vm_parm_len); in ipl_block_get_ascii_vmparm() 20 memcpy(dest, ipb->ccw.vm_parm, len); in ipl_block_get_ascii_vmparm()
|
A D | ipl.c | 335 ipl_block.ccw.devno); in sys_ipl_device_show() 603 ipb->ccw.vm_parm_len = ip_len; in reipl_generic_vmparm_store() 606 memcpy(ipb->ccw.vm_parm, buf, ip_len); in reipl_generic_vmparm_store() 607 ASCEBC(ipb->ccw.vm_parm, ip_len); in reipl_generic_vmparm_store() 1183 ipb->ccw.vm_parm_len = ipl_block.ccw.vm_parm_len; in reipl_block_ccw_fill_parms() 1184 memcpy(ipb->ccw.vm_parm, in reipl_block_ccw_fill_parms() 1225 reipl_block_ccw->ccw.ssid = ipl_block.ccw.ssid; in reipl_ccw_init() 1226 reipl_block_ccw->ccw.devno = ipl_block.ccw.devno; in reipl_ccw_init() 1560 dump_block_ccw->ccw.pbt = IPL_PBT_CCW; in dump_ccw_init() 2052 ipl_info.data.ccw.dev_id.ssid = ipl_block.ccw.ssid; in setup_ipl() [all …]
|
/linux/Documentation/s390/ |
A D | vfio-ccw.rst | 2 vfio-ccw: the basic infrastructure 43 Motivation of vfio-ccw 86 Back to vfio-ccw, in short: 99 Physical vfio ccw device and its child mdev 175 2. Create a mediated vfio ccw device. 190 vfio-ccw I/O region 246 vfio-ccw cmd region 285 vfio-ccw schib region 301 vfio-ccw crw region 321 vfio-ccw operation details [all …]
|
A D | driver-model.rst | 11 All ccw devices are accessed via a subchannel, this is reflected in the 29 system; it is a pseudo subchannel where disconnected ccw devices are moved to 30 if they are displaced by another ccw device becoming operational on their 31 former subchannel. The ccw devices will be moved again to a proper subchannel 35 be found under bus/ccw/devices/. 37 All ccw devices export some data via sysfs. 69 1.1 Bringing up a ccw device 80 1.2 Writing a driver for ccw devices 249 The ccw driver provides a 'group' attribute. Piping bus ids of ccw devices to 252 ccw device. [all …]
|
/linux/arch/powerpc/include/asm/ |
A D | icswx.h | 142 __be32 ccw; member 185 static inline int icswx(__be32 ccw, struct coprocessor_request_block *crb) in icswx() argument 187 __be64 ccw_reg = ccw; in icswx()
|