/linux/arch/s390/include/asm/ |
H A D | scsw.h | 3 * Helper functions for scsw access. 136 * union scsw - subchannel status word 141 union scsw { union 225 * scsw_is_tm - check for transport mode scsw 226 * @scsw: pointer to scsw 228 * Return non-zero if the specified scsw is a transport mode scsw, zero 231 static inline int scsw_is_tm(union scsw *scsw) in scsw_is_tm() argument 243 scsw_key(union scsw * scsw) scsw_key() argument 258 scsw_eswf(union scsw * scsw) scsw_eswf() argument 273 scsw_cc(union scsw * scsw) scsw_cc() argument 288 scsw_ectl(union scsw * scsw) scsw_ectl() argument 303 scsw_pno(union scsw * scsw) scsw_pno() argument 318 scsw_fctl(union scsw * scsw) scsw_fctl() argument 333 scsw_actl(union scsw * scsw) scsw_actl() argument 348 scsw_stctl(union scsw * scsw) scsw_stctl() argument 363 scsw_dstat(union scsw * scsw) scsw_dstat() argument 378 scsw_cstat(union scsw * scsw) scsw_cstat() argument 393 scsw_cmd_is_valid_key(union scsw * scsw) scsw_cmd_is_valid_key() argument 405 scsw_cmd_is_valid_sctl(union scsw * scsw) scsw_cmd_is_valid_sctl() argument 417 scsw_cmd_is_valid_eswf(union scsw * scsw) scsw_cmd_is_valid_eswf() argument 429 scsw_cmd_is_valid_cc(union scsw * scsw) scsw_cmd_is_valid_cc() argument 442 scsw_cmd_is_valid_fmt(union scsw * scsw) scsw_cmd_is_valid_fmt() argument 454 scsw_cmd_is_valid_pfch(union scsw * scsw) scsw_cmd_is_valid_pfch() argument 466 scsw_cmd_is_valid_isic(union scsw * scsw) scsw_cmd_is_valid_isic() argument 478 scsw_cmd_is_valid_alcc(union scsw * scsw) scsw_cmd_is_valid_alcc() argument 490 scsw_cmd_is_valid_ssi(union scsw * scsw) scsw_cmd_is_valid_ssi() argument 502 scsw_cmd_is_valid_zcc(union scsw * scsw) scsw_cmd_is_valid_zcc() argument 515 scsw_cmd_is_valid_ectl(union scsw * scsw) scsw_cmd_is_valid_ectl() argument 541 scsw_cmd_is_valid_pno(union scsw * scsw) scsw_cmd_is_valid_pno() argument 571 scsw_cmd_is_valid_fctl(union scsw * scsw) scsw_cmd_is_valid_fctl() argument 584 scsw_cmd_is_valid_actl(union scsw * scsw) scsw_cmd_is_valid_actl() argument 597 scsw_cmd_is_valid_stctl(union scsw * scsw) scsw_cmd_is_valid_stctl() argument 610 scsw_cmd_is_valid_dstat(union scsw * scsw) scsw_cmd_is_valid_dstat() argument 623 scsw_cmd_is_valid_cstat(union scsw * scsw) scsw_cmd_is_valid_cstat() argument 636 scsw_tm_is_valid_key(union scsw * scsw) scsw_tm_is_valid_key() argument 648 scsw_tm_is_valid_eswf(union scsw * scsw) scsw_tm_is_valid_eswf() argument 660 scsw_tm_is_valid_cc(union scsw * scsw) scsw_tm_is_valid_cc() argument 673 scsw_tm_is_valid_fmt(union scsw * scsw) scsw_tm_is_valid_fmt() argument 685 scsw_tm_is_valid_x(union scsw * scsw) scsw_tm_is_valid_x() argument 697 scsw_tm_is_valid_q(union scsw * scsw) scsw_tm_is_valid_q() argument 709 scsw_tm_is_valid_ectl(union scsw * scsw) scsw_tm_is_valid_ectl() argument 735 scsw_tm_is_valid_pno(union scsw * scsw) scsw_tm_is_valid_pno() argument 765 scsw_tm_is_valid_fctl(union scsw * scsw) scsw_tm_is_valid_fctl() argument 778 scsw_tm_is_valid_actl(union scsw * scsw) scsw_tm_is_valid_actl() argument 791 scsw_tm_is_valid_stctl(union scsw * scsw) scsw_tm_is_valid_stctl() argument 804 scsw_tm_is_valid_dstat(union scsw * scsw) scsw_tm_is_valid_dstat() argument 817 scsw_tm_is_valid_cstat(union scsw * scsw) scsw_tm_is_valid_cstat() argument 830 scsw_tm_is_valid_fcxs(union scsw * scsw) scsw_tm_is_valid_fcxs() argument 842 scsw_tm_is_valid_schxs(union scsw * scsw) scsw_tm_is_valid_schxs() argument 858 scsw_is_valid_actl(union scsw * scsw) scsw_is_valid_actl() argument 874 scsw_is_valid_cc(union scsw * scsw) scsw_is_valid_cc() argument 890 scsw_is_valid_cstat(union scsw * scsw) scsw_is_valid_cstat() argument 906 scsw_is_valid_dstat(union scsw * scsw) scsw_is_valid_dstat() argument 922 scsw_is_valid_ectl(union scsw * scsw) scsw_is_valid_ectl() argument 938 scsw_is_valid_eswf(union scsw * scsw) scsw_is_valid_eswf() argument 954 scsw_is_valid_fctl(union scsw * scsw) scsw_is_valid_fctl() argument 970 scsw_is_valid_key(union scsw * scsw) scsw_is_valid_key() argument 986 scsw_is_valid_pno(union scsw * scsw) scsw_is_valid_pno() argument 1002 scsw_is_valid_stctl(union scsw * scsw) scsw_is_valid_stctl() argument 1017 scsw_cmd_is_solicited(union scsw * scsw) scsw_cmd_is_solicited() argument 1030 scsw_tm_is_solicited(union scsw * scsw) scsw_tm_is_solicited() argument 1043 scsw_is_solicited(union scsw * scsw) scsw_is_solicited() argument [all...] |
H A D | cio.h | 19 #include <asm/scsw.h> 223 * @scsw: subchannel status word 237 union scsw scsw; member
|
/linux/drivers/s390/cio/ |
H A D | ccwreq.c | 173 struct cmd_scsw *scsw = &irb->scsw.cmd; in ccwreq_status() local 180 if (scsw->fctl & (SCSW_FCTL_HALT_FUNC | SCSW_FCTL_CLEAR_FUNC)) in ccwreq_status() 183 if (scsw->cc == 3 || scsw->pno) in ccwreq_status() 215 if (scsw->cstat != 0) in ccwreq_status() 218 if (scsw->dstat & ~(DEV_STAT_CHN_END | DEV_STAT_DEV_END)) in ccwreq_status() 221 if (!(scsw->dstat & DEV_STAT_DEV_END)) in ccwreq_status() 224 if (scsw->cc == 1 && (scsw in ccwreq_status() [all...] |
H A D | cio.c | 163 sch->schib.scsw.cmd.actl |= SCSW_ACTL_START_PEND; in cio_start_key() 200 sch->schib.scsw.cmd.actl |= SCSW_ACTL_RESUME_PEND; in cio_resume() 239 sch->schib.scsw.cmd.actl |= SCSW_ACTL_HALT_PEND; in cio_halt() 273 sch->schib.scsw.cmd.actl |= SCSW_ACTL_CLEAR_PEND; in cio_clear() 305 /* Update information in scsw. */ in cio_cancel() 345 if (!(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_HALT_PEND) && in cio_cancel_halt_clear() 346 !(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_CLEAR_PEND)) { in cio_cancel_halt_clear() 347 if (!scsw_is_tm(&sch->schib.scsw)) { in cio_cancel_halt_clear() 359 if (!(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_CLEAR_PEND)) { in cio_cancel_halt_clear() 557 memcpy (&sch->schib.scsw, in do_cio_interrupt() [all...] |
H A D | eadm_sch.c | 25 #include <asm/scsw.h> 77 sch->schib.scsw.eadm.actl |= SCSW_ACTL_START_PEND; in eadm_subchannel_start() 96 sch->schib.scsw.eadm.actl |= SCSW_ACTL_CLEAR_PEND; in eadm_subchannel_clear() 126 struct eadm_scsw *scsw = &sch->schib.scsw.eadm; in eadm_subchannel_irq() local 135 if ((scsw->stctl & (SCSW_STCTL_ALERT_STATUS | SCSW_STCTL_STATUS_PEND)) in eadm_subchannel_irq() 136 && scsw->eswf == 1 && irb->esw.eadm.erw.r) in eadm_subchannel_irq() 139 if (scsw->fctl & SCSW_FCTL_CLEAR_FUNC) in eadm_subchannel_irq() 151 scm_irq_handler(dma32_to_virt(scsw->aob), error); in eadm_subchannel_irq()
|
H A D | vfio_ccw_cp.h | 15 #include <asm/scsw.h> 47 void cp_update_scsw(struct channel_program *cp, union scsw *scsw);
|
H A D | trace.h | 128 __entry->scsw_dcc = scsw_cc(&irb->scsw); 129 __entry->scsw_pno = scsw_pno(&irb->scsw); 130 __entry->scsw_fctl = scsw_fctl(&irb->scsw); 131 __entry->scsw_actl = scsw_actl(&irb->scsw); 132 __entry->scsw_stctl = scsw_stctl(&irb->scsw); 133 __entry->scsw_dstat = scsw_dstat(&irb->scsw); 134 __entry->scsw_cstat = scsw_cstat(&irb->scsw);
|
H A D | device_id.c | 149 struct cmd_scsw *scsw = &cdev->private->dma_area->irb.scsw.cmd; in snsid_check() local 150 int len = sizeof(struct senseid) - scsw->count; in snsid_check()
|
H A D | chsc_sch.c | 176 return sch->schib.pmcw.ena && !scsw_fctl(&sch->schib.scsw); in chsc_subchannel_match_next_free() 232 sch->schib.scsw.cmd.fctl |= SCSW_FCTL_START_FUNC; in chsc_async() 267 if (!(scsw_stctl(&request->irb.scsw) & SCSW_STCTL_STATUS_PEND)) in chsc_examine_irb() 269 backed_up = scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb() 270 request->irb.scsw.cmd.cstat &= ~SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb() 271 if (scsw_cstat(&request->irb.scsw) == 0) in chsc_examine_irb() 275 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROG_CHECK) in chsc_examine_irb() 277 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROT_CHECK) in chsc_examine_irb() 279 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHN_DATA_CHK) in chsc_examine_irb() 281 if (scsw_cstat(&request->irb.scsw) in chsc_examine_irb() [all...] |
H A D | cio.h | 68 union scsw scsw; /* subchannel status word */ member
|
H A D | vfio_ccw_private.h | 99 * @scsw: scsw info 120 union scsw scsw; member
|
H A D | device_ops.c | 221 ((sch->schib.scsw.cmd.stctl & SCSW_STCTL_PRIM_STATUS) && in ccw_device_start_timeout_key() 222 !(sch->schib.scsw.cmd.stctl & SCSW_STCTL_SEC_STATUS))) in ccw_device_start_timeout_key() 421 !(sch->schib.scsw.cmd.actl & SCSW_ACTL_SUSPENDED)) in ccw_device_resume() 701 if (!scsw_is_tm(&sch->schib.scsw) || in ccw_device_tm_intrg() 702 !(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_START_PEND)) in ccw_device_tm_intrg()
|
H A D | vfio_ccw_drv.c | 92 is_final = !(scsw_actl(&irb->scsw) & in vfio_ccw_sch_io_todo() 94 if (scsw_is_solicited(&irb->scsw)) { in vfio_ccw_sch_io_todo() 95 cp_update_scsw(&private->cp, &irb->scsw); in vfio_ccw_sch_io_todo()
|
H A D | vfio_ccw_cp.c | 889 * cp_update_scsw() - update scsw for a channel program. 891 * @scsw: I/O results of the channel program and also the target to be 894 * @scsw contains the I/O results of the channel program that pointed 895 * to by @cp. However what @scsw->cpa stores is a host physical 899 * This function updates @scsw->cpa to its coressponding guest physical 902 void cp_update_scsw(struct channel_program *cp, union scsw *scsw) in cp_update_scsw() argument 905 dma32_t cpa = scsw->cmd.cpa; in cp_update_scsw() 936 scsw->cmd.cpa = cpa; in cp_update_scsw()
|
H A D | cmf.c | 280 if (scsw_fctl(&sch->schib.scsw) & SCSW_FCTL_START_FUNC) { in cmf_copy_block() 282 if ((!(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_SUSPENDED)) && in cmf_copy_block() 283 (scsw_actl(&sch->schib.scsw) & in cmf_copy_block() 285 (!(scsw_stctl(&sch->schib.scsw) & SCSW_STCTL_SEC_STATUS))) in cmf_copy_block()
|
/linux/drivers/s390/block/ |
H A D | dasd_fba.c | 238 if ((irb->scsw.cmd.dstat & mask) == mask) in dasd_fba_check_for_device_change() 644 scsw_is_tm(&irb->scsw) ? "t" : "c", in dasd_fba_dump_sense_dbf() 645 scsw_cc(&irb->scsw), scsw_cstat(&irb->scsw), in dasd_fba_dump_sense_dbf() 646 scsw_dstat(&irb->scsw), sense[0], sense[1], in dasd_fba_dump_sense_dbf() 674 req, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat); in dasd_fba_dump_sense() 676 (void *)(u64)dma32_to_u32(irb->scsw.cmd.cpa)); in dasd_fba_dump_sense() 714 if (act < ((struct ccw1 *)dma32_to_virt(irb->scsw.cmd.cpa)) - 2) { in dasd_fba_dump_sense() 715 act = ((struct ccw1 *)dma32_to_virt(irb->scsw in dasd_fba_dump_sense() [all...] |
H A D | dasd_3990_erp.c | 1606 if (scsw_is_tm(&cqr->irb.scsw)) { in dasd_3990_erp_action_1B_32() 1623 cpa = default_erp->refers->irb.scsw.cmd.cpa; in dasd_3990_erp_action_1B_32() 1761 if (scsw_is_tm(&cqr->irb.scsw)) { in dasd_3990_update_1B() 1780 cpa = previous_erp->irb.scsw.cmd.cpa; in dasd_3990_update_1B() 2262 if (scsw_cstat(&erp->refers->irb.scsw) & (SCHN_STAT_INTF_CTRL_CHK in dasd_3990_erp_control_check() 2483 if ((scsw_cstat(&cqr1->irb.scsw) & (SCHN_STAT_INTF_CTRL_CHK | in dasd_3990_erp_error_match() 2485 (scsw_cstat(&cqr2->irb.scsw) & (SCHN_STAT_INTF_CTRL_CHK | in dasd_3990_erp_error_match() 2756 if ((scsw_cstat(&cqr->irb.scsw) == 0x00) && in dasd_3990_erp_action() 2757 (scsw_dstat(&cqr->irb.scsw) == in dasd_3990_erp_action()
|
H A D | dasd_eckd.c | 3522 if (tpm && scsw_cstat(&irb.scsw) == 0x40) { in dasd_eckd_check_device_format() 3593 if ((scsw_dstat(&irb->scsw) & mask) == mask) { in dasd_eckd_check_for_device_change() 3615 (scsw_dstat(&irb->scsw) & DEV_STAT_UNIT_CHECK)) { in dasd_eckd_check_for_device_change() 3652 (scsw_dstat(&irb->scsw) & DEV_STAT_UNIT_CHECK) && in dasd_eckd_check_for_device_change() 5556 stat = (u64 *) &irb->scsw; in dasd_eckd_dump_sense_dbf() 5593 req, scsw_cc(&irb->scsw), scsw_fctl(&irb->scsw), in dasd_eckd_dump_sense_ccw() 5594 scsw_actl(&irb->scsw), scsw_stctl(&irb->scsw), in dasd_eckd_dump_sense_ccw() 5595 scsw_dstat(&irb->scsw), scsw_csta in dasd_eckd_dump_sense_ccw() [all...] |
/linux/drivers/s390/char/ |
H A D | tape_core.c | 876 irb->scsw.cmd.dstat, irb->scsw.cmd.cstat); in tape_dump_sense_dbf() 1091 if (irb->scsw.cmd.cc != 0 && in __tape_do_irq() 1092 (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) && in __tape_do_irq() 1095 device->cdev_id, irb->scsw.cmd.cc, irb->scsw.cmd.fctl); in __tape_do_irq() 1103 request->rescnt = irb->scsw.cmd.count; in __tape_do_irq() 1104 else if ((irb->scsw.cmd.dstat == 0x85 || irb->scsw.cmd.dstat == 0x80) && in __tape_do_irq() 1119 if (irb->scsw in __tape_do_irq() [all...] |
H A D | tape_34xx.c | 225 if (irb->scsw.cmd.dstat == 0x85) { /* READY */ in tape_34xx_unsolicited_irq() 839 if ((irb->scsw.cmd.dstat & DEV_STAT_UNIT_EXCEP) && in tape_34xx_irq() 840 (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) && in tape_34xx_irq() 846 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) in tape_34xx_irq() 849 if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) { in tape_34xx_irq() 853 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_EXCEP) { in tape_34xx_irq()
|
H A D | tape_3590.c | 803 if (irb->scsw.cmd.dstat == DEV_STAT_CHN_END) in tape_3590_unsolicited_irq() 806 else if (irb->scsw.cmd.dstat == 0x85) in tape_3590_unsolicited_irq() 809 else if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { in tape_3590_unsolicited_irq() 1458 if ((irb->scsw.cmd.dstat & DEV_STAT_UNIT_EXCEP) && in tape_3590_irq() 1459 (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) && in tape_3590_irq() 1466 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) in tape_3590_irq() 1469 if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) { in tape_3590_irq() 1470 if (irb->scsw.cmd.dstat == DEV_STAT_UNIT_EXCEP) { in tape_3590_irq() 1480 if (irb->scsw.cmd.dstat & DEV_STAT_CHN_END) { in tape_3590_irq() 1485 if (irb->scsw in tape_3590_irq() [all...] |
H A D | fs3270.c | 221 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { in fs3270_irq() 227 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) in fs3270_irq() 231 rq->rescnt = irb->scsw.cmd.count; in fs3270_irq()
|
H A D | raw3270.c | 356 if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) in raw3270_irq() 358 if (irb->scsw.cmd.dstat == (DEV_STAT_CHN_END | in raw3270_irq() 363 if ((irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) && in raw3270_irq() 706 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) { in raw3270_init_irq() 713 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { in raw3270_init_irq()
|
/linux/drivers/s390/net/ |
H A D | ctcm_main.c | 1165 cstat = irb->scsw.cmd.cstat; in ctcm_irq_handler() 1166 dstat = irb->scsw.cmd.dstat; in ctcm_irq_handler() 1207 if (irb->scsw.cmd.cstat) { in ctcm_irq_handler() 1218 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) { in ctcm_irq_handler() 1227 if (irb->scsw.cmd.dstat & DEV_STAT_BUSY) { in ctcm_irq_handler() 1228 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) in ctcm_irq_handler() 1234 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { in ctcm_irq_handler() 1238 if ((irb->scsw.cmd.stctl & SCSW_STCTL_SEC_STATUS) || in ctcm_irq_handler() 1239 (irb->scsw.cmd.stctl == SCSW_STCTL_STATUS_PEND) || in ctcm_irq_handler() 1240 (irb->scsw in ctcm_irq_handler() [all...] |
/linux/drivers/s390/virtio/ |
H A D | virtio_ccw.c | 1114 if (scsw_cstat(&irb->scsw) != 0) in irb_is_error() 1116 if (scsw_dstat(&irb->scsw) & ~(DEV_STAT_CHN_END | DEV_STAT_DEV_END)) in irb_is_error() 1118 if (scsw_cc(&irb->scsw) != 0) in irb_is_error() 1192 (scsw_stctl(&irb->scsw) == in virtio_ccw_int_handler() 1198 if ((scsw_dstat(&irb->scsw) & DEV_STAT_UNIT_CHECK) && in virtio_ccw_int_handler()
|