Home
last modified time | relevance | path

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

123

/openbmc/linux/drivers/s390/cio/
H A Ddevice_status.c29 ccw_device_msg_control_check(struct ccw_device *cdev, struct irb *irb) in ccw_device_msg_control_check() argument
44 scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw)); in ccw_device_msg_control_check()
47 CIO_HEX_EVENT(0, irb, sizeof(struct irb)); in ccw_device_msg_control_check()
76 ccw_device_accumulate_ecw(struct ccw_device *cdev, struct irb *irb) in ccw_device_accumulate_ecw() argument
86 cdev->private->dma_area->irb.scsw.cmd.ectl = irb->scsw.cmd.ectl; in ccw_device_accumulate_ecw()
91 memcpy(&cdev->private->dma_area->irb.ecw, irb->ecw, sizeof(irb->ecw)); in ccw_device_accumulate_ecw()
98 ccw_device_accumulate_esw_valid(struct irb *irb) in ccw_device_accumulate_esw_valid() argument
210 if (scsw_is_valid_pno(&irb->scsw) && scsw_pno(&irb->scsw)) in ccw_device_accumulate_irb()
214 memcpy(&cdev->private->dma_area->irb, irb, sizeof(struct irb)); in ccw_device_accumulate_irb()
312 ccw_device_do_sense(struct ccw_device *cdev, struct irb *irb) in ccw_device_do_sense() argument
[all …]
H A Dccwreq.c66 memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); in ccwreq_stop()
89 memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); in ccwreq_do()
170 static enum io_status ccwreq_status(struct ccw_device *cdev, struct irb *lcirb) in ccwreq_status()
172 struct irb *irb = &cdev->private->dma_area->irb; in ccwreq_status() local
173 struct cmd_scsw *scsw = &irb->scsw.cmd; in ccwreq_status()
186 if (irb->esw.esw0.erw.cons) { in ccwreq_status()
190 CIO_HEX_EVENT(2, &cdev->private->dma_area->irb.ecw, in ccwreq_status()
193 if (irb->ecw[0] & SNS0_CMD_REJECT) in ccwreq_status()
257 struct irb *irb = this_cpu_ptr(&cio_irb); in ccw_request_handler() local
263 status = ccwreq_status(cdev, irb); in ccw_request_handler()
[all …]
H A Ddevice_fsm.c340 memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); in ccw_device_done()
454 static void create_fake_irb(struct irb *irb, int type) in create_fake_irb() argument
456 memset(irb, 0, sizeof(*irb)); in create_fake_irb()
514 sizeof(struct irb)); in ccw_device_verify_done()
737 memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); in ccw_device_call_handler()
747 struct irb *irb; in ccw_device_irq() local
750 irb = this_cpu_ptr(&cio_irb); in ccw_device_irq()
759 memcpy(&cdev->private->dma_area->irb, irb, in ccw_device_irq()
816 struct irb *irb; in ccw_device_w4sense() local
840 if (scsw_fctl(&irb->scsw) & in ccw_device_w4sense()
[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 Dcio.c50 DEFINE_PER_CPU_ALIGNED(struct irb, cio_irb);
413 struct irb irb; in cio_commit_config() local
438 if (tsch(sch->schid, &irb)) in cio_commit_config()
536 struct irb *irb; in do_cio_interrupt() local
541 irb = this_cpu_ptr(&cio_irb); in do_cio_interrupt()
545 tsch(tpi_info->schid, irb); in do_cio_interrupt()
551 if (tsch(tpi_info->schid, irb) == 0) { in do_cio_interrupt()
553 memcpy (&sch->schib.scsw, &irb->scsw, sizeof (irb->scsw)); in do_cio_interrupt()
584 struct irb *irb; in cio_tsch() local
587 irb = this_cpu_ptr(&cio_irb); in cio_tsch()
[all …]
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 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 Dchsc_sch.h7 struct irb irb; member
H A Deadm_sch.c126 struct irb *irb = this_cpu_ptr(&cio_irb); in eadm_subchannel_irq() local
130 EADM_LOG_HEX(6, irb, sizeof(*irb)); in eadm_subchannel_irq()
135 && scsw->eswf == 1 && irb->esw.eadm.erw.r) in eadm_subchannel_irq()
145 EADM_LOG_HEX(1, irb, sizeof(*irb)); in eadm_subchannel_irq()
H A Dchsc_sch.c58 struct irb *irb = this_cpu_ptr(&cio_irb); in chsc_subchannel_irq() local
61 CHSC_LOG_HEX(4, irb, sizeof(*irb)); in chsc_subchannel_irq()
71 memcpy(&request->irb, irb, sizeof(*irb)); in chsc_subchannel_irq()
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()
[all …]
H A Dio_sch.h83 enum io_status (*filter)(struct ccw_device *, void *, struct irb *,
126 struct irb irb; /* device status */ member
/openbmc/qemu/pc-bios/s390-ccw/
H A Dcio.c75 Irb irb; in basic_sense() local
80 static bool irb_error(Irb *irb) in irb_error() argument
82 if (irb->scsw.cstat) { in irb_error()
179 static void print_irb_err(Irb *irb) in print_irb_err() argument
340 tsch(schid, irb); in __do_cio()
351 rc = tsch(schid, irb); in __do_cio()
377 Irb irb = {}; in do_cio() local
393 if (!irb_error(&irb)) { in do_cio()
401 if ((unit_check(&irb) || iface_ctrl_check(&irb)) && retries <= 2) { in do_cio()
402 if (unit_check(&irb)) { in do_cio()
[all …]
H A Dcio.h339 #define unit_check(irb) ((irb)->scsw.dstat & SCSW_DSTAT_UCHK) argument
340 #define iface_ctrl_check(irb) ((irb)->scsw.cstat & SCSW_CSTAT_ICCHK) argument
343 typedef struct irb { struct
422 static inline int tsch(struct subchannel_id schid, struct irb *addr) in tsch()
/openbmc/linux/drivers/s390/char/
H A Dtape_3590.c776 struct irb *irb, int rc) in tape_3590_erp_failed() argument
789 struct irb *irb) in tape_3590_erp_retry() argument
824 struct irb *irb, int rc) in tape_3590_erp_basic() argument
850 struct tape_request *request, struct irb *irb) in tape_3590_erp_read_buf_log() argument
864 struct irb *irb) in tape_3590_erp_swap() argument
882 struct tape_request *request, struct irb *irb) in tape_3590_erp_long_busy() argument
893 struct tape_request *request, struct irb *irb) in tape_3590_erp_special_interrupt() argument
933 struct tape_request *request, struct irb *irb) in tape_3590_erp_read_opposite() argument
1302 struct tape_request *request, struct irb *irb) in tape_3590_crypt_error() argument
1331 struct irb *irb) in tape_3590_unit_check() argument
[all …]
H A Dtape_34xx.c222 tape_34xx_unsolicited_irq(struct tape_device *device, struct irb *irb) in tape_34xx_unsolicited_irq() argument
263 struct irb *irb, int no) in tape_34xx_erp_bug() argument
279 struct irb *irb) in tape_34xx_erp_overrun() argument
294 struct tape_request *request, struct irb *irb) in tape_34xx_erp_sequence() argument
318 struct irb *irb) in tape_34xx_unit_check() argument
324 sense = irb->ecw; in tape_34xx_unit_check()
422 irb, -4); in tape_34xx_unit_check()
436 irb, -5); in tape_34xx_unit_check()
466 irb, -6); in tape_34xx_unit_check()
665 irb, sense[3]); in tape_34xx_unit_check()
[all …]
H A Dtape_core.c865 struct irb *irb) in tape_dump_sense_dbf() argument
875 irb->scsw.cmd.dstat, irb->scsw.cmd.cstat); in tape_dump_sense_dbf()
877 sptr = (unsigned int *) irb->ecw; in tape_dump_sense_dbf()
1051 __tape_do_irq (struct ccw_device *cdev, unsigned long intparm, struct irb *irb) in __tape_do_irq() argument
1066 if (IS_ERR(irb)) { in __tape_do_irq()
1068 switch (PTR_ERR(irb)) { in __tape_do_irq()
1090 if (irb->scsw.cmd.cc != 0 && 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()
[all …]
H A Dvmur.c299 struct irb *irb) in ur_int_handler() argument
303 if (!IS_ERR(irb)) { in ur_int_handler()
305 intparm, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat, in ur_int_handler()
306 irb->scsw.cmd.count); in ur_int_handler()
312 if (scsw_dstat(&irb->scsw) & DEV_STAT_DEV_END) { in ur_int_handler()
324 if (IS_ERR(irb)) in ur_int_handler()
325 urd->io_request_rc = PTR_ERR(irb); in ur_int_handler()
326 else if (irb->scsw.cmd.dstat == (DEV_STAT_CHN_END | DEV_STAT_DEV_END)) in ur_int_handler()
/openbmc/linux/drivers/s390/block/
H A Ddasd_erp.c166 dasd_log_sense(struct dasd_ccw_req *cqr, struct irb *irb) in dasd_log_sense() argument
183 device->discipline->dump_sense(device, cqr, irb); in dasd_log_sense()
187 dasd_log_sense_dbf(struct dasd_ccw_req *cqr, struct irb *irb) in dasd_log_sense_dbf() argument
194 device->discipline->dump_sense_dbf(device, irb, "log"); in dasd_log_sense_dbf()
H A Ddasd_fba.c236 struct irb *irb) in dasd_fba_check_for_device_change() argument
242 if ((irb->scsw.cmd.dstat & mask) == mask) in dasd_fba_check_for_device_change()
638 dasd_fba_dump_sense_dbf(struct dasd_device *device, struct irb *irb, in dasd_fba_dump_sense_dbf() argument
643 sense = (u64 *) dasd_get_sense(irb); in dasd_fba_dump_sense_dbf()
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()
661 struct irb *irb) in dasd_fba_dump_sense() argument
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()
683 if (irb->esw.esw0.erw.cons) { in dasd_fba_dump_sense()
[all …]
H A Ddasd.c1578 static int dasd_check_hpf_error(struct irb *irb) in dasd_check_hpf_error() argument
1585 static int dasd_ese_needs_format(struct dasd_block *block, struct irb *irb) in dasd_ese_needs_format() argument
1619 struct irb *irb) in dasd_int_handler() argument
1631 if (IS_ERR(irb)) { in dasd_int_handler()
1650 PTR_ERR(irb)); in dasd_int_handler()
1662 memcpy(&cqr->irb, irb, sizeof(*irb)); in dasd_int_handler()
1830 enum uc_todo dasd_generic_uc_handler(struct ccw_device *cdev, struct irb *irb) in dasd_generic_uc_handler() argument
4025 char *dasd_get_sense(struct irb *irb) in dasd_get_sense() argument
4030 if (scsw_is_tm(&irb->scsw) && (irb->scsw.tm.fcxs == 0x01)) { in dasd_get_sense()
4031 if (irb->scsw.tm.tcw) in dasd_get_sense()
[all …]
H A Ddasd_3990_erp.c157 ~(erp->irb.esw.esw0.sublog.lpum); in dasd_3990_erp_alternate_path()
159 erp->lpm &= ~(erp->irb.esw.esw0.sublog.lpum); in dasd_3990_erp_alternate_path()
1446 sense = dasd_get_sense(&erp->refers->irb); in dasd_3990_erp_inspect_alias()
1632 if (scsw_is_tm(&cqr->irb.scsw)) { in dasd_3990_erp_action_1B_32()
1788 if (scsw_is_tm(&cqr->irb.scsw)) { in dasd_3990_update_1B()
1807 cpa = previous_erp->irb.scsw.cmd.cpa; in dasd_3990_update_1B()
2339 sense = dasd_get_sense(&erp->refers->irb); in dasd_3990_erp_inspect()
2514 sense1 = dasd_get_sense(&cqr1->irb); in dasd_3990_erp_error_match()
2515 sense2 = dasd_get_sense(&cqr2->irb); in dasd_3990_erp_error_match()
2605 char *sense = dasd_get_sense(&erp->irb); in dasd_3990_erp_further_erp()
[all …]
H A Ddasd_eckd.c2999 struct irb *irb) in dasd_eckd_format_process_data() argument
3082 memcpy(irb, &cqr->irb, sizeof(*irb)); in dasd_eckd_format_process_data()
3185 struct irb *irb) in dasd_eckd_ese_format() argument
3492 struct irb irb; in dasd_eckd_check_device_format() local
3598 struct irb *irb) in dasd_eckd_check_for_device_change() argument
5592 struct dasd_ccw_req *req, struct irb *irb) in dasd_eckd_dump_sense_ccw() argument
5637 irb->ecw[7] >> 4, irb->ecw[7] & 0x0f, in dasd_eckd_dump_sense_ccw()
5644 irb->ecw[6] & 0x0f, irb->ecw[22] >> 4); in dasd_eckd_dump_sense_ccw()
5690 struct dasd_ccw_req *req, struct irb *irb) in dasd_eckd_dump_sense_tcw() argument
5819 struct dasd_ccw_req *req, struct irb *irb) in dasd_eckd_dump_sense() argument
[all …]
H A Ddasd_int.h177 struct irb irb; /* device status in case of an error */ member
400 struct irb *);
401 void (*dump_sense_dbf) (struct dasd_device *, struct irb *, char *);
404 struct irb *);
419 void (*handle_hpf_error)(struct dasd_device *, struct irb *);
441 struct dasd_ccw_req *, struct irb *);
442 int (*ese_read)(struct dasd_ccw_req *, struct irb *);
911 enum uc_todo dasd_generic_uc_handler(struct ccw_device *, struct irb *);
920 char *dasd_get_sense(struct irb *);
986 void dasd_log_sense(struct dasd_ccw_req *, struct irb *);
[all …]
/openbmc/linux/drivers/s390/net/
H A Dctcm_main.c231 kfree(ch->irb); in channel_remove()
277 static long ctcm_check_irb_error(struct ccw_device *cdev, struct irb *irb) in ctcm_check_irb_error() argument
279 if (!IS_ERR(irb)) in ctcm_check_irb_error()
286 switch (PTR_ERR(irb)) { in ctcm_check_irb_error()
299 return PTR_ERR(irb); in ctcm_check_irb_error()
1148 unsigned long intparm, struct irb *irb) in ctcm_irq_handler() argument
1204 memcpy(ch->irb, irb, sizeof(struct irb)); in ctcm_irq_handler()
1207 if (irb->scsw.cmd.cstat) { in ctcm_irq_handler()
1412 ch->irb = kzalloc(sizeof(struct irb), GFP_KERNEL); in add_channel()
1413 if (ch->irb == NULL) in add_channel()
[all …]
H A Dlcs.c1278 lcs_check_irb_error(struct ccw_device *cdev, struct irb *irb) in lcs_check_irb_error() argument
1280 if (!IS_ERR(irb)) in lcs_check_irb_error()
1283 switch (PTR_ERR(irb)) { in lcs_check_irb_error()
1299 PTR_ERR(irb)); in lcs_check_irb_error()
1303 return PTR_ERR(irb); in lcs_check_irb_error()
1307 lcs_get_problem(struct ccw_device *cdev, struct irb *irb) in lcs_get_problem() argument
1312 sense = (char *) irb->ecw; in lcs_get_problem()
1313 cstat = irb->scsw.cmd.cstat; in lcs_get_problem()
1314 dstat = irb->scsw.cmd.dstat; in lcs_get_problem()
1358 lcs_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb) in lcs_irq() argument
[all …]

123