Lines Matching refs:irb
340 memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb));
454 static void create_fake_irb(struct irb *irb, int type)
456 memset(irb, 0, sizeof(*irb));
458 struct cmd_scsw *scsw = &irb->scsw.cmd;
464 struct tm_scsw *scsw = &irb->scsw.tm;
505 /* Deliver fake irb to device driver, if needed. */
507 create_fake_irb(&cdev->private->dma_area->irb,
512 &cdev->private->dma_area->irb);
513 memset(&cdev->private->dma_area->irb, 0,
514 sizeof(struct irb));
671 (scsw_stctl(&cdev->private->dma_area->irb.scsw) &
719 stctl = scsw_stctl(&cdev->private->dma_area->irb.scsw);
735 &cdev->private->dma_area->irb);
737 memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb));
747 struct irb *irb;
750 irb = this_cpu_ptr(&cio_irb);
751 is_cmd = !scsw_is_tm(&irb->scsw);
753 if (!scsw_is_solicited(&irb->scsw)) {
754 if (is_cmd && (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) &&
755 !irb->esw.esw0.erw.cons) {
757 if (ccw_device_do_sense(cdev, irb) != 0)
759 memcpy(&cdev->private->dma_area->irb, irb,
760 sizeof(struct irb));
767 cdev->handler (cdev, 0, irb);
773 ccw_device_accumulate_irb(cdev, irb);
775 if (ccw_device_do_sense(cdev, irb) == 0) {
816 struct irb *irb;
818 irb = this_cpu_ptr(&cio_irb);
820 if (scsw_stctl(&irb->scsw) ==
822 if (scsw_cc(&irb->scsw) == 1)
824 ccw_device_do_sense(cdev, irb);
831 cdev->handler (cdev, 0, irb);
840 if (scsw_fctl(&irb->scsw) &
843 memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb));
844 ccw_device_accumulate_irb(cdev, irb);
847 /* Add basic sense info to irb. */
848 ccw_device_accumulate_basic_sense(cdev, irb);
851 ccw_device_do_sense(cdev, irb);