diff options
author | Shyam Sundar <shyam.sundar@qlogic.com> | 2010-10-07 01:50:29 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-10-25 15:52:44 -0400 |
commit | 2657c800dbb24761097ef341dfa43672c08a7a9e (patch) | |
tree | 5c08d28f6d906671f07bff59b42588165ff93445 /drivers/scsi/qla4xxx/ql4_iocb.c | |
parent | 91a772a4b1840fea39f0377c2cbca4cfc5be05f9 (diff) |
[SCSI] qla4xxx: use CRB Register for Request Queue in-pointer
Switching from doorbell mechanism to CRB register based
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: Shyam Sundar <shyam.sundar@qlogic.com>
Signed-off-by: Ravi Anand <ravi.anand@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_iocb.c')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_iocb.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_iocb.c b/drivers/scsi/qla4xxx/ql4_iocb.c index 4ef9ba112ee8..5ae49fd87846 100644 --- a/drivers/scsi/qla4xxx/ql4_iocb.c +++ b/drivers/scsi/qla4xxx/ql4_iocb.c | |||
@@ -202,19 +202,11 @@ static void qla4xxx_build_scsi_iocbs(struct srb *srb, | |||
202 | void qla4_8xxx_queue_iocb(struct scsi_qla_host *ha) | 202 | void qla4_8xxx_queue_iocb(struct scsi_qla_host *ha) |
203 | { | 203 | { |
204 | uint32_t dbval = 0; | 204 | uint32_t dbval = 0; |
205 | unsigned long wtime; | ||
206 | 205 | ||
207 | dbval = 0x14 | (ha->func_num << 5); | 206 | dbval = 0x14 | (ha->func_num << 5); |
208 | dbval = dbval | (0 << 8) | (ha->request_in << 16); | 207 | dbval = dbval | (0 << 8) | (ha->request_in << 16); |
209 | writel(dbval, (unsigned long __iomem *)ha->nx_db_wr_ptr); | ||
210 | wmb(); | ||
211 | 208 | ||
212 | wtime = jiffies + (2 * HZ); | 209 | qla4_8xxx_wr_32(ha, ha->nx_db_wr_ptr, ha->request_in); |
213 | while (readl((void __iomem *)ha->nx_db_rd_ptr) != dbval && | ||
214 | !time_after_eq(jiffies, wtime)) { | ||
215 | writel(dbval, (unsigned long __iomem *)ha->nx_db_wr_ptr); | ||
216 | wmb(); | ||
217 | } | ||
218 | } | 210 | } |
219 | 211 | ||
220 | /** | 212 | /** |