/linux-4.1.27/arch/s390/include/asm/ |
D | scsw.h | 138 union scsw { union 220 static inline int scsw_is_tm(union scsw *scsw) in scsw_is_tm() argument 222 return css_general_characteristics.fcx && (scsw->tm.x == 1); in scsw_is_tm() 232 static inline u32 scsw_key(union scsw *scsw) in scsw_key() argument 234 if (scsw_is_tm(scsw)) in scsw_key() 235 return scsw->tm.key; in scsw_key() 237 return scsw->cmd.key; in scsw_key() 247 static inline u32 scsw_eswf(union scsw *scsw) in scsw_eswf() argument 249 if (scsw_is_tm(scsw)) in scsw_eswf() 250 return scsw->tm.eswf; in scsw_eswf() [all …]
|
D | cio.h | 215 union scsw scsw; member
|
/linux-4.1.27/drivers/s390/cio/ |
D | device_status.c | 31 if (!scsw_is_valid_cstat(&irb->scsw) || in ccw_device_msg_control_check() 32 !(scsw_cstat(&irb->scsw) & (SCHN_STAT_CHN_DATA_CHK | in ccw_device_msg_control_check() 41 scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw)); in ccw_device_msg_control_check() 80 cdev->private->irb.scsw.cmd.ectl = 0; in ccw_device_accumulate_ecw() 81 if ((irb->scsw.cmd.stctl & SCSW_STCTL_ALERT_STATUS) && in ccw_device_accumulate_ecw() 82 !(irb->scsw.cmd.stctl & SCSW_STCTL_INTER_STATUS)) in ccw_device_accumulate_ecw() 83 cdev->private->irb.scsw.cmd.ectl = irb->scsw.cmd.ectl; in ccw_device_accumulate_ecw() 85 if (!cdev->private->irb.scsw.cmd.ectl) in ccw_device_accumulate_ecw() 97 if (!irb->scsw.cmd.eswf && in ccw_device_accumulate_esw_valid() 98 (irb->scsw.cmd.stctl == SCSW_STCTL_STATUS_PEND)) in ccw_device_accumulate_esw_valid() [all …]
|
D | ccwreq.c | 172 struct cmd_scsw *scsw = &irb->scsw.cmd; in ccwreq_status() local 179 if (scsw->fctl & (SCSW_FCTL_HALT_FUNC | SCSW_FCTL_CLEAR_FUNC)) in ccwreq_status() 182 if (scsw->cc == 3 || scsw->pno) in ccwreq_status() 213 if (scsw->cstat != 0) in ccwreq_status() 216 if (scsw->dstat & ~(DEV_STAT_CHN_END | DEV_STAT_DEV_END)) in ccwreq_status() 219 if (!(scsw->dstat & DEV_STAT_DEV_END)) in ccwreq_status() 222 if (scsw->cc == 1 && (scsw->stctl & SCSW_STCTL_ALERT_STATUS)) in ccwreq_status() 339 scsw_cstat(&sch->schib.scsw), in ccw_request_timeout() 340 scsw_dstat(&sch->schib.scsw), in ccw_request_timeout()
|
D | device_fsm.c | 148 if (!(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_HALT_PEND) && in ccw_device_cancel_halt_clear() 149 !(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_CLEAR_PEND)) { in ccw_device_cancel_halt_clear() 150 if (!scsw_is_tm(&sch->schib.scsw)) { in ccw_device_cancel_halt_clear() 159 if (!(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_CLEAR_PEND)) { in ccw_device_cancel_halt_clear() 502 struct cmd_scsw *scsw = &irb->scsw.cmd; in create_fake_irb() local 503 scsw->cc = 1; in create_fake_irb() 504 scsw->fctl = SCSW_FCTL_START_FUNC; in create_fake_irb() 505 scsw->actl = SCSW_ACTL_START_PEND; in create_fake_irb() 506 scsw->stctl = SCSW_STCTL_STATUS_PEND; in create_fake_irb() 508 struct tm_scsw *scsw = &irb->scsw.tm; in create_fake_irb() local [all …]
|
D | eadm_sch.c | 80 sch->schib.scsw.eadm.actl |= SCSW_ACTL_START_PEND; in eadm_subchannel_start() 99 sch->schib.scsw.eadm.actl |= SCSW_ACTL_CLEAR_PEND; in eadm_subchannel_clear() 136 struct eadm_scsw *scsw = &sch->schib.scsw.eadm; in eadm_subchannel_irq() local 145 if ((scsw->stctl & (SCSW_STCTL_ALERT_STATUS | SCSW_STCTL_STATUS_PEND)) in eadm_subchannel_irq() 146 && scsw->eswf == 1 && irb->esw.eadm.erw.r) in eadm_subchannel_irq() 149 if (scsw->fctl & SCSW_FCTL_CLEAR_FUNC) in eadm_subchannel_irq() 161 scm_irq_handler((struct aob *)(unsigned long)scsw->aob, error); in eadm_subchannel_irq()
|
D | cio.c | 164 sch->schib.scsw.cmd.actl |= SCSW_ACTL_START_PEND; in cio_start_key() 199 sch->schib.scsw.cmd.actl |= SCSW_ACTL_RESUME_PEND; in cio_resume() 237 sch->schib.scsw.cmd.actl |= SCSW_ACTL_HALT_PEND; in cio_halt() 270 sch->schib.scsw.cmd.actl |= SCSW_ACTL_CLEAR_PEND; in cio_clear() 576 memcpy (&sch->schib.scsw, &irb->scsw, sizeof (irb->scsw)); in do_cio_interrupt() 619 memcpy(&sch->schib.scsw, &irb->scsw, sizeof(union scsw)); in cio_tsch()
|
D | device_id.c | 145 struct cmd_scsw *scsw = &cdev->private->irb.scsw.cmd; in snsid_check() local 146 int len = sizeof(struct senseid) - scsw->count; in snsid_check()
|
D | chsc_sch.c | 137 if (!cc && scsw_stctl(&schib.scsw)) in chsc_subchannel_prepare() 215 return sch->schib.pmcw.ena && !scsw_fctl(&sch->schib.scsw); in chsc_subchannel_match_next_free() 271 sch->schib.scsw.cmd.fctl |= SCSW_FCTL_START_FUNC; in chsc_async() 306 if (!(scsw_stctl(&request->irb.scsw) & SCSW_STCTL_STATUS_PEND)) in chsc_examine_irb() 308 backed_up = scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb() 309 request->irb.scsw.cmd.cstat &= ~SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb() 310 if (scsw_cstat(&request->irb.scsw) == 0) in chsc_examine_irb() 314 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROG_CHECK) in chsc_examine_irb() 316 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROT_CHECK) in chsc_examine_irb() 318 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHN_DATA_CHK) in chsc_examine_irb() [all …]
|
D | device_ops.c | 209 ((sch->schib.scsw.cmd.stctl & SCSW_STCTL_PRIM_STATUS) && in ccw_device_start_key() 210 !(sch->schib.scsw.cmd.stctl & SCSW_STCTL_SEC_STATUS)) || in ccw_device_start_key() 410 !(sch->schib.scsw.cmd.actl & SCSW_ACTL_SUSPENDED)) in ccw_device_resume() 432 stctl = scsw_stctl(&cdev->private->irb.scsw); in ccw_device_call_handler() 766 if (!scsw_is_tm(&sch->schib.scsw) || in ccw_device_tm_intrg() 767 !(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_START_PEND)) in ccw_device_tm_intrg()
|
D | cio.h | 66 union scsw scsw; /* subchannel status word */ member
|
D | cmf.c | 308 if (scsw_fctl(&sch->schib.scsw) & SCSW_FCTL_START_FUNC) { in cmf_copy_block() 310 if ((!(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_SUSPENDED)) && in cmf_copy_block() 311 (scsw_actl(&sch->schib.scsw) & in cmf_copy_block() 313 (!(scsw_stctl(&sch->schib.scsw) & SCSW_STCTL_SEC_STATUS))) in cmf_copy_block()
|
D | device_pgid.c | 94 if (status == IO_STATUS_ERROR && irb->scsw.cmd.cstat == 0) in nop_filter()
|
D | qdio_main.c | 1086 cstat = irb->scsw.cmd.cstat; in qdio_int_handler() 1087 dstat = irb->scsw.cmd.dstat; in qdio_int_handler()
|
D | device.c | 1164 if (scsw_actl(&sch->schib.scsw) == 0 || sch->schib.pmcw.lpum != mask) in io_subchannel_terminate_path() 1680 if (sch->schib.scsw.cmd.actl == 0) in ccw_device_wait_idle()
|
/linux-4.1.27/drivers/s390/block/ |
D | dasd_fba.c | 249 if ((irb->scsw.cmd.dstat & mask) == mask) in dasd_fba_check_for_device_change() 461 scsw_is_tm(&irb->scsw) ? "t" : "c", in dasd_fba_dump_sense_dbf() 462 scsw_cc(&irb->scsw), scsw_cstat(&irb->scsw), in dasd_fba_dump_sense_dbf() 463 scsw_dstat(&irb->scsw), sense[0], sense[1], in dasd_fba_dump_sense_dbf() 491 irb->scsw.cmd.cstat, irb->scsw.cmd.dstat); in dasd_fba_dump_sense() 495 (void *) (addr_t) irb->scsw.cmd.cpa); in dasd_fba_dump_sense() 537 if (act < ((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa) - 2) { in dasd_fba_dump_sense() 538 act = ((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa) - 2; in dasd_fba_dump_sense() 541 end = min((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa + 2, last); in dasd_fba_dump_sense()
|
D | dasd_3990_erp.c | 1613 if (scsw_is_tm(&cqr->irb.scsw)) { in dasd_3990_erp_action_1B_32() 1630 cpa = default_erp->refers->irb.scsw.cmd.cpa; in dasd_3990_erp_action_1B_32() 1769 if (scsw_is_tm(&cqr->irb.scsw)) { in dasd_3990_update_1B() 1788 cpa = previous_erp->irb.scsw.cmd.cpa; in dasd_3990_update_1B() 2224 if (scsw_cstat(&erp->refers->irb.scsw) & (SCHN_STAT_INTF_CTRL_CHK in dasd_3990_erp_control_check() 2444 if ((scsw_cstat(&cqr1->irb.scsw) & (SCHN_STAT_INTF_CTRL_CHK | in dasd_3990_erp_error_match() 2446 (scsw_cstat(&cqr2->irb.scsw) & (SCHN_STAT_INTF_CTRL_CHK | in dasd_3990_erp_error_match() 2720 if ((scsw_cstat(&cqr->irb.scsw) == 0x00) && in dasd_3990_erp_action() 2721 (scsw_dstat(&cqr->irb.scsw) == in dasd_3990_erp_action()
|
D | dasd_eckd.c | 2513 if ((scsw_dstat(&irb->scsw) & mask) == mask) { in dasd_eckd_check_for_device_change() 2543 (scsw_dstat(&irb->scsw) & DEV_STAT_UNIT_CHECK)) { in dasd_eckd_check_for_device_change() 2560 (scsw_dstat(&irb->scsw) & DEV_STAT_UNIT_CHECK) && in dasd_eckd_check_for_device_change() 4122 stat = (u64 *) &irb->scsw; in dasd_eckd_dump_sense_dbf() 4159 req, scsw_cc(&irb->scsw), scsw_fctl(&irb->scsw), in dasd_eckd_dump_sense_ccw() 4160 scsw_actl(&irb->scsw), scsw_stctl(&irb->scsw), in dasd_eckd_dump_sense_ccw() 4161 scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw), in dasd_eckd_dump_sense_ccw() 4166 (void *) (addr_t) irb->scsw.cmd.cpa); in dasd_eckd_dump_sense_ccw() 4217 irb->scsw.cmd.cpa; /* failing CCW */ in dasd_eckd_dump_sense_ccw() 4263 req, scsw_cc(&irb->scsw), scsw_fctl(&irb->scsw), in dasd_eckd_dump_sense_tcw() [all …]
|
D | dasd.c | 1606 !(scsw_dstat(&irb->scsw) == (DEV_STAT_CHN_END | DEV_STAT_DEV_END) && in dasd_int_handler() 1607 scsw_cstat(&irb->scsw) == 0)) { in dasd_int_handler() 1626 if (scsw_dstat(&irb->scsw) & DEV_STAT_ATTENTION) { in dasd_int_handler() 1645 scsw_fctl(&irb->scsw) & SCSW_FCTL_CLEAR_FUNC) { in dasd_int_handler() 1662 if (scsw_dstat(&irb->scsw) == (DEV_STAT_CHN_END | DEV_STAT_DEV_END) && in dasd_int_handler() 1663 scsw_cstat(&irb->scsw) == 0) { in dasd_int_handler() 3789 if (scsw_is_tm(&irb->scsw) && (irb->scsw.tm.fcxs == 0x01)) { in dasd_get_sense() 3790 if (irb->scsw.tm.tcw) in dasd_get_sense() 3792 irb->scsw.tm.tcw); in dasd_get_sense()
|
/linux-4.1.27/drivers/s390/char/ |
D | tape_core.c | 925 irb->scsw.cmd.dstat, irb->scsw.cmd.cstat); in tape_dump_sense_dbf() 1138 if (irb->scsw.cmd.cc != 0 && in __tape_do_irq() 1139 (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) && in __tape_do_irq() 1142 device->cdev_id, irb->scsw.cmd.cc, irb->scsw.cmd.fctl); in __tape_do_irq() 1150 request->rescnt = irb->scsw.cmd.count; in __tape_do_irq() 1151 else if ((irb->scsw.cmd.dstat == 0x85 || irb->scsw.cmd.dstat == 0x80) && in __tape_do_irq() 1167 if (irb->scsw.cmd.dstat != 0x0c) { in __tape_do_irq()
|
D | tape_34xx.c | 223 if (irb->scsw.cmd.dstat == 0x85) { /* READY */ in tape_34xx_unsolicited_irq() 837 if ((irb->scsw.cmd.dstat & DEV_STAT_UNIT_EXCEP) && in tape_34xx_irq() 838 (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) && in tape_34xx_irq() 844 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) in tape_34xx_irq() 847 if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) { in tape_34xx_irq() 851 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_EXCEP) { in tape_34xx_irq()
|
D | tape_3590.c | 806 if (irb->scsw.cmd.dstat == DEV_STAT_CHN_END) in tape_3590_unsolicited_irq() 809 else if (irb->scsw.cmd.dstat == 0x85) in tape_3590_unsolicited_irq() 812 else if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { in tape_3590_unsolicited_irq() 1461 if ((irb->scsw.cmd.dstat & DEV_STAT_UNIT_EXCEP) && in tape_3590_irq() 1462 (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) && in tape_3590_irq() 1469 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) in tape_3590_irq() 1472 if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) { in tape_3590_irq() 1473 if (irb->scsw.cmd.dstat == DEV_STAT_UNIT_EXCEP) { in tape_3590_irq() 1483 if (irb->scsw.cmd.dstat & DEV_STAT_CHN_END) { in tape_3590_irq() 1488 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { in tape_3590_irq()
|
D | fs3270.c | 224 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { in fs3270_irq() 230 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) in fs3270_irq() 234 rq->rescnt = irb->scsw.cmd.count; in fs3270_irq()
|
D | vmur.c | 310 intparm, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat, in ur_int_handler() 311 irb->scsw.cmd.count); in ur_int_handler() 322 else if (irb->scsw.cmd.dstat == (DEV_STAT_CHN_END | DEV_STAT_DEV_END)) in ur_int_handler()
|
D | raw3270.c | 355 else if (irb->scsw.cmd.fctl & SCSW_FCTL_HALT_FUNC) { in raw3270_irq() 358 } else if (irb->scsw.cmd.dstat == (DEV_STAT_CHN_END | DEV_STAT_DEV_END | in raw3270_irq() 365 if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) { in raw3270_irq() 698 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) { in raw3270_init_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()
|
D | con3270.c | 407 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) in con3270_irq() 411 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) in con3270_irq() 415 rq->rescnt = irb->scsw.cmd.count; in con3270_irq()
|
D | con3215.c | 376 cstat = irb->scsw.cmd.cstat; in raw3215_irq() 377 dstat = irb->scsw.cmd.dstat; in raw3215_irq() 398 req->residual = irb->scsw.cmd.count; in raw3215_irq()
|
D | tty3270.c | 649 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { in tty3270_irq() 657 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) in tty3270_irq() 661 rq->rescnt = irb->scsw.cmd.count; in tty3270_irq()
|
/linux-4.1.27/drivers/s390/net/ |
D | lcs.c | 1343 cstat = irb->scsw.cmd.cstat; in lcs_get_problem() 1344 dstat = irb->scsw.cmd.dstat; in lcs_get_problem() 1404 cstat = irb->scsw.cmd.cstat; in lcs_irq() 1405 dstat = irb->scsw.cmd.dstat; in lcs_irq() 1407 LCS_DBF_TEXT_(5, trace, "%4x%4x", irb->scsw.cmd.cstat, in lcs_irq() 1408 irb->scsw.cmd.dstat); in lcs_irq() 1409 LCS_DBF_TEXT_(5, trace, "%4x%4x", irb->scsw.cmd.fctl, in lcs_irq() 1410 irb->scsw.cmd.actl); in lcs_irq() 1430 (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) && in lcs_irq() 1431 (irb->scsw.cmd.cpa != 0)) { in lcs_irq() [all …]
|
D | ctcm_main.c | 1216 cstat = irb->scsw.cmd.cstat; in ctcm_irq_handler() 1217 dstat = irb->scsw.cmd.dstat; in ctcm_irq_handler() 1258 if (irb->scsw.cmd.cstat) { in ctcm_irq_handler() 1269 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) { in ctcm_irq_handler() 1278 if (irb->scsw.cmd.dstat & DEV_STAT_BUSY) { in ctcm_irq_handler() 1279 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) in ctcm_irq_handler() 1285 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { in ctcm_irq_handler() 1289 if ((irb->scsw.cmd.stctl & SCSW_STCTL_SEC_STATUS) || in ctcm_irq_handler() 1290 (irb->scsw.cmd.stctl == SCSW_STCTL_STATUS_PEND) || in ctcm_irq_handler() 1291 (irb->scsw.cmd.stctl == in ctcm_irq_handler()
|
D | ctcm_fsms.c | 262 if (ch->irb->scsw.cmd.count != 0) in chx_txdone() 265 CTCM_FUNTAIL, dev->name, ch->irb->scsw.cmd.count); in chx_txdone() 360 int len = ch->max_bufsize - ch->irb->scsw.cmd.count; in chx_rx() 1239 if (ch->irb->scsw.cmd.count != 0) in ctcmpc_chx_txdone() 1242 CTCM_FUNTAIL, dev->name, ch->irb->scsw.cmd.count); in ctcmpc_chx_txdone() 1394 int len = ch->max_bufsize - ch->irb->scsw.cmd.count; in ctcmpc_chx_rx()
|
D | qeth_core_main.c | 1002 cstat = irb->scsw.cmd.cstat; in qeth_get_problem() 1003 dstat = irb->scsw.cmd.dstat; in qeth_get_problem() 1095 cstat = irb->scsw.cmd.cstat; in qeth_irq() 1096 dstat = irb->scsw.cmd.dstat; in qeth_irq() 1116 if (irb->scsw.cmd.fctl & (SCSW_FCTL_CLEAR_FUNC)) in qeth_irq() 1119 if (irb->scsw.cmd.fctl & (SCSW_FCTL_HALT_FUNC)) in qeth_irq()
|
/linux-4.1.27/drivers/s390/kvm/ |
D | virtio_ccw.c | 942 if (scsw_cstat(&irb->scsw) != 0) in irb_is_error() 944 if (scsw_dstat(&irb->scsw) & ~(DEV_STAT_CHN_END | DEV_STAT_DEV_END)) in irb_is_error() 946 if (scsw_cc(&irb->scsw) != 0) in irb_is_error() 983 (scsw_stctl(&irb->scsw) == in virtio_ccw_int_handler() 989 if ((scsw_dstat(&irb->scsw) & DEV_STAT_UNIT_CHECK) && in virtio_ccw_int_handler()
|
/linux-4.1.27/Documentation/s390/ |
D | cds.txt | 291 sense bytes available in the extended control word irb->scsw.ecw[]. No device 308 The irb->scsw.cstat field provides the (accumulated) subchannel status : 319 The irb->scsw.dstat field provides the (accumulated) device status :
|