Lines Matching refs:irb
52 void dasd_int_handler(struct ccw_device *, unsigned long, struct irb *);
1579 static int dasd_check_hpf_error(struct irb *irb) in dasd_check_hpf_error() argument
1581 return (scsw_tm_is_valid_schxs(&irb->scsw) && in dasd_check_hpf_error()
1582 (irb->scsw.tm.sesq == SCSW_SESQ_DEV_NOFCX || in dasd_check_hpf_error()
1583 irb->scsw.tm.sesq == SCSW_SESQ_PATH_NOFCX)); in dasd_check_hpf_error()
1586 static int dasd_ese_needs_format(struct dasd_block *block, struct irb *irb) in dasd_ese_needs_format() argument
1599 sense = dasd_get_sense(irb); in dasd_ese_needs_format()
1605 scsw_cstat(&irb->scsw) == SCHN_STAT_INCORR_LEN; in dasd_ese_needs_format()
1620 struct irb *irb) in dasd_int_handler() argument
1632 if (IS_ERR(irb)) { in dasd_int_handler()
1633 switch (PTR_ERR(irb)) { in dasd_int_handler()
1651 PTR_ERR(irb)); in dasd_int_handler()
1660 !(scsw_dstat(&irb->scsw) == (DEV_STAT_CHN_END | DEV_STAT_DEV_END) && in dasd_int_handler()
1661 scsw_cstat(&irb->scsw) == 0)) { in dasd_int_handler()
1663 memcpy(&cqr->irb, irb, sizeof(*irb)); in dasd_int_handler()
1679 sense = dasd_get_sense(irb); in dasd_int_handler()
1698 device->discipline->dump_sense_dbf(device, irb, "int"); in dasd_int_handler()
1701 device->discipline->dump_sense(device, cqr, irb); in dasd_int_handler()
1702 device->discipline->check_for_device_change(device, cqr, irb); in dasd_int_handler()
1707 if (scsw_dstat(&irb->scsw) & DEV_STAT_ATTENTION) { in dasd_int_handler()
1711 irb->esw.esw1.lpum); in dasd_int_handler()
1727 if (dasd_ese_needs_format(cqr->block, irb)) { in dasd_int_handler()
1734 device->discipline->ese_read(cqr, irb); in dasd_int_handler()
1741 fcqr = device->discipline->ese_format(device, cqr, irb); in dasd_int_handler()
1765 scsw_fctl(&irb->scsw) & SCSW_FCTL_CLEAR_FUNC) { in dasd_int_handler()
1782 if (scsw_dstat(&irb->scsw) == (DEV_STAT_CHN_END | DEV_STAT_DEV_END) && in dasd_int_handler()
1783 scsw_cstat(&irb->scsw) == 0) { in dasd_int_handler()
1797 if (cqr->cpmode && dasd_check_hpf_error(irb) && in dasd_int_handler()
1799 device->discipline->handle_hpf_error(device, irb); in dasd_int_handler()
1831 enum uc_todo dasd_generic_uc_handler(struct ccw_device *cdev, struct irb *irb) in dasd_generic_uc_handler() argument
1846 device->discipline->dump_sense_dbf(device, irb, "uc"); in dasd_generic_uc_handler()
1847 device->discipline->check_for_device_change(device, NULL, irb); in dasd_generic_uc_handler()
2294 dasd_log_sense(cqr, &cqr->irb); in __dasd_sleep_on_erp()
2396 dasd_log_sense(maincqr, &maincqr->irb); in _dasd_sleep_on()
2474 sense = dasd_get_sense(&cqr->irb); in _dasd_sleep_on_queue()
2478 if (scsw_cstat(&cqr->irb.scsw) == 0x40 && in _dasd_sleep_on_queue()
2820 dasd_log_sense(cqr, &cqr->irb); in __dasd_process_block_ccw_queue()
4028 char *dasd_get_sense(struct irb *irb) in dasd_get_sense() argument
4033 if (scsw_is_tm(&irb->scsw) && (irb->scsw.tm.fcxs == 0x01)) { in dasd_get_sense()
4034 if (irb->scsw.tm.tcw) in dasd_get_sense()
4035 tsb = tcw_get_tsb(phys_to_virt(irb->scsw.tm.tcw)); in dasd_get_sense()
4048 } else if (irb->esw.esw0.erw.cons) { in dasd_get_sense()
4049 sense = irb->ecw; in dasd_get_sense()