Lines Matching refs:irb
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
1369 if (lcs_check_irb_error(cdev, irb)) in lcs_irq()
1378 cstat = irb->scsw.cmd.cstat; in lcs_irq()
1379 dstat = irb->scsw.cmd.dstat; in lcs_irq()
1381 LCS_DBF_TEXT_(5, trace, "%4x%4x", irb->scsw.cmd.cstat, in lcs_irq()
1382 irb->scsw.cmd.dstat); in lcs_irq()
1383 LCS_DBF_TEXT_(5, trace, "%4x%4x", irb->scsw.cmd.fctl, in lcs_irq()
1384 irb->scsw.cmd.actl); in lcs_irq()
1387 rc = lcs_get_problem(cdev, irb); in lcs_irq()
1404 (irb->scsw.cmd.fctl & SCSW_FCTL_START_FUNC) && in lcs_irq()
1405 (irb->scsw.cmd.cpa != 0)) { in lcs_irq()
1406 index = (struct ccw1 *) __va((addr_t) irb->scsw.cmd.cpa) in lcs_irq()
1408 if ((irb->scsw.cmd.actl & SCSW_ACTL_SUSPENDED) || in lcs_irq()
1409 (irb->scsw.cmd.cstat & SCHN_STAT_PCI)) in lcs_irq()
1420 if ((irb->scsw.cmd.dstat & DEV_STAT_DEV_END) || in lcs_irq()
1421 (irb->scsw.cmd.dstat & DEV_STAT_CHN_END) || in lcs_irq()
1422 (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK)) in lcs_irq()
1425 else if (irb->scsw.cmd.actl & SCSW_ACTL_SUSPENDED) in lcs_irq()
1428 if (irb->scsw.cmd.fctl & SCSW_FCTL_HALT_FUNC) { in lcs_irq()
1429 if (irb->scsw.cmd.cc != 0) { in lcs_irq()
1436 if (irb->scsw.cmd.fctl & SCSW_FCTL_CLEAR_FUNC) in lcs_irq()