/Linux-v4.19/drivers/s390/cio/ |
D | device_status.c | 28 ccw_device_msg_control_check(struct ccw_device *cdev, struct irb *irb) in ccw_device_msg_control_check() argument 33 if (!scsw_is_valid_cstat(&irb->scsw) || in ccw_device_msg_control_check() 34 !(scsw_cstat(&irb->scsw) & (SCHN_STAT_CHN_DATA_CHK | in ccw_device_msg_control_check() 43 scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw)); in ccw_device_msg_control_check() 46 CIO_HEX_EVENT(0, irb, sizeof(struct irb)); in ccw_device_msg_control_check() 75 ccw_device_accumulate_ecw(struct ccw_device *cdev, struct irb *irb) in ccw_device_accumulate_ecw() argument 82 cdev->private->irb.scsw.cmd.ectl = 0; in ccw_device_accumulate_ecw() 83 if ((irb->scsw.cmd.stctl & SCSW_STCTL_ALERT_STATUS) && in ccw_device_accumulate_ecw() 84 !(irb->scsw.cmd.stctl & SCSW_STCTL_INTER_STATUS)) in ccw_device_accumulate_ecw() 85 cdev->private->irb.scsw.cmd.ectl = irb->scsw.cmd.ectl; in ccw_device_accumulate_ecw() [all …]
|
D | ccwreq.c | 66 memset(&cdev->private->irb, 0, sizeof(struct irb)); in ccwreq_stop() 89 memset(&cdev->private->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->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->irb.ecw, SENSE_MAX_COUNT); in ccwreq_status() 192 if (irb->ecw[0] & SNS0_CMD_REJECT) in ccwreq_status() 256 struct irb *irb = this_cpu_ptr(&cio_irb); in ccw_request_handler() local 262 status = ccwreq_status(cdev, irb); in ccw_request_handler() [all …]
|
D | device_fsm.c | 345 memset(&cdev->private->irb, 0, sizeof(struct irb)); in ccw_device_done() 459 static void create_fake_irb(struct irb *irb, int type) in create_fake_irb() argument 461 memset(irb, 0, sizeof(*irb)); in create_fake_irb() 463 struct cmd_scsw *scsw = &irb->scsw.cmd; in create_fake_irb() 469 struct tm_scsw *scsw = &irb->scsw.tm; in create_fake_irb() 512 create_fake_irb(&cdev->private->irb, in ccw_device_verify_done() 517 &cdev->private->irb); in ccw_device_verify_done() 518 memset(&cdev->private->irb, 0, sizeof(struct irb)); in ccw_device_verify_done() 675 (scsw_stctl(&cdev->private->irb.scsw) & SCSW_STCTL_STATUS_PEND)) { in ccw_device_online_verify() 722 stctl = scsw_stctl(&cdev->private->irb.scsw); in ccw_device_call_handler() [all …]
|
D | vfio_ccw_drv.c | 74 struct irb *irb; in vfio_ccw_sch_io_todo() local 77 irb = &private->irb; in vfio_ccw_sch_io_todo() 79 if (scsw_is_solicited(&irb->scsw)) { in vfio_ccw_sch_io_todo() 80 cp_update_scsw(&private->cp, &irb->scsw); in vfio_ccw_sch_io_todo() 83 memcpy(private->io_region->irb_area, irb, sizeof(*irb)); in vfio_ccw_sch_io_todo()
|
D | cio.c | 50 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() 546 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() 588 struct irb *irb; in cio_tsch() local 591 irb = this_cpu_ptr(&cio_irb); in cio_tsch() [all …]
|
D | trace.h | 107 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 …]
|
D | vfio_ccw_fsm.c | 190 struct irb *irb = this_cpu_ptr(&cio_irb); in fsm_irq() local 192 memcpy(&private->irb, irb, sizeof(*irb)); in fsm_irq()
|
D | device.h | 105 void ccw_device_accumulate_irb(struct ccw_device *, struct irb *); 106 void ccw_device_accumulate_basic_sense(struct ccw_device *, struct irb *); 107 int ccw_device_accumulate_and_sense(struct ccw_device *, struct irb *); 108 int ccw_device_do_sense(struct ccw_device *, struct irb *);
|
D | chsc_sch.h | 7 struct irb irb; member
|
D | eadm_sch.c | 131 struct irb *irb = this_cpu_ptr(&cio_irb); in eadm_subchannel_irq() local 135 EADM_LOG_HEX(6, irb, sizeof(*irb)); in eadm_subchannel_irq() 140 && scsw->eswf == 1 && irb->esw.eadm.erw.r) in eadm_subchannel_irq() 150 EADM_LOG_HEX(1, irb, sizeof(*irb)); in eadm_subchannel_irq()
|
D | chsc_sch.c | 57 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() 301 if (!(scsw_stctl(&request->irb.scsw) & SCSW_STCTL_STATUS_PEND)) in chsc_examine_irb() 303 backed_up = scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb() 304 request->irb.scsw.cmd.cstat &= ~SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb() 305 if (scsw_cstat(&request->irb.scsw) == 0) in chsc_examine_irb() 309 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROG_CHECK) in chsc_examine_irb() 311 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROT_CHECK) in chsc_examine_irb() 313 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHN_DATA_CHK) in chsc_examine_irb() [all …]
|
D | io_sch.h | 78 enum io_status (*filter)(struct ccw_device *, void *, struct irb *, 159 struct irb irb; /* device status */ member
|
D | vfio_ccw_private.h | 47 struct irb irb; member
|
/Linux-v4.19/drivers/s390/char/ |
D | tape_3590.c | 776 struct irb *irb, int rc) in tape_3590_erp_failed() argument 780 tape_dump_sense_dbf(device, request, irb); in tape_3590_erp_failed() 789 struct irb *irb) in tape_3590_erp_retry() argument 792 tape_dump_sense_dbf(device, request, irb); in tape_3590_erp_retry() 800 tape_3590_unsolicited_irq(struct tape_device *device, struct irb *irb) in tape_3590_unsolicited_irq() argument 802 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() 812 tape_dump_sense_dbf(device, NULL, irb); in tape_3590_unsolicited_irq() 824 struct irb *irb, int rc) in tape_3590_erp_basic() argument [all …]
|
D | tape_34xx.c | 222 tape_34xx_unsolicited_irq(struct tape_device *device, struct irb *irb) in tape_34xx_unsolicited_irq() argument 224 if (irb->scsw.cmd.dstat == 0x85) { /* READY */ in tape_34xx_unsolicited_irq() 231 tape_dump_sense_dbf(device, NULL, irb); in tape_34xx_unsolicited_irq() 263 struct irb *irb, int no) in tape_34xx_erp_bug() argument 268 tape_dump_sense_dbf(device, request, irb); in tape_34xx_erp_bug() 279 struct irb *irb) in tape_34xx_erp_overrun() argument 281 if (irb->ecw[3] == 0x40) { in tape_34xx_erp_overrun() 286 return tape_34xx_erp_bug(device, request, irb, -1); in tape_34xx_erp_overrun() 294 struct tape_request *request, struct irb *irb) in tape_34xx_erp_sequence() argument 296 if (irb->ecw[3] == 0x41) { in tape_34xx_erp_sequence() [all …]
|
D | tape_core.c | 34 static void __tape_do_irq (struct ccw_device *, unsigned long, struct irb *); 913 struct irb *irb) in tape_dump_sense_dbf() argument 923 irb->scsw.cmd.dstat, irb->scsw.cmd.cstat); in tape_dump_sense_dbf() 925 sptr = (unsigned int *) irb->ecw; in tape_dump_sense_dbf() 1098 __tape_do_irq (struct ccw_device *cdev, unsigned long intparm, struct irb *irb) in __tape_do_irq() argument 1113 if (IS_ERR(irb)) { in __tape_do_irq() 1115 switch (PTR_ERR(irb)) { in __tape_do_irq() 1124 device->cdev_id, PTR_ERR(irb)); in __tape_do_irq() 1136 if (irb->scsw.cmd.cc != 0 && in __tape_do_irq() 1137 (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) && in __tape_do_irq() [all …]
|
/Linux-v4.19/drivers/s390/block/ |
D | dasd_erp.c | 166 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()
|
D | dasd_fba.c | 244 struct irb *irb) in dasd_fba_check_for_device_change() argument 250 if ((irb->scsw.cmd.dstat & mask) == mask) in dasd_fba_check_for_device_change() 646 dasd_fba_dump_sense_dbf(struct dasd_device *device, struct irb *irb, in dasd_fba_dump_sense_dbf() argument 651 sense = (u64 *) dasd_get_sense(irb); in dasd_fba_dump_sense_dbf() 656 scsw_is_tm(&irb->scsw) ? "t" : "c", in dasd_fba_dump_sense_dbf() 657 scsw_cc(&irb->scsw), scsw_cstat(&irb->scsw), in dasd_fba_dump_sense_dbf() 658 scsw_dstat(&irb->scsw), sense[0], sense[1], in dasd_fba_dump_sense_dbf() 669 struct irb *irb) in dasd_fba_dump_sense() argument 686 irb->scsw.cmd.cstat, irb->scsw.cmd.dstat); in dasd_fba_dump_sense() 690 (void *) (addr_t) irb->scsw.cmd.cpa); in dasd_fba_dump_sense() [all …]
|
D | dasd_eckd.c | 1874 sense = dasd_get_sense(&init_cqr->irb); in dasd_eckd_analysis_evaluation() 2574 struct irb *irb) in dasd_eckd_format_process_data() argument 2655 if (fmt_buffer && irb) { in dasd_eckd_format_process_data() 2656 sense = dasd_get_sense(&cqr->irb); in dasd_eckd_format_process_data() 2657 memcpy(irb, &cqr->irb, sizeof(*irb)); in dasd_eckd_format_process_data() 2853 struct irb irb; in dasd_eckd_check_device_format() local 2887 tpm, fmt_buffer, rpt_max, &irb); in dasd_eckd_check_device_format() 2896 if (tpm && scsw_cstat(&irb.scsw) == 0x40) { in dasd_eckd_check_device_format() 2901 &irb); in dasd_eckd_check_device_format() 2959 struct irb *irb) in dasd_eckd_check_for_device_change() argument [all …]
|
D | dasd_3990_erp.c | 157 ~(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() 165 erp->lpm, erp->irb.esw.esw0.sublog.lpum, opm); in dasd_3990_erp_alternate_path() 173 "/opm=%x)\n", erp->irb.esw.esw0.sublog.lpum, opm); in dasd_3990_erp_alternate_path() 1441 sense = dasd_get_sense(&erp->refers->irb); in dasd_3990_erp_inspect_alias() 1627 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() 2246 __u8 lpum = erp->refers->irb.esw.esw1.lpum; in dasd_3990_erp_account_error() [all …]
|
D | dasd.c | 61 void dasd_int_handler(struct ccw_device *, unsigned long, struct irb *); 1582 static int dasd_check_hpf_error(struct irb *irb) in dasd_check_hpf_error() argument 1584 return (scsw_tm_is_valid_schxs(&irb->scsw) && in dasd_check_hpf_error() 1585 (irb->scsw.tm.sesq == SCSW_SESQ_DEV_NOFCX || in dasd_check_hpf_error() 1586 irb->scsw.tm.sesq == SCSW_SESQ_PATH_NOFCX)); in dasd_check_hpf_error() 1593 struct irb *irb) in dasd_int_handler() argument 1604 if (IS_ERR(irb)) { in dasd_int_handler() 1605 switch (PTR_ERR(irb)) { in dasd_int_handler() 1623 PTR_ERR(irb)); in dasd_int_handler() 1632 !(scsw_dstat(&irb->scsw) == (DEV_STAT_CHN_END | DEV_STAT_DEV_END) && in dasd_int_handler() [all …]
|
D | dasd_int.h | 178 struct irb irb; /* device status in case of an error */ member 343 struct irb *); 344 void (*dump_sense_dbf) (struct dasd_device *, struct irb *, char *); 347 struct irb *); 366 void (*handle_hpf_error)(struct dasd_device *, struct irb *); 750 enum uc_todo dasd_generic_uc_handler(struct ccw_device *, struct irb *); 755 char *dasd_get_sense(struct irb *); 817 void dasd_log_sense(struct dasd_ccw_req *, struct irb *); 818 void dasd_log_sense_dbf(struct dasd_ccw_req *cqr, struct irb *irb);
|
/Linux-v4.19/drivers/s390/net/ |
D | ctcm_main.c | 231 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() 284 PTR_ERR(irb), dev_name(&cdev->dev)); 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() 1199 unsigned long intparm, struct irb *irb) in ctcm_irq_handler() argument 1211 if (ctcm_check_irb_error(cdev, irb)) in ctcm_irq_handler() 1216 cstat = irb->scsw.cmd.cstat; in ctcm_irq_handler() 1217 dstat = irb->scsw.cmd.dstat; in ctcm_irq_handler() [all …]
|
D | lcs.c | 1282 lcs_check_irb_error(struct ccw_device *cdev, struct irb *irb) in lcs_check_irb_error() argument 1284 if (!IS_ERR(irb)) in lcs_check_irb_error() 1287 switch (PTR_ERR(irb)) { in lcs_check_irb_error() 1303 PTR_ERR(irb)); in lcs_check_irb_error() 1307 return PTR_ERR(irb); in lcs_check_irb_error() 1311 lcs_get_problem(struct ccw_device *cdev, struct irb *irb) in lcs_get_problem() argument 1316 sense = (char *) irb->ecw; in lcs_get_problem() 1317 cstat = irb->scsw.cmd.cstat; in lcs_get_problem() 1318 dstat = irb->scsw.cmd.dstat; in lcs_get_problem() 1362 lcs_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb) in lcs_irq() argument [all …]
|
/Linux-v4.19/arch/s390/include/asm/ |
D | ccwdev.h | 19 struct irb; 94 void (*handler) (struct ccw_device *, unsigned long, struct irb *); 149 enum uc_todo (*uc_handler) (struct ccw_device *, struct irb *);
|