Home
last modified time | relevance | path

Searched refs:irb (Results 1 – 25 of 40) sorted by relevance

12

/linux/drivers/s390/char/
H A Dtape_3490.c193 tape_3490_unsolicited_irq(struct tape_device *device, struct irb *irb) in tape_3490_unsolicited_irq() argument
195 if (irb->scsw.cmd.dstat == 0x85) { /* READY */ in tape_3490_unsolicited_irq()
201 tape_dump_sense_dbf(device, NULL, irb); in tape_3490_unsolicited_irq()
208 struct irb *irb, int no) in tape_3490_erp_bug() argument
213 tape_dump_sense_dbf(device, request, irb); in tape_3490_erp_bug()
224 struct irb *irb) in tape_3490_erp_overrun() argument
226 if (irb->ecw[3] == 0x40) { in tape_3490_erp_overrun()
231 return tape_3490_erp_bug(device, request, irb, -1); in tape_3490_erp_overrun()
239 struct tape_request *request, struct irb *irb) in tape_3490_erp_sequence() argument
241 if (irb->ecw[3] == 0x41) { in tape_3490_erp_sequence()
[all …]
H A Dtape_core.c35 static void __tape_do_irq (struct ccw_device *, unsigned long, struct irb *);
894 struct irb *irb) in tape_dump_sense_dbf() argument
904 irb->scsw.cmd.dstat, irb->scsw.cmd.cstat); in tape_dump_sense_dbf()
906 sptr = (unsigned int *) irb->ecw; in tape_dump_sense_dbf()
1080 __tape_do_irq (struct ccw_device *cdev, unsigned long intparm, struct irb *irb) in __tape_do_irq() argument
1095 if (IS_ERR(irb)) { in __tape_do_irq()
1097 switch (PTR_ERR(irb)) { in __tape_do_irq()
1107 device->cdev_id, PTR_ERR(irb)); in __tape_do_irq()
1119 if (irb->scsw.cmd.cc != 0 && in __tape_do_irq()
1120 (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) && in __tape_do_irq()
[all …]
H A Dvmur.c300 struct irb *irb) in ur_int_handler() argument
304 if (!IS_ERR(irb)) { in ur_int_handler()
306 intparm, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat, in ur_int_handler()
307 irb->scsw.cmd.count); in ur_int_handler()
313 if (scsw_dstat(&irb->scsw) & DEV_STAT_DEV_END) { in ur_int_handler()
325 if (IS_ERR(irb)) in ur_int_handler()
326 urd->io_request_rc = PTR_ERR(irb); in ur_int_handler()
327 else if (irb->scsw.cmd.dstat == (DEV_STAT_CHN_END | DEV_STAT_DEV_END)) in ur_int_handler()
H A Draw3270.c342 static void raw3270_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb) in raw3270_irq() argument
354 if (!IS_ERR(irb)) { in raw3270_irq()
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()
364 (irb->ecw[0] & SNS0_INTERVENTION_REQ)) { in raw3270_irq()
371 view->fn->intv(view, rq, irb); in raw3270_irq()
701 struct irb *irb) in raw3270_init_irq() argument
706 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) { in raw3270_init_irq()
707 if (irb->ecw[0] & SNS0_CMD_REJECT) in raw3270_init_irq()
[all …]
H A Dfs3270.c217 struct irb *irb) in fs3270_irq() argument
220 if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { in fs3270_irq()
226 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) in fs3270_irq()
230 rq->rescnt = irb->scsw.cmd.count; in fs3270_irq()
/linux/drivers/s390/cio/
H A Ddevice_fsm.c341 memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); in ccw_device_done()
455 static void create_fake_irb(struct irb *irb, int type) in create_fake_irb() argument
457 memset(irb, 0, sizeof(*irb)); in create_fake_irb()
459 struct cmd_scsw *scsw = &irb->scsw.cmd; in create_fake_irb()
465 struct tm_scsw *scsw = &irb->scsw.tm; in create_fake_irb()
513 create_fake_irb(&cdev->private->dma_area->irb, in ccw_device_verify_done()
518 &cdev->private->dma_area->irb); in ccw_device_verify_done()
519 memset(&cdev->private->dma_area->irb, 0, in ccw_device_verify_done()
520 sizeof(struct irb)); in ccw_device_verify_done()
677 (scsw_stctl(&cdev->private->dma_area->irb.scsw) & in ccw_device_online_verify()
[all …]
H A Dtrace.h107 TP_PROTO(struct subchannel_id schid, struct irb *irb, int cc),
108 TP_ARGS(schid, irb, cc),
113 __field_struct(struct irb, irb)
127 __entry->irb = *irb;
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);
[all …]
H A Dvfio_ccw_drv.c85 struct irb *irb; in vfio_ccw_sch_io_todo() local
90 irb = &private->irb; in vfio_ccw_sch_io_todo()
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()
102 memcpy(private->io_region->irb_area, irb, sizeof(*irb)); in vfio_ccw_sch_io_todo()
H A Ddevice.h104 void ccw_device_accumulate_irb(struct ccw_device *, struct irb *);
105 void ccw_device_accumulate_basic_sense(struct ccw_device *, struct irb *);
106 int ccw_device_accumulate_and_sense(struct ccw_device *, struct irb *);
107 int ccw_device_do_sense(struct ccw_device *, struct irb *);
H A Deadm_sch.c127 struct irb *irb = this_cpu_ptr(&cio_irb); in eadm_subchannel_irq() local
131 EADM_LOG_HEX(6, irb, sizeof(*irb)); in eadm_subchannel_irq()
136 && scsw->eswf == 1 && irb->esw.eadm.erw.r) in eadm_subchannel_irq()
146 EADM_LOG_HEX(1, irb, sizeof(*irb)); in eadm_subchannel_irq()
H A Dchsc_sch.c57 struct irb *irb = this_cpu_ptr(&cio_irb); in chsc_subchannel_irq() local
60 CHSC_LOG_HEX(4, irb, sizeof(*irb)); in chsc_subchannel_irq()
70 memcpy(&request->irb, irb, sizeof(*irb)); in chsc_subchannel_irq()
266 if (!(scsw_stctl(&request->irb.scsw) & SCSW_STCTL_STATUS_PEND)) in chsc_examine_irb()
268 backed_up = scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb()
269 request->irb.scsw.cmd.cstat &= ~SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb()
270 if (scsw_cstat(&request->irb.scsw) == 0) in chsc_examine_irb()
274 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROG_CHECK) in chsc_examine_irb()
276 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROT_CHECK) in chsc_examine_irb()
278 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHN_DATA_CHK) in chsc_examine_irb()
[all …]
H A Dchsc_sch.h7 struct irb irb; member
H A Dio_sch.h83 enum io_status (*filter)(struct ccw_device *, void *, struct irb *,
126 struct irb irb; /* device status */ member
H A Dqdio_main.c682 static void qdio_irq_check_sense(struct qdio_irq *irq_ptr, struct irb *irb) in qdio_irq_check_sense() argument
684 if (irb->esw.esw0.erw.cons) { in qdio_irq_check_sense()
686 DBF_ERROR_HEX(irb, 64); in qdio_irq_check_sense()
687 DBF_ERROR_HEX(irb->ecw, 64); in qdio_irq_check_sense()
750 struct irb *irb) in qdio_int_handler() argument
765 if (IS_ERR(irb)) { in qdio_int_handler()
771 qdio_irq_check_sense(irq_ptr, irb); in qdio_int_handler()
772 cstat = irb->scsw.cmd.cstat; in qdio_int_handler()
773 dstat = irb->scsw.cmd.dstat; in qdio_int_handler()
774 dcc = scsw_cmd_is_valid_cc(&irb->scsw) ? irb->scsw.cmd.cc : 0; in qdio_int_handler()
H A Dvfio_ccw_fsm.c360 struct irb *irb = this_cpu_ptr(&cio_irb); in fsm_irq() local
365 memcpy(&private->irb, irb, sizeof(*irb)); in fsm_irq()
/linux/drivers/s390/block/
H A Ddasd_fba.c231 struct irb *irb) in dasd_fba_check_for_device_change() argument
237 if ((irb->scsw.cmd.dstat & mask) == mask) in dasd_fba_check_for_device_change()
633 dasd_fba_dump_sense_dbf(struct dasd_device *device, struct irb *irb, in dasd_fba_dump_sense_dbf() argument
638 sense = (u64 *) dasd_get_sense(irb); in dasd_fba_dump_sense_dbf()
643 scsw_is_tm(&irb->scsw) ? "t" : "c", in dasd_fba_dump_sense_dbf()
644 scsw_cc(&irb->scsw), scsw_cstat(&irb->scsw), in dasd_fba_dump_sense_dbf()
645 scsw_dstat(&irb->scsw), sense[0], sense[1], in dasd_fba_dump_sense_dbf()
656 struct irb *irb) in dasd_fba_dump_sense() argument
673 req, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat); in dasd_fba_dump_sense()
675 (void *)(u64)dma32_to_u32(irb->scsw.cmd.cpa)); in dasd_fba_dump_sense()
[all …]
H A Ddasd_erp.c162 dasd_log_sense(struct dasd_ccw_req *cqr, struct irb *irb) in dasd_log_sense() argument
179 device->discipline->dump_sense(device, cqr, irb); in dasd_log_sense()
183 dasd_log_sense_dbf(struct dasd_ccw_req *cqr, struct irb *irb) in dasd_log_sense_dbf() argument
190 device->discipline->dump_sense_dbf(device, irb, "log"); in dasd_log_sense_dbf()
H A Ddasd.c48 void dasd_int_handler(struct ccw_device *, unsigned long, struct irb *);
1538 static int dasd_check_hpf_error(struct irb *irb) in dasd_check_hpf_error() argument
1540 return (scsw_tm_is_valid_schxs(&irb->scsw) && in dasd_check_hpf_error()
1541 (irb->scsw.tm.sesq == SCSW_SESQ_DEV_NOFCX || in dasd_check_hpf_error()
1542 irb->scsw.tm.sesq == SCSW_SESQ_PATH_NOFCX)); in dasd_check_hpf_error()
1545 static int dasd_ese_needs_format(struct dasd_block *block, struct irb *irb) in dasd_ese_needs_format() argument
1558 sense = dasd_get_sense(irb); in dasd_ese_needs_format()
1566 scsw_is_tm(&irb->scsw) && in dasd_ese_needs_format()
1585 struct irb *irb) in dasd_int_handler() argument
1597 if (IS_ERR(irb)) { in dasd_int_handler()
[all …]
H A Ddasd_3990_erp.c153 ~(erp->irb.esw.esw0.sublog.lpum); in dasd_3990_erp_alternate_path()
155 erp->lpm &= ~(erp->irb.esw.esw0.sublog.lpum); in dasd_3990_erp_alternate_path()
161 erp->lpm, erp->irb.esw.esw0.sublog.lpum, opm); in dasd_3990_erp_alternate_path()
169 "/opm=%x)\n", erp->irb.esw.esw0.sublog.lpum, opm); in dasd_3990_erp_alternate_path()
1420 sense = dasd_get_sense(&erp->refers->irb); in dasd_3990_erp_inspect_alias()
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()
2212 __u8 lpum = erp->refers->irb.esw.esw1.lpum; in dasd_3990_erp_account_error()
[all …]
H A Ddasd_eckd.c211 static int dasd_eckd_track_from_irb(struct irb *irb, struct dasd_device *device, in dasd_eckd_track_from_irb() argument
219 sense = dasd_get_sense(irb); in dasd_eckd_track_from_irb()
2291 sense = dasd_get_sense(&init_cqr->irb); in dasd_eckd_analysis_evaluation()
2985 struct irb *irb) in dasd_eckd_format_process_data() argument
3066 if (fmt_buffer && irb) { in dasd_eckd_format_process_data()
3067 sense = dasd_get_sense(&cqr->irb); in dasd_eckd_format_process_data()
3068 memcpy(irb, &cqr->irb, sizeof(*irb)); in dasd_eckd_format_process_data()
3171 struct irb *irb) in dasd_eckd_ese_format() argument
3200 rc = dasd_eckd_track_from_irb(irb, base, &curr_trk); in dasd_eckd_ese_format()
3253 static int dasd_eckd_ese_read(struct dasd_ccw_req *cqr, struct irb *irb) in dasd_eckd_ese_read() argument
[all …]
H A Ddasd_int.h148 struct irb irb; /* device status in case of an error */ member
369 struct irb *);
370 void (*dump_sense_dbf) (struct dasd_device *, struct irb *, char *);
373 struct irb *);
388 void (*handle_hpf_error)(struct dasd_device *, struct irb *);
410 struct dasd_ccw_req *, struct irb *);
411 int (*ese_read)(struct dasd_ccw_req *, struct irb *);
880 enum uc_todo dasd_generic_uc_handler(struct ccw_device *, struct irb *);
889 char *dasd_get_sense(struct irb *);
955 void dasd_log_sense(struct dasd_ccw_req *, struct irb *);
[all …]
/linux/drivers/s390/net/
H A Dctcm_main.c230 kfree(ch->irb); in channel_remove()
276 static long ctcm_check_irb_error(struct ccw_device *cdev, struct irb *irb) in ctcm_check_irb_error() argument
278 if (!IS_ERR(irb)) in ctcm_check_irb_error()
283 PTR_ERR(irb), dev_name(&cdev->dev)); in ctcm_check_irb_error()
285 switch (PTR_ERR(irb)) { in ctcm_check_irb_error()
298 return PTR_ERR(irb); in ctcm_check_irb_error()
1147 unsigned long intparm, struct irb *irb) in ctcm_irq_handler() argument
1159 if (ctcm_check_irb_error(cdev, irb)) in ctcm_irq_handler()
1164 cstat = irb->scsw.cmd.cstat; in ctcm_irq_handler()
1165 dstat = irb->scsw.cmd.dstat; in ctcm_irq_handler()
[all …]
/linux/arch/s390/include/asm/
H A Dccwdev.h21 struct irb;
97 void (*handler) (struct ccw_device *, unsigned long, struct irb *);
144 enum uc_todo (*uc_handler) (struct ccw_device *, struct irb *);
/linux/Documentation/devicetree/bindings/media/
H A Dst-rc.txt4 - compatible: Should contain "st,comms-irb".
25 compatible = "st,comms-irb";
/linux/drivers/s390/virtio/
H A Dvirtio_ccw.c1113 static int irb_is_error(struct irb *irb) in irb_is_error() argument
1115 if (scsw_cstat(&irb->scsw) != 0) in irb_is_error()
1117 if (scsw_dstat(&irb->scsw) & ~(DEV_STAT_CHN_END | DEV_STAT_DEV_END)) in irb_is_error()
1119 if (scsw_cc(&irb->scsw) != 0) in irb_is_error()
1176 struct irb *irb) in virtio_ccw_int_handler() argument
1185 if (IS_ERR(irb)) { in virtio_ccw_int_handler()
1186 vcdev->err = PTR_ERR(irb); in virtio_ccw_int_handler()
1193 (scsw_stctl(&irb->scsw) == in virtio_ccw_int_handler()
1197 if (irb_is_error(irb)) { in virtio_ccw_int_handler()
1199 if ((scsw_dstat(&irb->scsw) & DEV_STAT_UNIT_CHECK) && in virtio_ccw_int_handler()
[all …]

12