aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_sup.c
diff options
context:
space:
mode:
authorAndrew Vasquez <andrew.vasquez@qlogic.com>2005-07-06 13:30:26 -0400
committerJames Bottomley <jejb@mulgrave.(none)>2005-07-14 10:54:46 -0400
commit3d71644cf952fd1157a13173237258422ba3c569 (patch)
tree1bae220781b973a9dca754a08aa7630e05ffc50e /drivers/scsi/qla2xxx/qla_sup.c
parentac96202ba096f8fc1ccaf45a2f159a52639ece29 (diff)
[SCSI] qla2xxx: Add ISP24xx definitions.
Add ISP24xx definitions. Add requisite structure definitions and #define's for ISP24xx support. Also drop volatile modifiers from device_reg_* register layouts as the members are never really accessed, only their offsets within the layout are used during reads and writes. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_sup.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_sup.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/scsi/qla2xxx/qla_sup.c b/drivers/scsi/qla2xxx/qla_sup.c
index 32583bbb487f..cf2a6bc444d2 100644
--- a/drivers/scsi/qla2xxx/qla_sup.c
+++ b/drivers/scsi/qla2xxx/qla_sup.c
@@ -38,7 +38,7 @@ void
38qla2x00_lock_nvram_access(scsi_qla_host_t *ha) 38qla2x00_lock_nvram_access(scsi_qla_host_t *ha)
39{ 39{
40 uint16_t data; 40 uint16_t data;
41 device_reg_t __iomem *reg = ha->iobase; 41 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
42 42
43 if (!IS_QLA2100(ha) && !IS_QLA2200(ha) && !IS_QLA2300(ha)) { 43 if (!IS_QLA2100(ha) && !IS_QLA2200(ha) && !IS_QLA2300(ha)) {
44 data = RD_REG_WORD(&reg->nvram); 44 data = RD_REG_WORD(&reg->nvram);
@@ -70,7 +70,7 @@ qla2x00_lock_nvram_access(scsi_qla_host_t *ha)
70void 70void
71qla2x00_unlock_nvram_access(scsi_qla_host_t *ha) 71qla2x00_unlock_nvram_access(scsi_qla_host_t *ha)
72{ 72{
73 device_reg_t __iomem *reg = ha->iobase; 73 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
74 74
75 if (!IS_QLA2100(ha) && !IS_QLA2200(ha) && !IS_QLA2300(ha)) { 75 if (!IS_QLA2100(ha) && !IS_QLA2200(ha) && !IS_QLA2300(ha)) {
76 WRT_REG_WORD(&reg->u.isp2300.host_semaphore, 0); 76 WRT_REG_WORD(&reg->u.isp2300.host_semaphore, 0);
@@ -85,11 +85,9 @@ qla2x00_unlock_nvram_access(scsi_qla_host_t *ha)
85void 85void
86qla2x00_release_nvram_protection(scsi_qla_host_t *ha) 86qla2x00_release_nvram_protection(scsi_qla_host_t *ha)
87{ 87{
88 device_reg_t __iomem *reg; 88 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
89 uint32_t word; 89 uint32_t word;
90 90
91 reg = ha->iobase;
92
93 /* Release NVRAM write protection. */ 91 /* Release NVRAM write protection. */
94 if (IS_QLA2322(ha) || IS_QLA6322(ha)) { 92 if (IS_QLA2322(ha) || IS_QLA6322(ha)) {
95 /* Write enable. */ 93 /* Write enable. */
@@ -161,7 +159,7 @@ qla2x00_write_nvram_word(scsi_qla_host_t *ha, uint32_t addr, uint16_t data)
161 int count; 159 int count;
162 uint16_t word; 160 uint16_t word;
163 uint32_t nv_cmd; 161 uint32_t nv_cmd;
164 device_reg_t __iomem *reg = ha->iobase; 162 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
165 163
166 qla2x00_nv_write(ha, NVR_DATA_OUT); 164 qla2x00_nv_write(ha, NVR_DATA_OUT);
167 qla2x00_nv_write(ha, 0); 165 qla2x00_nv_write(ha, 0);
@@ -223,7 +221,7 @@ static uint16_t
223qla2x00_nvram_request(scsi_qla_host_t *ha, uint32_t nv_cmd) 221qla2x00_nvram_request(scsi_qla_host_t *ha, uint32_t nv_cmd)
224{ 222{
225 uint8_t cnt; 223 uint8_t cnt;
226 device_reg_t __iomem *reg = ha->iobase; 224 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
227 uint16_t data = 0; 225 uint16_t data = 0;
228 uint16_t reg_data; 226 uint16_t reg_data;
229 227
@@ -265,7 +263,7 @@ qla2x00_nvram_request(scsi_qla_host_t *ha, uint32_t nv_cmd)
265static void 263static void
266qla2x00_nv_deselect(scsi_qla_host_t *ha) 264qla2x00_nv_deselect(scsi_qla_host_t *ha)
267{ 265{
268 device_reg_t __iomem *reg = ha->iobase; 266 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
269 267
270 WRT_REG_WORD(&reg->nvram, NVR_DESELECT); 268 WRT_REG_WORD(&reg->nvram, NVR_DESELECT);
271 RD_REG_WORD(&reg->nvram); /* PCI Posting. */ 269 RD_REG_WORD(&reg->nvram); /* PCI Posting. */
@@ -280,7 +278,7 @@ qla2x00_nv_deselect(scsi_qla_host_t *ha)
280static void 278static void
281qla2x00_nv_write(scsi_qla_host_t *ha, uint16_t data) 279qla2x00_nv_write(scsi_qla_host_t *ha, uint16_t data)
282{ 280{
283 device_reg_t __iomem *reg = ha->iobase; 281 struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
284 282
285 WRT_REG_WORD(&reg->nvram, data | NVR_SELECT | NVR_WRT_ENABLE); 283 WRT_REG_WORD(&reg->nvram, data | NVR_SELECT | NVR_WRT_ENABLE);
286 RD_REG_WORD(&reg->nvram); /* PCI Posting. */ 284 RD_REG_WORD(&reg->nvram); /* PCI Posting. */