irb 19 arch/s390/include/asm/ccwdev.h struct irb; irb 94 arch/s390/include/asm/ccwdev.h void (*handler) (struct ccw_device *, unsigned long, struct irb *); irb 149 arch/s390/include/asm/ccwdev.h enum uc_todo (*uc_handler) (struct ccw_device *, struct irb *); irb 899 drivers/platform/x86/fujitsu-laptop.c unsigned int irb; irb 912 drivers/platform/x86/fujitsu-laptop.c while ((irb = call_fext_func(device, irb 915 drivers/platform/x86/fujitsu-laptop.c scancode = irb & 0x4ff; irb 922 drivers/platform/x86/fujitsu-laptop.c "Unknown GIRB result [%x]\n", irb); irb 61 drivers/s390/block/dasd.c void dasd_int_handler(struct ccw_device *, unsigned long, struct irb *); irb 1635 drivers/s390/block/dasd.c static int dasd_check_hpf_error(struct irb *irb) irb 1637 drivers/s390/block/dasd.c return (scsw_tm_is_valid_schxs(&irb->scsw) && irb 1638 drivers/s390/block/dasd.c (irb->scsw.tm.sesq == SCSW_SESQ_DEV_NOFCX || irb 1639 drivers/s390/block/dasd.c irb->scsw.tm.sesq == SCSW_SESQ_PATH_NOFCX)); irb 1642 drivers/s390/block/dasd.c static int dasd_ese_needs_format(struct dasd_block *block, struct irb *irb) irb 1655 drivers/s390/block/dasd.c sense = dasd_get_sense(irb); irb 1661 drivers/s390/block/dasd.c scsw_cstat(&irb->scsw) == SCHN_STAT_INCORR_LEN; irb 1676 drivers/s390/block/dasd.c struct irb *irb) irb 1687 drivers/s390/block/dasd.c if (IS_ERR(irb)) { irb 1688 drivers/s390/block/dasd.c switch (PTR_ERR(irb)) { irb 1706 drivers/s390/block/dasd.c PTR_ERR(irb)); irb 1715 drivers/s390/block/dasd.c !(scsw_dstat(&irb->scsw) == (DEV_STAT_CHN_END | DEV_STAT_DEV_END) && irb 1716 drivers/s390/block/dasd.c scsw_cstat(&irb->scsw) == 0)) { irb 1718 drivers/s390/block/dasd.c memcpy(&cqr->irb, irb, sizeof(*irb)); irb 1734 drivers/s390/block/dasd.c sense = dasd_get_sense(irb); irb 1753 drivers/s390/block/dasd.c device->discipline->dump_sense_dbf(device, irb, "int"); irb 1756 drivers/s390/block/dasd.c device->discipline->dump_sense(device, cqr, irb); irb 1757 drivers/s390/block/dasd.c device->discipline->check_for_device_change(device, cqr, irb); irb 1762 drivers/s390/block/dasd.c if (scsw_dstat(&irb->scsw) & DEV_STAT_ATTENTION) { irb 1766 drivers/s390/block/dasd.c irb->esw.esw1.lpum); irb 1782 drivers/s390/block/dasd.c if (dasd_ese_needs_format(cqr->block, irb)) { irb 1784 drivers/s390/block/dasd.c device->discipline->ese_read(cqr, irb); irb 1791 drivers/s390/block/dasd.c fcqr = device->discipline->ese_format(device, cqr, irb); irb 1815 drivers/s390/block/dasd.c scsw_fctl(&irb->scsw) & SCSW_FCTL_CLEAR_FUNC) { irb 1832 drivers/s390/block/dasd.c if (scsw_dstat(&irb->scsw) == (DEV_STAT_CHN_END | DEV_STAT_DEV_END) && irb 1833 drivers/s390/block/dasd.c scsw_cstat(&irb->scsw) == 0) { irb 1847 drivers/s390/block/dasd.c if (cqr->cpmode && dasd_check_hpf_error(irb) && irb 1849 drivers/s390/block/dasd.c device->discipline->handle_hpf_error(device, irb); irb 1881 drivers/s390/block/dasd.c enum uc_todo dasd_generic_uc_handler(struct ccw_device *cdev, struct irb *irb) irb 1896 drivers/s390/block/dasd.c device->discipline->dump_sense_dbf(device, irb, "uc"); irb 1897 drivers/s390/block/dasd.c device->discipline->check_for_device_change(device, NULL, irb); irb 2326 drivers/s390/block/dasd.c dasd_log_sense(cqr, &cqr->irb); irb 2428 drivers/s390/block/dasd.c dasd_log_sense(maincqr, &maincqr->irb); irb 2506 drivers/s390/block/dasd.c sense = dasd_get_sense(&cqr->irb); irb 2510 drivers/s390/block/dasd.c if (scsw_cstat(&cqr->irb.scsw) == 0x40 && irb 2848 drivers/s390/block/dasd.c dasd_log_sense(cqr, &cqr->irb); irb 4172 drivers/s390/block/dasd.c char *dasd_get_sense(struct irb *irb) irb 4177 drivers/s390/block/dasd.c if (scsw_is_tm(&irb->scsw) && (irb->scsw.tm.fcxs == 0x01)) { irb 4178 drivers/s390/block/dasd.c if (irb->scsw.tm.tcw) irb 4180 drivers/s390/block/dasd.c irb->scsw.tm.tcw); irb 4193 drivers/s390/block/dasd.c } else if (irb->esw.esw0.erw.cons) { irb 4194 drivers/s390/block/dasd.c sense = irb->ecw; irb 157 drivers/s390/block/dasd_3990_erp.c ~(erp->irb.esw.esw0.sublog.lpum); irb 159 drivers/s390/block/dasd_3990_erp.c erp->lpm &= ~(erp->irb.esw.esw0.sublog.lpum); irb 165 drivers/s390/block/dasd_3990_erp.c erp->lpm, erp->irb.esw.esw0.sublog.lpum, opm); irb 173 drivers/s390/block/dasd_3990_erp.c "/opm=%x)\n", erp->irb.esw.esw0.sublog.lpum, opm); irb 1441 drivers/s390/block/dasd_3990_erp.c sense = dasd_get_sense(&erp->refers->irb); irb 1627 drivers/s390/block/dasd_3990_erp.c if (scsw_is_tm(&cqr->irb.scsw)) { irb 1644 drivers/s390/block/dasd_3990_erp.c cpa = default_erp->refers->irb.scsw.cmd.cpa; irb 1783 drivers/s390/block/dasd_3990_erp.c if (scsw_is_tm(&cqr->irb.scsw)) { irb 1802 drivers/s390/block/dasd_3990_erp.c cpa = previous_erp->irb.scsw.cmd.cpa; irb 2246 drivers/s390/block/dasd_3990_erp.c __u8 lpum = erp->refers->irb.esw.esw1.lpum; irb 2296 drivers/s390/block/dasd_3990_erp.c if (scsw_cstat(&erp->refers->irb.scsw) & (SCHN_STAT_INTF_CTRL_CHK irb 2334 drivers/s390/block/dasd_3990_erp.c sense = dasd_get_sense(&erp->refers->irb); irb 2509 drivers/s390/block/dasd_3990_erp.c sense1 = dasd_get_sense(&cqr1->irb); irb 2510 drivers/s390/block/dasd_3990_erp.c sense2 = dasd_get_sense(&cqr2->irb); irb 2517 drivers/s390/block/dasd_3990_erp.c if ((scsw_cstat(&cqr1->irb.scsw) & (SCHN_STAT_INTF_CTRL_CHK | irb 2519 drivers/s390/block/dasd_3990_erp.c (scsw_cstat(&cqr2->irb.scsw) & (SCHN_STAT_INTF_CTRL_CHK | irb 2600 drivers/s390/block/dasd_3990_erp.c char *sense = dasd_get_sense(&erp->irb); irb 2718 drivers/s390/block/dasd_3990_erp.c char *sense = dasd_get_sense(&erp->refers->irb); irb 2793 drivers/s390/block/dasd_3990_erp.c if ((scsw_cstat(&cqr->irb.scsw) == 0x00) && irb 2794 drivers/s390/block/dasd_3990_erp.c (scsw_dstat(&cqr->irb.scsw) == irb 400 drivers/s390/block/dasd_alias.c sense = dasd_get_sense(&cqr->irb); irb 612 drivers/s390/block/dasd_diag.c struct irb *stat) irb 214 drivers/s390/block/dasd_eckd.c static int dasd_eckd_track_from_irb(struct irb *irb, struct dasd_device *device, irb 222 drivers/s390/block/dasd_eckd.c sense = dasd_get_sense(irb); irb 2206 drivers/s390/block/dasd_eckd.c sense = dasd_get_sense(&init_cqr->irb); irb 2901 drivers/s390/block/dasd_eckd.c struct irb *irb) irb 2982 drivers/s390/block/dasd_eckd.c if (fmt_buffer && irb) { irb 2983 drivers/s390/block/dasd_eckd.c sense = dasd_get_sense(&cqr->irb); irb 2984 drivers/s390/block/dasd_eckd.c memcpy(irb, &cqr->irb, sizeof(*irb)); irb 3075 drivers/s390/block/dasd_eckd.c struct irb *irb) irb 3104 drivers/s390/block/dasd_eckd.c rc = dasd_eckd_track_from_irb(irb, base, &curr_trk); irb 3154 drivers/s390/block/dasd_eckd.c static int dasd_eckd_ese_read(struct dasd_ccw_req *cqr, struct irb *irb) irb 3187 drivers/s390/block/dasd_eckd.c rc = dasd_eckd_track_from_irb(irb, base, &curr_trk); irb 3380 drivers/s390/block/dasd_eckd.c struct irb irb; irb 3414 drivers/s390/block/dasd_eckd.c tpm, fmt_buffer, rpt_max, &irb); irb 3423 drivers/s390/block/dasd_eckd.c if (tpm && scsw_cstat(&irb.scsw) == 0x40) { irb 3428 drivers/s390/block/dasd_eckd.c &irb); irb 3486 drivers/s390/block/dasd_eckd.c struct irb *irb) irb 3494 drivers/s390/block/dasd_eckd.c if ((scsw_dstat(&irb->scsw) & mask) == mask) { irb 3510 drivers/s390/block/dasd_eckd.c sense = dasd_get_sense(irb); irb 3516 drivers/s390/block/dasd_eckd.c (scsw_dstat(&irb->scsw) & DEV_STAT_UNIT_CHECK)) { irb 3522 drivers/s390/block/dasd_eckd.c sense = dasd_get_sense(irb); irb 3553 drivers/s390/block/dasd_eckd.c (scsw_dstat(&irb->scsw) & DEV_STAT_UNIT_CHECK) && irb 5425 drivers/s390/block/dasd_eckd.c dasd_eckd_dump_sense_dbf(struct dasd_device *device, struct irb *irb, irb 5431 drivers/s390/block/dasd_eckd.c sense = (u64 *) dasd_get_sense(irb); irb 5432 drivers/s390/block/dasd_eckd.c stat = (u64 *) &irb->scsw; irb 5450 drivers/s390/block/dasd_eckd.c struct dasd_ccw_req *req, struct irb *irb) irb 5469 drivers/s390/block/dasd_eckd.c req, scsw_cc(&irb->scsw), scsw_fctl(&irb->scsw), irb 5470 drivers/s390/block/dasd_eckd.c scsw_actl(&irb->scsw), scsw_stctl(&irb->scsw), irb 5471 drivers/s390/block/dasd_eckd.c scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw), irb 5476 drivers/s390/block/dasd_eckd.c (void *) (addr_t) irb->scsw.cmd.cpa); irb 5477 drivers/s390/block/dasd_eckd.c if (irb->esw.esw0.erw.cons) { irb 5485 drivers/s390/block/dasd_eckd.c irb->ecw[8 * sl + sct]); irb 5490 drivers/s390/block/dasd_eckd.c if (irb->ecw[27] & DASD_SENSE_BIT_0) { irb 5495 drivers/s390/block/dasd_eckd.c irb->ecw[7] >> 4, irb->ecw[7] & 0x0f, irb 5496 drivers/s390/block/dasd_eckd.c irb->ecw[1] & 0x10 ? "" : "no"); irb 5502 drivers/s390/block/dasd_eckd.c irb->ecw[6] & 0x0f, irb->ecw[22] >> 4); irb 5527 drivers/s390/block/dasd_eckd.c irb->scsw.cmd.cpa; /* failing CCW */ irb 5553 drivers/s390/block/dasd_eckd.c struct dasd_ccw_req *req, struct irb *irb) irb 5573 drivers/s390/block/dasd_eckd.c req, scsw_cc(&irb->scsw), scsw_fctl(&irb->scsw), irb 5574 drivers/s390/block/dasd_eckd.c scsw_actl(&irb->scsw), scsw_stctl(&irb->scsw), irb 5575 drivers/s390/block/dasd_eckd.c scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw), irb 5576 drivers/s390/block/dasd_eckd.c irb->scsw.tm.fcxs, irb 5577 drivers/s390/block/dasd_eckd.c (irb->scsw.tm.ifob << 7) | irb->scsw.tm.sesq, irb 5582 drivers/s390/block/dasd_eckd.c (void *) (addr_t) irb->scsw.tm.tcw); irb 5586 drivers/s390/block/dasd_eckd.c if (irb->scsw.tm.tcw && (irb->scsw.tm.fcxs & 0x01)) irb 5588 drivers/s390/block/dasd_eckd.c (struct tcw *)(unsigned long)irb->scsw.tm.tcw); irb 5683 drivers/s390/block/dasd_eckd.c struct dasd_ccw_req *req, struct irb *irb) irb 5685 drivers/s390/block/dasd_eckd.c u8 *sense = dasd_get_sense(irb); irb 5687 drivers/s390/block/dasd_eckd.c if (scsw_is_tm(&irb->scsw)) { irb 5696 drivers/s390/block/dasd_eckd.c if (scsw_cstat(&irb->scsw) == 0x40 && irb 5700 drivers/s390/block/dasd_eckd.c dasd_eckd_dump_sense_tcw(device, req, irb); irb 5715 drivers/s390/block/dasd_eckd.c dasd_eckd_dump_sense_ccw(device, req, irb); irb 6599 drivers/s390/block/dasd_eckd.c struct irb *irb) irb 6609 drivers/s390/block/dasd_eckd.c if (irb->scsw.tm.sesq == SCSW_SESQ_DEV_NOFCX) { irb 6611 drivers/s390/block/dasd_eckd.c } else if (irb->scsw.tm.sesq == SCSW_SESQ_PATH_NOFCX) { irb 6612 drivers/s390/block/dasd_eckd.c if (dasd_eckd_disable_hpf_path(device, irb->esw.esw1.lpum)) irb 308 drivers/s390/block/dasd_eer.c if (dasd_get_sense(&temp_cqr->irb)) irb 324 drivers/s390/block/dasd_eer.c sense = dasd_get_sense(&temp_cqr->irb); irb 166 drivers/s390/block/dasd_erp.c dasd_log_sense(struct dasd_ccw_req *cqr, struct irb *irb) irb 183 drivers/s390/block/dasd_erp.c device->discipline->dump_sense(device, cqr, irb); irb 187 drivers/s390/block/dasd_erp.c dasd_log_sense_dbf(struct dasd_ccw_req *cqr, struct irb *irb) irb 194 drivers/s390/block/dasd_erp.c device->discipline->dump_sense_dbf(device, irb, "log"); irb 244 drivers/s390/block/dasd_fba.c struct irb *irb) irb 250 drivers/s390/block/dasd_fba.c if ((irb->scsw.cmd.dstat & mask) == mask) irb 646 drivers/s390/block/dasd_fba.c dasd_fba_dump_sense_dbf(struct dasd_device *device, struct irb *irb, irb 651 drivers/s390/block/dasd_fba.c sense = (u64 *) dasd_get_sense(irb); irb 656 drivers/s390/block/dasd_fba.c scsw_is_tm(&irb->scsw) ? "t" : "c", irb 657 drivers/s390/block/dasd_fba.c scsw_cc(&irb->scsw), scsw_cstat(&irb->scsw), irb 658 drivers/s390/block/dasd_fba.c scsw_dstat(&irb->scsw), sense[0], sense[1], irb 669 drivers/s390/block/dasd_fba.c struct irb *irb) irb 686 drivers/s390/block/dasd_fba.c irb->scsw.cmd.cstat, irb->scsw.cmd.dstat); irb 690 drivers/s390/block/dasd_fba.c (void *) (addr_t) irb->scsw.cmd.cpa); irb 691 drivers/s390/block/dasd_fba.c if (irb->esw.esw0.erw.cons) { irb 699 drivers/s390/block/dasd_fba.c irb->ecw[8 * sl + sct]); irb 732 drivers/s390/block/dasd_fba.c if (act < ((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa) - 2) { irb 733 drivers/s390/block/dasd_fba.c act = ((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa) - 2; irb 736 drivers/s390/block/dasd_fba.c end = min((struct ccw1 *)(addr_t) irb->scsw.cmd.cpa + 2, last); irb 178 drivers/s390/block/dasd_int.h struct irb irb; /* device status in case of an error */ irb 347 drivers/s390/block/dasd_int.h struct irb *); irb 348 drivers/s390/block/dasd_int.h void (*dump_sense_dbf) (struct dasd_device *, struct irb *, char *); irb 351 drivers/s390/block/dasd_int.h struct irb *); irb 370 drivers/s390/block/dasd_int.h void (*handle_hpf_error)(struct dasd_device *, struct irb *); irb 392 drivers/s390/block/dasd_int.h struct dasd_ccw_req *, struct irb *); irb 393 drivers/s390/block/dasd_int.h int (*ese_read)(struct dasd_ccw_req *, struct irb *); irb 790 drivers/s390/block/dasd_int.h enum uc_todo dasd_generic_uc_handler(struct ccw_device *, struct irb *); irb 797 drivers/s390/block/dasd_int.h char *dasd_get_sense(struct irb *); irb 859 drivers/s390/block/dasd_int.h void dasd_log_sense(struct dasd_ccw_req *, struct irb *); irb 860 drivers/s390/block/dasd_int.h void dasd_log_sense_dbf(struct dasd_ccw_req *cqr, struct irb *irb); irb 364 drivers/s390/char/con3215.c struct irb *irb) irb 375 drivers/s390/char/con3215.c cstat = irb->scsw.cmd.cstat; irb 376 drivers/s390/char/con3215.c dstat = irb->scsw.cmd.dstat; irb 397 drivers/s390/char/con3215.c req->residual = irb->scsw.cmd.count; irb 411 drivers/s390/char/con3270.c con3270_irq(struct con3270 *cp, struct raw3270_request *rq, struct irb *irb) irb 414 drivers/s390/char/con3270.c if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) irb 418 drivers/s390/char/con3270.c if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) irb 422 drivers/s390/char/con3270.c rq->rescnt = irb->scsw.cmd.count; irb 423 drivers/s390/char/con3270.c } else if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) { irb 222 drivers/s390/char/fs3270.c fs3270_irq(struct fs3270 *fp, struct raw3270_request *rq, struct irb *irb) irb 225 drivers/s390/char/fs3270.c if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { irb 231 drivers/s390/char/fs3270.c if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) irb 235 drivers/s390/char/fs3270.c rq->rescnt = irb->scsw.cmd.count; irb 320 drivers/s390/char/raw3270.c raw3270_irq (struct ccw_device *cdev, unsigned long intparm, struct irb *irb) irb 332 drivers/s390/char/raw3270.c if (!IS_ERR(irb)) { irb 334 drivers/s390/char/raw3270.c if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) irb 336 drivers/s390/char/raw3270.c if (irb->scsw.cmd.dstat == (DEV_STAT_CHN_END | irb 341 drivers/s390/char/raw3270.c if ((irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) && irb 342 drivers/s390/char/raw3270.c (irb->ecw[0] & SNS0_INTERVENTION_REQ)) { irb 349 drivers/s390/char/raw3270.c view->fn->intv(view, rq, irb); irb 666 drivers/s390/char/raw3270.c struct irb *irb) irb 671 drivers/s390/char/raw3270.c if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) { irb 672 drivers/s390/char/raw3270.c if (irb->ecw[0] & SNS0_CMD_REJECT) irb 678 drivers/s390/char/raw3270.c if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { irb 136 drivers/s390/char/raw3270.h struct raw3270_request *, struct irb *); irb 153 drivers/s390/char/tape.h int (*irq)(struct tape_device *, struct tape_request *, struct irb *); irb 297 drivers/s390/char/tape.h struct irb *); irb 222 drivers/s390/char/tape_34xx.c tape_34xx_unsolicited_irq(struct tape_device *device, struct irb *irb) irb 224 drivers/s390/char/tape_34xx.c if (irb->scsw.cmd.dstat == 0x85) { /* READY */ irb 231 drivers/s390/char/tape_34xx.c tape_dump_sense_dbf(device, NULL, irb); irb 263 drivers/s390/char/tape_34xx.c struct irb *irb, int no) irb 268 drivers/s390/char/tape_34xx.c tape_dump_sense_dbf(device, request, irb); irb 279 drivers/s390/char/tape_34xx.c struct irb *irb) irb 281 drivers/s390/char/tape_34xx.c if (irb->ecw[3] == 0x40) { irb 286 drivers/s390/char/tape_34xx.c return tape_34xx_erp_bug(device, request, irb, -1); irb 294 drivers/s390/char/tape_34xx.c struct tape_request *request, struct irb *irb) irb 296 drivers/s390/char/tape_34xx.c if (irb->ecw[3] == 0x41) { irb 308 drivers/s390/char/tape_34xx.c return tape_34xx_erp_bug(device, request, irb, -2); irb 318 drivers/s390/char/tape_34xx.c struct irb *irb) irb 324 drivers/s390/char/tape_34xx.c sense = irb->ecw; irb 338 drivers/s390/char/tape_34xx.c return tape_34xx_erp_bug(device, request, irb, -3); irb 422 drivers/s390/char/tape_34xx.c irb, -4); irb 436 drivers/s390/char/tape_34xx.c irb, -5); irb 466 drivers/s390/char/tape_34xx.c irb, -6); irb 471 drivers/s390/char/tape_34xx.c return tape_34xx_erp_overrun(device, request, irb); irb 474 drivers/s390/char/tape_34xx.c return tape_34xx_erp_sequence(device, request, irb); irb 535 drivers/s390/char/tape_34xx.c return tape_34xx_erp_bug(device, request, irb, sense[3]); irb 547 drivers/s390/char/tape_34xx.c return tape_34xx_erp_bug(device, request, irb, sense[3]); irb 585 drivers/s390/char/tape_34xx.c return tape_34xx_erp_bug(device, request, irb, sense[3]); irb 602 drivers/s390/char/tape_34xx.c return tape_34xx_erp_bug(device, request, irb, sense[3]); irb 665 drivers/s390/char/tape_34xx.c irb, sense[3]); irb 722 drivers/s390/char/tape_34xx.c return tape_34xx_erp_bug(device, request, irb, sense[3]); irb 735 drivers/s390/char/tape_34xx.c return tape_34xx_erp_bug(device, request, irb, sense[3]); irb 759 drivers/s390/char/tape_34xx.c return tape_34xx_erp_bug(device, request, irb, sense[3]); irb 824 drivers/s390/char/tape_34xx.c return tape_34xx_erp_bug(device, request, irb, sense[3]); irb 833 drivers/s390/char/tape_34xx.c struct irb *irb) irb 836 drivers/s390/char/tape_34xx.c return tape_34xx_unsolicited_irq(device, irb); irb 838 drivers/s390/char/tape_34xx.c if ((irb->scsw.cmd.dstat & DEV_STAT_UNIT_EXCEP) && irb 839 drivers/s390/char/tape_34xx.c (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) && irb 845 drivers/s390/char/tape_34xx.c if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) irb 846 drivers/s390/char/tape_34xx.c return tape_34xx_unit_check(device, request, irb); irb 848 drivers/s390/char/tape_34xx.c if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) { irb 852 drivers/s390/char/tape_34xx.c if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_EXCEP) { irb 862 drivers/s390/char/tape_34xx.c tape_dump_sense_dbf(device, request, irb); irb 776 drivers/s390/char/tape_3590.c struct irb *irb, int rc) irb 780 drivers/s390/char/tape_3590.c tape_dump_sense_dbf(device, request, irb); irb 789 drivers/s390/char/tape_3590.c struct irb *irb) irb 792 drivers/s390/char/tape_3590.c tape_dump_sense_dbf(device, request, irb); irb 800 drivers/s390/char/tape_3590.c tape_3590_unsolicited_irq(struct tape_device *device, struct irb *irb) irb 802 drivers/s390/char/tape_3590.c if (irb->scsw.cmd.dstat == DEV_STAT_CHN_END) irb 805 drivers/s390/char/tape_3590.c else if (irb->scsw.cmd.dstat == 0x85) irb 808 drivers/s390/char/tape_3590.c else if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { irb 812 drivers/s390/char/tape_3590.c tape_dump_sense_dbf(device, NULL, irb); irb 824 drivers/s390/char/tape_3590.c struct irb *irb, int rc) irb 828 drivers/s390/char/tape_3590.c sense = (struct tape_3590_sense *) irb->ecw; irb 832 drivers/s390/char/tape_3590.c return tape_3590_erp_failed(device, request, irb, rc); irb 836 drivers/s390/char/tape_3590.c return tape_3590_erp_retry(device, request, irb); irb 838 drivers/s390/char/tape_3590.c return tape_3590_erp_failed(device, request, irb, rc); irb 850 drivers/s390/char/tape_3590.c struct tape_request *request, struct irb *irb) irb 856 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -EIO); irb 864 drivers/s390/char/tape_3590.c struct irb *irb) irb 874 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -EIO); irb 882 drivers/s390/char/tape_3590.c struct tape_request *request, struct irb *irb) irb 893 drivers/s390/char/tape_3590.c struct tape_request *request, struct irb *irb) irb 895 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -EIO); irb 903 drivers/s390/char/tape_3590.c struct tape_request *request, struct irb *irb) irb 925 drivers/s390/char/tape_3590.c return tape_3590_erp_retry(device, request, irb); irb 933 drivers/s390/char/tape_3590.c struct tape_request *request, struct irb *irb) irb 942 drivers/s390/char/tape_3590.c return tape_3590_erp_retry(device, request, irb); irb 945 drivers/s390/char/tape_3590.c return tape_3590_erp_failed(device, request, irb, -EIO); irb 948 drivers/s390/char/tape_3590.c return tape_3590_erp_failed(device, request, irb, -EIO); irb 956 drivers/s390/char/tape_3590.c tape_3590_print_mim_msg_f0(struct tape_device *device, struct irb *irb) irb 967 drivers/s390/char/tape_3590.c sense = (struct tape_3590_sense *) irb->ecw; irb 1020 drivers/s390/char/tape_3590.c tape_3590_print_io_sim_msg_f1(struct tape_device *device, struct irb *irb) irb 1031 drivers/s390/char/tape_3590.c sense = (struct tape_3590_sense *) irb->ecw; irb 1131 drivers/s390/char/tape_3590.c tape_3590_print_dev_sim_msg_f2(struct tape_device *device, struct irb *irb) irb 1142 drivers/s390/char/tape_3590.c sense = (struct tape_3590_sense *) irb->ecw; irb 1243 drivers/s390/char/tape_3590.c tape_3590_print_era_msg(struct tape_device *device, struct irb *irb) irb 1247 drivers/s390/char/tape_3590.c sense = (struct tape_3590_sense *) irb->ecw; irb 1268 drivers/s390/char/tape_3590.c tape_3590_print_mim_msg_f0(device, irb); irb 1279 drivers/s390/char/tape_3590.c tape_3590_print_io_sim_msg_f1(device, irb); irb 1290 drivers/s390/char/tape_3590.c tape_3590_print_dev_sim_msg_f2(device, irb); irb 1302 drivers/s390/char/tape_3590.c struct tape_request *request, struct irb *irb) irb 1308 drivers/s390/char/tape_3590.c sense = ((struct tape_3590_sense *) irb->ecw)->fmt.data; irb 1313 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -EKEYREJECTED); irb 1316 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -ENOTCONN); irb 1321 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -ENOKEY); irb 1331 drivers/s390/char/tape_3590.c struct irb *irb) irb 1335 drivers/s390/char/tape_3590.c sense = (struct tape_3590_sense *) irb->ecw; irb 1347 drivers/s390/char/tape_3590.c tape_3590_print_era_msg(device, irb); irb 1348 drivers/s390/char/tape_3590.c return tape_3590_erp_read_buf_log(device, request, irb); irb 1351 drivers/s390/char/tape_3590.c tape_3590_print_era_msg(device, irb); irb 1352 drivers/s390/char/tape_3590.c return tape_3590_erp_read_alternate(device, request, irb); irb 1356 drivers/s390/char/tape_3590.c tape_3590_print_era_msg(device, irb); irb 1357 drivers/s390/char/tape_3590.c return tape_3590_erp_special_interrupt(device, request, irb); irb 1359 drivers/s390/char/tape_3590.c return tape_3590_crypt_error(device, request, irb); irb 1364 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -ENOSPC); irb 1368 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -ENOSPC); irb 1371 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -ENOSPC); irb 1376 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -EIO); irb 1382 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, 0); irb 1391 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -ENOMEDIUM); irb 1395 drivers/s390/char/tape_3590.c tape_3590_print_era_msg(device, irb); irb 1396 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -EBUSY); irb 1399 drivers/s390/char/tape_3590.c return tape_3590_erp_long_busy(device, request, irb); irb 1404 drivers/s390/char/tape_3590.c tape_3590_print_era_msg(device, irb); irb 1405 drivers/s390/char/tape_3590.c return tape_3590_erp_swap(device, request, irb); irb 1409 drivers/s390/char/tape_3590.c tape_3590_print_era_msg(device, irb); irb 1411 drivers/s390/char/tape_3590.c irb); irb 1413 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -EIO); irb 1420 drivers/s390/char/tape_3590.c tape_3590_print_era_msg(device, irb); irb 1421 drivers/s390/char/tape_3590.c return tape_3590_erp_swap(device, request, irb); irb 1425 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -EMEDIUMTYPE); irb 1431 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -ENOMEDIUM); irb 1434 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -EMEDIUMTYPE); irb 1437 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -EPERM); irb 1441 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -EPERM); irb 1443 drivers/s390/char/tape_3590.c return tape_3590_erp_basic(device, request, irb, -EIO); irb 1452 drivers/s390/char/tape_3590.c struct irb *irb) irb 1455 drivers/s390/char/tape_3590.c return tape_3590_unsolicited_irq(device, irb); irb 1457 drivers/s390/char/tape_3590.c if ((irb->scsw.cmd.dstat & DEV_STAT_UNIT_EXCEP) && irb 1458 drivers/s390/char/tape_3590.c (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) && irb 1462 drivers/s390/char/tape_3590.c return tape_3590_erp_failed(device, request, irb, -ENOSPC); irb 1465 drivers/s390/char/tape_3590.c if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) irb 1466 drivers/s390/char/tape_3590.c return tape_3590_unit_check(device, request, irb); irb 1468 drivers/s390/char/tape_3590.c if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) { irb 1469 drivers/s390/char/tape_3590.c if (irb->scsw.cmd.dstat == DEV_STAT_UNIT_EXCEP) { irb 1479 drivers/s390/char/tape_3590.c if (irb->scsw.cmd.dstat & DEV_STAT_CHN_END) { irb 1484 drivers/s390/char/tape_3590.c if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { irb 1490 drivers/s390/char/tape_3590.c tape_dump_sense_dbf(device, request, irb); irb 34 drivers/s390/char/tape_core.c static void __tape_do_irq (struct ccw_device *, unsigned long, struct irb *); irb 914 drivers/s390/char/tape_core.c struct irb *irb) irb 924 drivers/s390/char/tape_core.c irb->scsw.cmd.dstat, irb->scsw.cmd.cstat); irb 926 drivers/s390/char/tape_core.c sptr = (unsigned int *) irb->ecw; irb 1100 drivers/s390/char/tape_core.c __tape_do_irq (struct ccw_device *cdev, unsigned long intparm, struct irb *irb) irb 1115 drivers/s390/char/tape_core.c if (IS_ERR(irb)) { irb 1117 drivers/s390/char/tape_core.c switch (PTR_ERR(irb)) { irb 1127 drivers/s390/char/tape_core.c device->cdev_id, PTR_ERR(irb)); irb 1139 drivers/s390/char/tape_core.c if (irb->scsw.cmd.cc != 0 && irb 1140 drivers/s390/char/tape_core.c (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) && irb 1143 drivers/s390/char/tape_core.c device->cdev_id, irb->scsw.cmd.cc, irb->scsw.cmd.fctl); irb 1151 drivers/s390/char/tape_core.c request->rescnt = irb->scsw.cmd.count; irb 1152 drivers/s390/char/tape_core.c else if ((irb->scsw.cmd.dstat == 0x85 || irb->scsw.cmd.dstat == 0x80) && irb 1167 drivers/s390/char/tape_core.c if (irb->scsw.cmd.dstat != 0x0c) { irb 1169 drivers/s390/char/tape_core.c if(*(((__u8 *) irb->ecw) + 1) & SENSE_DRIVE_ONLINE) irb 1179 drivers/s390/char/tape_core.c tape_dump_sense_dbf(device, request, irb); irb 1198 drivers/s390/char/tape_core.c rc = device->discipline->irq(device, request, irb); irb 683 drivers/s390/char/tty3270.c tty3270_irq(struct tty3270 *tp, struct raw3270_request *rq, struct irb *irb) irb 686 drivers/s390/char/tty3270.c if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { irb 694 drivers/s390/char/tty3270.c if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) { irb 700 drivers/s390/char/tty3270.c rq->rescnt = irb->scsw.cmd.count; irb 702 drivers/s390/char/tty3270.c } else if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) { irb 306 drivers/s390/char/vmur.c struct irb *irb) irb 310 drivers/s390/char/vmur.c if (!IS_ERR(irb)) { irb 312 drivers/s390/char/vmur.c intparm, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat, irb 313 drivers/s390/char/vmur.c irb->scsw.cmd.count); irb 322 drivers/s390/char/vmur.c if (IS_ERR(irb)) irb 323 drivers/s390/char/vmur.c urd->io_request_rc = PTR_ERR(irb); irb 324 drivers/s390/char/vmur.c else if (irb->scsw.cmd.dstat == (DEV_STAT_CHN_END | DEV_STAT_DEV_END)) irb 66 drivers/s390/cio/ccwreq.c memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); irb 89 drivers/s390/cio/ccwreq.c memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); irb 170 drivers/s390/cio/ccwreq.c static enum io_status ccwreq_status(struct ccw_device *cdev, struct irb *lcirb) irb 172 drivers/s390/cio/ccwreq.c struct irb *irb = &cdev->private->dma_area->irb; irb 173 drivers/s390/cio/ccwreq.c struct cmd_scsw *scsw = &irb->scsw.cmd; irb 186 drivers/s390/cio/ccwreq.c if (irb->esw.esw0.erw.cons) { irb 190 drivers/s390/cio/ccwreq.c CIO_HEX_EVENT(2, &cdev->private->dma_area->irb.ecw, irb 193 drivers/s390/cio/ccwreq.c if (irb->ecw[0] & SNS0_CMD_REJECT) irb 257 drivers/s390/cio/ccwreq.c struct irb *irb = this_cpu_ptr(&cio_irb); irb 263 drivers/s390/cio/ccwreq.c status = ccwreq_status(cdev, irb); irb 265 drivers/s390/cio/ccwreq.c status = req->filter(cdev, req->data, irb, status); irb 57 drivers/s390/cio/chsc_sch.c struct irb *irb = this_cpu_ptr(&cio_irb); irb 60 drivers/s390/cio/chsc_sch.c CHSC_LOG_HEX(4, irb, sizeof(*irb)); irb 70 drivers/s390/cio/chsc_sch.c memcpy(&request->irb, irb, sizeof(*irb)); irb 301 drivers/s390/cio/chsc_sch.c if (!(scsw_stctl(&request->irb.scsw) & SCSW_STCTL_STATUS_PEND)) irb 303 drivers/s390/cio/chsc_sch.c backed_up = scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHAIN_CHECK; irb 304 drivers/s390/cio/chsc_sch.c request->irb.scsw.cmd.cstat &= ~SCHN_STAT_CHAIN_CHECK; irb 305 drivers/s390/cio/chsc_sch.c if (scsw_cstat(&request->irb.scsw) == 0) irb 309 drivers/s390/cio/chsc_sch.c if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROG_CHECK) irb 311 drivers/s390/cio/chsc_sch.c if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROT_CHECK) irb 313 drivers/s390/cio/chsc_sch.c if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHN_DATA_CHK) irb 315 drivers/s390/cio/chsc_sch.c if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHN_CTRL_CHK) irb 7 drivers/s390/cio/chsc_sch.h struct irb irb; irb 50 drivers/s390/cio/cio.c DEFINE_PER_CPU_ALIGNED(struct irb, cio_irb); irb 413 drivers/s390/cio/cio.c struct irb irb; irb 438 drivers/s390/cio/cio.c if (tsch(sch->schid, &irb)) irb 536 drivers/s390/cio/cio.c struct irb *irb; irb 541 drivers/s390/cio/cio.c irb = this_cpu_ptr(&cio_irb); irb 546 drivers/s390/cio/cio.c tsch(tpi_info->schid, irb); irb 551 drivers/s390/cio/cio.c if (tsch(tpi_info->schid, irb) == 0) { irb 553 drivers/s390/cio/cio.c memcpy (&sch->schib.scsw, &irb->scsw, sizeof (irb->scsw)); irb 588 drivers/s390/cio/cio.c struct irb *irb; irb 591 drivers/s390/cio/cio.c irb = this_cpu_ptr(&cio_irb); irb 593 drivers/s390/cio/cio.c if (tsch(sch->schid, irb) != 0) irb 596 drivers/s390/cio/cio.c memcpy(&sch->schib.scsw, &irb->scsw, sizeof(union scsw)); irb 120 drivers/s390/cio/cio.h DECLARE_PER_CPU_ALIGNED(struct irb, cio_irb); irb 105 drivers/s390/cio/device.h void ccw_device_accumulate_irb(struct ccw_device *, struct irb *); irb 106 drivers/s390/cio/device.h void ccw_device_accumulate_basic_sense(struct ccw_device *, struct irb *); irb 107 drivers/s390/cio/device.h int ccw_device_accumulate_and_sense(struct ccw_device *, struct irb *); irb 108 drivers/s390/cio/device.h int ccw_device_do_sense(struct ccw_device *, struct irb *); irb 351 drivers/s390/cio/device_fsm.c memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); irb 465 drivers/s390/cio/device_fsm.c static void create_fake_irb(struct irb *irb, int type) irb 467 drivers/s390/cio/device_fsm.c memset(irb, 0, sizeof(*irb)); irb 469 drivers/s390/cio/device_fsm.c struct cmd_scsw *scsw = &irb->scsw.cmd; irb 475 drivers/s390/cio/device_fsm.c struct tm_scsw *scsw = &irb->scsw.tm; irb 518 drivers/s390/cio/device_fsm.c create_fake_irb(&cdev->private->dma_area->irb, irb 523 drivers/s390/cio/device_fsm.c &cdev->private->dma_area->irb); irb 524 drivers/s390/cio/device_fsm.c memset(&cdev->private->dma_area->irb, 0, irb 525 drivers/s390/cio/device_fsm.c sizeof(struct irb)); irb 682 drivers/s390/cio/device_fsm.c (scsw_stctl(&cdev->private->dma_area->irb.scsw) & irb 730 drivers/s390/cio/device_fsm.c stctl = scsw_stctl(&cdev->private->dma_area->irb.scsw); irb 746 drivers/s390/cio/device_fsm.c &cdev->private->dma_area->irb); irb 748 drivers/s390/cio/device_fsm.c memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); irb 758 drivers/s390/cio/device_fsm.c struct irb *irb; irb 761 drivers/s390/cio/device_fsm.c irb = this_cpu_ptr(&cio_irb); irb 762 drivers/s390/cio/device_fsm.c is_cmd = !scsw_is_tm(&irb->scsw); irb 764 drivers/s390/cio/device_fsm.c if (!scsw_is_solicited(&irb->scsw)) { irb 765 drivers/s390/cio/device_fsm.c if (is_cmd && (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) && irb 766 drivers/s390/cio/device_fsm.c !irb->esw.esw0.erw.cons) { irb 768 drivers/s390/cio/device_fsm.c if (ccw_device_do_sense(cdev, irb) != 0) irb 770 drivers/s390/cio/device_fsm.c memcpy(&cdev->private->dma_area->irb, irb, irb 771 drivers/s390/cio/device_fsm.c sizeof(struct irb)); irb 778 drivers/s390/cio/device_fsm.c cdev->handler (cdev, 0, irb); irb 784 drivers/s390/cio/device_fsm.c ccw_device_accumulate_irb(cdev, irb); irb 786 drivers/s390/cio/device_fsm.c if (ccw_device_do_sense(cdev, irb) == 0) { irb 827 drivers/s390/cio/device_fsm.c struct irb *irb; irb 829 drivers/s390/cio/device_fsm.c irb = this_cpu_ptr(&cio_irb); irb 831 drivers/s390/cio/device_fsm.c if (scsw_stctl(&irb->scsw) == irb 833 drivers/s390/cio/device_fsm.c if (scsw_cc(&irb->scsw) == 1) irb 835 drivers/s390/cio/device_fsm.c ccw_device_do_sense(cdev, irb); irb 842 drivers/s390/cio/device_fsm.c cdev->handler (cdev, 0, irb); irb 851 drivers/s390/cio/device_fsm.c if (scsw_fctl(&irb->scsw) & irb 854 drivers/s390/cio/device_fsm.c memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); irb 855 drivers/s390/cio/device_fsm.c ccw_device_accumulate_irb(cdev, irb); irb 859 drivers/s390/cio/device_fsm.c ccw_device_accumulate_basic_sense(cdev, irb); irb 862 drivers/s390/cio/device_fsm.c ccw_device_do_sense(cdev, irb); irb 148 drivers/s390/cio/device_id.c struct cmd_scsw *scsw = &cdev->private->dma_area->irb.scsw.cmd; irb 93 drivers/s390/cio/device_pgid.c struct irb *irb, enum io_status status) irb 96 drivers/s390/cio/device_pgid.c if (status == IO_STATUS_ERROR && irb->scsw.cmd.cstat == 0) irb 28 drivers/s390/cio/device_status.c ccw_device_msg_control_check(struct ccw_device *cdev, struct irb *irb) irb 33 drivers/s390/cio/device_status.c if (!scsw_is_valid_cstat(&irb->scsw) || irb 34 drivers/s390/cio/device_status.c !(scsw_cstat(&irb->scsw) & (SCHN_STAT_CHN_DATA_CHK | irb 43 drivers/s390/cio/device_status.c scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw)); irb 46 drivers/s390/cio/device_status.c CIO_HEX_EVENT(0, irb, sizeof(struct irb)); irb 75 drivers/s390/cio/device_status.c ccw_device_accumulate_ecw(struct ccw_device *cdev, struct irb *irb) irb 82 drivers/s390/cio/device_status.c cdev->private->dma_area->irb.scsw.cmd.ectl = 0; irb 83 drivers/s390/cio/device_status.c if ((irb->scsw.cmd.stctl & SCSW_STCTL_ALERT_STATUS) && irb 84 drivers/s390/cio/device_status.c !(irb->scsw.cmd.stctl & SCSW_STCTL_INTER_STATUS)) irb 85 drivers/s390/cio/device_status.c cdev->private->dma_area->irb.scsw.cmd.ectl = irb->scsw.cmd.ectl; irb 87 drivers/s390/cio/device_status.c if (!cdev->private->dma_area->irb.scsw.cmd.ectl) irb 90 drivers/s390/cio/device_status.c memcpy(&cdev->private->dma_area->irb.ecw, irb->ecw, sizeof(irb->ecw)); irb 97 drivers/s390/cio/device_status.c ccw_device_accumulate_esw_valid(struct irb *irb) irb 99 drivers/s390/cio/device_status.c if (!irb->scsw.cmd.eswf && irb 100 drivers/s390/cio/device_status.c (irb->scsw.cmd.stctl == SCSW_STCTL_STATUS_PEND)) irb 102 drivers/s390/cio/device_status.c if (irb->scsw.cmd.stctl == irb 104 drivers/s390/cio/device_status.c !(irb->scsw.cmd.actl & SCSW_ACTL_SUSPENDED)) irb 113 drivers/s390/cio/device_status.c ccw_device_accumulate_esw(struct ccw_device *cdev, struct irb *irb) irb 115 drivers/s390/cio/device_status.c struct irb *cdev_irb; irb 118 drivers/s390/cio/device_status.c if (!ccw_device_accumulate_esw_valid(irb)) irb 121 drivers/s390/cio/device_status.c cdev_irb = &cdev->private->dma_area->irb; irb 124 drivers/s390/cio/device_status.c cdev_irb->esw.esw1.lpum = irb->esw.esw1.lpum; irb 127 drivers/s390/cio/device_status.c if (irb->scsw.cmd.eswf) { irb 129 drivers/s390/cio/device_status.c sublog = &irb->esw.esw0.sublog; irb 136 drivers/s390/cio/device_status.c if (irb->scsw.cmd.cstat & (SCHN_STAT_CHN_DATA_CHK | irb 157 drivers/s390/cio/device_status.c if (irb->scsw.cmd.cstat & SCHN_STAT_INTF_CTRL_CHK) irb 158 drivers/s390/cio/device_status.c cdev_irb->esw.esw0.erw.cpt = irb->esw.esw0.erw.cpt; irb 160 drivers/s390/cio/device_status.c cdev_irb->esw.esw0.erw.fsavf = irb->esw.esw0.erw.fsavf; irb 163 drivers/s390/cio/device_status.c memcpy(cdev_irb->esw.esw0.faddr, irb->esw.esw0.faddr, irb 164 drivers/s390/cio/device_status.c sizeof (irb->esw.esw0.faddr)); irb 166 drivers/s390/cio/device_status.c cdev_irb->esw.esw0.erw.fsaf = irb->esw.esw0.erw.fsaf; irb 169 drivers/s390/cio/device_status.c cdev_irb->esw.esw0.erw.scavf = irb->esw.esw0.erw.scavf; irb 170 drivers/s390/cio/device_status.c if (irb->esw.esw0.erw.scavf) irb 172 drivers/s390/cio/device_status.c cdev_irb->esw.esw0.saddr = irb->esw.esw0.saddr; irb 178 drivers/s390/cio/device_status.c cdev_irb->esw.esw0.erw.auth = irb->esw.esw0.erw.auth; irb 180 drivers/s390/cio/device_status.c cdev_irb->esw.esw0.erw.pvrf = irb->esw.esw0.erw.pvrf; irb 181 drivers/s390/cio/device_status.c if (irb->esw.esw0.erw.pvrf) irb 184 drivers/s390/cio/device_status.c cdev_irb->esw.esw0.erw.cons = irb->esw.esw0.erw.cons; irb 185 drivers/s390/cio/device_status.c if (irb->esw.esw0.erw.cons) irb 186 drivers/s390/cio/device_status.c cdev_irb->esw.esw0.erw.scnt = irb->esw.esw0.erw.scnt; irb 193 drivers/s390/cio/device_status.c ccw_device_accumulate_irb(struct ccw_device *cdev, struct irb *irb) irb 195 drivers/s390/cio/device_status.c struct irb *cdev_irb; irb 202 drivers/s390/cio/device_status.c if (!(scsw_stctl(&irb->scsw) & SCSW_STCTL_STATUS_PEND)) irb 206 drivers/s390/cio/device_status.c ccw_device_msg_control_check(cdev, irb); irb 209 drivers/s390/cio/device_status.c if (scsw_is_valid_pno(&irb->scsw) && scsw_pno(&irb->scsw)) irb 212 drivers/s390/cio/device_status.c if (scsw_is_tm(&irb->scsw)) { irb 213 drivers/s390/cio/device_status.c memcpy(&cdev->private->dma_area->irb, irb, sizeof(struct irb)); irb 219 drivers/s390/cio/device_status.c if (!scsw_is_solicited(&irb->scsw)) irb 222 drivers/s390/cio/device_status.c cdev_irb = &cdev->private->dma_area->irb; irb 229 drivers/s390/cio/device_status.c if (irb->scsw.cmd.fctl & SCSW_FCTL_CLEAR_FUNC) irb 230 drivers/s390/cio/device_status.c memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); irb 233 drivers/s390/cio/device_status.c if (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) { irb 235 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.key = irb->scsw.cmd.key; irb 237 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.sctl = irb->scsw.cmd.sctl; irb 239 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.cc |= irb->scsw.cmd.cc; irb 241 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.fmt = irb->scsw.cmd.fmt; irb 243 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.pfch = irb->scsw.cmd.pfch; irb 245 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.isic = irb->scsw.cmd.isic; irb 247 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.alcc = irb->scsw.cmd.alcc; irb 249 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.ssi = irb->scsw.cmd.ssi; irb 253 drivers/s390/cio/device_status.c ccw_device_accumulate_ecw(cdev, irb); irb 256 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.fctl |= irb->scsw.cmd.fctl; irb 258 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.actl = irb->scsw.cmd.actl; irb 260 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.stctl |= irb->scsw.cmd.stctl; irb 265 drivers/s390/cio/device_status.c if ((irb->scsw.cmd.stctl & SCSW_STCTL_PRIM_STATUS) || irb 266 drivers/s390/cio/device_status.c ((irb->scsw.cmd.stctl == irb 268 drivers/s390/cio/device_status.c (irb->scsw.cmd.actl & SCSW_ACTL_DEVACT) && irb 269 drivers/s390/cio/device_status.c (irb->scsw.cmd.actl & SCSW_ACTL_SCHACT)) || irb 270 drivers/s390/cio/device_status.c (irb->scsw.cmd.actl & SCSW_ACTL_SUSPENDED)) irb 271 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.cpa = irb->scsw.cmd.cpa; irb 275 drivers/s390/cio/device_status.c if (irb->scsw.cmd.stctl & irb 278 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.dstat |= irb->scsw.cmd.dstat; irb 280 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.cstat |= irb->scsw.cmd.cstat; irb 282 drivers/s390/cio/device_status.c if ((irb->scsw.cmd.stctl & SCSW_STCTL_PRIM_STATUS) && irb 283 drivers/s390/cio/device_status.c (irb->scsw.cmd.cstat & ~(SCHN_STAT_PCI | SCHN_STAT_INCORR_LEN)) irb 285 drivers/s390/cio/device_status.c cdev_irb->scsw.cmd.count = irb->scsw.cmd.count; irb 288 drivers/s390/cio/device_status.c ccw_device_accumulate_esw(cdev, irb); irb 311 drivers/s390/cio/device_status.c ccw_device_do_sense(struct ccw_device *cdev, struct irb *irb) irb 320 drivers/s390/cio/device_status.c if (scsw_actl(&irb->scsw) & (SCSW_ACTL_DEVACT | SCSW_ACTL_SCHACT)) irb 334 drivers/s390/cio/device_status.c sense_ccw->cda = (__u32) __pa(cdev->private->dma_area->irb.ecw); irb 348 drivers/s390/cio/device_status.c ccw_device_accumulate_basic_sense(struct ccw_device *cdev, struct irb *irb) irb 355 drivers/s390/cio/device_status.c if (!(scsw_stctl(&irb->scsw) & SCSW_STCTL_STATUS_PEND)) irb 359 drivers/s390/cio/device_status.c ccw_device_msg_control_check(cdev, irb); irb 362 drivers/s390/cio/device_status.c if (scsw_is_valid_pno(&irb->scsw) && scsw_pno(&irb->scsw)) irb 365 drivers/s390/cio/device_status.c if (!(irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) && irb 366 drivers/s390/cio/device_status.c (irb->scsw.cmd.dstat & DEV_STAT_CHN_END)) { irb 367 drivers/s390/cio/device_status.c cdev->private->dma_area->irb.esw.esw0.erw.cons = 1; irb 371 drivers/s390/cio/device_status.c if (ccw_device_accumulate_esw_valid(irb) && irb 372 drivers/s390/cio/device_status.c irb->esw.esw0.erw.pvrf) irb 381 drivers/s390/cio/device_status.c ccw_device_accumulate_and_sense(struct ccw_device *cdev, struct irb *irb) irb 383 drivers/s390/cio/device_status.c ccw_device_accumulate_irb(cdev, irb); irb 384 drivers/s390/cio/device_status.c if ((irb->scsw.cmd.actl & (SCSW_ACTL_DEVACT | SCSW_ACTL_SCHACT)) != 0) irb 388 drivers/s390/cio/device_status.c !(irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK)) { irb 389 drivers/s390/cio/device_status.c cdev->private->dma_area->irb.esw.esw0.erw.cons = 1; irb 394 drivers/s390/cio/device_status.c ccw_device_do_sense(cdev, irb); irb 131 drivers/s390/cio/eadm_sch.c struct irb *irb = this_cpu_ptr(&cio_irb); irb 135 drivers/s390/cio/eadm_sch.c EADM_LOG_HEX(6, irb, sizeof(*irb)); irb 140 drivers/s390/cio/eadm_sch.c && scsw->eswf == 1 && irb->esw.eadm.erw.r) irb 150 drivers/s390/cio/eadm_sch.c EADM_LOG_HEX(1, irb, sizeof(*irb)); irb 83 drivers/s390/cio/io_sch.h enum io_status (*filter)(struct ccw_device *, void *, struct irb *, irb 126 drivers/s390/cio/io_sch.h struct irb irb; /* device status */ irb 71 drivers/s390/cio/ioasm.c static inline int __tsch(struct subchannel_id schid, struct irb *addr) irb 86 drivers/s390/cio/ioasm.c int tsch(struct subchannel_id schid, struct irb *addr) irb 18 drivers/s390/cio/ioasm.h int tsch(struct subchannel_id schid, struct irb *addr); irb 294 drivers/s390/cio/qdio.h void (*orig_handler) (struct ccw_device *, unsigned long, struct irb *); irb 393 drivers/s390/cio/qdio.h struct irb *irb); irb 943 drivers/s390/cio/qdio_main.c static void qdio_irq_check_sense(struct qdio_irq *irq_ptr, struct irb *irb) irb 945 drivers/s390/cio/qdio_main.c if (irb->esw.esw0.erw.cons) { irb 947 drivers/s390/cio/qdio_main.c DBF_ERROR_HEX(irb, 64); irb 948 drivers/s390/cio/qdio_main.c DBF_ERROR_HEX(irb->ecw, 64); irb 1044 drivers/s390/cio/qdio_main.c struct irb *irb) irb 1059 drivers/s390/cio/qdio_main.c if (IS_ERR(irb)) { irb 1065 drivers/s390/cio/qdio_main.c qdio_irq_check_sense(irq_ptr, irb); irb 1066 drivers/s390/cio/qdio_main.c cstat = irb->scsw.cmd.cstat; irb 1067 drivers/s390/cio/qdio_main.c dstat = irb->scsw.cmd.dstat; irb 107 drivers/s390/cio/trace.h TP_PROTO(struct subchannel_id schid, struct irb *irb, int cc), irb 108 drivers/s390/cio/trace.h TP_ARGS(schid, irb, cc), irb 113 drivers/s390/cio/trace.h __field_struct(struct irb, irb) irb 127 drivers/s390/cio/trace.h __entry->irb = *irb; irb 128 drivers/s390/cio/trace.h __entry->scsw_dcc = scsw_cc(&irb->scsw); irb 129 drivers/s390/cio/trace.h __entry->scsw_pno = scsw_pno(&irb->scsw); irb 130 drivers/s390/cio/trace.h __entry->scsw_fctl = scsw_fctl(&irb->scsw); irb 131 drivers/s390/cio/trace.h __entry->scsw_actl = scsw_actl(&irb->scsw); irb 132 drivers/s390/cio/trace.h __entry->scsw_stctl = scsw_stctl(&irb->scsw); irb 133 drivers/s390/cio/trace.h __entry->scsw_dstat = scsw_dstat(&irb->scsw); irb 134 drivers/s390/cio/trace.h __entry->scsw_cstat = scsw_cstat(&irb->scsw); irb 84 drivers/s390/cio/vfio_ccw_drv.c struct irb *irb; irb 88 drivers/s390/cio/vfio_ccw_drv.c irb = &private->irb; irb 90 drivers/s390/cio/vfio_ccw_drv.c is_final = !(scsw_actl(&irb->scsw) & irb 92 drivers/s390/cio/vfio_ccw_drv.c if (scsw_is_solicited(&irb->scsw)) { irb 93 drivers/s390/cio/vfio_ccw_drv.c cp_update_scsw(&private->cp, &irb->scsw); irb 98 drivers/s390/cio/vfio_ccw_drv.c memcpy(private->io_region->irb_area, irb, sizeof(*irb)); irb 355 drivers/s390/cio/vfio_ccw_fsm.c struct irb *irb = this_cpu_ptr(&cio_irb); irb 360 drivers/s390/cio/vfio_ccw_fsm.c memcpy(&private->irb, irb, sizeof(*irb)); irb 92 drivers/s390/cio/vfio_ccw_private.h struct irb irb; irb 263 drivers/s390/net/ctcm_fsms.c if (ch->irb->scsw.cmd.count != 0) irb 266 drivers/s390/net/ctcm_fsms.c CTCM_FUNTAIL, dev->name, ch->irb->scsw.cmd.count); irb 360 drivers/s390/net/ctcm_fsms.c int len = ch->max_bufsize - ch->irb->scsw.cmd.count; irb 1234 drivers/s390/net/ctcm_fsms.c if (ch->irb->scsw.cmd.count != 0) irb 1237 drivers/s390/net/ctcm_fsms.c CTCM_FUNTAIL, dev->name, ch->irb->scsw.cmd.count); irb 1388 drivers/s390/net/ctcm_fsms.c int len = ch->max_bufsize - ch->irb->scsw.cmd.count; irb 231 drivers/s390/net/ctcm_main.c kfree(ch->irb); irb 277 drivers/s390/net/ctcm_main.c static long ctcm_check_irb_error(struct ccw_device *cdev, struct irb *irb) irb 279 drivers/s390/net/ctcm_main.c if (!IS_ERR(irb)) irb 284 drivers/s390/net/ctcm_main.c PTR_ERR(irb), dev_name(&cdev->dev)); irb 286 drivers/s390/net/ctcm_main.c switch (PTR_ERR(irb)) { irb 299 drivers/s390/net/ctcm_main.c return PTR_ERR(irb); irb 1195 drivers/s390/net/ctcm_main.c unsigned long intparm, struct irb *irb) irb 1207 drivers/s390/net/ctcm_main.c if (ctcm_check_irb_error(cdev, irb)) irb 1212 drivers/s390/net/ctcm_main.c cstat = irb->scsw.cmd.cstat; irb 1213 drivers/s390/net/ctcm_main.c dstat = irb->scsw.cmd.dstat; irb 1251 drivers/s390/net/ctcm_main.c memcpy(ch->irb, irb, sizeof(struct irb)); irb 1254 drivers/s390/net/ctcm_main.c if (irb->scsw.cmd.cstat) { irb 1265 drivers/s390/net/ctcm_main.c if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) { irb 1266 drivers/s390/net/ctcm_main.c if ((irb->ecw[0] & ch->sense_rc) == 0) irb 1270 drivers/s390/net/ctcm_main.c CTCM_FUNTAIL, ch->id, irb->ecw[0], dstat); irb 1271 drivers/s390/net/ctcm_main.c ccw_unit_check(ch, irb->ecw[0]); irb 1274 drivers/s390/net/ctcm_main.c if (irb->scsw.cmd.dstat & DEV_STAT_BUSY) { irb 1275 drivers/s390/net/ctcm_main.c if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) irb 1281 drivers/s390/net/ctcm_main.c if (irb->scsw.cmd.dstat & DEV_STAT_ATTENTION) { irb 1285 drivers/s390/net/ctcm_main.c if ((irb->scsw.cmd.stctl & SCSW_STCTL_SEC_STATUS) || irb 1286 drivers/s390/net/ctcm_main.c (irb->scsw.cmd.stctl == SCSW_STCTL_STATUS_PEND) || irb 1287 drivers/s390/net/ctcm_main.c (irb->scsw.cmd.stctl == irb 1459 drivers/s390/net/ctcm_main.c ch->irb = kzalloc(sizeof(struct irb), GFP_KERNEL); irb 1460 drivers/s390/net/ctcm_main.c if (ch->irb == NULL) irb 1495 drivers/s390/net/ctcm_main.c kfree(ch->irb); irb 149 drivers/s390/net/ctcm_main.h struct irb *irb; irb 1282 drivers/s390/net/lcs.c lcs_check_irb_error(struct ccw_device *cdev, struct irb *irb) irb 1284 drivers/s390/net/lcs.c if (!IS_ERR(irb)) irb 1287 drivers/s390/net/lcs.c switch (PTR_ERR(irb)) { irb 1303 drivers/s390/net/lcs.c PTR_ERR(irb)); irb 1307 drivers/s390/net/lcs.c return PTR_ERR(irb); irb 1311 drivers/s390/net/lcs.c lcs_get_problem(struct ccw_device *cdev, struct irb *irb) irb 1316 drivers/s390/net/lcs.c sense = (char *) irb->ecw; irb 1317 drivers/s390/net/lcs.c cstat = irb->scsw.cmd.cstat; irb 1318 drivers/s390/net/lcs.c dstat = irb->scsw.cmd.dstat; irb 1362 drivers/s390/net/lcs.c lcs_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb) irb 1369 drivers/s390/net/lcs.c if (lcs_check_irb_error(cdev, irb)) irb 1378 drivers/s390/net/lcs.c cstat = irb->scsw.cmd.cstat; irb 1379 drivers/s390/net/lcs.c dstat = irb->scsw.cmd.dstat; irb 1381 drivers/s390/net/lcs.c LCS_DBF_TEXT_(5, trace, "%4x%4x", irb->scsw.cmd.cstat, irb 1382 drivers/s390/net/lcs.c irb->scsw.cmd.dstat); irb 1383 drivers/s390/net/lcs.c LCS_DBF_TEXT_(5, trace, "%4x%4x", irb->scsw.cmd.fctl, irb 1384 drivers/s390/net/lcs.c irb->scsw.cmd.actl); irb 1387 drivers/s390/net/lcs.c rc = lcs_get_problem(cdev, irb); irb 1404 drivers/s390/net/lcs.c (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) && irb 1405 drivers/s390/net/lcs.c (irb->scsw.cmd.cpa != 0)) { irb 1406 drivers/s390/net/lcs.c index = (struct ccw1 *) __va((addr_t) irb->scsw.cmd.cpa) irb 1408 drivers/s390/net/lcs.c if ((irb->scsw.cmd.actl & SCSW_ACTL_SUSPENDED) || irb 1409 drivers/s390/net/lcs.c (irb->scsw.cmd.cstat & SCHN_STAT_PCI)) irb 1420 drivers/s390/net/lcs.c if ((irb->scsw.cmd.dstat & DEV_STAT_DEV_END) || irb 1421 drivers/s390/net/lcs.c (irb->scsw.cmd.dstat & DEV_STAT_CHN_END) || irb 1422 drivers/s390/net/lcs.c (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK)) irb 1425 drivers/s390/net/lcs.c else if (irb->scsw.cmd.actl & SCSW_ACTL_SUSPENDED) irb 1428 drivers/s390/net/lcs.c if (irb->scsw.cmd.fctl & SCSW_FCTL_HALT_FUNC) { irb 1429 drivers/s390/net/lcs.c if (irb->scsw.cmd.cc != 0) { irb 1436 drivers/s390/net/lcs.c if (irb->scsw.cmd.fctl & SCSW_FCTL_CLEAR_FUNC) irb 887 drivers/s390/net/qeth_core_main.c struct irb *irb) irb 892 drivers/s390/net/qeth_core_main.c sense = (char *) irb->ecw; irb 893 drivers/s390/net/qeth_core_main.c cstat = irb->scsw.cmd.cstat; irb 894 drivers/s390/net/qeth_core_main.c dstat = irb->scsw.cmd.dstat; irb 905 drivers/s390/net/qeth_core_main.c 16, 1, irb, 64, 1); irb 935 drivers/s390/net/qeth_core_main.c struct irb *irb) irb 937 drivers/s390/net/qeth_core_main.c if (!IS_ERR(irb)) irb 940 drivers/s390/net/qeth_core_main.c switch (PTR_ERR(irb)) { irb 955 drivers/s390/net/qeth_core_main.c PTR_ERR(irb), CCW_DEVID(cdev)); irb 958 drivers/s390/net/qeth_core_main.c return PTR_ERR(irb); irb 963 drivers/s390/net/qeth_core_main.c struct irb *irb) irb 1007 drivers/s390/net/qeth_core_main.c rc = qeth_check_irb_error(card, cdev, irb); irb 1019 drivers/s390/net/qeth_core_main.c if (irb->scsw.cmd.fctl & (SCSW_FCTL_CLEAR_FUNC)) irb 1022 drivers/s390/net/qeth_core_main.c if (irb->scsw.cmd.fctl & (SCSW_FCTL_HALT_FUNC)) irb 1025 drivers/s390/net/qeth_core_main.c if (iob && (irb->scsw.cmd.fctl & (SCSW_FCTL_CLEAR_FUNC | irb 1031 drivers/s390/net/qeth_core_main.c cstat = irb->scsw.cmd.cstat; irb 1032 drivers/s390/net/qeth_core_main.c dstat = irb->scsw.cmd.dstat; irb 1037 drivers/s390/net/qeth_core_main.c if (irb->esw.esw0.erw.cons) { irb 1045 drivers/s390/net/qeth_core_main.c DUMP_PREFIX_OFFSET, 16, 1, irb, 32, 1); irb 1047 drivers/s390/net/qeth_core_main.c DUMP_PREFIX_OFFSET, 16, 1, irb->ecw, 32, 1); irb 1050 drivers/s390/net/qeth_core_main.c rc = qeth_get_problem(card, cdev, irb); irb 1063 drivers/s390/net/qeth_core_main.c if (irb->scsw.cmd.count > iob->length) { irb 1069 drivers/s390/net/qeth_core_main.c iob->length - irb->scsw.cmd.count); irb 1037 drivers/s390/virtio/virtio_ccw.c static int irb_is_error(struct irb *irb) irb 1039 drivers/s390/virtio/virtio_ccw.c if (scsw_cstat(&irb->scsw) != 0) irb 1041 drivers/s390/virtio/virtio_ccw.c if (scsw_dstat(&irb->scsw) & ~(DEV_STAT_CHN_END | DEV_STAT_DEV_END)) irb 1043 drivers/s390/virtio/virtio_ccw.c if (scsw_cc(&irb->scsw) != 0) irb 1100 drivers/s390/virtio/virtio_ccw.c struct irb *irb) irb 1109 drivers/s390/virtio/virtio_ccw.c if (IS_ERR(irb)) { irb 1110 drivers/s390/virtio/virtio_ccw.c vcdev->err = PTR_ERR(irb); irb 1117 drivers/s390/virtio/virtio_ccw.c (scsw_stctl(&irb->scsw) == irb 1121 drivers/s390/virtio/virtio_ccw.c if (irb_is_error(irb)) { irb 1123 drivers/s390/virtio/virtio_ccw.c if ((scsw_dstat(&irb->scsw) & DEV_STAT_UNIT_CHECK) && irb 1124 drivers/s390/virtio/virtio_ccw.c (irb->ecw[0] & SNS0_CMD_REJECT))