Home
last modified time | relevance | path

Searched refs:scsw (Results 1 – 25 of 41) sorted by relevance

12

/linux/arch/s390/include/asm/
A Dscsw.h225 static inline int scsw_is_tm(union scsw *scsw) in scsw_is_tm() argument
237 static inline u32 scsw_key(union scsw *scsw) in scsw_key() argument
252 static inline u32 scsw_eswf(union scsw *scsw) in scsw_eswf() argument
267 static inline u32 scsw_cc(union scsw *scsw) in scsw_cc() argument
282 static inline u32 scsw_ectl(union scsw *scsw) in scsw_ectl() argument
297 static inline u32 scsw_pno(union scsw *scsw) in scsw_pno() argument
312 static inline u32 scsw_fctl(union scsw *scsw) in scsw_fctl() argument
327 static inline u32 scsw_actl(union scsw *scsw) in scsw_actl() argument
342 static inline u32 scsw_stctl(union scsw *scsw) in scsw_stctl() argument
357 static inline u32 scsw_dstat(union scsw *scsw) in scsw_dstat() argument
[all …]
A Dcio.h236 union scsw scsw; member
/linux/drivers/s390/cio/
A Ddevice_status.c235 cdev_irb->scsw.cmd.key = irb->scsw.cmd.key; in ccw_device_accumulate_irb()
237 cdev_irb->scsw.cmd.sctl = irb->scsw.cmd.sctl; in ccw_device_accumulate_irb()
239 cdev_irb->scsw.cmd.cc |= irb->scsw.cmd.cc; in ccw_device_accumulate_irb()
241 cdev_irb->scsw.cmd.fmt = irb->scsw.cmd.fmt; in ccw_device_accumulate_irb()
243 cdev_irb->scsw.cmd.pfch = irb->scsw.cmd.pfch; in ccw_device_accumulate_irb()
245 cdev_irb->scsw.cmd.isic = irb->scsw.cmd.isic; in ccw_device_accumulate_irb()
247 cdev_irb->scsw.cmd.alcc = irb->scsw.cmd.alcc; in ccw_device_accumulate_irb()
249 cdev_irb->scsw.cmd.ssi = irb->scsw.cmd.ssi; in ccw_device_accumulate_irb()
256 cdev_irb->scsw.cmd.fctl |= irb->scsw.cmd.fctl; in ccw_device_accumulate_irb()
258 cdev_irb->scsw.cmd.actl = irb->scsw.cmd.actl; in ccw_device_accumulate_irb()
[all …]
A Dccwreq.c173 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->stctl & SCSW_STCTL_ALERT_STATUS)) in ccwreq_status()
340 scsw_cstat(&sch->schib.scsw), in ccw_request_timeout()
341 scsw_dstat(&sch->schib.scsw), in ccw_request_timeout()
A Dvfio_ccw_fsm.c50 sch->schib.scsw.cmd.actl |= SCSW_ACTL_START_PEND; in fsm_io_helper()
104 sch->schib.scsw.cmd.actl |= SCSW_ACTL_HALT_PEND; in fsm_do_halt()
145 sch->schib.scsw.cmd.actl = SCSW_ACTL_CLEAR_PEND; in fsm_do_clear()
243 union scsw *scsw = &private->scsw; in fsm_io_request() local
250 memcpy(scsw, io_region->scsw_area, sizeof(*scsw)); in fsm_io_request()
252 if (scsw->cmd.fctl & SCSW_FCTL_START_FUNC) { in fsm_io_request()
302 } else if (scsw->cmd.fctl & SCSW_FCTL_HALT_FUNC) { in fsm_io_request()
310 } else if (scsw->cmd.fctl & SCSW_FCTL_CLEAR_FUNC) { in fsm_io_request()
322 trace_vfio_ccw_fsm_io_request(scsw->cmd.fctl, schid, in fsm_io_request()
A Ddevice_fsm.c463 struct cmd_scsw *scsw = &irb->scsw.cmd; in create_fake_irb() local
464 scsw->cc = 1; in create_fake_irb()
465 scsw->fctl = SCSW_FCTL_START_FUNC; in create_fake_irb()
466 scsw->actl = SCSW_ACTL_START_PEND; in create_fake_irb()
469 struct tm_scsw *scsw = &irb->scsw.tm; in create_fake_irb() local
470 scsw->x = 1; in create_fake_irb()
471 scsw->cc = 1; in create_fake_irb()
756 is_cmd = !scsw_is_tm(&irb->scsw); in ccw_device_irq()
825 if (scsw_stctl(&irb->scsw) == in ccw_device_w4sense()
827 if (scsw_cc(&irb->scsw) == 1) in ccw_device_w4sense()
[all …]
A Dcio.c162 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()
238 sch->schib.scsw.cmd.actl |= SCSW_ACTL_HALT_PEND; in cio_halt()
272 sch->schib.scsw.cmd.actl |= SCSW_ACTL_CLEAR_PEND; in cio_clear()
344 if (!(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_HALT_PEND) && in cio_cancel_halt_clear()
345 !(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_CLEAR_PEND)) { in cio_cancel_halt_clear()
346 if (!scsw_is_tm(&sch->schib.scsw)) { in cio_cancel_halt_clear()
358 if (!(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_CLEAR_PEND)) { in cio_cancel_halt_clear()
553 memcpy (&sch->schib.scsw, &irb->scsw, sizeof (irb->scsw)); in do_cio_interrupt()
592 memcpy(&sch->schib.scsw, &irb->scsw, sizeof(union scsw)); in cio_tsch()
A Deadm_sch.c75 sch->schib.scsw.eadm.actl |= SCSW_ACTL_START_PEND; in eadm_subchannel_start()
94 sch->schib.scsw.eadm.actl |= SCSW_ACTL_CLEAR_PEND; in eadm_subchannel_clear()
130 struct eadm_scsw *scsw = &sch->schib.scsw.eadm; in eadm_subchannel_irq() local
139 if ((scsw->stctl & (SCSW_STCTL_ALERT_STATUS | SCSW_STCTL_STATUS_PEND)) in eadm_subchannel_irq()
140 && scsw->eswf == 1 && irb->esw.eadm.erw.r) in eadm_subchannel_irq()
143 if (scsw->fctl & SCSW_FCTL_CLEAR_FUNC) in eadm_subchannel_irq()
155 scm_irq_handler((struct aob *)(unsigned long)scsw->aob, error); in eadm_subchannel_irq()
A Dtrace.h128 __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);
A Dvfio_ccw_cp.h50 extern void cp_update_scsw(struct channel_program *cp, union scsw *scsw);
A Dchsc_sch.c180 return sch->schib.pmcw.ena && !scsw_fctl(&sch->schib.scsw); in chsc_subchannel_match_next_free()
236 sch->schib.scsw.cmd.fctl |= SCSW_FCTL_START_FUNC; in chsc_async()
271 if (!(scsw_stctl(&request->irb.scsw) & SCSW_STCTL_STATUS_PEND)) in chsc_examine_irb()
273 backed_up = scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb()
274 request->irb.scsw.cmd.cstat &= ~SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb()
275 if (scsw_cstat(&request->irb.scsw) == 0) in chsc_examine_irb()
279 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROG_CHECK) in chsc_examine_irb()
281 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROT_CHECK) in chsc_examine_irb()
283 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHN_DATA_CHK) in chsc_examine_irb()
285 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHN_CTRL_CHK) in chsc_examine_irb()
A Ddevice_id.c148 struct cmd_scsw *scsw = &cdev->private->dma_area->irb.scsw.cmd; in snsid_check() local
149 int len = sizeof(struct senseid) - scsw->count; in snsid_check()
A Dcio.h68 union scsw scsw; /* subchannel status word */ member
A Dvfio_ccw_private.h112 union scsw scsw; member
A Ddevice_ops.c216 ((sch->schib.scsw.cmd.stctl & SCSW_STCTL_PRIM_STATUS) && in ccw_device_start_timeout_key()
217 !(sch->schib.scsw.cmd.stctl & SCSW_STCTL_SEC_STATUS)) || in ccw_device_start_timeout_key()
417 !(sch->schib.scsw.cmd.actl & SCSW_ACTL_SUSPENDED)) in ccw_device_resume()
693 if (!scsw_is_tm(&sch->schib.scsw) || in ccw_device_tm_intrg()
694 !(scsw_actl(&sch->schib.scsw) & SCSW_ACTL_START_PEND)) in ccw_device_tm_intrg()
A Dvfio_ccw_cp.c816 void cp_update_scsw(struct channel_program *cp, union scsw *scsw) in cp_update_scsw() argument
819 u32 cpa = scsw->cmd.cpa; in cp_update_scsw()
849 scsw->cmd.cpa = cpa; in cp_update_scsw()
A Dvfio_ccw_drv.c94 is_final = !(scsw_actl(&irb->scsw) & in vfio_ccw_sch_io_todo()
96 if (scsw_is_solicited(&irb->scsw)) { in vfio_ccw_sch_io_todo()
97 cp_update_scsw(&private->cp, &irb->scsw); in vfio_ccw_sch_io_todo()
/linux/drivers/s390/block/
A Ddasd_fba.c242 if ((irb->scsw.cmd.dstat & mask) == mask) in dasd_fba_check_for_device_change()
648 scsw_is_tm(&irb->scsw) ? "t" : "c", in dasd_fba_dump_sense_dbf()
649 scsw_cc(&irb->scsw), scsw_cstat(&irb->scsw), in dasd_fba_dump_sense_dbf()
650 scsw_dstat(&irb->scsw), sense[0], sense[1], in dasd_fba_dump_sense_dbf()
678 irb->scsw.cmd.cstat, irb->scsw.cmd.dstat); in dasd_fba_dump_sense()
682 (void *) (addr_t) irb->scsw.cmd.cpa); in dasd_fba_dump_sense()
724 if (act < ((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa) - 2) { in dasd_fba_dump_sense()
725 act = ((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa) - 2; in dasd_fba_dump_sense()
728 end = min((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa + 2, last); in dasd_fba_dump_sense()
A Ddasd_3990_erp.c1627 if (scsw_is_tm(&cqr->irb.scsw)) { in dasd_3990_erp_action_1B_32()
1644 cpa = default_erp->refers->irb.scsw.cmd.cpa; in dasd_3990_erp_action_1B_32()
1783 if (scsw_is_tm(&cqr->irb.scsw)) { in dasd_3990_update_1B()
1802 cpa = previous_erp->irb.scsw.cmd.cpa; in dasd_3990_update_1B()
2296 if (scsw_cstat(&erp->refers->irb.scsw) & (SCHN_STAT_INTF_CTRL_CHK in dasd_3990_erp_control_check()
2517 if ((scsw_cstat(&cqr1->irb.scsw) & (SCHN_STAT_INTF_CTRL_CHK | in dasd_3990_erp_error_match()
2519 (scsw_cstat(&cqr2->irb.scsw) & (SCHN_STAT_INTF_CTRL_CHK | in dasd_3990_erp_error_match()
2793 if ((scsw_cstat(&cqr->irb.scsw) == 0x00) && in dasd_3990_erp_action()
2794 (scsw_dstat(&cqr->irb.scsw) == in dasd_3990_erp_action()
/linux/drivers/s390/char/
A Dtape_core.c875 irb->scsw.cmd.dstat, irb->scsw.cmd.cstat); in tape_dump_sense_dbf()
1090 if (irb->scsw.cmd.cc != 0 && in __tape_do_irq()
1091 (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) && in __tape_do_irq()
1094 device->cdev_id, irb->scsw.cmd.cc, irb->scsw.cmd.fctl); in __tape_do_irq()
1102 request->rescnt = irb->scsw.cmd.count; in __tape_do_irq()
1103 else if ((irb->scsw.cmd.dstat == 0x85 || irb->scsw.cmd.dstat == 0x80) && in __tape_do_irq()
1118 if (irb->scsw.cmd.dstat != 0x0c) { in __tape_do_irq()
A Dtape_3590.c802 if (irb->scsw.cmd.dstat == DEV_STAT_CHN_END) in tape_3590_unsolicited_irq()
805 else if (irb->scsw.cmd.dstat == 0x85) in tape_3590_unsolicited_irq()
808 else if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { in tape_3590_unsolicited_irq()
1457 if ((irb->scsw.cmd.dstat & DEV_STAT_UNIT_EXCEP) && in tape_3590_irq()
1458 (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) && in tape_3590_irq()
1465 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) in tape_3590_irq()
1468 if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) { in tape_3590_irq()
1469 if (irb->scsw.cmd.dstat == DEV_STAT_UNIT_EXCEP) { in tape_3590_irq()
1479 if (irb->scsw.cmd.dstat & DEV_STAT_CHN_END) { in tape_3590_irq()
1484 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { in tape_3590_irq()
A Dtape_34xx.c224 if (irb->scsw.cmd.dstat == 0x85) { /* READY */ in tape_34xx_unsolicited_irq()
838 if ((irb->scsw.cmd.dstat & DEV_STAT_UNIT_EXCEP) && in tape_34xx_irq()
839 (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) && in tape_34xx_irq()
845 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) in tape_34xx_irq()
848 if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) { in tape_34xx_irq()
852 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_EXCEP) { in tape_34xx_irq()
A Dcon3270.c417 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) in con3270_irq()
421 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) in con3270_irq()
425 rq->rescnt = irb->scsw.cmd.count; in con3270_irq()
426 } else if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) { in con3270_irq()
/linux/drivers/s390/net/
A Dlcs.c1318 cstat = irb->scsw.cmd.cstat; in lcs_get_problem()
1319 dstat = irb->scsw.cmd.dstat; in lcs_get_problem()
1379 cstat = irb->scsw.cmd.cstat; in lcs_irq()
1380 dstat = irb->scsw.cmd.dstat; in lcs_irq()
1383 irb->scsw.cmd.dstat); in lcs_irq()
1385 irb->scsw.cmd.actl); in lcs_irq()
1406 (irb->scsw.cmd.cpa != 0)) { in lcs_irq()
1410 (irb->scsw.cmd.cstat & SCHN_STAT_PCI)) in lcs_irq()
1421 if ((irb->scsw.cmd.dstat & DEV_STAT_DEV_END) || in lcs_irq()
1430 if (irb->scsw.cmd.cc != 0) { in lcs_irq()
[all …]
A Dctcm_main.c1172 cstat = irb->scsw.cmd.cstat; in ctcm_irq_handler()
1173 dstat = irb->scsw.cmd.dstat; in ctcm_irq_handler()
1214 if (irb->scsw.cmd.cstat) { in ctcm_irq_handler()
1225 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) { in ctcm_irq_handler()
1234 if (irb->scsw.cmd.dstat & DEV_STAT_BUSY) { in ctcm_irq_handler()
1235 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) in ctcm_irq_handler()
1241 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { in ctcm_irq_handler()
1245 if ((irb->scsw.cmd.stctl & SCSW_STCTL_SEC_STATUS) || in ctcm_irq_handler()
1246 (irb->scsw.cmd.stctl == SCSW_STCTL_STATUS_PEND) || in ctcm_irq_handler()
1247 (irb->scsw.cmd.stctl == in ctcm_irq_handler()

Completed in 52 milliseconds

12