| /linux/drivers/s390/cio/ |
| A D | device_status.c | 29 ccw_device_msg_control_check(struct ccw_device *cdev, struct irb *irb) in ccw_device_msg_control_check() argument 44 scsw_dstat(&irb->scsw), scsw_cstat(&irb->scsw)); in ccw_device_msg_control_check() 47 CIO_HEX_EVENT(0, irb, sizeof(struct irb)); in ccw_device_msg_control_check() 76 ccw_device_accumulate_ecw(struct ccw_device *cdev, struct irb *irb) in ccw_device_accumulate_ecw() argument 86 cdev->private->dma_area->irb.scsw.cmd.ectl = irb->scsw.cmd.ectl; in ccw_device_accumulate_ecw() 91 memcpy(&cdev->private->dma_area->irb.ecw, irb->ecw, sizeof(irb->ecw)); in ccw_device_accumulate_ecw() 98 ccw_device_accumulate_esw_valid(struct irb *irb) in ccw_device_accumulate_esw_valid() argument 210 if (scsw_is_valid_pno(&irb->scsw) && scsw_pno(&irb->scsw)) in ccw_device_accumulate_irb() 214 memcpy(&cdev->private->dma_area->irb, irb, sizeof(struct irb)); in ccw_device_accumulate_irb() 312 ccw_device_do_sense(struct ccw_device *cdev, struct irb *irb) in ccw_device_do_sense() argument [all …]
|
| A D | device_fsm.c | 340 memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); in ccw_device_done() 454 static void create_fake_irb(struct irb *irb, int type) in create_fake_irb() argument 456 memset(irb, 0, sizeof(*irb)); in create_fake_irb() 519 sizeof(struct irb)); in ccw_device_verify_done() 742 memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); in ccw_device_call_handler() 752 struct irb *irb; in ccw_device_irq() local 755 irb = this_cpu_ptr(&cio_irb); in ccw_device_irq() 764 memcpy(&cdev->private->dma_area->irb, irb, in ccw_device_irq() 821 struct irb *irb; in ccw_device_w4sense() local 845 if (scsw_fctl(&irb->scsw) & in ccw_device_w4sense() [all …]
|
| A D | ccwreq.c | 66 memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); in ccwreq_stop() 89 memset(&cdev->private->dma_area->irb, 0, sizeof(struct irb)); in ccwreq_do() 170 static enum io_status ccwreq_status(struct ccw_device *cdev, struct irb *lcirb) in ccwreq_status() 172 struct irb *irb = &cdev->private->dma_area->irb; in ccwreq_status() local 173 struct cmd_scsw *scsw = &irb->scsw.cmd; in ccwreq_status() 186 if (irb->esw.esw0.erw.cons) { in ccwreq_status() 190 CIO_HEX_EVENT(2, &cdev->private->dma_area->irb.ecw, in ccwreq_status() 193 if (irb->ecw[0] & SNS0_CMD_REJECT) in ccwreq_status() 257 struct irb *irb = this_cpu_ptr(&cio_irb); in ccw_request_handler() local 263 status = ccwreq_status(cdev, irb); in ccw_request_handler() [all …]
|
| A D | trace.h | 107 TP_PROTO(struct subchannel_id schid, struct irb *irb, int cc), 108 TP_ARGS(schid, irb, cc), 113 __field_struct(struct irb, irb) 127 __entry->irb = *irb; 128 __entry->scsw_dcc = scsw_cc(&irb->scsw); 129 __entry->scsw_pno = scsw_pno(&irb->scsw); 130 __entry->scsw_fctl = scsw_fctl(&irb->scsw); 131 __entry->scsw_actl = scsw_actl(&irb->scsw); 132 __entry->scsw_stctl = scsw_stctl(&irb->scsw); 133 __entry->scsw_dstat = scsw_dstat(&irb->scsw); [all …]
|
| A D | cio.c | 50 DEFINE_PER_CPU_ALIGNED(struct irb, cio_irb); 413 struct irb irb; in cio_commit_config() local 438 if (tsch(sch->schid, &irb)) in cio_commit_config() 536 struct irb *irb; in do_cio_interrupt() local 540 irb = this_cpu_ptr(&cio_irb); in do_cio_interrupt() 544 tsch(tpi_info->schid, irb); in do_cio_interrupt() 550 if (tsch(tpi_info->schid, irb) == 0) { in do_cio_interrupt() 552 memcpy (&sch->schib.scsw, &irb->scsw, sizeof (irb->scsw)); in do_cio_interrupt() 583 struct irb *irb; in cio_tsch() local 586 irb = this_cpu_ptr(&cio_irb); in cio_tsch() [all …]
|
| A D | device.h | 104 void ccw_device_accumulate_irb(struct ccw_device *, struct irb *); 105 void ccw_device_accumulate_basic_sense(struct ccw_device *, struct irb *); 106 int ccw_device_accumulate_and_sense(struct ccw_device *, struct irb *); 107 int ccw_device_do_sense(struct ccw_device *, struct irb *);
|
| A D | vfio_ccw_drv.c | 85 struct irb *irb; in vfio_ccw_sch_io_todo() local 90 irb = &private->irb; in vfio_ccw_sch_io_todo() 92 is_final = !(scsw_actl(&irb->scsw) & in vfio_ccw_sch_io_todo() 94 if (scsw_is_solicited(&irb->scsw)) { in vfio_ccw_sch_io_todo() 95 cp_update_scsw(&private->cp, &irb->scsw); in vfio_ccw_sch_io_todo() 102 memcpy(private->io_region->irb_area, irb, sizeof(*irb)); in vfio_ccw_sch_io_todo()
|
| A D | eadm_sch.c | 126 struct irb *irb = this_cpu_ptr(&cio_irb); in eadm_subchannel_irq() local 130 EADM_LOG_HEX(6, irb, sizeof(*irb)); in eadm_subchannel_irq() 135 && scsw->eswf == 1 && irb->esw.eadm.erw.r) in eadm_subchannel_irq() 145 EADM_LOG_HEX(1, irb, sizeof(*irb)); in eadm_subchannel_irq()
|
| A D | chsc_sch.h | 7 struct irb irb; member
|
| A D | chsc_sch.c | 58 struct irb *irb = this_cpu_ptr(&cio_irb); in chsc_subchannel_irq() local 61 CHSC_LOG_HEX(4, irb, sizeof(*irb)); in chsc_subchannel_irq() 71 memcpy(&request->irb, irb, sizeof(*irb)); in chsc_subchannel_irq() 267 if (!(scsw_stctl(&request->irb.scsw) & SCSW_STCTL_STATUS_PEND)) in chsc_examine_irb() 269 backed_up = scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb() 270 request->irb.scsw.cmd.cstat &= ~SCHN_STAT_CHAIN_CHECK; in chsc_examine_irb() 271 if (scsw_cstat(&request->irb.scsw) == 0) in chsc_examine_irb() 275 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROG_CHECK) in chsc_examine_irb() 277 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_PROT_CHECK) in chsc_examine_irb() 279 if (scsw_cstat(&request->irb.scsw) & SCHN_STAT_CHN_DATA_CHK) in chsc_examine_irb() [all …]
|
| A D | io_sch.h | 83 enum io_status (*filter)(struct ccw_device *, void *, struct irb *, 126 struct irb irb; /* device status */ member
|
| A D | qdio_main.c | 682 static void qdio_irq_check_sense(struct qdio_irq *irq_ptr, struct irb *irb) in qdio_irq_check_sense() argument 684 if (irb->esw.esw0.erw.cons) { in qdio_irq_check_sense() 686 DBF_ERROR_HEX(irb, 64); in qdio_irq_check_sense() 687 DBF_ERROR_HEX(irb->ecw, 64); in qdio_irq_check_sense() 750 struct irb *irb) in qdio_int_handler() argument 765 if (IS_ERR(irb)) { in qdio_int_handler() 771 qdio_irq_check_sense(irq_ptr, irb); in qdio_int_handler() 772 cstat = irb->scsw.cmd.cstat; in qdio_int_handler() 773 dstat = irb->scsw.cmd.dstat; in qdio_int_handler() 774 dcc = scsw_cmd_is_valid_cc(&irb->scsw) ? irb->scsw.cmd.cc : 0; in qdio_int_handler()
|
| /linux/drivers/s390/char/ |
| A D | tape_3590.c | 776 struct irb *irb, int rc) in tape_3590_erp_failed() argument 789 struct irb *irb) in tape_3590_erp_retry() argument 824 struct irb *irb, int rc) in tape_3590_erp_basic() argument 850 struct tape_request *request, struct irb *irb) in tape_3590_erp_read_buf_log() argument 864 struct irb *irb) in tape_3590_erp_swap() argument 882 struct tape_request *request, struct irb *irb) in tape_3590_erp_long_busy() argument 893 struct tape_request *request, struct irb *irb) in tape_3590_erp_special_interrupt() argument 933 struct tape_request *request, struct irb *irb) in tape_3590_erp_read_opposite() argument 1302 struct tape_request *request, struct irb *irb) in tape_3590_crypt_error() argument 1331 struct irb *irb) in tape_3590_unit_check() argument [all …]
|
| A D | tape_34xx.c | 222 tape_34xx_unsolicited_irq(struct tape_device *device, struct irb *irb) in tape_34xx_unsolicited_irq() argument 263 struct irb *irb, int no) in tape_34xx_erp_bug() argument 279 struct irb *irb) in tape_34xx_erp_overrun() argument 294 struct tape_request *request, struct irb *irb) in tape_34xx_erp_sequence() argument 318 struct irb *irb) in tape_34xx_unit_check() argument 324 sense = irb->ecw; in tape_34xx_unit_check() 422 irb, -4); in tape_34xx_unit_check() 436 irb, -5); in tape_34xx_unit_check() 466 irb, -6); in tape_34xx_unit_check() 665 irb, sense[3]); in tape_34xx_unit_check() [all …]
|
| A D | tape_core.c | 865 struct irb *irb) in tape_dump_sense_dbf() argument 875 irb->scsw.cmd.dstat, irb->scsw.cmd.cstat); in tape_dump_sense_dbf() 877 sptr = (unsigned int *) irb->ecw; in tape_dump_sense_dbf() 1051 __tape_do_irq (struct ccw_device *cdev, unsigned long intparm, struct irb *irb) in __tape_do_irq() argument 1066 if (IS_ERR(irb)) { in __tape_do_irq() 1068 switch (PTR_ERR(irb)) { in __tape_do_irq() 1090 if (irb->scsw.cmd.cc != 0 && in __tape_do_irq() 1094 device->cdev_id, irb->scsw.cmd.cc, irb->scsw.cmd.fctl); in __tape_do_irq() 1102 request->rescnt = irb->scsw.cmd.count; in __tape_do_irq() 1103 else if ((irb->scsw.cmd.dstat == 0x85 || irb->scsw.cmd.dstat == 0x80) && in __tape_do_irq() [all …]
|
| A D | vmur.c | 301 struct irb *irb) in ur_int_handler() argument 305 if (!IS_ERR(irb)) { in ur_int_handler() 307 intparm, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat, in ur_int_handler() 308 irb->scsw.cmd.count); in ur_int_handler() 314 if (scsw_dstat(&irb->scsw) & DEV_STAT_DEV_END) { in ur_int_handler() 326 if (IS_ERR(irb)) in ur_int_handler() 327 urd->io_request_rc = PTR_ERR(irb); in ur_int_handler() 328 else if (irb->scsw.cmd.dstat == (DEV_STAT_CHN_END | DEV_STAT_DEV_END)) in ur_int_handler()
|
| A D | raw3270.c | 340 static void raw3270_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb) in raw3270_irq() argument 352 if (!IS_ERR(irb)) { in raw3270_irq() 354 if (irb->scsw.cmd.dstat & DEV_STAT_DEV_END) in raw3270_irq() 356 if (irb->scsw.cmd.dstat == (DEV_STAT_CHN_END | in raw3270_irq() 361 if ((irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) && in raw3270_irq() 362 (irb->ecw[0] & SNS0_INTERVENTION_REQ)) { in raw3270_irq() 369 view->fn->intv(view, rq, irb); in raw3270_irq() 699 struct irb *irb) in raw3270_init_irq() argument 704 if (irb->scsw.cmd.dstat & DEV_STAT_UNIT_CHECK) { in raw3270_init_irq() 705 if (irb->ecw[0] & SNS0_CMD_REJECT) in raw3270_init_irq() [all …]
|
| /linux/drivers/s390/block/ |
| A D | dasd_fba.c | 232 struct irb *irb) in dasd_fba_check_for_device_change() argument 238 if ((irb->scsw.cmd.dstat & mask) == mask) in dasd_fba_check_for_device_change() 634 dasd_fba_dump_sense_dbf(struct dasd_device *device, struct irb *irb, in dasd_fba_dump_sense_dbf() argument 639 sense = (u64 *) dasd_get_sense(irb); in dasd_fba_dump_sense_dbf() 644 scsw_is_tm(&irb->scsw) ? "t" : "c", in dasd_fba_dump_sense_dbf() 645 scsw_cc(&irb->scsw), scsw_cstat(&irb->scsw), in dasd_fba_dump_sense_dbf() 646 scsw_dstat(&irb->scsw), sense[0], sense[1], in dasd_fba_dump_sense_dbf() 657 struct irb *irb) in dasd_fba_dump_sense() argument 674 req, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat); in dasd_fba_dump_sense() 677 if (irb->esw.esw0.erw.cons) { in dasd_fba_dump_sense() [all …]
|
| A D | dasd_erp.c | 161 dasd_log_sense(struct dasd_ccw_req *cqr, struct irb *irb) in dasd_log_sense() argument 178 device->discipline->dump_sense(device, cqr, irb); in dasd_log_sense() 182 dasd_log_sense_dbf(struct dasd_ccw_req *cqr, struct irb *irb) in dasd_log_sense_dbf() argument 189 device->discipline->dump_sense_dbf(device, irb, "log"); in dasd_log_sense_dbf()
|
| A D | dasd.c | 1580 static int dasd_check_hpf_error(struct irb *irb) in dasd_check_hpf_error() argument 1587 static int dasd_ese_needs_format(struct dasd_block *block, struct irb *irb) in dasd_ese_needs_format() argument 1627 struct irb *irb) in dasd_int_handler() argument 1639 if (IS_ERR(irb)) { in dasd_int_handler() 1658 PTR_ERR(irb)); in dasd_int_handler() 1670 memcpy(&cqr->irb, irb, sizeof(*irb)); in dasd_int_handler() 1839 enum uc_todo dasd_generic_uc_handler(struct ccw_device *cdev, struct irb *irb) in dasd_generic_uc_handler() argument 4026 char *dasd_get_sense(struct irb *irb) in dasd_get_sense() argument 4031 if (scsw_is_tm(&irb->scsw) && (irb->scsw.tm.fcxs == 0x01)) { in dasd_get_sense() 4032 if (irb->scsw.tm.tcw) in dasd_get_sense() [all …]
|
| A D | dasd_3990_erp.c | 153 ~(erp->irb.esw.esw0.sublog.lpum); in dasd_3990_erp_alternate_path() 155 erp->lpm &= ~(erp->irb.esw.esw0.sublog.lpum); in dasd_3990_erp_alternate_path() 1420 sense = dasd_get_sense(&erp->refers->irb); in dasd_3990_erp_inspect_alias() 1606 if (scsw_is_tm(&cqr->irb.scsw)) { in dasd_3990_erp_action_1B_32() 1761 if (scsw_is_tm(&cqr->irb.scsw)) { in dasd_3990_update_1B() 1780 cpa = previous_erp->irb.scsw.cmd.cpa; in dasd_3990_update_1B() 2300 sense = dasd_get_sense(&erp->refers->irb); in dasd_3990_erp_inspect() 2475 sense1 = dasd_get_sense(&cqr1->irb); in dasd_3990_erp_error_match() 2476 sense2 = dasd_get_sense(&cqr2->irb); in dasd_3990_erp_error_match() 2566 char *sense = dasd_get_sense(&erp->irb); in dasd_3990_erp_further_erp() [all …]
|
| A D | dasd_int.h | 148 struct irb irb; /* device status in case of an error */ member 369 struct irb *); 370 void (*dump_sense_dbf) (struct dasd_device *, struct irb *, char *); 373 struct irb *); 388 void (*handle_hpf_error)(struct dasd_device *, struct irb *); 410 struct dasd_ccw_req *, struct irb *); 411 int (*ese_read)(struct dasd_ccw_req *, struct irb *); 880 enum uc_todo dasd_generic_uc_handler(struct ccw_device *, struct irb *); 889 char *dasd_get_sense(struct irb *); 955 void dasd_log_sense(struct dasd_ccw_req *, struct irb *); [all …]
|
| A D | dasd_eckd.c | 2985 struct irb *irb) in dasd_eckd_format_process_data() argument 3068 memcpy(irb, &cqr->irb, sizeof(*irb)); in dasd_eckd_format_process_data() 3171 struct irb *irb) in dasd_eckd_ese_format() argument 3478 struct irb irb; in dasd_eckd_check_device_format() local 3584 struct irb *irb) in dasd_eckd_check_for_device_change() argument 5573 struct dasd_ccw_req *req, struct irb *irb) in dasd_eckd_dump_sense_ccw() argument 5614 irb->ecw[7] >> 4, irb->ecw[7] & 0x0f, in dasd_eckd_dump_sense_ccw() 5620 irb->ecw[6] & 0x0f, irb->ecw[22] >> 4); in dasd_eckd_dump_sense_ccw() 5665 struct dasd_ccw_req *req, struct irb *irb) in dasd_eckd_dump_sense_tcw() argument 5776 struct dasd_ccw_req *req, struct irb *irb) in dasd_eckd_dump_sense() argument [all …]
|
| /linux/drivers/s390/net/ |
| A D | ctcm_main.c | 231 kfree(ch->irb); in channel_remove() 277 static long ctcm_check_irb_error(struct ccw_device *cdev, struct irb *irb) in ctcm_check_irb_error() argument 279 if (!IS_ERR(irb)) in ctcm_check_irb_error() 286 switch (PTR_ERR(irb)) { in ctcm_check_irb_error() 299 return PTR_ERR(irb); in ctcm_check_irb_error() 1148 unsigned long intparm, struct irb *irb) in ctcm_irq_handler() argument 1204 memcpy(ch->irb, irb, sizeof(struct irb)); in ctcm_irq_handler() 1207 if (irb->scsw.cmd.cstat) { in ctcm_irq_handler() 1412 ch->irb = kzalloc(sizeof(struct irb), GFP_KERNEL); in add_channel() 1413 if (ch->irb == NULL) in add_channel() [all …]
|
| A D | lcs.c | 1276 lcs_check_irb_error(struct ccw_device *cdev, struct irb *irb) in lcs_check_irb_error() argument 1278 if (!IS_ERR(irb)) in lcs_check_irb_error() 1281 switch (PTR_ERR(irb)) { in lcs_check_irb_error() 1297 PTR_ERR(irb)); in lcs_check_irb_error() 1301 return PTR_ERR(irb); in lcs_check_irb_error() 1305 lcs_get_problem(struct ccw_device *cdev, struct irb *irb) in lcs_get_problem() argument 1310 sense = (char *) irb->ecw; in lcs_get_problem() 1311 cstat = irb->scsw.cmd.cstat; in lcs_get_problem() 1312 dstat = irb->scsw.cmd.dstat; in lcs_get_problem() 1356 lcs_irq(struct ccw_device *cdev, unsigned long intparm, struct irb *irb) in lcs_irq() argument [all …]
|