Home
last modified time | relevance | path

Searched refs:ccw (Results 1 – 25 of 29) sorted by relevance

12

/linux/drivers/s390/virtio/
H A Dvirtio_ccw.c370 struct ccw1 *ccw, __u32 intparm) in ccw_io_helper() argument
379 ret = ccw_device_start(vcdev->cdev, ccw, intparm, 0, 0); in ccw_io_helper()
395 struct ccw1 *ccw) in virtio_ccw_drop_indicator() argument
405 &ccw->cda); in virtio_ccw_drop_indicator()
411 ccw->cmd_code = CCW_CMD_SET_IND_ADAPTER; in virtio_ccw_drop_indicator()
412 ccw->count = sizeof(*thinint_area); in virtio_ccw_drop_indicator()
417 &ccw->cda); in virtio_ccw_drop_indicator()
421 ccw->cmd_code = CCW_CMD_SET_IND; in virtio_ccw_drop_indicator()
422 ccw->count = sizeof(*indicatorp); in virtio_ccw_drop_indicator()
426 ccw->flags = 0; in virtio_ccw_drop_indicator()
[all …]
/linux/drivers/dma/
H A Dmxs-dma.c114 struct mxs_dma_ccw *ccw; member
401 mxs_chan->ccw = dma_alloc_coherent(mxs_dma->dma_device.dev, in mxs_dma_alloc_chan_resources()
404 if (!mxs_chan->ccw) { in mxs_dma_alloc_chan_resources()
432 mxs_chan->ccw, mxs_chan->ccw_phys); in mxs_dma_alloc_chan_resources()
447 mxs_chan->ccw, mxs_chan->ccw_phys); in mxs_dma_free_chan_resources()
481 struct mxs_dma_ccw *ccw; in mxs_dma_prep_slave_sg() local
506 ccw = &mxs_chan->ccw[idx - 1]; in mxs_dma_prep_slave_sg()
507 ccw->next = mxs_chan->ccw_phys + sizeof(*ccw) * idx; in mxs_dma_prep_slave_sg()
508 ccw->bits |= CCW_CHAIN; in mxs_dma_prep_slave_sg()
509 ccw->bits &= ~CCW_IRQ; in mxs_dma_prep_slave_sg()
[all …]
/linux/drivers/s390/cio/
H A Dvfio_ccw_cp.c261 static inline int ccw_does_data_transfer(struct ccw1 *ccw) in ccw_does_data_transfer() argument
264 if (ccw->count == 0) in ccw_does_data_transfer()
268 if (ccw_is_noop(ccw)) in ccw_does_data_transfer()
272 if (!ccw_is_skip(ccw)) in ccw_does_data_transfer()
280 if (ccw_is_read(ccw) || ccw_is_read_backward(ccw)) in ccw_does_data_transfer()
283 if (ccw_is_sense(ccw)) in ccw_does_data_transfer()
310 static inline int is_tic_within_range(struct ccw1 *ccw, u32 head, int len) in is_tic_within_range() argument
312 if (!ccw_is_tic(ccw)) in is_tic_within_range()
315 return is_cpa_within_range(ccw->cda, head, len); in is_tic_within_range()
355 struct ccw1 *ccw = &chain->ch_ccw[idx]; in ccwchain_cda_free() local
[all …]
H A Dqdio_main.c804 rc = ccw_device_start(cdev, irq_ptr->ccw, intparm, 0, 0); in qdio_int_handler()
938 kfree(irq_ptr->ccw); in qdio_free()
968 irq_ptr->ccw = kmalloc(sizeof(*irq_ptr->ccw), GFP_KERNEL | GFP_DMA); in qdio_allocate()
969 if (!irq_ptr->ccw) in qdio_allocate()
973 kmemleak_not_leak(irq_ptr->ccw); in qdio_allocate()
1012 kfree(irq_ptr->ccw); in qdio_allocate()
1088 irq_ptr->ccw->cmd_code = ciw->cmd; in qdio_establish()
1089 irq_ptr->ccw->flags = CCW_FLAG_SLI; in qdio_establish()
1090 irq_ptr->ccw->count = ciw->count; in qdio_establish()
1091 irq_ptr->ccw->cda = virt_to_dma32(irq_ptr->qdr); in qdio_establish()
[all …]
/linux/Documentation/driver-api/
H A Ds390-drivers.rst39 device on the ccw bus and are described below.
40 * I/O subchannels bound to the vfio-ccw driver. See
41 Documentation/arch/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
73 Devices that want to initiate channel I/O need to attach to the ccw bus.
[all …]
/linux/drivers/s390/block/
H A Ddasd_3990_erp.c197 struct ccw1 *ccw; in dasd_3990_erp_DCTL() local
215 ccw = dctl_cqr->cpaddr; in dasd_3990_erp_DCTL()
216 memset(ccw, 0, sizeof(struct ccw1)); in dasd_3990_erp_DCTL()
217 ccw->cmd_code = CCW_CMD_DCTL; in dasd_3990_erp_DCTL()
218 ccw->count = 4; in dasd_3990_erp_DCTL()
219 ccw->cda = virt_to_dma32(DCTL_data); in dasd_3990_erp_DCTL()
1592 struct ccw1 *ccw, *oldccw; in dasd_3990_erp_action_1B_32() local
1685 ccw = erp->cpaddr; in dasd_3990_erp_action_1B_32()
1686 memset(ccw, 0, sizeof(struct ccw1)); in dasd_3990_erp_action_1B_32()
1687 ccw->cmd_code = DASD_ECKD_CCW_DEFINE_EXTENT; in dasd_3990_erp_action_1B_32()
[all …]
H A Ddasd_alias.c412 struct ccw1 *ccw; in read_unit_address_configuration() local
434 ccw = cqr->cpaddr; in read_unit_address_configuration()
435 ccw->cmd_code = DASD_ECKD_CCW_PSF; in read_unit_address_configuration()
436 ccw->count = sizeof(struct dasd_psf_prssd_data); in read_unit_address_configuration()
437 ccw->flags |= CCW_FLAG_CC; in read_unit_address_configuration()
438 ccw->cda = virt_to_dma32(prssdp); in read_unit_address_configuration()
443 ccw++; in read_unit_address_configuration()
444 ccw->cmd_code = DASD_ECKD_CCW_RSSD; in read_unit_address_configuration()
445 ccw->count = sizeof(*(lcu->uac)); in read_unit_address_configuration()
446 ccw->cda = virt_to_dma32(lcu->uac); in read_unit_address_configuration()
[all …]
H A Ddasd_eer.c456 struct ccw1 *ccw; in dasd_eer_enable() local
485 ccw = cqr->cpaddr; in dasd_eer_enable()
486 ccw->cmd_code = DASD_ECKD_CCW_SNSS; in dasd_eer_enable()
487 ccw->count = SNSS_DATA_SIZE; in dasd_eer_enable()
488 ccw->flags = 0; in dasd_eer_enable()
489 ccw->cda = virt_to_dma32(cqr->data); in dasd_eer_enable()
/linux/arch/s390/kernel/
H A Dipl_vmparm.c16 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()
/linux/drivers/s390/char/
H A Draw3270.c168 rq->ccw.cda = virt_to_dma32(rq->buffer); in raw3270_request_alloc()
169 rq->ccw.flags = CCW_FLAG_SLI; in raw3270_request_alloc()
192 rq->ccw.cmd_code = 0; in raw3270_request_reset()
193 rq->ccw.count = 0; in raw3270_request_reset()
195 rq->ccw.cda = virt_to_dma32(rq->buffer); in raw3270_request_reset()
196 rq->ccw.flags = CCW_FLAG_SLI; in raw3270_request_reset()
208 rq->ccw.cmd_code = cmd; in raw3270_request_set_cmd()
217 if (size + rq->ccw.count > rq->size) in raw3270_request_add_data()
219 memcpy(rq->buffer + rq->ccw.count, data, size); in raw3270_request_add_data()
220 rq->ccw.count += size; in raw3270_request_add_data()
[all …]
H A Dcon3215.c147 struct ccw1 *ccw; in raw3215_mk_read_req() local
159 ccw = req->ccws; in raw3215_mk_read_req()
160 ccw->cmd_code = 0x0A; /* read inquiry */ in raw3215_mk_read_req()
161 ccw->flags = 0x20; /* ignore incorrect length */ in raw3215_mk_read_req()
162 ccw->count = 160; in raw3215_mk_read_req()
163 ccw->cda = virt_to_dma32(raw->inbuf); in raw3215_mk_read_req()
175 struct ccw1 *ccw; in raw3215_mk_write_req() local
192 ccw = req->ccws; in raw3215_mk_write_req()
218 if (ccw > req->ccws) in raw3215_mk_write_req()
219 ccw[-1].flags |= 0x40; /* use command chaining */ in raw3215_mk_write_req()
[all …]
H A Draw3270.h23 struct ccw1 ccw; /* single ccw. */ member
/linux/Documentation/arch/s390/
H A Ddriver-model.rst11 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
34 You should address a ccw device via its bus id (e.g. 0.0.4711); the device can
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
246 The ccwgroup mechanism is designed to handle devices consisting of multiple ccw
[all …]
H A Dvfio-ccw.rst2 vfio-ccw: the basic infrastructure
9 Linux/s390. Motivation for vfio-ccw is to passthrough subchannels to a
43 Motivation of vfio-ccw
48 (virtio-ccw)" transport. This makes virtio devices discoverable via
86 Back to vfio-ccw, in short:
99 Physical vfio ccw device and its child mdev
102 As mentioned above, we realize vfio-ccw with a mdev implementation.
105 vfio-ccw device does not have an IOMMU level translation or isolation.
108 handling the I/O instruction interception, vfio-ccw has the software
127 - The vfio_mdev driver for the mediated vfio ccw device.
[all …]
H A Dindex.rst17 vfio-ccw
H A Dcds.rst152 ccw to retrieve device characteristics in its online routine.
370 ccw_device_start() must be called disabled and with the ccw device lock held.
455 ccw_device_halt() must be called disabled and with the ccw device lock held.
475 -EINVAL The device is not operational or the ccw device is not online.
496 ccw_device_clear() must be called disabled and with the ccw device lock held.
512 -EINVAL The device is not operational or the ccw device is not online.
H A Dcommon_io.rst13 Enable logging of debug information in case of ccw device timeouts.
/linux/arch/powerpc/include/asm/
H A Dicswx.h142 __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()
/linux/arch/s390/include/asm/
H A Dipl.h24 struct ipl_pb0_ccw ccw; member
86 } ccw; member
/linux/arch/powerpc/platforms/powernv/
H A Dvas-fault.c108 || (entry->ccw & cpu_to_be32(CCW0_INVALID))) { in vas_fault_thread_fn()
121 entry->ccw |= cpu_to_be32(CCW0_INVALID); in vas_fault_thread_fn()
/linux/tools/testing/selftests/powerpc/nx-gzip/include/
H A Dcrb.h121 __be32 ccw; member
/linux/Documentation/bpf/
H A Ds390.rst142 -device virtio-rng-ccw,rng=rng0 \
144 -device virtio-net-ccw,netdev=net0
/linux/drivers/s390/net/
H A Dctcm_main.h149 struct ccw1 *ccw; member
/linux/tools/testing/selftests/wireguard/qemu/
H A DMakefile245 QEMU_VPORT_RESULT := virtio-serial-ccw
247 QEMU_MACHINE := -cpu host,accel=kvm -machine s390-ccw-virtio -append $(KERNEL_CMDLINE)
249 QEMU_MACHINE := -cpu max -machine s390-ccw-virtio -append $(KERNEL_CMDLINE)
/linux/Documentation/ABI/testing/
H A Dsysfs-bus-css42 driver_override file (echo vfio-ccw > driver_override) and

12