diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_tmpl.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_tmpl.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_tmpl.c b/drivers/scsi/qla2xxx/qla_tmpl.c index 36935c9ed669..8a58ef3adab4 100644 --- a/drivers/scsi/qla2xxx/qla_tmpl.c +++ b/drivers/scsi/qla2xxx/qla_tmpl.c | |||
@@ -433,6 +433,18 @@ qla27xx_fwdt_entry_t263(struct scsi_qla_host *vha, | |||
433 | count++; | 433 | count++; |
434 | } | 434 | } |
435 | } | 435 | } |
436 | } else if (QLA_TGT_MODE_ENABLED() && | ||
437 | ent->t263.queue_type == T263_QUEUE_TYPE_ATIO) { | ||
438 | struct qla_hw_data *ha = vha->hw; | ||
439 | struct atio *atr = ha->tgt.atio_ring; | ||
440 | |||
441 | if (atr || !buf) { | ||
442 | length = ha->tgt.atio_q_length; | ||
443 | qla27xx_insert16(0, buf, len); | ||
444 | qla27xx_insert16(length, buf, len); | ||
445 | qla27xx_insertbuf(atr, length * sizeof(*atr), buf, len); | ||
446 | count++; | ||
447 | } | ||
436 | } else { | 448 | } else { |
437 | ql_dbg(ql_dbg_misc, vha, 0xd026, | 449 | ql_dbg(ql_dbg_misc, vha, 0xd026, |
438 | "%s: unknown queue %x\n", __func__, ent->t263.queue_type); | 450 | "%s: unknown queue %x\n", __func__, ent->t263.queue_type); |
@@ -676,6 +688,18 @@ qla27xx_fwdt_entry_t274(struct scsi_qla_host *vha, | |||
676 | count++; | 688 | count++; |
677 | } | 689 | } |
678 | } | 690 | } |
691 | } else if (QLA_TGT_MODE_ENABLED() && | ||
692 | ent->t274.queue_type == T274_QUEUE_TYPE_ATIO_SHAD) { | ||
693 | struct qla_hw_data *ha = vha->hw; | ||
694 | struct atio *atr = ha->tgt.atio_ring_ptr; | ||
695 | |||
696 | if (atr || !buf) { | ||
697 | qla27xx_insert16(0, buf, len); | ||
698 | qla27xx_insert16(1, buf, len); | ||
699 | qla27xx_insert32(ha->tgt.atio_q_in ? | ||
700 | readl(ha->tgt.atio_q_in) : 0, buf, len); | ||
701 | count++; | ||
702 | } | ||
679 | } else { | 703 | } else { |
680 | ql_dbg(ql_dbg_misc, vha, 0xd02f, | 704 | ql_dbg(ql_dbg_misc, vha, 0xd02f, |
681 | "%s: unknown queue %x\n", __func__, ent->t274.queue_type); | 705 | "%s: unknown queue %x\n", __func__, ent->t274.queue_type); |