Lines Matching refs:dcb
229 struct DeviceCtlBlk *dcb;
269 struct list_head list; /* next/prev ptrs for the dcb list */
301 struct list_head dcb_list; /* head of going dcb list */
379 static u8 start_scsi(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
383 static void build_srb(struct scsi_cmnd *cmd, struct DeviceCtlBlk *dcb,
391 static void srb_done(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
393 static void request_sense(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
396 struct DeviceCtlBlk *dcb);
716 /* find supplied dcb and then select the next one */
735 static void free_tag(struct DeviceCtlBlk *dcb, struct ScsiReqBlk *srb)
738 dcb->tag_mask &= ~(1 << srb->tag_number); /* free tag mask */
774 struct DeviceCtlBlk *dcb;
789 * Find the starting dcb. Need to find it again in the list
792 list_for_each_entry(dcb, dcb_list_head, list)
793 if (dcb == acb->dcb_run_robin) {
794 start = dcb;
805 * Loop over the dcb, but we start somewhere (potentially) in
818 /* move to next dcb */
858 struct DeviceCtlBlk *dcb = srb->dcb;
860 if (dcb->max_command <= list_size(&dcb->srb_going_list) ||
863 list_add_tail(&srb->list, &dcb->srb_waiting_list);
868 if (!start_scsi(acb, dcb, srb)) {
869 list_add_tail(&srb->list, &dcb->srb_going_list);
871 list_add(&srb->list, &dcb->srb_waiting_list);
877 static void build_srb(struct scsi_cmnd *cmd, struct DeviceCtlBlk *dcb,
883 cmd, dcb->target_id, dcb->target_lun);
885 srb->dcb = dcb;
942 if (dcb->sync_period & WIDE_SYNC &&
948 srb->sg_bus_addr = dma_map_single(&dcb->acb->dev->dev,
980 struct DeviceCtlBlk *dcb;
1005 dcb = find_dcb(acb, cmd->device->id, cmd->device->lun);
1006 if (!dcb) {
1029 build_srb(cmd, dcb, srb);
1031 if (!list_empty(&dcb->srb_waiting_list)) {
1033 list_add_tail(&srb->list, &dcb->srb_waiting_list);
1056 struct DeviceCtlBlk *dcb, struct ScsiReqBlk *srb)
1061 if (!dcb)
1062 dcb = acb->active_dcb;
1063 if (!srb && dcb)
1064 srb = dcb->active_srb;
1137 struct DeviceCtlBlk *dcb;
1141 list_for_each_entry(dcb, &acb->dcb_list, list) {
1144 dcb->sync_mode &= ~(SYNC_NEGO_DONE + WIDE_NEGO_DONE);
1145 dcb->sync_period = 0;
1146 dcb->sync_offset = 0;
1148 dcb->dev_mode = eeprom->target[dcb->target_id].cfg0;
1149 period_index = eeprom->target[dcb->target_id].period & 0x07;
1150 dcb->min_nego_period = clock_period[period_index];
1151 if (!(dcb->dev_mode & NTC_DO_WIDE_NEGO)
1153 dcb->sync_mode &= ~WIDE_NEGO_ENABLE;
1233 struct DeviceCtlBlk *dcb;
1238 dcb = find_dcb(acb, cmd->device->id, cmd->device->lun);
1239 if (!dcb) {
1244 srb = find_cmd(cmd, &dcb->srb_waiting_list);
1249 free_tag(dcb, srb);
1255 srb = find_cmd(cmd, &dcb->srb_going_list);
1267 static void build_sdtr(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
1278 if (!(dcb->dev_mode & NTC_DO_SYNC_NEGO)) {
1279 dcb->sync_offset = 0;
1280 dcb->min_nego_period = 200 >> 2;
1281 } else if (dcb->sync_offset == 0)
1282 dcb->sync_offset = SYNC_NEGO_OFFSET;
1287 *ptr++ = dcb->min_nego_period; /* Transfer period (in 4ns) */
1288 *ptr++ = dcb->sync_offset; /* Transfer period (max. REQ/ACK dist) */
1295 static void build_wdtr(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
1298 u8 wide = ((dcb->dev_mode & NTC_DO_WIDE_NEGO) &
1356 static u8 start_scsi(struct AdapterCtlBlk* acb, struct DeviceCtlBlk* dcb,
1363 dcb->target_id, dcb->target_lun, srb);
1410 DC395x_write8(acb, TRM_S1040_SCSI_TARGETID, dcb->target_id);
1411 DC395x_write8(acb, TRM_S1040_SCSI_SYNC, dcb->sync_period);
1412 DC395x_write8(acb, TRM_S1040_SCSI_OFFSET, dcb->sync_offset);
1415 identify_message = dcb->identify_msg;
1424 && (((dcb->sync_mode & WIDE_NEGO_ENABLE)
1425 && !(dcb->sync_mode & WIDE_NEGO_DONE))
1426 || ((dcb->sync_mode & SYNC_NEGO_ENABLE)
1427 && !(dcb->sync_mode & SYNC_NEGO_DONE)))
1428 && (dcb->target_lun == 0)) {
1434 if (dcb->sync_mode & WIDE_NEGO_ENABLE
1435 && dcb->inquiry7 & SCSI_INQ_WBUS16) {
1436 build_wdtr(acb, dcb, srb);
1440 if (dcb->sync_mode & SYNC_NEGO_ENABLE
1441 && dcb->inquiry7 & SCSI_INQ_SYNC) {
1442 build_sdtr(acb, dcb, srb);
1445 if (dcb->sync_mode & WIDE_NEGO_ENABLE
1446 && dcb->inquiry7 & SCSI_INQ_WBUS16) {
1447 build_wdtr(acb, dcb, srb);
1458 if ((dcb->sync_mode & EN_TAG_QUEUEING)
1463 while (tag_mask & dcb->tag_mask
1464 && tag_number < dcb->max_command) {
1468 if (tag_number >= dcb->max_command) {
1481 dcb->tag_mask |= tag_mask;
1494 DC395x_write8(acb, TRM_S1040_SCSI_FIFO, (dcb->target_lun << 5));
1514 srb->cmd, dcb->target_id, dcb->target_lun);
1516 free_tag(dcb, srb);
1526 dcb->active_srb = srb;
1527 acb->active_dcb = dcb;
1566 struct DeviceCtlBlk *dcb;
1607 dcb = acb->active_dcb;
1608 if (!dcb) {
1614 srb = dcb->active_srb;
1615 if (dcb->flag & ABORT_DEV_) {
1762 struct DeviceCtlBlk *dcb;
1777 dcb = acb->active_dcb;
1779 DC395x_write8(acb, TRM_S1040_SCSI_FIFO, (dcb->target_lun << 5));
1839 dma_sync_single_for_cpu(&srb->dcb->acb->dev->dev,
1845 dma_sync_single_for_device(&srb->dcb->acb->dev->dev,
1905 struct DeviceCtlBlk *dcb = srb->dcb;
1951 if (dcb->sync_period & WIDE_SYNC)
1958 (dcb->sync_period & WIDE_SYNC) ? "words" : "bytes",
1981 if (d_left_counter == 1 && dcb->sync_period & WIDE_SYNC
2009 (dcb->sync_period & WIDE_SYNC) ? 2 : 1;
2109 << ((srb->dcb->sync_period & WIDE_SYNC) ? 1 :
2116 (srb->dcb->sync_period & WIDE_SYNC) ? "words" : "bytes",
2133 (srb->dcb->sync_period & WIDE_SYNC) ?
2136 if (srb->dcb->sync_period & WIDE_SYNC)
2177 if (fc == 0x40 && (srb->dcb->sync_period & WIDE_SYNC)) {
2214 if (srb->dcb->sync_period & WIDE_SYNC)
2270 struct DeviceCtlBlk *dcb = srb->dcb;
2293 dump_register_info(acb, dcb, srb);
2353 if (srb->dcb->sync_period & WIDE_SYNC)
2383 if (srb->dcb->sync_period & WIDE_SYNC) {
2410 if (dcb->sync_period & WIDE_SYNC) {
2493 srb->dcb->target_id, srb->dcb->target_lun);
2498 struct DeviceCtlBlk *dcb, u8 tag)
2505 if (!(dcb->tag_mask & (1 << tag)))
2508 dcb->tag_mask, tag);
2510 if (list_empty(&dcb->srb_going_list))
2512 list_for_each_entry(i, &dcb->srb_going_list, list) {
2522 srb->cmd, srb->dcb->target_id, srb->dcb->target_lun);
2523 if (dcb->flag & ABORT_DEV_) {
2531 memcpy(srb->msgin_buf, dcb->active_srb->msgin_buf, acb->msg_len);
2532 srb->state |= dcb->active_srb->state;
2534 dcb->active_srb = srb;
2541 dcb->active_srb = srb;
2551 struct DeviceCtlBlk *dcb)
2553 DC395x_write8(acb, TRM_S1040_SCSI_TARGETID, dcb->target_id);
2554 DC395x_write8(acb, TRM_S1040_SCSI_SYNC, dcb->sync_period);
2555 DC395x_write8(acb, TRM_S1040_SCSI_OFFSET, dcb->sync_offset);
2556 set_xfer_rate(acb, dcb);
2563 struct DeviceCtlBlk *dcb = srb->dcb;
2565 dcb->target_id, dcb->target_lun);
2567 dcb->sync_mode &= ~(SYNC_NEGO_ENABLE);
2568 dcb->sync_mode |= SYNC_NEGO_DONE;
2569 /*dcb->sync_period &= 0; */
2570 dcb->sync_offset = 0;
2571 dcb->min_nego_period = 200 >> 2; /* 200ns <=> 5 MHz */
2573 reprogram_regs(acb, dcb);
2574 if ((dcb->sync_mode & WIDE_NEGO_ENABLE)
2575 && !(dcb->sync_mode & WIDE_NEGO_DONE)) {
2576 build_wdtr(acb, dcb, srb);
2586 struct DeviceCtlBlk *dcb = srb->dcb;
2591 dcb->target_id, srb->msgin_buf[3] << 2,
2598 if (!(dcb->dev_mode & NTC_DO_SYNC_NEGO))
2599 dcb->sync_offset = 0;
2600 else if (dcb->sync_offset == 0)
2601 dcb->sync_offset = srb->msgin_buf[4];
2602 if (srb->msgin_buf[4] > dcb->sync_offset)
2603 srb->msgin_buf[4] = dcb->sync_offset;
2605 dcb->sync_offset = srb->msgin_buf[4];
2608 || dcb->min_nego_period >
2616 dcb->sync_period &= 0xf0;
2617 dcb->sync_period |= ALT_SYNC | bval;
2618 dcb->min_nego_period = srb->msgin_buf[3];
2620 if (dcb->sync_period & WIDE_SYNC)
2627 dcb->target_id, (fact == 500) ? "Wide16" : "",
2628 dcb->min_nego_period << 2, dcb->sync_offset,
2629 (fact / dcb->min_nego_period),
2630 ((fact % dcb->min_nego_period) * 10 +
2631 dcb->min_nego_period / 2) / dcb->min_nego_period);
2641 dcb->sync_mode |= SYNC_NEGO_DONE;
2643 if ((dcb->sync_mode & WIDE_NEGO_ENABLE)
2644 && !(dcb->sync_mode & WIDE_NEGO_DONE)) {
2645 build_wdtr(acb, dcb, srb);
2651 dcb->sync_mode |= SYNC_NEGO_DONE | SYNC_NEGO_ENABLE;
2653 reprogram_regs(acb, dcb);
2660 struct DeviceCtlBlk *dcb = srb->dcb;
2661 dprintkdbg(DBG_1, "msgin_set_nowide: <%02i>\n", dcb->target_id);
2663 dcb->sync_period &= ~WIDE_SYNC;
2664 dcb->sync_mode &= ~(WIDE_NEGO_ENABLE);
2665 dcb->sync_mode |= WIDE_NEGO_DONE;
2667 reprogram_regs(acb, dcb);
2668 if ((dcb->sync_mode & SYNC_NEGO_ENABLE)
2669 && !(dcb->sync_mode & SYNC_NEGO_DONE)) {
2670 build_sdtr(acb, dcb, srb);
2678 struct DeviceCtlBlk *dcb = srb->dcb;
2679 u8 wide = (dcb->dev_mode & NTC_DO_WIDE_NEGO
2681 dprintkdbg(DBG_1, "msgin_set_wide: <%02i>\n", dcb->target_id);
2689 dcb->target_id);
2696 dcb->sync_mode |= (WIDE_NEGO_ENABLE | WIDE_NEGO_DONE);
2698 dcb->sync_period |= WIDE_SYNC;
2700 dcb->sync_period &= ~WIDE_SYNC;
2702 /*dcb->sync_mode &= ~(WIDE_NEGO_ENABLE+WIDE_NEGO_DONE); */
2705 (8 << srb->msgin_buf[3]), dcb->target_id);
2706 reprogram_regs(acb, dcb);
2707 if ((dcb->sync_mode & SYNC_NEGO_ENABLE)
2708 && !(dcb->sync_mode & SYNC_NEGO_DONE)) {
2709 build_sdtr(acb, dcb, srb);
2731 struct DeviceCtlBlk *dcb = acb->active_dcb;
2746 msgin_qtag(acb, dcb,
2810 srb->cmd, dcb->target_id,
2811 dcb->target_lun);
2812 dcb->flag |= ABORT_DEV_;
2821 srb->msgout_buf[0] = dcb->identify_msg;
2867 static void set_xfer_rate(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb)
2872 if (dcb->identify_msg & 0x07)
2876 current_sync_offset = dcb->sync_offset;
2881 if (i->target_id == dcb->target_id) {
2882 i->sync_period = dcb->sync_period;
2883 i->sync_offset = dcb->sync_offset;
2884 i->sync_mode = dcb->sync_mode;
2885 i->min_nego_period = dcb->min_nego_period;
2892 struct DeviceCtlBlk *dcb = acb->active_dcb;
2895 if (!dcb) {
2906 srb = dcb->active_srb;
2916 dcb->target_id, dcb->target_lun);
2920 dcb->flag &= ~ABORT_DEV_;
2946 dcb->target_id, dcb->target_lun);
2953 free_tag(dcb, srb);
2954 list_move(&srb->list, &dcb->srb_waiting_list);
2977 free_tag(dcb, srb);
2978 dcb->active_srb = NULL;
2980 srb_done(acb, dcb, srb);
2988 struct DeviceCtlBlk *dcb = acb->active_dcb;
2999 if (dcb) { /* Arbitration lost but Reselection win */
3000 srb = dcb->active_srb;
3011 srb->cmd, dcb->target_id,
3012 dcb->target_lun, rsel_tar_lun_id,
3018 free_tag(dcb, srb);
3019 list_move(&srb->list, &dcb->srb_waiting_list);
3031 dcb = find_dcb(acb, id, lun);
3032 if (!dcb) {
3038 acb->active_dcb = dcb;
3040 if (!(dcb->dev_mode & NTC_DO_DISCONNECT))
3043 dcb->target_id, dcb->target_lun);
3045 if (dcb->sync_mode & EN_TAG_QUEUEING /*&& !arblostflag */) {
3047 dcb->active_srb = srb;
3050 srb = dcb->active_srb;
3057 dcb->target_id, dcb->target_lun);
3060 dcb->active_srb = srb;
3063 if (dcb->flag & ABORT_DEV_) {
3074 dprintkdbg(DBG_0, "reselect: select <%i>\n", dcb->target_id);
3076 DC395x_write8(acb, TRM_S1040_SCSI_TARGETID, dcb->target_id); /* target ID */
3077 DC395x_write8(acb, TRM_S1040_SCSI_OFFSET, dcb->sync_offset); /* offset */
3078 DC395x_write8(acb, TRM_S1040_SCSI_SYNC, dcb->sync_period); /* sync period, wide */
3101 static void disc_tagq_set(struct DeviceCtlBlk *dcb, struct ScsiInqData *ptr)
3106 && (dcb->dev_mode & NTC_DO_TAG_QUEUEING) &&
3107 /*(dcb->dev_mode & NTC_DO_DISCONNECT) */
3108 /* ((dcb->dev_type == TYPE_DISK)
3109 || (dcb->dev_type == TYPE_MOD)) && */
3111 if (dcb->max_command == 1)
3112 dcb->max_command =
3113 dcb->acb->tag_max_num;
3114 dcb->sync_mode |= EN_TAG_QUEUEING;
3115 /*dcb->tag_mask = 0; */
3117 dcb->max_command = 1;
3122 static void add_dev(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
3126 dcb->dev_type = bval1;
3128 disc_tagq_set(dcb, ptr);
3176 static void srb_done(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
3204 cmd->cmnd[0], dcb->target_id,
3205 dcb->target_lun, status, acb->scan_devices);
3210 cmd->cmnd[0], dcb->target_id,
3211 dcb->target_lun, status, acb->scan_devices);
3216 cmd->cmnd[0], dcb->target_id,
3217 dcb->target_lun, status, acb->scan_devices);
3222 cmd->cmnd[0], dcb->target_id,
3223 dcb->target_lun, status, acb->scan_devices);
3228 cmd->cmnd[0], dcb->target_id,
3229 dcb->target_lun, status, acb->scan_devices);
3271 request_sense(acb, dcb, srb);
3274 tempcnt = (u8)list_size(&dcb->srb_going_list);
3276 dcb->target_id, dcb->target_lun, tempcnt);
3279 dcb->max_command = tempcnt;
3280 free_tag(dcb, srb);
3281 list_move(&srb->list, &dcb->srb_waiting_list);
3337 dcb->inquiry7 = ptr->Flags;
3343 if (!dcb->init_tcq_flag) {
3344 add_dev(acb, dcb, ptr);
3345 dcb->init_tcq_flag = 1;
3384 struct DeviceCtlBlk *dcb;
3387 list_for_each_entry(dcb, &acb->dcb_list, list) {
3392 list_for_each_entry_safe(srb, tmp, &dcb->srb_going_list, list) {
3402 free_tag(dcb, srb);
3413 if (!list_empty(&dcb->srb_going_list))
3416 dcb->target_id, dcb->target_lun);
3417 if (dcb->tag_mask)
3420 dcb->target_id, dcb->target_lun,
3421 dcb->tag_mask);
3424 list_for_each_entry_safe(srb, tmp, &dcb->srb_waiting_list, list) {
3441 if (!list_empty(&dcb->srb_waiting_list))
3443 list_size(&dcb->srb_waiting_list), dcb->target_id,
3444 dcb->target_lun);
3445 dcb->flag &= ~ABORT_DEV_;
3533 static void request_sense(struct AdapterCtlBlk *acb, struct DeviceCtlBlk *dcb,
3566 if (start_scsi(acb, dcb, srb)) { /* Should only happen, if sb. else grabs the bus */
3569 srb->cmd, dcb->target_id, dcb->target_lun);
3570 list_move(&srb->list, &dcb->srb_waiting_list);
3594 struct DeviceCtlBlk *dcb;
3596 dcb = kmalloc(sizeof(struct DeviceCtlBlk), GFP_ATOMIC);
3598 if (!dcb)
3600 dcb->acb = NULL;
3601 INIT_LIST_HEAD(&dcb->srb_going_list);
3602 INIT_LIST_HEAD(&dcb->srb_waiting_list);
3603 dcb->active_srb = NULL;
3604 dcb->tag_mask = 0;
3605 dcb->max_command = 1;
3606 dcb->target_id = target;
3607 dcb->target_lun = lun;
3608 dcb->dev_mode = eeprom->target[target].cfg0;
3610 dcb->identify_msg =
3611 IDENTIFY(dcb->dev_mode & NTC_DO_DISCONNECT, lun);
3613 dcb->identify_msg = IDENTIFY(0, lun);
3615 dcb->inquiry7 = 0;
3616 dcb->sync_mode = 0;
3617 dcb->min_nego_period = clock_period[period_index];
3618 dcb->sync_period = 0;
3619 dcb->sync_offset = 0;
3620 dcb->flag = 0;
3623 if ((dcb->dev_mode & NTC_DO_WIDE_NEGO)
3625 dcb->sync_mode |= WIDE_NEGO_ENABLE;
3628 if (dcb->dev_mode & NTC_DO_SYNC_NEGO)
3630 dcb->sync_mode |= SYNC_NEGO_ENABLE;
3632 if (dcb->target_lun != 0) {
3637 if (iter->target_id == dcb->target_id) {
3643 kfree(dcb);
3649 dcb->target_id, dcb->target_lun,
3651 dcb->sync_mode = p->sync_mode;
3652 dcb->sync_period = p->sync_period;
3653 dcb->min_nego_period = p->min_nego_period;
3654 dcb->sync_offset = p->sync_offset;
3655 dcb->inquiry7 = p->inquiry7;
3657 return dcb;
3665 * @dcb: A newly created and initialised device instance to add.
3668 struct DeviceCtlBlk *dcb)
3671 dcb->acb = acb;
3675 acb->dcb_run_robin = dcb;
3678 list_add_tail(&dcb->list, &acb->dcb_list);
3681 acb->dcb_map[dcb->target_id] |= (1 << dcb->target_lun);
3682 acb->children[dcb->target_id][dcb->target_lun] = dcb;
3693 * @dcb: A device that has previously been added to the adapter.
3696 struct DeviceCtlBlk *dcb)
3701 dcb->target_id, dcb->target_lun);
3704 if (acb->active_dcb == dcb)
3706 if (acb->dcb_run_robin == dcb)
3707 acb->dcb_run_robin = dcb_get_next(&acb->dcb_list, dcb);
3711 if (dcb == i) {
3717 acb->dcb_map[dcb->target_id] &= ~(1 << dcb->target_lun);
3718 acb->children[dcb->target_id][dcb->target_lun] = NULL;
3719 dcb->acb = NULL;
3728 * @dcb: A device that has previously been added to the adapter.
3731 struct DeviceCtlBlk *dcb)
3733 if (list_size(&dcb->srb_going_list) > 1) {
3736 dcb->target_id, dcb->target_lun,
3737 list_size(&dcb->srb_going_list));
3740 adapter_remove_device(acb, dcb);
3741 kfree(dcb);
3753 struct DeviceCtlBlk *dcb;
3758 list_for_each_entry_safe(dcb, tmp, &acb->dcb_list, list)
3759 adapter_remove_and_free_device(acb, dcb);
3773 struct DeviceCtlBlk *dcb;
3775 dcb = device_alloc(acb, scsi_device->id, scsi_device->lun);
3776 if (!dcb)
3778 adapter_add_device(acb, dcb);
3793 struct DeviceCtlBlk *dcb = find_dcb(acb, scsi_device->id, scsi_device->lun);
3794 if (dcb)
3795 adapter_remove_and_free_device(acb, dcb);
4410 "size{acb=0x%04x dcb=0x%04x srb=0x%04x}\n",
4489 struct DeviceCtlBlk *dcb;
4523 list_for_each_entry(dcb, &acb->dcb_list, list) {
4525 seq_printf(m, "%02i %02i %02i ", dev, dcb->target_id,
4526 dcb->target_lun);
4527 YESNO(dcb->dev_mode & NTC_DO_PARITY_CHK);
4528 YESNO(dcb->sync_offset);
4529 YESNO(dcb->sync_period & WIDE_SYNC);
4530 YESNO(dcb->dev_mode & NTC_DO_DISCONNECT);
4531 YESNO(dcb->dev_mode & NTC_DO_SEND_START);
4532 YESNO(dcb->sync_mode & EN_TAG_QUEUEING);
4533 nego_period = clock_period[dcb->sync_period & 0x07] << 2;
4534 if (dcb->sync_offset)
4537 seq_printf(m, " (%03i ns)", (dcb->min_nego_period << 2));
4539 if (dcb->sync_offset & 0x0f) {
4544 (dcb->sync_offset & 0x0f));
4549 seq_printf(m, " %02i\n", dcb->max_command);
4558 list_for_each_entry(dcb, &acb->dcb_list, list) {
4560 if (!list_empty(&dcb->srb_waiting_list))
4562 dcb->target_id, dcb->target_lun,
4563 list_size(&dcb->srb_waiting_list));
4564 list_for_each_entry(srb, &dcb->srb_waiting_list, list)
4566 if (!list_empty(&dcb->srb_going_list))
4568 dcb->target_id, dcb->target_lun,
4569 list_size(&dcb->srb_going_list));
4570 list_for_each_entry(srb, &dcb->srb_going_list, list)
4572 if (!list_empty(&dcb->srb_waiting_list) || !list_empty(&dcb->srb_going_list))
4578 list_for_each_entry(dcb, &acb->dcb_list, list) {
4579 seq_printf(m, "%p -> ", dcb);