Message ID | 1482208424-12358-3-git-send-email-himanshu.madhani@cavium.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Mon, Dec 19, 2016 at 08:33:36PM -0800, Himanshu Madhani wrote: > Include ATIO queue for ISP27XX when firmware dump is collected > for target mode. > > Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com> > Signed-off-by: Giridhar Malavali <giridhar.malavali@cavium.com> > --- > drivers/scsi/qla2xxx/qla_tmpl.c | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/drivers/scsi/qla2xxx/qla_tmpl.c b/drivers/scsi/qla2xxx/qla_tmpl.c > index 36935c9..a38d38a6c 100644 > --- a/drivers/scsi/qla2xxx/qla_tmpl.c > +++ b/drivers/scsi/qla2xxx/qla_tmpl.c > @@ -433,6 +433,18 @@ static inline void (*qla27xx_read_vector(uint width))(void __iomem*, void *, ulo > count++; > } > } > + } else if (QLA_TGT_MODE_ENABLED() && > + (ent->t263.queue_type == T263_QUEUE_TYPE_ATIO)) { no real need for the inner braces here. > + } else if (QLA_TGT_MODE_ENABLED() && > + (ent->t274.queue_type == T274_QUEUE_TYPE_ATIO_SHAD)) { and here. Othrwise looks fine: Reviewed-by: Christoph Hellwig <hch@lst.de> -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/scsi/qla2xxx/qla_tmpl.c b/drivers/scsi/qla2xxx/qla_tmpl.c index 36935c9..a38d38a6c 100644 --- a/drivers/scsi/qla2xxx/qla_tmpl.c +++ b/drivers/scsi/qla2xxx/qla_tmpl.c @@ -433,6 +433,18 @@ static inline void (*qla27xx_read_vector(uint width))(void __iomem*, void *, ulo count++; } } + } else if (QLA_TGT_MODE_ENABLED() && + (ent->t263.queue_type == T263_QUEUE_TYPE_ATIO)) { + struct qla_hw_data *ha = vha->hw; + struct atio *atr = ha->tgt.atio_ring; + + if (atr || !buf) { + length = ha->tgt.atio_q_length; + qla27xx_insert16(0, buf, len); + qla27xx_insert16(length, buf, len); + qla27xx_insertbuf(atr, length * sizeof(*atr), buf, len); + count++; + } } else { ql_dbg(ql_dbg_misc, vha, 0xd026, "%s: unknown queue %x\n", __func__, ent->t263.queue_type); @@ -676,6 +688,18 @@ static inline void (*qla27xx_read_vector(uint width))(void __iomem*, void *, ulo count++; } } + } else if (QLA_TGT_MODE_ENABLED() && + (ent->t274.queue_type == T274_QUEUE_TYPE_ATIO_SHAD)) { + struct qla_hw_data *ha = vha->hw; + struct atio *atr = ha->tgt.atio_ring_ptr; + + if (atr || !buf) { + qla27xx_insert16(0, buf, len); + qla27xx_insert16(1, buf, len); + qla27xx_insert32(ha->tgt.atio_q_in ? + *ha->tgt.atio_q_in : 0, buf, len); + count++; + } } else { ql_dbg(ql_dbg_misc, vha, 0xd02f, "%s: unknown queue %x\n", __func__, ent->t274.queue_type);