Lines Matching refs:irb

46 void dasd_int_handler(struct ccw_device *, unsigned long, struct irb *);
1580 static int dasd_check_hpf_error(struct irb *irb)
1582 return (scsw_tm_is_valid_schxs(&irb->scsw) &&
1583 (irb->scsw.tm.sesq == SCSW_SESQ_DEV_NOFCX ||
1584 irb->scsw.tm.sesq == SCSW_SESQ_PATH_NOFCX));
1587 static int dasd_ese_needs_format(struct dasd_block *block, struct irb *irb)
1600 sense = dasd_get_sense(irb);
1606 scsw_cstat(&irb->scsw) == SCHN_STAT_INCORR_LEN;
1621 struct irb *irb)
1633 if (IS_ERR(irb)) {
1634 switch (PTR_ERR(irb)) {
1652 PTR_ERR(irb));
1661 !(scsw_dstat(&irb->scsw) == (DEV_STAT_CHN_END | DEV_STAT_DEV_END) &&
1662 scsw_cstat(&irb->scsw) == 0)) {
1664 memcpy(&cqr->irb, irb, sizeof(*irb));
1680 sense = dasd_get_sense(irb);
1699 device->discipline->dump_sense_dbf(device, irb, "int");
1702 device->discipline->dump_sense(device, cqr, irb);
1703 device->discipline->check_for_device_change(device, cqr, irb);
1708 if (scsw_dstat(&irb->scsw) & DEV_STAT_ATTENTION) {
1712 irb->esw.esw1.lpum);
1728 if (dasd_ese_needs_format(cqr->block, irb)) {
1735 device->discipline->ese_read(cqr, irb);
1742 fcqr = device->discipline->ese_format(device, cqr, irb);
1766 scsw_fctl(&irb->scsw) & SCSW_FCTL_CLEAR_FUNC) {
1783 if (scsw_dstat(&irb->scsw) == (DEV_STAT_CHN_END | DEV_STAT_DEV_END) &&
1784 scsw_cstat(&irb->scsw) == 0) {
1798 if (cqr->cpmode && dasd_check_hpf_error(irb) &&
1800 device->discipline->handle_hpf_error(device, irb);
1832 enum uc_todo dasd_generic_uc_handler(struct ccw_device *cdev, struct irb *irb)
1847 device->discipline->dump_sense_dbf(device, irb, "uc");
1848 device->discipline->check_for_device_change(device, NULL, irb);
2287 dasd_log_sense(cqr, &cqr->irb);
2389 dasd_log_sense(maincqr, &maincqr->irb);
2467 sense = dasd_get_sense(&cqr->irb);
2471 if (scsw_cstat(&cqr->irb.scsw) == 0x40 &&
2812 dasd_log_sense(cqr, &cqr->irb);
4016 char *dasd_get_sense(struct irb *irb)
4021 if (scsw_is_tm(&irb->scsw) && (irb->scsw.tm.fcxs == 0x01)) {
4022 if (irb->scsw.tm.tcw)
4023 tsb = tcw_get_tsb(dma32_to_virt(irb->scsw.tm.tcw));
4036 } else if (irb->esw.esw0.erw.cons) {
4037 sense = irb->ecw;