diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2009-03-24 12:07:55 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-04-03 10:22:44 -0400 |
commit | 08029990b25b76b1bc167336358bd21812567f2a (patch) | |
tree | 87cb617366a61bd643818996cc6186e817e23b63 /drivers/scsi/qla2xxx/qla_isr.c | |
parent | 534841b3c110b0f149513c7695751879951d3f22 (diff) |
[SCSI] qla2xxx: Refactor request/response-queue register handling.
Original code used an overabundance of indirect pointers to
function helpers. Instead, the driver can exploit the immutable
properties of a queue's ISP-association and ID, which are both
known at queue initialization-time.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_isr.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_isr.c | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index f250e5b7897c..8e91f4aec977 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c | |||
@@ -1499,7 +1499,6 @@ qla24xx_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0) | |||
1499 | void | 1499 | void |
1500 | qla24xx_process_response_queue(struct rsp_que *rsp) | 1500 | qla24xx_process_response_queue(struct rsp_que *rsp) |
1501 | { | 1501 | { |
1502 | struct qla_hw_data *ha = rsp->hw; | ||
1503 | struct sts_entry_24xx *pkt; | 1502 | struct sts_entry_24xx *pkt; |
1504 | struct scsi_qla_host *vha; | 1503 | struct scsi_qla_host *vha; |
1505 | 1504 | ||
@@ -1553,7 +1552,7 @@ qla24xx_process_response_queue(struct rsp_que *rsp) | |||
1553 | } | 1552 | } |
1554 | 1553 | ||
1555 | /* Adjust ring index */ | 1554 | /* Adjust ring index */ |
1556 | ha->isp_ops->wrt_rsp_reg(ha, rsp->id, rsp->ring_index); | 1555 | WRT_REG_DWORD(rsp->rsp_q_out, rsp->ring_index); |
1557 | } | 1556 | } |
1558 | 1557 | ||
1559 | static void | 1558 | static void |
@@ -2117,18 +2116,3 @@ int qla25xx_request_irq(struct rsp_que *rsp) | |||
2117 | msix->rsp = rsp; | 2116 | msix->rsp = rsp; |
2118 | return ret; | 2117 | return ret; |
2119 | } | 2118 | } |
2120 | |||
2121 | void | ||
2122 | qla25xx_wrt_rsp_reg(struct qla_hw_data *ha, uint16_t id, uint16_t index) | ||
2123 | { | ||
2124 | device_reg_t __iomem *reg = (void *) ha->mqiobase + QLA_QUE_PAGE * id; | ||
2125 | WRT_REG_DWORD(®->isp25mq.rsp_q_out, index); | ||
2126 | } | ||
2127 | |||
2128 | void | ||
2129 | qla24xx_wrt_rsp_reg(struct qla_hw_data *ha, uint16_t id, uint16_t index) | ||
2130 | { | ||
2131 | device_reg_t __iomem *reg = (void *) ha->iobase; | ||
2132 | WRT_REG_DWORD(®->isp24.rsp_q_out, index); | ||
2133 | } | ||
2134 | |||