mirror of
https://github.com/SCST-project/scst.git
synced 2026-07-25 01:23:14 +00:00
qla2xxx: Change {RD,WRT}_REG_*() function names from upper case into lower case
This was suggested by Daniel Wagner. [ commit 04474d3a1c968119e7214c312b273dee01258cad upstream ] git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@8970 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
+291
-291
File diff suppressed because it is too large
Load Diff
+13
-13
@@ -150,47 +150,47 @@ static inline uint32_t make_handle(uint16_t x, uint16_t y)
|
||||
* I/O register
|
||||
*/
|
||||
|
||||
static inline u8 RD_REG_BYTE(const volatile u8 __iomem *addr)
|
||||
static inline u8 rd_reg_byte(const volatile u8 __iomem *addr)
|
||||
{
|
||||
return readb(addr);
|
||||
}
|
||||
|
||||
static inline u16 RD_REG_WORD(const volatile __le16 __iomem *addr)
|
||||
static inline u16 rd_reg_word(const volatile __le16 __iomem *addr)
|
||||
{
|
||||
return readw(addr);
|
||||
}
|
||||
|
||||
static inline u32 RD_REG_DWORD(const volatile __le32 __iomem *addr)
|
||||
static inline u32 rd_reg_dword(const volatile __le32 __iomem *addr)
|
||||
{
|
||||
return readl(addr);
|
||||
}
|
||||
|
||||
static inline u8 RD_REG_BYTE_RELAXED(const volatile u8 __iomem *addr)
|
||||
static inline u8 rd_reg_byte_relaxed(const volatile u8 __iomem *addr)
|
||||
{
|
||||
return readb_relaxed(addr);
|
||||
}
|
||||
|
||||
static inline u16 RD_REG_WORD_RELAXED(const volatile __le16 __iomem *addr)
|
||||
static inline u16 rd_reg_word_relaxed(const volatile __le16 __iomem *addr)
|
||||
{
|
||||
return readw_relaxed(addr);
|
||||
}
|
||||
|
||||
static inline u32 RD_REG_DWORD_RELAXED(const volatile __le32 __iomem *addr)
|
||||
static inline u32 rd_reg_dword_relaxed(const volatile __le32 __iomem *addr)
|
||||
{
|
||||
return readl_relaxed(addr);
|
||||
}
|
||||
|
||||
static inline void WRT_REG_BYTE(volatile u8 __iomem *addr, u8 data)
|
||||
static inline void wrt_reg_byte(volatile u8 __iomem *addr, u8 data)
|
||||
{
|
||||
return writeb(data, addr);
|
||||
}
|
||||
|
||||
static inline void WRT_REG_WORD(volatile __le16 __iomem *addr, u16 data)
|
||||
static inline void wrt_reg_word(volatile __le16 __iomem *addr, u16 data)
|
||||
{
|
||||
return writew(data, addr);
|
||||
}
|
||||
|
||||
static inline void WRT_REG_DWORD(volatile __le32 __iomem *addr, u32 data)
|
||||
static inline void wrt_reg_dword(volatile __le32 __iomem *addr, u32 data)
|
||||
{
|
||||
return writel(data, addr);
|
||||
}
|
||||
@@ -982,18 +982,18 @@ typedef union {
|
||||
&(reg)->u_end.isp2200.mailbox8 + (num) - 8) : \
|
||||
&(reg)->u.isp2300.mailbox0 + (num))
|
||||
#define RD_MAILBOX_REG(ha, reg, num) \
|
||||
RD_REG_WORD(MAILBOX_REG(ha, reg, num))
|
||||
rd_reg_word(MAILBOX_REG(ha, reg, num))
|
||||
#define WRT_MAILBOX_REG(ha, reg, num, data) \
|
||||
WRT_REG_WORD(MAILBOX_REG(ha, reg, num), data)
|
||||
wrt_reg_word(MAILBOX_REG(ha, reg, num), data)
|
||||
|
||||
#define FB_CMD_REG(ha, reg) \
|
||||
(IS_QLA2100(ha) || IS_QLA2200(ha) ? \
|
||||
&(reg)->fb_cmd_2100 : \
|
||||
&(reg)->u.isp2300.fb_cmd)
|
||||
#define RD_FB_CMD_REG(ha, reg) \
|
||||
RD_REG_WORD(FB_CMD_REG(ha, reg))
|
||||
rd_reg_word(FB_CMD_REG(ha, reg))
|
||||
#define WRT_FB_CMD_REG(ha, reg, data) \
|
||||
WRT_REG_WORD(FB_CMD_REG(ha, reg), data)
|
||||
wrt_reg_word(FB_CMD_REG(ha, reg), data)
|
||||
|
||||
typedef struct {
|
||||
uint32_t out_mb; /* outbound from driver */
|
||||
|
||||
+102
-103
@@ -2219,7 +2219,7 @@ qla2x00_initialize_adapter(scsi_qla_host_t *vha)
|
||||
|
||||
/* Check for secure flash support */
|
||||
if (IS_QLA28XX(ha)) {
|
||||
if (RD_REG_WORD(®->mailbox12) & BIT_0)
|
||||
if (rd_reg_word(®->mailbox12) & BIT_0)
|
||||
ha->flags.secure_adapter = 1;
|
||||
ql_log(ql_log_info, vha, 0xffff, "Secure Adapter: %s\n",
|
||||
(ha->flags.secure_adapter) ? "Yes" : "No");
|
||||
@@ -2357,7 +2357,7 @@ qla2100_pci_config(scsi_qla_host_t *vha)
|
||||
|
||||
/* Get PCI bus information. */
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
ha->pci_attr = RD_REG_WORD(®->ctrl_status);
|
||||
ha->pci_attr = rd_reg_word(®->ctrl_status);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
return QLA_SUCCESS;
|
||||
@@ -2399,17 +2399,17 @@ qla2300_pci_config(scsi_qla_host_t *vha)
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
|
||||
/* Pause RISC. */
|
||||
WRT_REG_WORD(®->hccr, HCCR_PAUSE_RISC);
|
||||
wrt_reg_word(®->hccr, HCCR_PAUSE_RISC);
|
||||
for (cnt = 0; cnt < 30000; cnt++) {
|
||||
if ((RD_REG_WORD(®->hccr) & HCCR_RISC_PAUSE) != 0)
|
||||
if ((rd_reg_word(®->hccr) & HCCR_RISC_PAUSE) != 0)
|
||||
break;
|
||||
|
||||
udelay(10);
|
||||
}
|
||||
|
||||
/* Select FPM registers. */
|
||||
WRT_REG_WORD(®->ctrl_status, 0x20);
|
||||
RD_REG_WORD(®->ctrl_status);
|
||||
wrt_reg_word(®->ctrl_status, 0x20);
|
||||
rd_reg_word(®->ctrl_status);
|
||||
|
||||
/* Get the fb rev level */
|
||||
ha->fb_rev = RD_FB_CMD_REG(ha, reg);
|
||||
@@ -2418,13 +2418,13 @@ qla2300_pci_config(scsi_qla_host_t *vha)
|
||||
pci_clear_mwi(ha->pdev);
|
||||
|
||||
/* Deselect FPM registers. */
|
||||
WRT_REG_WORD(®->ctrl_status, 0x0);
|
||||
RD_REG_WORD(®->ctrl_status);
|
||||
wrt_reg_word(®->ctrl_status, 0x0);
|
||||
rd_reg_word(®->ctrl_status);
|
||||
|
||||
/* Release RISC module. */
|
||||
WRT_REG_WORD(®->hccr, HCCR_RELEASE_RISC);
|
||||
wrt_reg_word(®->hccr, HCCR_RELEASE_RISC);
|
||||
for (cnt = 0; cnt < 30000; cnt++) {
|
||||
if ((RD_REG_WORD(®->hccr) & HCCR_RISC_PAUSE) == 0)
|
||||
if ((rd_reg_word(®->hccr) & HCCR_RISC_PAUSE) == 0)
|
||||
break;
|
||||
|
||||
udelay(10);
|
||||
@@ -2439,7 +2439,7 @@ qla2300_pci_config(scsi_qla_host_t *vha)
|
||||
|
||||
/* Get PCI bus information. */
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
ha->pci_attr = RD_REG_WORD(®->ctrl_status);
|
||||
ha->pci_attr = rd_reg_word(®->ctrl_status);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
return QLA_SUCCESS;
|
||||
@@ -2483,7 +2483,7 @@ qla24xx_pci_config(scsi_qla_host_t *vha)
|
||||
|
||||
/* Get PCI bus information. */
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
ha->pci_attr = RD_REG_DWORD(®->ctrl_status);
|
||||
ha->pci_attr = rd_reg_dword(®->ctrl_status);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
return QLA_SUCCESS;
|
||||
@@ -2587,36 +2587,36 @@ qla2x00_reset_chip(scsi_qla_host_t *vha)
|
||||
|
||||
if (!IS_QLA2100(ha)) {
|
||||
/* Pause RISC. */
|
||||
WRT_REG_WORD(®->hccr, HCCR_PAUSE_RISC);
|
||||
wrt_reg_word(®->hccr, HCCR_PAUSE_RISC);
|
||||
if (IS_QLA2200(ha) || IS_QLA2300(ha)) {
|
||||
for (cnt = 0; cnt < 30000; cnt++) {
|
||||
if ((RD_REG_WORD(®->hccr) &
|
||||
if ((rd_reg_word(®->hccr) &
|
||||
HCCR_RISC_PAUSE) != 0)
|
||||
break;
|
||||
udelay(100);
|
||||
}
|
||||
} else {
|
||||
RD_REG_WORD(®->hccr); /* PCI Posting. */
|
||||
rd_reg_word(®->hccr); /* PCI Posting. */
|
||||
udelay(10);
|
||||
}
|
||||
|
||||
/* Select FPM registers. */
|
||||
WRT_REG_WORD(®->ctrl_status, 0x20);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->ctrl_status, 0x20);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
|
||||
/* FPM Soft Reset. */
|
||||
WRT_REG_WORD(®->fpm_diag_config, 0x100);
|
||||
RD_REG_WORD(®->fpm_diag_config); /* PCI Posting. */
|
||||
wrt_reg_word(®->fpm_diag_config, 0x100);
|
||||
rd_reg_word(®->fpm_diag_config); /* PCI Posting. */
|
||||
|
||||
/* Toggle Fpm Reset. */
|
||||
if (!IS_QLA2200(ha)) {
|
||||
WRT_REG_WORD(®->fpm_diag_config, 0x0);
|
||||
RD_REG_WORD(®->fpm_diag_config); /* PCI Posting. */
|
||||
wrt_reg_word(®->fpm_diag_config, 0x0);
|
||||
rd_reg_word(®->fpm_diag_config); /* PCI Posting. */
|
||||
}
|
||||
|
||||
/* Select frame buffer registers. */
|
||||
WRT_REG_WORD(®->ctrl_status, 0x10);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->ctrl_status, 0x10);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
|
||||
/* Reset frame buffer FIFOs. */
|
||||
if (IS_QLA2200(ha)) {
|
||||
@@ -2634,23 +2634,23 @@ qla2x00_reset_chip(scsi_qla_host_t *vha)
|
||||
}
|
||||
|
||||
/* Select RISC module registers. */
|
||||
WRT_REG_WORD(®->ctrl_status, 0);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->ctrl_status, 0);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
|
||||
/* Reset RISC processor. */
|
||||
WRT_REG_WORD(®->hccr, HCCR_RESET_RISC);
|
||||
RD_REG_WORD(®->hccr); /* PCI Posting. */
|
||||
wrt_reg_word(®->hccr, HCCR_RESET_RISC);
|
||||
rd_reg_word(®->hccr); /* PCI Posting. */
|
||||
|
||||
/* Release RISC processor. */
|
||||
WRT_REG_WORD(®->hccr, HCCR_RELEASE_RISC);
|
||||
RD_REG_WORD(®->hccr); /* PCI Posting. */
|
||||
wrt_reg_word(®->hccr, HCCR_RELEASE_RISC);
|
||||
rd_reg_word(®->hccr); /* PCI Posting. */
|
||||
}
|
||||
|
||||
WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT);
|
||||
WRT_REG_WORD(®->hccr, HCCR_CLR_HOST_INT);
|
||||
wrt_reg_word(®->hccr, HCCR_CLR_RISC_INT);
|
||||
wrt_reg_word(®->hccr, HCCR_CLR_HOST_INT);
|
||||
|
||||
/* Reset ISP chip. */
|
||||
WRT_REG_WORD(®->ctrl_status, CSR_ISP_SOFT_RESET);
|
||||
wrt_reg_word(®->ctrl_status, CSR_ISP_SOFT_RESET);
|
||||
|
||||
/* Wait for RISC to recover from reset. */
|
||||
if (IS_QLA2100(ha) || IS_QLA2200(ha) || IS_QLA2300(ha)) {
|
||||
@@ -2661,7 +2661,7 @@ qla2x00_reset_chip(scsi_qla_host_t *vha)
|
||||
*/
|
||||
udelay(20);
|
||||
for (cnt = 30000; cnt; cnt--) {
|
||||
if ((RD_REG_WORD(®->ctrl_status) &
|
||||
if ((rd_reg_word(®->ctrl_status) &
|
||||
CSR_ISP_SOFT_RESET) == 0)
|
||||
break;
|
||||
udelay(100);
|
||||
@@ -2670,13 +2670,13 @@ qla2x00_reset_chip(scsi_qla_host_t *vha)
|
||||
udelay(10);
|
||||
|
||||
/* Reset RISC processor. */
|
||||
WRT_REG_WORD(®->hccr, HCCR_RESET_RISC);
|
||||
wrt_reg_word(®->hccr, HCCR_RESET_RISC);
|
||||
|
||||
WRT_REG_WORD(®->semaphore, 0);
|
||||
wrt_reg_word(®->semaphore, 0);
|
||||
|
||||
/* Release RISC processor. */
|
||||
WRT_REG_WORD(®->hccr, HCCR_RELEASE_RISC);
|
||||
RD_REG_WORD(®->hccr); /* PCI Posting. */
|
||||
wrt_reg_word(®->hccr, HCCR_RELEASE_RISC);
|
||||
rd_reg_word(®->hccr); /* PCI Posting. */
|
||||
|
||||
if (IS_QLA2100(ha) || IS_QLA2200(ha) || IS_QLA2300(ha)) {
|
||||
for (cnt = 0; cnt < 30000; cnt++) {
|
||||
@@ -2694,8 +2694,8 @@ qla2x00_reset_chip(scsi_qla_host_t *vha)
|
||||
|
||||
/* Disable RISC pause on FPM parity error. */
|
||||
if (!IS_QLA2100(ha)) {
|
||||
WRT_REG_WORD(®->hccr, HCCR_DISABLE_PARITY_PAUSE);
|
||||
RD_REG_WORD(®->hccr); /* PCI Posting. */
|
||||
wrt_reg_word(®->hccr, HCCR_DISABLE_PARITY_PAUSE);
|
||||
rd_reg_word(®->hccr); /* PCI Posting. */
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
@@ -2740,32 +2740,32 @@ qla24xx_reset_risc(scsi_qla_host_t *vha)
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
|
||||
/* Reset RISC. */
|
||||
WRT_REG_DWORD(®->ctrl_status, CSRX_DMA_SHUTDOWN|MWB_4096_BYTES);
|
||||
wrt_reg_dword(®->ctrl_status, CSRX_DMA_SHUTDOWN|MWB_4096_BYTES);
|
||||
for (cnt = 0; cnt < 30000; cnt++) {
|
||||
if ((RD_REG_DWORD(®->ctrl_status) & CSRX_DMA_ACTIVE) == 0)
|
||||
if ((rd_reg_dword(®->ctrl_status) & CSRX_DMA_ACTIVE) == 0)
|
||||
break;
|
||||
|
||||
udelay(10);
|
||||
}
|
||||
|
||||
if (!(RD_REG_DWORD(®->ctrl_status) & CSRX_DMA_ACTIVE))
|
||||
if (!(rd_reg_dword(®->ctrl_status) & CSRX_DMA_ACTIVE))
|
||||
set_bit(DMA_SHUTDOWN_CMPL, &ha->fw_dump_cap_flags);
|
||||
|
||||
ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x017e,
|
||||
"HCCR: 0x%x, Control Status %x, DMA active status:0x%x\n",
|
||||
RD_REG_DWORD(®->hccr),
|
||||
RD_REG_DWORD(®->ctrl_status),
|
||||
(RD_REG_DWORD(®->ctrl_status) & CSRX_DMA_ACTIVE));
|
||||
rd_reg_dword(®->hccr),
|
||||
rd_reg_dword(®->ctrl_status),
|
||||
(rd_reg_dword(®->ctrl_status) & CSRX_DMA_ACTIVE));
|
||||
|
||||
WRT_REG_DWORD(®->ctrl_status,
|
||||
wrt_reg_dword(®->ctrl_status,
|
||||
CSRX_ISP_SOFT_RESET|CSRX_DMA_SHUTDOWN|MWB_4096_BYTES);
|
||||
pci_read_config_word(ha->pdev, PCI_COMMAND, &wd);
|
||||
|
||||
udelay(100);
|
||||
|
||||
/* Wait for firmware to complete NVRAM accesses. */
|
||||
RD_REG_WORD(®->mailbox0);
|
||||
for (cnt = 10000; RD_REG_WORD(®->mailbox0) != 0 &&
|
||||
rd_reg_word(®->mailbox0);
|
||||
for (cnt = 10000; rd_reg_word(®->mailbox0) != 0 &&
|
||||
rval == QLA_SUCCESS; cnt--) {
|
||||
barrier();
|
||||
if (cnt)
|
||||
@@ -2779,26 +2779,26 @@ qla24xx_reset_risc(scsi_qla_host_t *vha)
|
||||
|
||||
ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x017f,
|
||||
"HCCR: 0x%x, MailBox0 Status 0x%x\n",
|
||||
RD_REG_DWORD(®->hccr),
|
||||
RD_REG_WORD(®->mailbox0));
|
||||
rd_reg_dword(®->hccr),
|
||||
rd_reg_word(®->mailbox0));
|
||||
|
||||
/* Wait for soft-reset to complete. */
|
||||
RD_REG_DWORD(®->ctrl_status);
|
||||
rd_reg_dword(®->ctrl_status);
|
||||
for (cnt = 0; cnt < 60; cnt++) {
|
||||
barrier();
|
||||
if ((RD_REG_DWORD(®->ctrl_status) &
|
||||
if ((rd_reg_dword(®->ctrl_status) &
|
||||
CSRX_ISP_SOFT_RESET) == 0)
|
||||
break;
|
||||
|
||||
udelay(5);
|
||||
}
|
||||
if (!(RD_REG_DWORD(®->ctrl_status) & CSRX_ISP_SOFT_RESET))
|
||||
if (!(rd_reg_dword(®->ctrl_status) & CSRX_ISP_SOFT_RESET))
|
||||
set_bit(ISP_SOFT_RESET_CMPL, &ha->fw_dump_cap_flags);
|
||||
|
||||
ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x015d,
|
||||
"HCCR: 0x%x, Soft Reset status: 0x%x\n",
|
||||
RD_REG_DWORD(®->hccr),
|
||||
RD_REG_DWORD(®->ctrl_status));
|
||||
rd_reg_dword(®->hccr),
|
||||
rd_reg_dword(®->ctrl_status));
|
||||
|
||||
/* If required, do an MPI FW reset now */
|
||||
if (test_and_clear_bit(MPI_RESET_NEEDED, &vha->dpc_flags)) {
|
||||
@@ -2817,17 +2817,17 @@ qla24xx_reset_risc(scsi_qla_host_t *vha)
|
||||
}
|
||||
}
|
||||
|
||||
WRT_REG_DWORD(®->hccr, HCCRX_SET_RISC_RESET);
|
||||
RD_REG_DWORD(®->hccr);
|
||||
wrt_reg_dword(®->hccr, HCCRX_SET_RISC_RESET);
|
||||
rd_reg_dword(®->hccr);
|
||||
|
||||
WRT_REG_DWORD(®->hccr, HCCRX_REL_RISC_PAUSE);
|
||||
RD_REG_DWORD(®->hccr);
|
||||
wrt_reg_dword(®->hccr, HCCRX_REL_RISC_PAUSE);
|
||||
rd_reg_dword(®->hccr);
|
||||
|
||||
WRT_REG_DWORD(®->hccr, HCCRX_CLR_RISC_RESET);
|
||||
RD_REG_DWORD(®->hccr);
|
||||
wrt_reg_dword(®->hccr, HCCRX_CLR_RISC_RESET);
|
||||
rd_reg_dword(®->hccr);
|
||||
|
||||
RD_REG_WORD(®->mailbox0);
|
||||
for (cnt = 60; RD_REG_WORD(®->mailbox0) != 0 &&
|
||||
rd_reg_word(®->mailbox0);
|
||||
for (cnt = 60; rd_reg_word(®->mailbox0) != 0 &&
|
||||
rval == QLA_SUCCESS; cnt--) {
|
||||
barrier();
|
||||
if (cnt)
|
||||
@@ -2840,8 +2840,8 @@ qla24xx_reset_risc(scsi_qla_host_t *vha)
|
||||
|
||||
ql_dbg(ql_dbg_init + ql_dbg_verbose, vha, 0x015e,
|
||||
"Host Risc 0x%x, mailbox0 0x%x\n",
|
||||
RD_REG_DWORD(®->hccr),
|
||||
RD_REG_WORD(®->mailbox0));
|
||||
rd_reg_dword(®->hccr),
|
||||
rd_reg_word(®->mailbox0));
|
||||
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
@@ -2860,9 +2860,8 @@ qla25xx_read_risc_sema_reg(scsi_qla_host_t *vha, uint32_t *data)
|
||||
{
|
||||
struct device_reg_24xx __iomem *reg = &vha->hw->iobase->isp24;
|
||||
|
||||
WRT_REG_DWORD(®->iobase_addr, RISC_REGISTER_BASE_OFFSET);
|
||||
*data = RD_REG_DWORD(®->iobase_window + RISC_REGISTER_WINDOW_OFFSET);
|
||||
|
||||
wrt_reg_dword(®->iobase_addr, RISC_REGISTER_BASE_OFFSET);
|
||||
*data = rd_reg_dword(®->iobase_window + RISC_REGISTER_WINDOW_OFFSET);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -2870,8 +2869,8 @@ qla25xx_write_risc_sema_reg(scsi_qla_host_t *vha, uint32_t data)
|
||||
{
|
||||
struct device_reg_24xx __iomem *reg = &vha->hw->iobase->isp24;
|
||||
|
||||
WRT_REG_DWORD(®->iobase_addr, RISC_REGISTER_BASE_OFFSET);
|
||||
WRT_REG_DWORD(®->iobase_window + RISC_REGISTER_WINDOW_OFFSET, data);
|
||||
wrt_reg_dword(®->iobase_addr, RISC_REGISTER_BASE_OFFSET);
|
||||
wrt_reg_dword(®->iobase_window + RISC_REGISTER_WINDOW_OFFSET, data);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -2887,7 +2886,7 @@ qla25xx_manipulate_risc_semaphore(scsi_qla_host_t *vha)
|
||||
vha->hw->pdev->subsystem_device != 0x0240)
|
||||
return;
|
||||
|
||||
WRT_REG_DWORD(&vha->hw->iobase->isp24.hccr, HCCRX_SET_RISC_PAUSE);
|
||||
wrt_reg_dword(&vha->hw->iobase->isp24.hccr, HCCRX_SET_RISC_PAUSE);
|
||||
udelay(100);
|
||||
|
||||
attempt:
|
||||
@@ -2989,7 +2988,7 @@ qla2x00_chip_diag(scsi_qla_host_t *vha)
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
|
||||
/* Reset ISP chip. */
|
||||
WRT_REG_WORD(®->ctrl_status, CSR_ISP_SOFT_RESET);
|
||||
wrt_reg_word(®->ctrl_status, CSR_ISP_SOFT_RESET);
|
||||
|
||||
/*
|
||||
* We need to have a delay here since the card will not respond while
|
||||
@@ -2999,7 +2998,7 @@ qla2x00_chip_diag(scsi_qla_host_t *vha)
|
||||
data = qla2x00_debounce_register(®->ctrl_status);
|
||||
for (cnt = 6000000 ; cnt && (data & CSR_ISP_SOFT_RESET); cnt--) {
|
||||
udelay(5);
|
||||
data = RD_REG_WORD(®->ctrl_status);
|
||||
data = rd_reg_word(®->ctrl_status);
|
||||
barrier();
|
||||
}
|
||||
|
||||
@@ -3010,8 +3009,8 @@ qla2x00_chip_diag(scsi_qla_host_t *vha)
|
||||
"Reset register cleared by chip reset.\n");
|
||||
|
||||
/* Reset RISC processor. */
|
||||
WRT_REG_WORD(®->hccr, HCCR_RESET_RISC);
|
||||
WRT_REG_WORD(®->hccr, HCCR_RELEASE_RISC);
|
||||
wrt_reg_word(®->hccr, HCCR_RESET_RISC);
|
||||
wrt_reg_word(®->hccr, HCCR_RELEASE_RISC);
|
||||
|
||||
/* Workaround for QLA2312 PCI parity error */
|
||||
if (IS_QLA2100(ha) || IS_QLA2200(ha) || IS_QLA2300(ha)) {
|
||||
@@ -3654,8 +3653,8 @@ qla2x00_setup_chip(scsi_qla_host_t *vha)
|
||||
if (!IS_FWI2_CAPABLE(ha) && !IS_QLA2100(ha) && !IS_QLA2200(ha)) {
|
||||
/* Disable SRAM, Instruction RAM and GP RAM parity. */
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
WRT_REG_WORD(®->hccr, (HCCR_ENABLE_PARITY + 0x0));
|
||||
RD_REG_WORD(®->hccr);
|
||||
wrt_reg_word(®->hccr, (HCCR_ENABLE_PARITY + 0x0));
|
||||
rd_reg_word(®->hccr);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
}
|
||||
|
||||
@@ -3762,11 +3761,11 @@ enable_82xx_npiv:
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
if (IS_QLA2300(ha))
|
||||
/* SRAM parity */
|
||||
WRT_REG_WORD(®->hccr, HCCR_ENABLE_PARITY + 0x1);
|
||||
wrt_reg_word(®->hccr, HCCR_ENABLE_PARITY + 0x1);
|
||||
else
|
||||
/* SRAM, Instruction RAM and GP RAM parity */
|
||||
WRT_REG_WORD(®->hccr, HCCR_ENABLE_PARITY + 0x7);
|
||||
RD_REG_WORD(®->hccr);
|
||||
wrt_reg_word(®->hccr, HCCR_ENABLE_PARITY + 0x7);
|
||||
rd_reg_word(®->hccr);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
}
|
||||
|
||||
@@ -4010,11 +4009,11 @@ qla2x00_config_rings(struct scsi_qla_host *vha)
|
||||
put_unaligned_le64(req->dma, &ha->init_cb->request_q_address);
|
||||
put_unaligned_le64(rsp->dma, &ha->init_cb->response_q_address);
|
||||
|
||||
WRT_REG_WORD(ISP_REQ_Q_IN(ha, reg), 0);
|
||||
WRT_REG_WORD(ISP_REQ_Q_OUT(ha, reg), 0);
|
||||
WRT_REG_WORD(ISP_RSP_Q_IN(ha, reg), 0);
|
||||
WRT_REG_WORD(ISP_RSP_Q_OUT(ha, reg), 0);
|
||||
RD_REG_WORD(ISP_RSP_Q_OUT(ha, reg)); /* PCI Posting. */
|
||||
wrt_reg_word(ISP_REQ_Q_IN(ha, reg), 0);
|
||||
wrt_reg_word(ISP_REQ_Q_OUT(ha, reg), 0);
|
||||
wrt_reg_word(ISP_RSP_Q_IN(ha, reg), 0);
|
||||
wrt_reg_word(ISP_RSP_Q_OUT(ha, reg), 0);
|
||||
rd_reg_word(ISP_RSP_Q_OUT(ha, reg)); /* PCI Posting. */
|
||||
}
|
||||
|
||||
void
|
||||
@@ -4076,15 +4075,15 @@ qla24xx_config_rings(struct scsi_qla_host *vha)
|
||||
}
|
||||
icb->firmware_options_2 |= cpu_to_le32(BIT_23);
|
||||
|
||||
WRT_REG_DWORD(®->isp25mq.req_q_in, 0);
|
||||
WRT_REG_DWORD(®->isp25mq.req_q_out, 0);
|
||||
WRT_REG_DWORD(®->isp25mq.rsp_q_in, 0);
|
||||
WRT_REG_DWORD(®->isp25mq.rsp_q_out, 0);
|
||||
wrt_reg_dword(®->isp25mq.req_q_in, 0);
|
||||
wrt_reg_dword(®->isp25mq.req_q_out, 0);
|
||||
wrt_reg_dword(®->isp25mq.rsp_q_in, 0);
|
||||
wrt_reg_dword(®->isp25mq.rsp_q_out, 0);
|
||||
} else {
|
||||
WRT_REG_DWORD(®->isp24.req_q_in, 0);
|
||||
WRT_REG_DWORD(®->isp24.req_q_out, 0);
|
||||
WRT_REG_DWORD(®->isp24.rsp_q_in, 0);
|
||||
WRT_REG_DWORD(®->isp24.rsp_q_out, 0);
|
||||
wrt_reg_dword(®->isp24.req_q_in, 0);
|
||||
wrt_reg_dword(®->isp24.req_q_out, 0);
|
||||
wrt_reg_dword(®->isp24.rsp_q_in, 0);
|
||||
wrt_reg_dword(®->isp24.rsp_q_out, 0);
|
||||
}
|
||||
|
||||
qlt_24xx_config_rings(vha);
|
||||
@@ -4098,7 +4097,7 @@ qla24xx_config_rings(struct scsi_qla_host *vha)
|
||||
}
|
||||
|
||||
/* PCI posting */
|
||||
RD_REG_WORD(&ioreg->hccr);
|
||||
rd_reg_word(&ioreg->hccr);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -4569,7 +4568,7 @@ qla2x00_nvram_config(scsi_qla_host_t *vha)
|
||||
ha->nvram_size = sizeof(*nv);
|
||||
ha->nvram_base = 0;
|
||||
if (!IS_QLA2100(ha) && !IS_QLA2200(ha) && !IS_QLA2300(ha))
|
||||
if ((RD_REG_WORD(®->ctrl_status) >> 14) == 1)
|
||||
if ((rd_reg_word(®->ctrl_status) >> 14) == 1)
|
||||
ha->nvram_base = 0x80;
|
||||
|
||||
/* Get NVRAM data and calculate checksum. */
|
||||
@@ -7091,10 +7090,10 @@ qla2x00_reset_adapter(scsi_qla_host_t *vha)
|
||||
ha->isp_ops->disable_intrs(ha);
|
||||
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
WRT_REG_WORD(®->hccr, HCCR_RESET_RISC);
|
||||
RD_REG_WORD(®->hccr); /* PCI Posting. */
|
||||
WRT_REG_WORD(®->hccr, HCCR_RELEASE_RISC);
|
||||
RD_REG_WORD(®->hccr); /* PCI Posting. */
|
||||
wrt_reg_word(®->hccr, HCCR_RESET_RISC);
|
||||
rd_reg_word(®->hccr); /* PCI Posting. */
|
||||
wrt_reg_word(®->hccr, HCCR_RELEASE_RISC);
|
||||
rd_reg_word(®->hccr); /* PCI Posting. */
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
return QLA_SUCCESS;
|
||||
@@ -7115,10 +7114,10 @@ qla24xx_reset_adapter(scsi_qla_host_t *vha)
|
||||
ha->isp_ops->disable_intrs(ha);
|
||||
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
WRT_REG_DWORD(®->hccr, HCCRX_SET_RISC_RESET);
|
||||
RD_REG_DWORD(®->hccr);
|
||||
WRT_REG_DWORD(®->hccr, HCCRX_REL_RISC_PAUSE);
|
||||
RD_REG_DWORD(®->hccr);
|
||||
wrt_reg_dword(®->hccr, HCCRX_SET_RISC_RESET);
|
||||
rd_reg_dword(®->hccr);
|
||||
wrt_reg_dword(®->hccr, HCCRX_REL_RISC_PAUSE);
|
||||
rd_reg_dword(®->hccr);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
if (IS_NOPOLLING_TYPE(ha))
|
||||
|
||||
@@ -54,10 +54,10 @@ qla2x00_debounce_register(volatile uint16_t __iomem *addr)
|
||||
volatile uint16_t second;
|
||||
|
||||
do {
|
||||
first = RD_REG_WORD(addr);
|
||||
first = rd_reg_word(addr);
|
||||
barrier();
|
||||
cpu_relax();
|
||||
second = RD_REG_WORD(addr);
|
||||
second = rd_reg_word(addr);
|
||||
} while (first != second);
|
||||
|
||||
return (first);
|
||||
@@ -337,7 +337,7 @@ qla_83xx_start_iocbs(struct qla_qpair *qpair)
|
||||
} else
|
||||
req->ring_ptr++;
|
||||
|
||||
WRT_REG_DWORD(req->req_q_in, req->ring_index);
|
||||
wrt_reg_dword(req->req_q_in, req->ring_index);
|
||||
}
|
||||
|
||||
static inline int
|
||||
|
||||
+32
-32
@@ -376,7 +376,7 @@ qla2x00_start_scsi(srb_t *sp)
|
||||
/* Calculate the number of request entries needed. */
|
||||
req_cnt = ha->isp_ops->calc_req_entries(tot_dsds);
|
||||
if (req->cnt < (req_cnt + 2)) {
|
||||
cnt = RD_REG_WORD_RELAXED(ISP_REQ_Q_OUT(ha, reg));
|
||||
cnt = rd_reg_word_relaxed(ISP_REQ_Q_OUT(ha, reg));
|
||||
if (req->ring_index < cnt)
|
||||
req->cnt = cnt - req->ring_index;
|
||||
else
|
||||
@@ -428,8 +428,8 @@ qla2x00_start_scsi(srb_t *sp)
|
||||
sp->flags |= SRB_DMA_VALID;
|
||||
|
||||
/* Set chip new ring index. */
|
||||
WRT_REG_WORD(ISP_REQ_Q_IN(ha, reg), req->ring_index);
|
||||
RD_REG_WORD_RELAXED(ISP_REQ_Q_IN(ha, reg)); /* PCI Posting. */
|
||||
wrt_reg_word(ISP_REQ_Q_IN(ha, reg), req->ring_index);
|
||||
rd_reg_word_relaxed(ISP_REQ_Q_IN(ha, reg)); /* PCI Posting. */
|
||||
|
||||
/* Manage unprocessed RIO/ZIO commands in response queue. */
|
||||
if (vha->flags.process_response_queue &&
|
||||
@@ -472,21 +472,21 @@ qla2x00_start_iocbs(struct scsi_qla_host *vha, struct req_que *req)
|
||||
|
||||
/* Set chip new ring index. */
|
||||
if (ha->mqenable || IS_QLA27XX(ha) || IS_QLA28XX(ha)) {
|
||||
WRT_REG_DWORD(req->req_q_in, req->ring_index);
|
||||
wrt_reg_dword(req->req_q_in, req->ring_index);
|
||||
} else if (IS_QLA83XX(ha)) {
|
||||
WRT_REG_DWORD(req->req_q_in, req->ring_index);
|
||||
RD_REG_DWORD_RELAXED(&ha->iobase->isp24.hccr);
|
||||
wrt_reg_dword(req->req_q_in, req->ring_index);
|
||||
rd_reg_dword_relaxed(&ha->iobase->isp24.hccr);
|
||||
} else if (IS_QLAFX00(ha)) {
|
||||
WRT_REG_DWORD(®->ispfx00.req_q_in, req->ring_index);
|
||||
RD_REG_DWORD_RELAXED(®->ispfx00.req_q_in);
|
||||
wrt_reg_dword(®->ispfx00.req_q_in, req->ring_index);
|
||||
rd_reg_dword_relaxed(®->ispfx00.req_q_in);
|
||||
QLAFX00_SET_HST_INTR(ha, ha->rqstq_intr_code);
|
||||
} else if (IS_FWI2_CAPABLE(ha)) {
|
||||
WRT_REG_DWORD(®->isp24.req_q_in, req->ring_index);
|
||||
RD_REG_DWORD_RELAXED(®->isp24.req_q_in);
|
||||
wrt_reg_dword(®->isp24.req_q_in, req->ring_index);
|
||||
rd_reg_dword_relaxed(®->isp24.req_q_in);
|
||||
} else {
|
||||
WRT_REG_WORD(ISP_REQ_Q_IN(ha, ®->isp),
|
||||
wrt_reg_word(ISP_REQ_Q_IN(ha, ®->isp),
|
||||
req->ring_index);
|
||||
RD_REG_WORD_RELAXED(ISP_REQ_Q_IN(ha, ®->isp));
|
||||
rd_reg_word_relaxed(ISP_REQ_Q_IN(ha, ®->isp));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1643,7 +1643,7 @@ qla24xx_start_scsi(srb_t *sp)
|
||||
req_cnt = qla24xx_calc_iocbs(vha, tot_dsds);
|
||||
if (req->cnt < (req_cnt + 2)) {
|
||||
cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr :
|
||||
RD_REG_DWORD_RELAXED(req->req_q_out);
|
||||
rd_reg_dword_relaxed(req->req_q_out);
|
||||
if (req->ring_index < cnt)
|
||||
req->cnt = cnt - req->ring_index;
|
||||
else
|
||||
@@ -1704,7 +1704,7 @@ qla24xx_start_scsi(srb_t *sp)
|
||||
sp->flags |= SRB_DMA_VALID;
|
||||
|
||||
/* Set chip new ring index. */
|
||||
WRT_REG_DWORD(req->req_q_in, req->ring_index);
|
||||
wrt_reg_dword(req->req_q_in, req->ring_index);
|
||||
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
return QLA_SUCCESS;
|
||||
@@ -1828,7 +1828,7 @@ qla24xx_dif_start_scsi(srb_t *sp)
|
||||
tot_dsds += nseg;
|
||||
if (req->cnt < (req_cnt + 2)) {
|
||||
cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr :
|
||||
RD_REG_DWORD_RELAXED(req->req_q_out);
|
||||
rd_reg_dword_relaxed(req->req_q_out);
|
||||
if (req->ring_index < cnt)
|
||||
req->cnt = cnt - req->ring_index;
|
||||
else
|
||||
@@ -1887,7 +1887,7 @@ qla24xx_dif_start_scsi(srb_t *sp)
|
||||
req->ring_ptr++;
|
||||
|
||||
/* Set chip new ring index. */
|
||||
WRT_REG_DWORD(req->req_q_in, req->ring_index);
|
||||
wrt_reg_dword(req->req_q_in, req->ring_index);
|
||||
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
@@ -1963,7 +1963,7 @@ qla2xxx_start_scsi_mq(srb_t *sp)
|
||||
req_cnt = qla24xx_calc_iocbs(vha, tot_dsds);
|
||||
if (req->cnt < (req_cnt + 2)) {
|
||||
cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr :
|
||||
RD_REG_DWORD_RELAXED(req->req_q_out);
|
||||
rd_reg_dword_relaxed(req->req_q_out);
|
||||
if (req->ring_index < cnt)
|
||||
req->cnt = cnt - req->ring_index;
|
||||
else
|
||||
@@ -2024,7 +2024,7 @@ qla2xxx_start_scsi_mq(srb_t *sp)
|
||||
sp->flags |= SRB_DMA_VALID;
|
||||
|
||||
/* Set chip new ring index. */
|
||||
WRT_REG_DWORD(req->req_q_in, req->ring_index);
|
||||
wrt_reg_dword(req->req_q_in, req->ring_index);
|
||||
|
||||
spin_unlock_irqrestore(&qpair->qp_lock, flags);
|
||||
return QLA_SUCCESS;
|
||||
@@ -2163,7 +2163,7 @@ qla2xxx_dif_start_scsi_mq(srb_t *sp)
|
||||
tot_dsds += nseg;
|
||||
if (req->cnt < (req_cnt + 2)) {
|
||||
cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr :
|
||||
RD_REG_DWORD_RELAXED(req->req_q_out);
|
||||
rd_reg_dword_relaxed(req->req_q_out);
|
||||
if (req->ring_index < cnt)
|
||||
req->cnt = cnt - req->ring_index;
|
||||
else
|
||||
@@ -2220,7 +2220,7 @@ qla2xxx_dif_start_scsi_mq(srb_t *sp)
|
||||
req->ring_ptr++;
|
||||
|
||||
/* Set chip new ring index. */
|
||||
WRT_REG_DWORD(req->req_q_in, req->ring_index);
|
||||
wrt_reg_dword(req->req_q_in, req->ring_index);
|
||||
|
||||
/* Manage unprocessed RIO/ZIO commands in response queue. */
|
||||
if (vha->flags.process_response_queue &&
|
||||
@@ -2272,13 +2272,13 @@ __qla2x00_alloc_iocbs(struct qla_qpair *qpair, srb_t *sp)
|
||||
cnt = *req->out_ptr;
|
||||
else if (ha->mqenable || IS_QLA83XX(ha) || IS_QLA27XX(ha) ||
|
||||
IS_QLA28XX(ha))
|
||||
cnt = RD_REG_DWORD(®->isp25mq.req_q_out);
|
||||
cnt = rd_reg_dword(®->isp25mq.req_q_out);
|
||||
else if (IS_P3P_TYPE(ha))
|
||||
cnt = RD_REG_DWORD(reg->isp82.req_q_out);
|
||||
cnt = rd_reg_dword(reg->isp82.req_q_out);
|
||||
else if (IS_FWI2_CAPABLE(ha))
|
||||
cnt = RD_REG_DWORD(®->isp24.req_q_out);
|
||||
cnt = rd_reg_dword(®->isp24.req_q_out);
|
||||
else if (IS_QLAFX00(ha))
|
||||
cnt = RD_REG_DWORD(®->ispfx00.req_q_out);
|
||||
cnt = rd_reg_dword(®->ispfx00.req_q_out);
|
||||
else
|
||||
cnt = qla2x00_debounce_register(
|
||||
ISP_REQ_Q_OUT(ha, ®->isp));
|
||||
@@ -2311,8 +2311,8 @@ __qla2x00_alloc_iocbs(struct qla_qpair *qpair, srb_t *sp)
|
||||
pkt = req->ring_ptr;
|
||||
memset(pkt, 0, REQUEST_ENTRY_SIZE);
|
||||
if (IS_QLAFX00(ha)) {
|
||||
WRT_REG_BYTE((void __iomem *)&pkt->entry_count, req_cnt);
|
||||
WRT_REG_WORD((void __iomem *)&pkt->handle, handle);
|
||||
wrt_reg_byte((void __iomem *)&pkt->entry_count, req_cnt);
|
||||
wrt_reg_word((void __iomem *)&pkt->handle, handle);
|
||||
} else {
|
||||
pkt->entry_count = req_cnt;
|
||||
pkt->handle = handle;
|
||||
@@ -3328,7 +3328,7 @@ sufficient_dsds:
|
||||
req_cnt = 1;
|
||||
|
||||
if (req->cnt < (req_cnt + 2)) {
|
||||
cnt = (uint16_t)RD_REG_DWORD_RELAXED(
|
||||
cnt = (uint16_t)rd_reg_dword_relaxed(
|
||||
®->req_q_out[0]);
|
||||
if (req->ring_index < cnt)
|
||||
req->cnt = cnt - req->ring_index;
|
||||
@@ -3437,7 +3437,7 @@ sufficient_dsds:
|
||||
|
||||
req_cnt = qla24xx_calc_iocbs(vha, tot_dsds);
|
||||
if (req->cnt < (req_cnt + 2)) {
|
||||
cnt = (uint16_t)RD_REG_DWORD_RELAXED(
|
||||
cnt = (uint16_t)rd_reg_dword_relaxed(
|
||||
®->req_q_out[0]);
|
||||
if (req->ring_index < cnt)
|
||||
req->cnt = cnt - req->ring_index;
|
||||
@@ -3513,10 +3513,10 @@ sufficient_dsds:
|
||||
if (ql2xdbwr)
|
||||
qla82xx_wr_32(ha, (uintptr_t __force)ha->nxdb_wr_ptr, dbval);
|
||||
else {
|
||||
WRT_REG_DWORD(ha->nxdb_wr_ptr, dbval);
|
||||
wrt_reg_dword(ha->nxdb_wr_ptr, dbval);
|
||||
wmb();
|
||||
while (RD_REG_DWORD(ha->nxdb_rd_ptr) != dbval) {
|
||||
WRT_REG_DWORD(ha->nxdb_wr_ptr, dbval);
|
||||
while (rd_reg_dword(ha->nxdb_rd_ptr) != dbval) {
|
||||
wrt_reg_dword(ha->nxdb_wr_ptr, dbval);
|
||||
wmb();
|
||||
}
|
||||
}
|
||||
@@ -3916,7 +3916,7 @@ qla2x00_start_bidir(srb_t *sp, struct scsi_qla_host *vha, uint32_t tot_dsds)
|
||||
/* Check for room on request queue. */
|
||||
if (req->cnt < req_cnt + 2) {
|
||||
cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr :
|
||||
RD_REG_DWORD_RELAXED(req->req_q_out);
|
||||
rd_reg_dword_relaxed(req->req_q_out);
|
||||
if (req->ring_index < cnt)
|
||||
req->cnt = cnt - req->ring_index;
|
||||
else
|
||||
|
||||
+64
-64
@@ -217,7 +217,7 @@ qla2100_intr_handler(int irq, void *dev_id)
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
vha = pci_get_drvdata(ha->pdev);
|
||||
for (iter = 50; iter--; ) {
|
||||
hccr = RD_REG_WORD(®->hccr);
|
||||
hccr = rd_reg_word(®->hccr);
|
||||
if (qla2x00_check_reg16_for_disconnect(vha, hccr))
|
||||
break;
|
||||
if (hccr & HCCR_RISC_PAUSE) {
|
||||
@@ -229,18 +229,18 @@ qla2100_intr_handler(int irq, void *dev_id)
|
||||
* bit to be cleared. Schedule a big hammer to get
|
||||
* out of the RISC PAUSED state.
|
||||
*/
|
||||
WRT_REG_WORD(®->hccr, HCCR_RESET_RISC);
|
||||
RD_REG_WORD(®->hccr);
|
||||
wrt_reg_word(®->hccr, HCCR_RESET_RISC);
|
||||
rd_reg_word(®->hccr);
|
||||
|
||||
ha->isp_ops->fw_dump(vha);
|
||||
set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
|
||||
break;
|
||||
} else if ((RD_REG_WORD(®->istatus) & ISR_RISC_INT) == 0)
|
||||
} else if ((rd_reg_word(®->istatus) & ISR_RISC_INT) == 0)
|
||||
break;
|
||||
|
||||
if (RD_REG_WORD(®->semaphore) & BIT_0) {
|
||||
WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT);
|
||||
RD_REG_WORD(®->hccr);
|
||||
if (rd_reg_word(®->semaphore) & BIT_0) {
|
||||
wrt_reg_word(®->hccr, HCCR_CLR_RISC_INT);
|
||||
rd_reg_word(®->hccr);
|
||||
|
||||
/* Get mailbox data. */
|
||||
mb[0] = RD_MAILBOX_REG(ha, reg, 0);
|
||||
@@ -259,13 +259,13 @@ qla2100_intr_handler(int irq, void *dev_id)
|
||||
mb[0]);
|
||||
}
|
||||
/* Release mailbox registers. */
|
||||
WRT_REG_WORD(®->semaphore, 0);
|
||||
RD_REG_WORD(®->semaphore);
|
||||
wrt_reg_word(®->semaphore, 0);
|
||||
rd_reg_word(®->semaphore);
|
||||
} else {
|
||||
qla2x00_process_response_queue(rsp);
|
||||
|
||||
WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT);
|
||||
RD_REG_WORD(®->hccr);
|
||||
wrt_reg_word(®->hccr, HCCR_CLR_RISC_INT);
|
||||
rd_reg_word(®->hccr);
|
||||
}
|
||||
}
|
||||
qla2x00_handle_mbx_completion(ha, status);
|
||||
@@ -337,14 +337,14 @@ qla2300_intr_handler(int irq, void *dev_id)
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
vha = pci_get_drvdata(ha->pdev);
|
||||
for (iter = 50; iter--; ) {
|
||||
stat = RD_REG_DWORD(®->u.isp2300.host_status);
|
||||
stat = rd_reg_dword(®->u.isp2300.host_status);
|
||||
if (qla2x00_check_reg32_for_disconnect(vha, stat))
|
||||
break;
|
||||
if (stat & HSR_RISC_PAUSED) {
|
||||
if (unlikely(pci_channel_offline(ha->pdev)))
|
||||
break;
|
||||
|
||||
hccr = RD_REG_WORD(®->hccr);
|
||||
hccr = rd_reg_word(®->hccr);
|
||||
|
||||
if (hccr & (BIT_15 | BIT_13 | BIT_11 | BIT_8))
|
||||
ql_log(ql_log_warn, vha, 0x5026,
|
||||
@@ -360,8 +360,8 @@ qla2300_intr_handler(int irq, void *dev_id)
|
||||
* interrupt bit to be cleared. Schedule a big
|
||||
* hammer to get out of the RISC PAUSED state.
|
||||
*/
|
||||
WRT_REG_WORD(®->hccr, HCCR_RESET_RISC);
|
||||
RD_REG_WORD(®->hccr);
|
||||
wrt_reg_word(®->hccr, HCCR_RESET_RISC);
|
||||
rd_reg_word(®->hccr);
|
||||
|
||||
ha->isp_ops->fw_dump(vha);
|
||||
set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
|
||||
@@ -378,7 +378,7 @@ qla2300_intr_handler(int irq, void *dev_id)
|
||||
status |= MBX_INTERRUPT;
|
||||
|
||||
/* Release mailbox registers. */
|
||||
WRT_REG_WORD(®->semaphore, 0);
|
||||
wrt_reg_word(®->semaphore, 0);
|
||||
break;
|
||||
case 0x12:
|
||||
mb[0] = MSW(stat);
|
||||
@@ -406,8 +406,8 @@ qla2300_intr_handler(int irq, void *dev_id)
|
||||
"Unrecognized interrupt type (%d).\n", stat & 0xff);
|
||||
break;
|
||||
}
|
||||
WRT_REG_WORD(®->hccr, HCCR_CLR_RISC_INT);
|
||||
RD_REG_WORD_RELAXED(®->hccr);
|
||||
wrt_reg_word(®->hccr, HCCR_CLR_RISC_INT);
|
||||
rd_reg_word_relaxed(®->hccr);
|
||||
}
|
||||
qla2x00_handle_mbx_completion(ha, status);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
@@ -449,7 +449,7 @@ qla2x00_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0)
|
||||
if ((cnt == 4 || cnt == 5) && (mboxes & BIT_0))
|
||||
ha->mailbox_out[cnt] = qla2x00_debounce_register(wptr);
|
||||
else if (mboxes & BIT_0)
|
||||
ha->mailbox_out[cnt] = RD_REG_WORD(wptr);
|
||||
ha->mailbox_out[cnt] = rd_reg_word(wptr);
|
||||
|
||||
wptr++;
|
||||
mboxes >>= 1;
|
||||
@@ -476,7 +476,7 @@ qla81xx_idc_event(scsi_qla_host_t *vha, uint16_t aen, uint16_t descr)
|
||||
return;
|
||||
|
||||
for (cnt = 0; cnt < QLA_IDC_ACK_REGS; cnt++, wptr++)
|
||||
mb[cnt] = RD_REG_WORD(wptr);
|
||||
mb[cnt] = rd_reg_word(wptr);
|
||||
|
||||
ql_dbg(ql_dbg_async, vha, 0x5021,
|
||||
"Inter-Driver Communication %s -- "
|
||||
@@ -904,10 +904,10 @@ skip_rio:
|
||||
IS_QLA27XX(ha) || IS_QLA28XX(ha)) {
|
||||
u16 m[4];
|
||||
|
||||
m[0] = RD_REG_WORD(®24->mailbox4);
|
||||
m[1] = RD_REG_WORD(®24->mailbox5);
|
||||
m[2] = RD_REG_WORD(®24->mailbox6);
|
||||
mbx = m[3] = RD_REG_WORD(®24->mailbox7);
|
||||
m[0] = rd_reg_word(®24->mailbox4);
|
||||
m[1] = rd_reg_word(®24->mailbox5);
|
||||
m[2] = rd_reg_word(®24->mailbox6);
|
||||
mbx = m[3] = rd_reg_word(®24->mailbox7);
|
||||
|
||||
ql_log(ql_log_warn, vha, 0x5003,
|
||||
"ISP System Error - mbx1=%xh mbx2=%xh mbx3=%xh mbx4=%xh mbx5=%xh mbx6=%xh mbx7=%xh.\n",
|
||||
@@ -918,7 +918,7 @@ skip_rio:
|
||||
mb[1], mb[2], mb[3]);
|
||||
|
||||
if ((IS_QLA27XX(ha) || IS_QLA28XX(ha)) &&
|
||||
RD_REG_WORD(®24->mailbox7) & BIT_8)
|
||||
rd_reg_word(®24->mailbox7) & BIT_8)
|
||||
ha->isp_ops->mpi_fw_dump(vha, 1);
|
||||
ha->isp_ops->fw_dump(vha);
|
||||
ha->flags.fw_init_done = 0;
|
||||
@@ -1025,8 +1025,8 @@ skip_rio:
|
||||
ha->current_topology = 0;
|
||||
|
||||
mbx = (IS_QLA81XX(ha) || IS_QLA8031(ha))
|
||||
? RD_REG_WORD(®24->mailbox4) : 0;
|
||||
mbx = (IS_P3P_TYPE(ha)) ? RD_REG_WORD(®82->mailbox_out[4])
|
||||
? rd_reg_word(®24->mailbox4) : 0;
|
||||
mbx = (IS_P3P_TYPE(ha)) ? rd_reg_word(®82->mailbox_out[4])
|
||||
: mbx;
|
||||
ql_log(ql_log_info, vha, 0x500b,
|
||||
"LOOP DOWN detected (%x %x %x %x).\n",
|
||||
@@ -1393,7 +1393,7 @@ global_port_update:
|
||||
break;
|
||||
case MBA_IDC_NOTIFY:
|
||||
if (IS_QLA8031(vha->hw) || IS_QLA8044(ha)) {
|
||||
mb[4] = RD_REG_WORD(®24->mailbox4);
|
||||
mb[4] = rd_reg_word(®24->mailbox4);
|
||||
if (((mb[2] & 0x7fff) == MBC_PORT_RESET ||
|
||||
(mb[2] & 0x7fff) == MBC_SET_PORT_CONFIG) &&
|
||||
(mb[4] & INTERNAL_LOOPBACK_MASK) != 0) {
|
||||
@@ -1422,10 +1422,10 @@ global_port_update:
|
||||
if (IS_QLA27XX(ha) || IS_QLA28XX(ha)) {
|
||||
qla27xx_handle_8200_aen(vha, mb);
|
||||
} else if (IS_QLA83XX(ha)) {
|
||||
mb[4] = RD_REG_WORD(®24->mailbox4);
|
||||
mb[5] = RD_REG_WORD(®24->mailbox5);
|
||||
mb[6] = RD_REG_WORD(®24->mailbox6);
|
||||
mb[7] = RD_REG_WORD(®24->mailbox7);
|
||||
mb[4] = rd_reg_word(®24->mailbox4);
|
||||
mb[5] = rd_reg_word(®24->mailbox5);
|
||||
mb[6] = rd_reg_word(®24->mailbox6);
|
||||
mb[7] = rd_reg_word(®24->mailbox7);
|
||||
qla83xx_handle_8200_aen(vha, mb);
|
||||
} else {
|
||||
ql_dbg(ql_dbg_async, vha, 0x5052,
|
||||
@@ -2352,7 +2352,7 @@ qla2x00_process_response_queue(struct rsp_que *rsp)
|
||||
}
|
||||
|
||||
/* Adjust ring index */
|
||||
WRT_REG_WORD(ISP_RSP_Q_OUT(ha, reg), rsp->ring_index);
|
||||
wrt_reg_word(ISP_RSP_Q_OUT(ha, reg), rsp->ring_index);
|
||||
}
|
||||
|
||||
static inline void
|
||||
@@ -3219,7 +3219,7 @@ qla24xx_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0)
|
||||
|
||||
for (cnt = 1; cnt < ha->mbx_count; cnt++) {
|
||||
if (mboxes & BIT_0)
|
||||
ha->mailbox_out[cnt] = RD_REG_WORD(wptr);
|
||||
ha->mailbox_out[cnt] = rd_reg_word(wptr);
|
||||
|
||||
mboxes >>= 1;
|
||||
wptr++;
|
||||
@@ -3396,9 +3396,9 @@ process_err:
|
||||
if (IS_P3P_TYPE(ha)) {
|
||||
struct device_reg_82xx __iomem *reg = &ha->iobase->isp82;
|
||||
|
||||
WRT_REG_DWORD(®->rsp_q_out[0], rsp->ring_index);
|
||||
wrt_reg_dword(®->rsp_q_out[0], rsp->ring_index);
|
||||
} else {
|
||||
WRT_REG_DWORD(rsp->rsp_q_out, rsp->ring_index);
|
||||
wrt_reg_dword(rsp->rsp_q_out, rsp->ring_index);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3415,13 +3415,13 @@ qla2xxx_check_risc_status(scsi_qla_host_t *vha)
|
||||
return;
|
||||
|
||||
rval = QLA_SUCCESS;
|
||||
WRT_REG_DWORD(®->iobase_addr, 0x7C00);
|
||||
RD_REG_DWORD(®->iobase_addr);
|
||||
WRT_REG_DWORD(®->iobase_window, 0x0001);
|
||||
for (cnt = 10000; (RD_REG_DWORD(®->iobase_window) & BIT_0) == 0 &&
|
||||
wrt_reg_dword(®->iobase_addr, 0x7C00);
|
||||
rd_reg_dword(®->iobase_addr);
|
||||
wrt_reg_dword(®->iobase_window, 0x0001);
|
||||
for (cnt = 10000; (rd_reg_dword(®->iobase_window) & BIT_0) == 0 &&
|
||||
rval == QLA_SUCCESS; cnt--) {
|
||||
if (cnt) {
|
||||
WRT_REG_DWORD(®->iobase_window, 0x0001);
|
||||
wrt_reg_dword(®->iobase_window, 0x0001);
|
||||
udelay(10);
|
||||
} else
|
||||
rval = QLA_FUNCTION_TIMEOUT;
|
||||
@@ -3430,11 +3430,11 @@ qla2xxx_check_risc_status(scsi_qla_host_t *vha)
|
||||
goto next_test;
|
||||
|
||||
rval = QLA_SUCCESS;
|
||||
WRT_REG_DWORD(®->iobase_window, 0x0003);
|
||||
for (cnt = 100; (RD_REG_DWORD(®->iobase_window) & BIT_0) == 0 &&
|
||||
wrt_reg_dword(®->iobase_window, 0x0003);
|
||||
for (cnt = 100; (rd_reg_dword(®->iobase_window) & BIT_0) == 0 &&
|
||||
rval == QLA_SUCCESS; cnt--) {
|
||||
if (cnt) {
|
||||
WRT_REG_DWORD(®->iobase_window, 0x0003);
|
||||
wrt_reg_dword(®->iobase_window, 0x0003);
|
||||
udelay(10);
|
||||
} else
|
||||
rval = QLA_FUNCTION_TIMEOUT;
|
||||
@@ -3443,13 +3443,13 @@ qla2xxx_check_risc_status(scsi_qla_host_t *vha)
|
||||
goto done;
|
||||
|
||||
next_test:
|
||||
if (RD_REG_DWORD(®->iobase_c8) & BIT_3)
|
||||
if (rd_reg_dword(®->iobase_c8) & BIT_3)
|
||||
ql_log(ql_log_info, vha, 0x504c,
|
||||
"Additional code -- 0x55AA.\n");
|
||||
|
||||
done:
|
||||
WRT_REG_DWORD(®->iobase_window, 0x0000);
|
||||
RD_REG_DWORD(®->iobase_window);
|
||||
wrt_reg_dword(®->iobase_window, 0x0000);
|
||||
rd_reg_dword(®->iobase_window);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -3493,14 +3493,14 @@ qla24xx_intr_handler(int irq, void *dev_id)
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
vha = pci_get_drvdata(ha->pdev);
|
||||
for (iter = 50; iter--; ) {
|
||||
stat = RD_REG_DWORD(®->host_status);
|
||||
stat = rd_reg_dword(®->host_status);
|
||||
if (qla2x00_check_reg32_for_disconnect(vha, stat))
|
||||
break;
|
||||
if (stat & HSRX_RISC_PAUSED) {
|
||||
if (unlikely(pci_channel_offline(ha->pdev)))
|
||||
break;
|
||||
|
||||
hccr = RD_REG_DWORD(®->hccr);
|
||||
hccr = rd_reg_dword(®->hccr);
|
||||
|
||||
ql_log(ql_log_warn, vha, 0x504b,
|
||||
"RISC paused -- HCCR=%x, Dumping firmware.\n",
|
||||
@@ -3525,9 +3525,9 @@ qla24xx_intr_handler(int irq, void *dev_id)
|
||||
break;
|
||||
case INTR_ASYNC_EVENT:
|
||||
mb[0] = MSW(stat);
|
||||
mb[1] = RD_REG_WORD(®->mailbox1);
|
||||
mb[2] = RD_REG_WORD(®->mailbox2);
|
||||
mb[3] = RD_REG_WORD(®->mailbox3);
|
||||
mb[1] = rd_reg_word(®->mailbox1);
|
||||
mb[2] = rd_reg_word(®->mailbox2);
|
||||
mb[3] = rd_reg_word(®->mailbox3);
|
||||
qla2x00_async_event(vha, rsp, mb);
|
||||
break;
|
||||
case INTR_RSP_QUE_UPDATE:
|
||||
@@ -3547,8 +3547,8 @@ qla24xx_intr_handler(int irq, void *dev_id)
|
||||
"Unrecognized interrupt type (%d).\n", stat * 0xff);
|
||||
break;
|
||||
}
|
||||
WRT_REG_DWORD(®->hccr, HCCRX_CLR_RISC_INT);
|
||||
RD_REG_DWORD_RELAXED(®->hccr);
|
||||
wrt_reg_dword(®->hccr, HCCRX_CLR_RISC_INT);
|
||||
rd_reg_dword_relaxed(®->hccr);
|
||||
if (unlikely(IS_QLA83XX(ha) && (ha->pdev->revision == 1)))
|
||||
ndelay(3500);
|
||||
}
|
||||
@@ -3587,8 +3587,8 @@ qla24xx_msix_rsp_q(int irq, void *dev_id)
|
||||
vha = pci_get_drvdata(ha->pdev);
|
||||
qla24xx_process_response_queue(vha, rsp);
|
||||
if (!ha->flags.disable_msix_handshake) {
|
||||
WRT_REG_DWORD(®->hccr, HCCRX_CLR_RISC_INT);
|
||||
RD_REG_DWORD_RELAXED(®->hccr);
|
||||
wrt_reg_dword(®->hccr, HCCRX_CLR_RISC_INT);
|
||||
rd_reg_dword_relaxed(®->hccr);
|
||||
}
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
@@ -3622,14 +3622,14 @@ qla24xx_msix_default(int irq, void *dev_id)
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
vha = pci_get_drvdata(ha->pdev);
|
||||
do {
|
||||
stat = RD_REG_DWORD(®->host_status);
|
||||
stat = rd_reg_dword(®->host_status);
|
||||
if (qla2x00_check_reg32_for_disconnect(vha, stat))
|
||||
break;
|
||||
if (stat & HSRX_RISC_PAUSED) {
|
||||
if (unlikely(pci_channel_offline(ha->pdev)))
|
||||
break;
|
||||
|
||||
hccr = RD_REG_DWORD(®->hccr);
|
||||
hccr = rd_reg_dword(®->hccr);
|
||||
|
||||
ql_log(ql_log_info, vha, 0x5050,
|
||||
"RISC paused -- HCCR=%x, Dumping firmware.\n",
|
||||
@@ -3654,9 +3654,9 @@ qla24xx_msix_default(int irq, void *dev_id)
|
||||
break;
|
||||
case INTR_ASYNC_EVENT:
|
||||
mb[0] = MSW(stat);
|
||||
mb[1] = RD_REG_WORD(®->mailbox1);
|
||||
mb[2] = RD_REG_WORD(®->mailbox2);
|
||||
mb[3] = RD_REG_WORD(®->mailbox3);
|
||||
mb[1] = rd_reg_word(®->mailbox1);
|
||||
mb[2] = rd_reg_word(®->mailbox2);
|
||||
mb[3] = rd_reg_word(®->mailbox3);
|
||||
qla2x00_async_event(vha, rsp, mb);
|
||||
break;
|
||||
case INTR_RSP_QUE_UPDATE:
|
||||
@@ -3676,7 +3676,7 @@ qla24xx_msix_default(int irq, void *dev_id)
|
||||
"Unrecognized interrupt type (%d).\n", stat & 0xff);
|
||||
break;
|
||||
}
|
||||
WRT_REG_DWORD(®->hccr, HCCRX_CLR_RISC_INT);
|
||||
wrt_reg_dword(®->hccr, HCCRX_CLR_RISC_INT);
|
||||
} while (0);
|
||||
qla2x00_handle_mbx_completion(ha, status);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
@@ -3727,7 +3727,7 @@ qla2xxx_msix_rsp_q_hs(int irq, void *dev_id)
|
||||
|
||||
reg = &ha->iobase->isp24;
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
WRT_REG_DWORD(®->hccr, HCCRX_CLR_RISC_INT);
|
||||
wrt_reg_dword(®->hccr, HCCRX_CLR_RISC_INT);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
queue_work(ha->wq, &qpair->q_work);
|
||||
@@ -4081,7 +4081,7 @@ clear_risc_ints:
|
||||
goto fail;
|
||||
|
||||
spin_lock_irq(&ha->hardware_lock);
|
||||
WRT_REG_WORD(®->isp.semaphore, 0);
|
||||
wrt_reg_word(®->isp.semaphore, 0);
|
||||
spin_unlock_irq(&ha->hardware_lock);
|
||||
|
||||
fail:
|
||||
|
||||
+37
-37
@@ -227,7 +227,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
|
||||
if (mboxes & BIT_0) {
|
||||
ql_dbg(ql_dbg_mbx, vha, 0x1112,
|
||||
"mbox[%d]<-0x%04x\n", cnt, *iptr);
|
||||
WRT_REG_WORD(optr, *iptr);
|
||||
wrt_reg_word(optr, *iptr);
|
||||
}
|
||||
|
||||
mboxes >>= 1;
|
||||
@@ -253,11 +253,11 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
|
||||
set_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags);
|
||||
|
||||
if (IS_P3P_TYPE(ha))
|
||||
WRT_REG_DWORD(®->isp82.hint, HINT_MBX_INT_PENDING);
|
||||
wrt_reg_dword(®->isp82.hint, HINT_MBX_INT_PENDING);
|
||||
else if (IS_FWI2_CAPABLE(ha))
|
||||
WRT_REG_DWORD(®->isp24.hccr, HCCRX_SET_HOST_INT);
|
||||
wrt_reg_dword(®->isp24.hccr, HCCRX_SET_HOST_INT);
|
||||
else
|
||||
WRT_REG_WORD(®->isp.hccr, HCCR_SET_HOST_INT);
|
||||
wrt_reg_word(®->isp.hccr, HCCR_SET_HOST_INT);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
wait_time = jiffies;
|
||||
@@ -300,7 +300,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
|
||||
"Cmd=%x Polling Mode.\n", command);
|
||||
|
||||
if (IS_P3P_TYPE(ha)) {
|
||||
if (RD_REG_DWORD(®->isp82.hint) &
|
||||
if (rd_reg_dword(®->isp82.hint) &
|
||||
HINT_MBX_INT_PENDING) {
|
||||
ha->flags.mbox_busy = 0;
|
||||
spin_unlock_irqrestore(&ha->hardware_lock,
|
||||
@@ -311,11 +311,11 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
|
||||
rval = QLA_FUNCTION_TIMEOUT;
|
||||
goto premature_exit;
|
||||
}
|
||||
WRT_REG_DWORD(®->isp82.hint, HINT_MBX_INT_PENDING);
|
||||
wrt_reg_dword(®->isp82.hint, HINT_MBX_INT_PENDING);
|
||||
} else if (IS_FWI2_CAPABLE(ha))
|
||||
WRT_REG_DWORD(®->isp24.hccr, HCCRX_SET_HOST_INT);
|
||||
wrt_reg_dword(®->isp24.hccr, HCCRX_SET_HOST_INT);
|
||||
else
|
||||
WRT_REG_WORD(®->isp.hccr, HCCR_SET_HOST_INT);
|
||||
wrt_reg_word(®->isp.hccr, HCCR_SET_HOST_INT);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
wait_time = jiffies + mcp->tov * HZ; /* wait at most tov secs */
|
||||
@@ -413,14 +413,14 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
|
||||
uint16_t w;
|
||||
|
||||
if (IS_FWI2_CAPABLE(ha)) {
|
||||
mb[0] = RD_REG_WORD(®->isp24.mailbox0);
|
||||
mb[1] = RD_REG_WORD(®->isp24.mailbox1);
|
||||
mb[2] = RD_REG_WORD(®->isp24.mailbox2);
|
||||
mb[3] = RD_REG_WORD(®->isp24.mailbox3);
|
||||
mb[7] = RD_REG_WORD(®->isp24.mailbox7);
|
||||
ictrl = RD_REG_DWORD(®->isp24.ictrl);
|
||||
host_status = RD_REG_DWORD(®->isp24.host_status);
|
||||
hccr = RD_REG_DWORD(®->isp24.hccr);
|
||||
mb[0] = rd_reg_word(®->isp24.mailbox0);
|
||||
mb[1] = rd_reg_word(®->isp24.mailbox1);
|
||||
mb[2] = rd_reg_word(®->isp24.mailbox2);
|
||||
mb[3] = rd_reg_word(®->isp24.mailbox3);
|
||||
mb[7] = rd_reg_word(®->isp24.mailbox7);
|
||||
ictrl = rd_reg_dword(®->isp24.ictrl);
|
||||
host_status = rd_reg_dword(®->isp24.host_status);
|
||||
hccr = rd_reg_dword(®->isp24.hccr);
|
||||
|
||||
ql_log(ql_log_warn, vha, 0xd04c,
|
||||
"MBX Command timeout for cmd %x, iocontrol=%x jiffies=%lx "
|
||||
@@ -430,7 +430,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
|
||||
|
||||
} else {
|
||||
mb[0] = RD_MAILBOX_REG(ha, ®->isp, 0);
|
||||
ictrl = RD_REG_WORD(®->isp.ictrl);
|
||||
ictrl = rd_reg_word(®->isp.ictrl);
|
||||
ql_dbg(ql_dbg_mbx + ql_dbg_buffer, vha, 0x1119,
|
||||
"MBX Command timeout for cmd %x, iocontrol=%x jiffies=%lx "
|
||||
"mb[0]=0x%x\n", command, ictrl, jiffies, mb[0]);
|
||||
@@ -573,15 +573,15 @@ mbx_done:
|
||||
if (IS_FWI2_CAPABLE(ha) && !(IS_P3P_TYPE(ha))) {
|
||||
ql_dbg(ql_dbg_mbx, vha, 0x1198,
|
||||
"host_status=%#x intr_ctrl=%#x intr_status=%#x\n",
|
||||
RD_REG_DWORD(®->isp24.host_status),
|
||||
RD_REG_DWORD(®->isp24.ictrl),
|
||||
RD_REG_DWORD(®->isp24.istatus));
|
||||
rd_reg_dword(®->isp24.host_status),
|
||||
rd_reg_dword(®->isp24.ictrl),
|
||||
rd_reg_dword(®->isp24.istatus));
|
||||
} else {
|
||||
ql_dbg(ql_dbg_mbx, vha, 0x1206,
|
||||
"ctrl_status=%#x ictrl=%#x istatus=%#x\n",
|
||||
RD_REG_WORD(®->isp.ctrl_status),
|
||||
RD_REG_WORD(®->isp.ictrl),
|
||||
RD_REG_WORD(®->isp.istatus));
|
||||
rd_reg_word(®->isp.ctrl_status),
|
||||
rd_reg_word(®->isp.ictrl),
|
||||
rd_reg_word(®->isp.istatus));
|
||||
}
|
||||
} else {
|
||||
ql_dbg(ql_dbg_mbx, base_vha, 0x1021, "Done %s.\n", __func__);
|
||||
@@ -4427,9 +4427,9 @@ qla25xx_init_req_que(struct scsi_qla_host *vha, struct req_que *req)
|
||||
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
if (!(req->options & BIT_0)) {
|
||||
WRT_REG_DWORD(req->req_q_in, 0);
|
||||
wrt_reg_dword(req->req_q_in, 0);
|
||||
if (!IS_QLA83XX(ha) && !IS_QLA27XX(ha) && !IS_QLA28XX(ha))
|
||||
WRT_REG_DWORD(req->req_q_out, 0);
|
||||
wrt_reg_dword(req->req_q_out, 0);
|
||||
}
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
@@ -4498,9 +4498,9 @@ qla25xx_init_rsp_que(struct scsi_qla_host *vha, struct rsp_que *rsp)
|
||||
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
if (!(rsp->options & BIT_0)) {
|
||||
WRT_REG_DWORD(rsp->rsp_q_out, 0);
|
||||
wrt_reg_dword(rsp->rsp_q_out, 0);
|
||||
if (!IS_QLA83XX(ha) && !IS_QLA27XX(ha) && !IS_QLA28XX(ha))
|
||||
WRT_REG_DWORD(rsp->rsp_q_in, 0);
|
||||
wrt_reg_dword(rsp->rsp_q_in, 0);
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
@@ -5413,18 +5413,18 @@ qla81xx_write_mpi_register(scsi_qla_host_t *vha, uint16_t *mb)
|
||||
clear_bit(MBX_INTERRUPT, &ha->mbx_cmd_flags);
|
||||
|
||||
/* Write the MBC data to the registers */
|
||||
WRT_REG_WORD(®->mailbox0, MBC_WRITE_MPI_REGISTER);
|
||||
WRT_REG_WORD(®->mailbox1, mb[0]);
|
||||
WRT_REG_WORD(®->mailbox2, mb[1]);
|
||||
WRT_REG_WORD(®->mailbox3, mb[2]);
|
||||
WRT_REG_WORD(®->mailbox4, mb[3]);
|
||||
wrt_reg_word(®->mailbox0, MBC_WRITE_MPI_REGISTER);
|
||||
wrt_reg_word(®->mailbox1, mb[0]);
|
||||
wrt_reg_word(®->mailbox2, mb[1]);
|
||||
wrt_reg_word(®->mailbox3, mb[2]);
|
||||
wrt_reg_word(®->mailbox4, mb[3]);
|
||||
|
||||
WRT_REG_DWORD(®->hccr, HCCRX_SET_HOST_INT);
|
||||
wrt_reg_dword(®->hccr, HCCRX_SET_HOST_INT);
|
||||
|
||||
/* Poll for MBC interrupt */
|
||||
for (timer = 6000000; timer; timer--) {
|
||||
/* Check for pending interrupts. */
|
||||
stat = RD_REG_DWORD(®->host_status);
|
||||
stat = rd_reg_dword(®->host_status);
|
||||
if (stat & HSRX_RISC_INT) {
|
||||
stat &= 0xff;
|
||||
|
||||
@@ -5432,10 +5432,10 @@ qla81xx_write_mpi_register(scsi_qla_host_t *vha, uint16_t *mb)
|
||||
stat == 0x10 || stat == 0x11) {
|
||||
set_bit(MBX_INTERRUPT,
|
||||
&ha->mbx_cmd_flags);
|
||||
mb0 = RD_REG_WORD(®->mailbox0);
|
||||
WRT_REG_DWORD(®->hccr,
|
||||
mb0 = rd_reg_word(®->mailbox0);
|
||||
wrt_reg_dword(®->hccr,
|
||||
HCCRX_CLR_RISC_INT);
|
||||
RD_REG_DWORD(®->hccr);
|
||||
rd_reg_dword(®->hccr);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+47
-47
@@ -117,7 +117,7 @@ qlafx00_mailbox_command(scsi_qla_host_t *vha, struct mbx_cmd_32 *mcp)
|
||||
|
||||
for (cnt = 0; cnt < ha->mbx_count; cnt++) {
|
||||
if (mboxes & BIT_0)
|
||||
WRT_REG_DWORD(optr, *iptr);
|
||||
wrt_reg_dword(optr, *iptr);
|
||||
|
||||
mboxes >>= 1;
|
||||
optr++;
|
||||
@@ -676,14 +676,14 @@ qlafx00_config_rings(struct scsi_qla_host *vha)
|
||||
struct qla_hw_data *ha = vha->hw;
|
||||
struct device_reg_fx00 __iomem *reg = &ha->iobase->ispfx00;
|
||||
|
||||
WRT_REG_DWORD(®->req_q_in, 0);
|
||||
WRT_REG_DWORD(®->req_q_out, 0);
|
||||
wrt_reg_dword(®->req_q_in, 0);
|
||||
wrt_reg_dword(®->req_q_out, 0);
|
||||
|
||||
WRT_REG_DWORD(®->rsp_q_in, 0);
|
||||
WRT_REG_DWORD(®->rsp_q_out, 0);
|
||||
wrt_reg_dword(®->rsp_q_in, 0);
|
||||
wrt_reg_dword(®->rsp_q_out, 0);
|
||||
|
||||
/* PCI posting */
|
||||
RD_REG_DWORD(®->rsp_q_out);
|
||||
rd_reg_dword(®->rsp_q_out);
|
||||
}
|
||||
|
||||
char *
|
||||
@@ -910,9 +910,9 @@ qlafx00_init_fw_ready(scsi_qla_host_t *vha)
|
||||
/* 30 seconds wait - Adjust if required */
|
||||
wait_time = 30;
|
||||
|
||||
pseudo_aen = RD_REG_DWORD(®->pseudoaen);
|
||||
pseudo_aen = rd_reg_dword(®->pseudoaen);
|
||||
if (pseudo_aen == 1) {
|
||||
aenmbx7 = RD_REG_DWORD(®->initval7);
|
||||
aenmbx7 = rd_reg_dword(®->initval7);
|
||||
ha->mbx_intr_code = MSW(aenmbx7);
|
||||
ha->rqstq_intr_code = LSW(aenmbx7);
|
||||
rval = qlafx00_driver_shutdown(vha, 10);
|
||||
@@ -923,7 +923,7 @@ qlafx00_init_fw_ready(scsi_qla_host_t *vha)
|
||||
/* wait time before firmware ready */
|
||||
wtime = jiffies + (wait_time * HZ);
|
||||
do {
|
||||
aenmbx = RD_REG_DWORD(®->aenmailbox0);
|
||||
aenmbx = rd_reg_dword(®->aenmailbox0);
|
||||
barrier();
|
||||
ql_dbg(ql_dbg_mbx, vha, 0x0133,
|
||||
"aenmbx: 0x%x\n", aenmbx);
|
||||
@@ -942,15 +942,15 @@ qlafx00_init_fw_ready(scsi_qla_host_t *vha)
|
||||
|
||||
case MBA_FW_RESTART_CMPLT:
|
||||
/* Set the mbx and rqstq intr code */
|
||||
aenmbx7 = RD_REG_DWORD(®->aenmailbox7);
|
||||
aenmbx7 = rd_reg_dword(®->aenmailbox7);
|
||||
ha->mbx_intr_code = MSW(aenmbx7);
|
||||
ha->rqstq_intr_code = LSW(aenmbx7);
|
||||
ha->req_que_off = RD_REG_DWORD(®->aenmailbox1);
|
||||
ha->rsp_que_off = RD_REG_DWORD(®->aenmailbox3);
|
||||
ha->req_que_len = RD_REG_DWORD(®->aenmailbox5);
|
||||
ha->rsp_que_len = RD_REG_DWORD(®->aenmailbox6);
|
||||
WRT_REG_DWORD(®->aenmailbox0, 0);
|
||||
RD_REG_DWORD_RELAXED(®->aenmailbox0);
|
||||
ha->req_que_off = rd_reg_dword(®->aenmailbox1);
|
||||
ha->rsp_que_off = rd_reg_dword(®->aenmailbox3);
|
||||
ha->req_que_len = rd_reg_dword(®->aenmailbox5);
|
||||
ha->rsp_que_len = rd_reg_dword(®->aenmailbox6);
|
||||
wrt_reg_dword(®->aenmailbox0, 0);
|
||||
rd_reg_dword_relaxed(®->aenmailbox0);
|
||||
ql_dbg(ql_dbg_init, vha, 0x0134,
|
||||
"f/w returned mbx_intr_code: 0x%x, "
|
||||
"rqstq_intr_code: 0x%x\n",
|
||||
@@ -980,13 +980,13 @@ qlafx00_init_fw_ready(scsi_qla_host_t *vha)
|
||||
* 3. issue Get FW State Mbox cmd to determine fw state
|
||||
* Set the mbx and rqstq intr code from Shadow Regs
|
||||
*/
|
||||
aenmbx7 = RD_REG_DWORD(®->initval7);
|
||||
aenmbx7 = rd_reg_dword(®->initval7);
|
||||
ha->mbx_intr_code = MSW(aenmbx7);
|
||||
ha->rqstq_intr_code = LSW(aenmbx7);
|
||||
ha->req_que_off = RD_REG_DWORD(®->initval1);
|
||||
ha->rsp_que_off = RD_REG_DWORD(®->initval3);
|
||||
ha->req_que_len = RD_REG_DWORD(®->initval5);
|
||||
ha->rsp_que_len = RD_REG_DWORD(®->initval6);
|
||||
ha->req_que_off = rd_reg_dword(®->initval1);
|
||||
ha->rsp_que_off = rd_reg_dword(®->initval3);
|
||||
ha->req_que_len = rd_reg_dword(®->initval5);
|
||||
ha->rsp_que_len = rd_reg_dword(®->initval6);
|
||||
ql_dbg(ql_dbg_init, vha, 0x0135,
|
||||
"f/w returned mbx_intr_code: 0x%x, "
|
||||
"rqstq_intr_code: 0x%x\n",
|
||||
@@ -1032,7 +1032,7 @@ qlafx00_init_fw_ready(scsi_qla_host_t *vha)
|
||||
if (time_after_eq(jiffies, wtime)) {
|
||||
ql_dbg(ql_dbg_init, vha, 0x0137,
|
||||
"Init f/w failed: aen[7]: 0x%x\n",
|
||||
RD_REG_DWORD(®->aenmailbox7));
|
||||
rd_reg_dword(®->aenmailbox7));
|
||||
rval = QLA_FUNCTION_FAILED;
|
||||
done = true;
|
||||
break;
|
||||
@@ -1426,7 +1426,7 @@ qlafx00_init_response_q_entries(struct rsp_que *rsp)
|
||||
pkt = rsp->ring_ptr;
|
||||
for (cnt = 0; cnt < rsp->length; cnt++) {
|
||||
pkt->signature = RESPONSE_PROCESSED;
|
||||
WRT_REG_DWORD((void __force __iomem *)&pkt->signature,
|
||||
wrt_reg_dword((void __force __iomem *)&pkt->signature,
|
||||
RESPONSE_PROCESSED);
|
||||
pkt++;
|
||||
}
|
||||
@@ -1442,13 +1442,13 @@ qlafx00_rescan_isp(scsi_qla_host_t *vha)
|
||||
|
||||
qla2x00_request_irqs(ha, ha->rsp_q_map[0]);
|
||||
|
||||
aenmbx7 = RD_REG_DWORD(®->aenmailbox7);
|
||||
aenmbx7 = rd_reg_dword(®->aenmailbox7);
|
||||
ha->mbx_intr_code = MSW(aenmbx7);
|
||||
ha->rqstq_intr_code = LSW(aenmbx7);
|
||||
ha->req_que_off = RD_REG_DWORD(®->aenmailbox1);
|
||||
ha->rsp_que_off = RD_REG_DWORD(®->aenmailbox3);
|
||||
ha->req_que_len = RD_REG_DWORD(®->aenmailbox5);
|
||||
ha->rsp_que_len = RD_REG_DWORD(®->aenmailbox6);
|
||||
ha->req_que_off = rd_reg_dword(®->aenmailbox1);
|
||||
ha->rsp_que_off = rd_reg_dword(®->aenmailbox3);
|
||||
ha->req_que_len = rd_reg_dword(®->aenmailbox5);
|
||||
ha->rsp_que_len = rd_reg_dword(®->aenmailbox6);
|
||||
|
||||
ql_dbg(ql_dbg_disc, vha, 0x2094,
|
||||
"fw returned mbx_intr_code: 0x%x, rqstq_intr_code: 0x%x "
|
||||
@@ -1493,7 +1493,7 @@ qlafx00_timer_routine(scsi_qla_host_t *vha)
|
||||
(!test_bit(UNLOADING, &vha->dpc_flags)) &&
|
||||
(!test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags)) &&
|
||||
(ha->mr.fw_hbt_en)) {
|
||||
fw_heart_beat = RD_REG_DWORD(®->fwheartbeat);
|
||||
fw_heart_beat = rd_reg_dword(®->fwheartbeat);
|
||||
if (fw_heart_beat != ha->mr.old_fw_hbt_cnt) {
|
||||
ha->mr.old_fw_hbt_cnt = fw_heart_beat;
|
||||
ha->mr.fw_hbt_miss_cnt = 0;
|
||||
@@ -1513,7 +1513,7 @@ qlafx00_timer_routine(scsi_qla_host_t *vha)
|
||||
|
||||
if (test_bit(FX00_RESET_RECOVERY, &vha->dpc_flags)) {
|
||||
/* Reset recovery to be performed in timer routine */
|
||||
aenmbx0 = RD_REG_DWORD(®->aenmailbox0);
|
||||
aenmbx0 = rd_reg_dword(®->aenmailbox0);
|
||||
if (ha->mr.fw_reset_timer_exp) {
|
||||
set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags);
|
||||
qla2xxx_wake_dpc(vha);
|
||||
@@ -2731,7 +2731,7 @@ qlafx00_process_response_queue(struct scsi_qla_host *vha,
|
||||
uint16_t lreq_q_in = 0;
|
||||
uint16_t lreq_q_out = 0;
|
||||
|
||||
lreq_q_in = RD_REG_DWORD(rsp->rsp_q_in);
|
||||
lreq_q_in = rd_reg_dword(rsp->rsp_q_in);
|
||||
lreq_q_out = rsp->ring_index;
|
||||
|
||||
while (lreq_q_in != lreq_q_out) {
|
||||
@@ -2793,7 +2793,7 @@ qlafx00_process_response_queue(struct scsi_qla_host *vha,
|
||||
}
|
||||
|
||||
/* Adjust ring index */
|
||||
WRT_REG_DWORD(rsp->rsp_q_out, rsp->ring_index);
|
||||
wrt_reg_dword(rsp->rsp_q_out, rsp->ring_index);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2824,9 +2824,9 @@ qlafx00_async_event(scsi_qla_host_t *vha)
|
||||
break;
|
||||
|
||||
case QLAFX00_MBA_PORT_UPDATE: /* Port database update */
|
||||
ha->aenmb[1] = RD_REG_DWORD(®->aenmailbox1);
|
||||
ha->aenmb[2] = RD_REG_DWORD(®->aenmailbox2);
|
||||
ha->aenmb[3] = RD_REG_DWORD(®->aenmailbox3);
|
||||
ha->aenmb[1] = rd_reg_dword(®->aenmailbox1);
|
||||
ha->aenmb[2] = rd_reg_dword(®->aenmailbox2);
|
||||
ha->aenmb[3] = rd_reg_dword(®->aenmailbox3);
|
||||
ql_dbg(ql_dbg_async, vha, 0x5077,
|
||||
"Asynchronous port Update received "
|
||||
"aenmb[0]: %x, aenmb[1]: %x, aenmb[2]: %x, aenmb[3]: %x\n",
|
||||
@@ -2856,13 +2856,13 @@ qlafx00_async_event(scsi_qla_host_t *vha)
|
||||
break;
|
||||
|
||||
default:
|
||||
ha->aenmb[1] = RD_REG_DWORD(®->aenmailbox1);
|
||||
ha->aenmb[2] = RD_REG_DWORD(®->aenmailbox2);
|
||||
ha->aenmb[3] = RD_REG_DWORD(®->aenmailbox3);
|
||||
ha->aenmb[4] = RD_REG_DWORD(®->aenmailbox4);
|
||||
ha->aenmb[5] = RD_REG_DWORD(®->aenmailbox5);
|
||||
ha->aenmb[6] = RD_REG_DWORD(®->aenmailbox6);
|
||||
ha->aenmb[7] = RD_REG_DWORD(®->aenmailbox7);
|
||||
ha->aenmb[1] = rd_reg_dword(®->aenmailbox1);
|
||||
ha->aenmb[2] = rd_reg_dword(®->aenmailbox2);
|
||||
ha->aenmb[3] = rd_reg_dword(®->aenmailbox3);
|
||||
ha->aenmb[4] = rd_reg_dword(®->aenmailbox4);
|
||||
ha->aenmb[5] = rd_reg_dword(®->aenmailbox5);
|
||||
ha->aenmb[6] = rd_reg_dword(®->aenmailbox6);
|
||||
ha->aenmb[7] = rd_reg_dword(®->aenmailbox7);
|
||||
ql_dbg(ql_dbg_async, vha, 0x5078,
|
||||
"AEN:%04x %04x %04x %04x :%04x %04x %04x %04x\n",
|
||||
ha->aenmb[0], ha->aenmb[1], ha->aenmb[2], ha->aenmb[3],
|
||||
@@ -2895,7 +2895,7 @@ qlafx00_mbx_completion(scsi_qla_host_t *vha, uint32_t mb0)
|
||||
wptr = ®->mailbox17;
|
||||
|
||||
for (cnt = 1; cnt < ha->mbx_count; cnt++) {
|
||||
ha->mailbox_out32[cnt] = RD_REG_DWORD(wptr);
|
||||
ha->mailbox_out32[cnt] = rd_reg_dword(wptr);
|
||||
wptr++;
|
||||
}
|
||||
}
|
||||
@@ -2949,13 +2949,13 @@ qlafx00_intr_handler(int irq, void *dev_id)
|
||||
break;
|
||||
|
||||
if (stat & QLAFX00_INTR_MB_CMPLT) {
|
||||
mb[0] = RD_REG_DWORD(®->mailbox16);
|
||||
mb[0] = rd_reg_dword(®->mailbox16);
|
||||
qlafx00_mbx_completion(vha, mb[0]);
|
||||
status |= MBX_INTERRUPT;
|
||||
clr_intr |= QLAFX00_INTR_MB_CMPLT;
|
||||
}
|
||||
if (intr_stat & QLAFX00_INTR_ASYNC_CMPLT) {
|
||||
ha->aenmb[0] = RD_REG_DWORD(®->aenmailbox0);
|
||||
ha->aenmb[0] = rd_reg_dword(®->aenmailbox0);
|
||||
qlafx00_async_event(vha);
|
||||
clr_intr |= QLAFX00_INTR_ASYNC_CMPLT;
|
||||
}
|
||||
@@ -3123,7 +3123,7 @@ qlafx00_start_scsi(srb_t *sp)
|
||||
tot_dsds = nseg;
|
||||
req_cnt = qla24xx_calc_iocbs(vha, tot_dsds);
|
||||
if (req->cnt < (req_cnt + 2)) {
|
||||
cnt = RD_REG_DWORD_RELAXED(req->req_q_out);
|
||||
cnt = rd_reg_dword_relaxed(req->req_q_out);
|
||||
|
||||
if (req->ring_index < cnt)
|
||||
req->cnt = cnt - req->ring_index;
|
||||
@@ -3188,7 +3188,7 @@ qlafx00_start_scsi(srb_t *sp)
|
||||
sp->flags |= SRB_DMA_VALID;
|
||||
|
||||
/* Set chip new ring index. */
|
||||
WRT_REG_DWORD(req->req_q_in, req->ring_index);
|
||||
wrt_reg_dword(req->req_q_in, req->ring_index);
|
||||
QLAFX00_SET_HST_INTR(ha, ha->rqstq_intr_code);
|
||||
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
+12
-12
@@ -359,47 +359,47 @@ struct config_info_data {
|
||||
#define CONTINUE_A64_TYPE_FX00 0x03 /* Continuation entry. */
|
||||
|
||||
#define QLAFX00_SET_HST_INTR(ha, value) \
|
||||
WRT_REG_DWORD((ha)->cregbase + QLAFX00_HST_TO_HBA_REG, \
|
||||
wrt_reg_dword((ha)->cregbase + QLAFX00_HST_TO_HBA_REG, \
|
||||
value)
|
||||
|
||||
#define QLAFX00_CLR_HST_INTR(ha, value) \
|
||||
WRT_REG_DWORD((ha)->cregbase + QLAFX00_HBA_TO_HOST_REG, \
|
||||
wrt_reg_dword((ha)->cregbase + QLAFX00_HBA_TO_HOST_REG, \
|
||||
~value)
|
||||
|
||||
#define QLAFX00_RD_INTR_REG(ha) \
|
||||
RD_REG_DWORD((ha)->cregbase + QLAFX00_HBA_TO_HOST_REG)
|
||||
rd_reg_dword((ha)->cregbase + QLAFX00_HBA_TO_HOST_REG)
|
||||
|
||||
#define QLAFX00_CLR_INTR_REG(ha, value) \
|
||||
WRT_REG_DWORD((ha)->cregbase + QLAFX00_HBA_TO_HOST_REG, \
|
||||
wrt_reg_dword((ha)->cregbase + QLAFX00_HBA_TO_HOST_REG, \
|
||||
~value)
|
||||
|
||||
#define QLAFX00_SET_HBA_SOC_REG(ha, off, val)\
|
||||
WRT_REG_DWORD((ha)->cregbase + off, val)
|
||||
wrt_reg_dword((ha)->cregbase + off, val)
|
||||
|
||||
#define QLAFX00_GET_HBA_SOC_REG(ha, off)\
|
||||
RD_REG_DWORD((ha)->cregbase + off)
|
||||
rd_reg_dword((ha)->cregbase + off)
|
||||
|
||||
#define QLAFX00_HBA_RST_REG(ha, val)\
|
||||
WRT_REG_DWORD((ha)->cregbase + QLAFX00_HST_RST_REG, val)
|
||||
wrt_reg_dword((ha)->cregbase + QLAFX00_HST_RST_REG, val)
|
||||
|
||||
#define QLAFX00_RD_ICNTRL_REG(ha) \
|
||||
RD_REG_DWORD((ha)->cregbase + QLAFX00_HBA_ICNTRL_REG)
|
||||
rd_reg_dword((ha)->cregbase + QLAFX00_HBA_ICNTRL_REG)
|
||||
|
||||
#define QLAFX00_ENABLE_ICNTRL_REG(ha) \
|
||||
WRT_REG_DWORD((ha)->cregbase + QLAFX00_HBA_ICNTRL_REG, \
|
||||
wrt_reg_dword((ha)->cregbase + QLAFX00_HBA_ICNTRL_REG, \
|
||||
(QLAFX00_GET_HBA_SOC_REG(ha, QLAFX00_HBA_ICNTRL_REG) | \
|
||||
QLAFX00_ICR_ENB_MASK))
|
||||
|
||||
#define QLAFX00_DISABLE_ICNTRL_REG(ha) \
|
||||
WRT_REG_DWORD((ha)->cregbase + QLAFX00_HBA_ICNTRL_REG, \
|
||||
wrt_reg_dword((ha)->cregbase + QLAFX00_HBA_ICNTRL_REG, \
|
||||
(QLAFX00_GET_HBA_SOC_REG(ha, QLAFX00_HBA_ICNTRL_REG) & \
|
||||
QLAFX00_ICR_DIS_MASK))
|
||||
|
||||
#define QLAFX00_RD_REG(ha, off) \
|
||||
RD_REG_DWORD((ha)->cregbase + off)
|
||||
rd_reg_dword((ha)->cregbase + off)
|
||||
|
||||
#define QLAFX00_WR_REG(ha, off, val) \
|
||||
WRT_REG_DWORD((ha)->cregbase + off, val)
|
||||
wrt_reg_dword((ha)->cregbase + off, val)
|
||||
|
||||
struct qla_mt_iocb_rqst_fx00 {
|
||||
__le32 reserved_0;
|
||||
|
||||
@@ -395,7 +395,7 @@ static inline int qla2x00_start_nvme_mq(srb_t *sp)
|
||||
req_cnt = qla24xx_calc_iocbs(vha, tot_dsds);
|
||||
if (req->cnt < (req_cnt + 2)) {
|
||||
cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr :
|
||||
RD_REG_DWORD_RELAXED(req->req_q_out);
|
||||
rd_reg_dword_relaxed(req->req_q_out);
|
||||
|
||||
if (req->ring_index < cnt)
|
||||
req->cnt = cnt - req->ring_index;
|
||||
@@ -525,7 +525,7 @@ static inline int qla2x00_start_nvme_mq(srb_t *sp)
|
||||
}
|
||||
|
||||
/* Set chip new ring index. */
|
||||
WRT_REG_DWORD(req->req_q_in, req->ring_index);
|
||||
wrt_reg_dword(req->req_q_in, req->ring_index);
|
||||
|
||||
queuing_error:
|
||||
spin_unlock_irqrestore(&qpair->qp_lock, flags);
|
||||
|
||||
+34
-34
@@ -369,7 +369,7 @@ qla82xx_pci_set_crbwindow_2M(struct qla_hw_data *ha, ulong off_in,
|
||||
/* Read back value to make sure write has gone through before trying
|
||||
* to use it.
|
||||
*/
|
||||
win_read = RD_REG_DWORD(CRB_WINDOW_2M + ha->nx_pcibase);
|
||||
win_read = rd_reg_dword(CRB_WINDOW_2M + ha->nx_pcibase);
|
||||
if (win_read != ha->crb_win) {
|
||||
ql_dbg(ql_dbg_p3p, vha, 0xb000,
|
||||
"%s: Written crbwin (0x%x) "
|
||||
@@ -519,7 +519,7 @@ qla82xx_rd_32(struct qla_hw_data *ha, ulong off_in)
|
||||
qla82xx_crb_win_lock(ha);
|
||||
qla82xx_pci_set_crbwindow_2M(ha, off_in, &off);
|
||||
}
|
||||
data = RD_REG_DWORD(off);
|
||||
data = rd_reg_dword(off);
|
||||
|
||||
if (rv == 1) {
|
||||
qla82xx_rd_32(ha, QLA82XX_PCIE_REG(PCIE_SEM7_UNLOCK));
|
||||
@@ -936,17 +936,17 @@ qla82xx_md_rw_32(struct qla_hw_data *ha, uint32_t off, u32 data, uint8_t flag)
|
||||
{
|
||||
uint32_t off_value, rval = 0;
|
||||
|
||||
WRT_REG_DWORD(CRB_WINDOW_2M + ha->nx_pcibase, off & 0xFFFF0000);
|
||||
wrt_reg_dword(CRB_WINDOW_2M + ha->nx_pcibase, off & 0xFFFF0000);
|
||||
|
||||
/* Read back value to make sure write has gone through */
|
||||
RD_REG_DWORD(CRB_WINDOW_2M + ha->nx_pcibase);
|
||||
rd_reg_dword(CRB_WINDOW_2M + ha->nx_pcibase);
|
||||
off_value = (off & 0x0000FFFF);
|
||||
|
||||
if (flag)
|
||||
WRT_REG_DWORD(off_value + CRB_INDIRECT_2M + ha->nx_pcibase,
|
||||
wrt_reg_dword(off_value + CRB_INDIRECT_2M + ha->nx_pcibase,
|
||||
data);
|
||||
else
|
||||
rval = RD_REG_DWORD(off_value + CRB_INDIRECT_2M +
|
||||
rval = rd_reg_dword(off_value + CRB_INDIRECT_2M +
|
||||
ha->nx_pcibase);
|
||||
|
||||
return rval;
|
||||
@@ -1790,9 +1790,9 @@ void qla82xx_config_rings(struct scsi_qla_host *vha)
|
||||
put_unaligned_le64(req->dma, &icb->request_q_address);
|
||||
put_unaligned_le64(rsp->dma, &icb->response_q_address);
|
||||
|
||||
WRT_REG_DWORD(®->req_q_out[0], 0);
|
||||
WRT_REG_DWORD(®->rsp_q_in[0], 0);
|
||||
WRT_REG_DWORD(®->rsp_q_out[0], 0);
|
||||
wrt_reg_dword(®->req_q_out[0], 0);
|
||||
wrt_reg_dword(®->rsp_q_in[0], 0);
|
||||
wrt_reg_dword(®->rsp_q_out[0], 0);
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -2007,7 +2007,7 @@ qla82xx_mbx_completion(scsi_qla_host_t *vha, uint16_t mb0)
|
||||
ha->mailbox_out[0] = mb0;
|
||||
|
||||
for (cnt = 1; cnt < ha->mbx_count; cnt++) {
|
||||
ha->mailbox_out[cnt] = RD_REG_WORD(wptr);
|
||||
ha->mailbox_out[cnt] = rd_reg_word(wptr);
|
||||
wptr++;
|
||||
}
|
||||
|
||||
@@ -2069,8 +2069,8 @@ qla82xx_intr_handler(int irq, void *dev_id)
|
||||
vha = pci_get_drvdata(ha->pdev);
|
||||
for (iter = 1; iter--; ) {
|
||||
|
||||
if (RD_REG_DWORD(®->host_int)) {
|
||||
stat = RD_REG_DWORD(®->host_status);
|
||||
if (rd_reg_dword(®->host_int)) {
|
||||
stat = rd_reg_dword(®->host_status);
|
||||
|
||||
switch (stat & 0xff) {
|
||||
case 0x1:
|
||||
@@ -2082,9 +2082,9 @@ qla82xx_intr_handler(int irq, void *dev_id)
|
||||
break;
|
||||
case 0x12:
|
||||
mb[0] = MSW(stat);
|
||||
mb[1] = RD_REG_WORD(®->mailbox_out[1]);
|
||||
mb[2] = RD_REG_WORD(®->mailbox_out[2]);
|
||||
mb[3] = RD_REG_WORD(®->mailbox_out[3]);
|
||||
mb[1] = rd_reg_word(®->mailbox_out[1]);
|
||||
mb[2] = rd_reg_word(®->mailbox_out[2]);
|
||||
mb[3] = rd_reg_word(®->mailbox_out[3]);
|
||||
qla2x00_async_event(vha, rsp, mb);
|
||||
break;
|
||||
case 0x13:
|
||||
@@ -2097,7 +2097,7 @@ qla82xx_intr_handler(int irq, void *dev_id)
|
||||
break;
|
||||
}
|
||||
}
|
||||
WRT_REG_DWORD(®->host_int, 0);
|
||||
wrt_reg_dword(®->host_int, 0);
|
||||
}
|
||||
|
||||
qla2x00_handle_mbx_completion(ha, status);
|
||||
@@ -2135,11 +2135,11 @@ qla82xx_msix_default(int irq, void *dev_id)
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
vha = pci_get_drvdata(ha->pdev);
|
||||
do {
|
||||
host_int = RD_REG_DWORD(®->host_int);
|
||||
host_int = rd_reg_dword(®->host_int);
|
||||
if (qla2x00_check_reg32_for_disconnect(vha, host_int))
|
||||
break;
|
||||
if (host_int) {
|
||||
stat = RD_REG_DWORD(®->host_status);
|
||||
stat = rd_reg_dword(®->host_status);
|
||||
|
||||
switch (stat & 0xff) {
|
||||
case 0x1:
|
||||
@@ -2151,9 +2151,9 @@ qla82xx_msix_default(int irq, void *dev_id)
|
||||
break;
|
||||
case 0x12:
|
||||
mb[0] = MSW(stat);
|
||||
mb[1] = RD_REG_WORD(®->mailbox_out[1]);
|
||||
mb[2] = RD_REG_WORD(®->mailbox_out[2]);
|
||||
mb[3] = RD_REG_WORD(®->mailbox_out[3]);
|
||||
mb[1] = rd_reg_word(®->mailbox_out[1]);
|
||||
mb[2] = rd_reg_word(®->mailbox_out[2]);
|
||||
mb[3] = rd_reg_word(®->mailbox_out[3]);
|
||||
qla2x00_async_event(vha, rsp, mb);
|
||||
break;
|
||||
case 0x13:
|
||||
@@ -2166,7 +2166,7 @@ qla82xx_msix_default(int irq, void *dev_id)
|
||||
break;
|
||||
}
|
||||
}
|
||||
WRT_REG_DWORD(®->host_int, 0);
|
||||
wrt_reg_dword(®->host_int, 0);
|
||||
} while (0);
|
||||
|
||||
qla2x00_handle_mbx_completion(ha, status);
|
||||
@@ -2196,11 +2196,11 @@ qla82xx_msix_rsp_q(int irq, void *dev_id)
|
||||
reg = &ha->iobase->isp82;
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
vha = pci_get_drvdata(ha->pdev);
|
||||
host_int = RD_REG_DWORD(®->host_int);
|
||||
host_int = rd_reg_dword(®->host_int);
|
||||
if (qla2x00_check_reg32_for_disconnect(vha, host_int))
|
||||
goto out;
|
||||
qla24xx_process_response_queue(vha, rsp);
|
||||
WRT_REG_DWORD(®->host_int, 0);
|
||||
wrt_reg_dword(®->host_int, 0);
|
||||
out:
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
return IRQ_HANDLED;
|
||||
@@ -2231,11 +2231,11 @@ qla82xx_poll(int irq, void *dev_id)
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
vha = pci_get_drvdata(ha->pdev);
|
||||
|
||||
host_int = RD_REG_DWORD(®->host_int);
|
||||
host_int = rd_reg_dword(®->host_int);
|
||||
if (qla2x00_check_reg32_for_disconnect(vha, host_int))
|
||||
goto out;
|
||||
if (host_int) {
|
||||
stat = RD_REG_DWORD(®->host_status);
|
||||
stat = rd_reg_dword(®->host_status);
|
||||
switch (stat & 0xff) {
|
||||
case 0x1:
|
||||
case 0x2:
|
||||
@@ -2246,9 +2246,9 @@ qla82xx_poll(int irq, void *dev_id)
|
||||
break;
|
||||
case 0x12:
|
||||
mb[0] = MSW(stat);
|
||||
mb[1] = RD_REG_WORD(®->mailbox_out[1]);
|
||||
mb[2] = RD_REG_WORD(®->mailbox_out[2]);
|
||||
mb[3] = RD_REG_WORD(®->mailbox_out[3]);
|
||||
mb[1] = rd_reg_word(®->mailbox_out[1]);
|
||||
mb[2] = rd_reg_word(®->mailbox_out[2]);
|
||||
mb[3] = rd_reg_word(®->mailbox_out[3]);
|
||||
qla2x00_async_event(vha, rsp, mb);
|
||||
break;
|
||||
case 0x13:
|
||||
@@ -2260,7 +2260,7 @@ qla82xx_poll(int irq, void *dev_id)
|
||||
stat * 0xff);
|
||||
break;
|
||||
}
|
||||
WRT_REG_DWORD(®->host_int, 0);
|
||||
wrt_reg_dword(®->host_int, 0);
|
||||
}
|
||||
out:
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
@@ -2818,10 +2818,10 @@ qla82xx_start_iocbs(scsi_qla_host_t *vha)
|
||||
if (ql2xdbwr)
|
||||
qla82xx_wr_32(ha, (unsigned long)ha->nxdb_wr_ptr, dbval);
|
||||
else {
|
||||
WRT_REG_DWORD(ha->nxdb_wr_ptr, dbval);
|
||||
wrt_reg_dword(ha->nxdb_wr_ptr, dbval);
|
||||
wmb();
|
||||
while (RD_REG_DWORD(ha->nxdb_rd_ptr) != dbval) {
|
||||
WRT_REG_DWORD(ha->nxdb_wr_ptr, dbval);
|
||||
while (rd_reg_dword(ha->nxdb_rd_ptr) != dbval) {
|
||||
wrt_reg_dword(ha->nxdb_wr_ptr, dbval);
|
||||
wmb();
|
||||
}
|
||||
}
|
||||
@@ -3854,7 +3854,7 @@ qla82xx_minidump_process_rdocm(scsi_qla_host_t *vha,
|
||||
loop_cnt = ocm_hdr->op_count;
|
||||
|
||||
for (i = 0; i < loop_cnt; i++) {
|
||||
r_value = RD_REG_DWORD(r_addr + ha->nx_pcibase);
|
||||
r_value = rd_reg_dword(r_addr + ha->nx_pcibase);
|
||||
*data_ptr++ = cpu_to_le32(r_value);
|
||||
r_addr += r_stride;
|
||||
}
|
||||
|
||||
@@ -3946,8 +3946,8 @@ qla8044_intr_handler(int irq, void *dev_id)
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
for (iter = 1; iter--; ) {
|
||||
|
||||
if (RD_REG_DWORD(®->host_int)) {
|
||||
stat = RD_REG_DWORD(®->host_status);
|
||||
if (rd_reg_dword(®->host_int)) {
|
||||
stat = rd_reg_dword(®->host_status);
|
||||
if ((stat & HSRX_RISC_INT) == 0)
|
||||
break;
|
||||
|
||||
@@ -3961,9 +3961,9 @@ qla8044_intr_handler(int irq, void *dev_id)
|
||||
break;
|
||||
case 0x12:
|
||||
mb[0] = MSW(stat);
|
||||
mb[1] = RD_REG_WORD(®->mailbox_out[1]);
|
||||
mb[2] = RD_REG_WORD(®->mailbox_out[2]);
|
||||
mb[3] = RD_REG_WORD(®->mailbox_out[3]);
|
||||
mb[1] = rd_reg_word(®->mailbox_out[1]);
|
||||
mb[2] = rd_reg_word(®->mailbox_out[2]);
|
||||
mb[3] = rd_reg_word(®->mailbox_out[3]);
|
||||
qla2x00_async_event(vha, rsp, mb);
|
||||
break;
|
||||
case 0x13:
|
||||
@@ -3976,7 +3976,7 @@ qla8044_intr_handler(int irq, void *dev_id)
|
||||
break;
|
||||
}
|
||||
}
|
||||
WRT_REG_DWORD(®->host_int, 0);
|
||||
wrt_reg_dword(®->host_int, 0);
|
||||
}
|
||||
|
||||
qla2x00_handle_mbx_completion(ha, status);
|
||||
|
||||
+13
-13
@@ -1258,9 +1258,9 @@ uint32_t qla2x00_isp_reg_stat(struct qla_hw_data *ha)
|
||||
struct device_reg_82xx __iomem *reg82 = &ha->iobase->isp82;
|
||||
|
||||
if (IS_P3P_TYPE(ha))
|
||||
return ((RD_REG_DWORD(®82->host_int)) == ISP_REG_DISCONNECT);
|
||||
return ((rd_reg_dword(®82->host_int)) == ISP_REG_DISCONNECT);
|
||||
else
|
||||
return ((RD_REG_DWORD(®->host_status)) ==
|
||||
return ((rd_reg_dword(®->host_status)) ==
|
||||
ISP_REG_DISCONNECT);
|
||||
}
|
||||
|
||||
@@ -1953,8 +1953,8 @@ qla2x00_enable_intrs(struct qla_hw_data *ha)
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
ha->interrupts_on = 1;
|
||||
/* enable risc and host interrupts */
|
||||
WRT_REG_WORD(®->ictrl, ICR_EN_INT | ICR_EN_RISC);
|
||||
RD_REG_WORD(®->ictrl);
|
||||
wrt_reg_word(®->ictrl, ICR_EN_INT | ICR_EN_RISC);
|
||||
rd_reg_word(®->ictrl);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
}
|
||||
@@ -1968,8 +1968,8 @@ qla2x00_disable_intrs(struct qla_hw_data *ha)
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
ha->interrupts_on = 0;
|
||||
/* disable risc and host interrupts */
|
||||
WRT_REG_WORD(®->ictrl, 0);
|
||||
RD_REG_WORD(®->ictrl);
|
||||
wrt_reg_word(®->ictrl, 0);
|
||||
rd_reg_word(®->ictrl);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
}
|
||||
|
||||
@@ -1981,8 +1981,8 @@ qla24xx_enable_intrs(struct qla_hw_data *ha)
|
||||
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
ha->interrupts_on = 1;
|
||||
WRT_REG_DWORD(®->ictrl, ICRX_EN_RISC_INT);
|
||||
RD_REG_DWORD(®->ictrl);
|
||||
wrt_reg_dword(®->ictrl, ICRX_EN_RISC_INT);
|
||||
rd_reg_dword(®->ictrl);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
}
|
||||
|
||||
@@ -1996,8 +1996,8 @@ qla24xx_disable_intrs(struct qla_hw_data *ha)
|
||||
return;
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
ha->interrupts_on = 0;
|
||||
WRT_REG_DWORD(®->ictrl, 0);
|
||||
RD_REG_DWORD(®->ictrl);
|
||||
wrt_reg_dword(®->ictrl, 0);
|
||||
rd_reg_dword(®->ictrl);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
}
|
||||
|
||||
@@ -7610,15 +7610,15 @@ qla2xxx_pci_mmio_enabled(struct pci_dev *pdev)
|
||||
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
if (IS_QLA2100(ha) || IS_QLA2200(ha)){
|
||||
stat = RD_REG_WORD(®->hccr);
|
||||
stat = rd_reg_word(®->hccr);
|
||||
if (stat & HCCR_RISC_PAUSE)
|
||||
risc_paused = 1;
|
||||
} else if (IS_QLA23XX(ha)) {
|
||||
stat = RD_REG_DWORD(®->u.isp2300.host_status);
|
||||
stat = rd_reg_dword(®->u.isp2300.host_status);
|
||||
if (stat & HSR_RISC_PAUSED)
|
||||
risc_paused = 1;
|
||||
} else if (IS_FWI2_CAPABLE(ha)) {
|
||||
stat = RD_REG_DWORD(®24->host_status);
|
||||
stat = rd_reg_dword(®24->host_status);
|
||||
if (stat & HSRX_RISC_PAUSED)
|
||||
risc_paused = 1;
|
||||
}
|
||||
|
||||
+122
-122
@@ -26,24 +26,24 @@ qla2x00_lock_nvram_access(struct qla_hw_data *ha)
|
||||
struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
|
||||
|
||||
if (!IS_QLA2100(ha) && !IS_QLA2200(ha) && !IS_QLA2300(ha)) {
|
||||
data = RD_REG_WORD(®->nvram);
|
||||
data = rd_reg_word(®->nvram);
|
||||
while (data & NVR_BUSY) {
|
||||
udelay(100);
|
||||
data = RD_REG_WORD(®->nvram);
|
||||
data = rd_reg_word(®->nvram);
|
||||
}
|
||||
|
||||
/* Lock resource */
|
||||
WRT_REG_WORD(®->u.isp2300.host_semaphore, 0x1);
|
||||
RD_REG_WORD(®->u.isp2300.host_semaphore);
|
||||
wrt_reg_word(®->u.isp2300.host_semaphore, 0x1);
|
||||
rd_reg_word(®->u.isp2300.host_semaphore);
|
||||
udelay(5);
|
||||
data = RD_REG_WORD(®->u.isp2300.host_semaphore);
|
||||
data = rd_reg_word(®->u.isp2300.host_semaphore);
|
||||
while ((data & BIT_0) == 0) {
|
||||
/* Lock failed */
|
||||
udelay(100);
|
||||
WRT_REG_WORD(®->u.isp2300.host_semaphore, 0x1);
|
||||
RD_REG_WORD(®->u.isp2300.host_semaphore);
|
||||
wrt_reg_word(®->u.isp2300.host_semaphore, 0x1);
|
||||
rd_reg_word(®->u.isp2300.host_semaphore);
|
||||
udelay(5);
|
||||
data = RD_REG_WORD(®->u.isp2300.host_semaphore);
|
||||
data = rd_reg_word(®->u.isp2300.host_semaphore);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -58,8 +58,8 @@ qla2x00_unlock_nvram_access(struct qla_hw_data *ha)
|
||||
struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
|
||||
|
||||
if (!IS_QLA2100(ha) && !IS_QLA2200(ha) && !IS_QLA2300(ha)) {
|
||||
WRT_REG_WORD(®->u.isp2300.host_semaphore, 0);
|
||||
RD_REG_WORD(®->u.isp2300.host_semaphore);
|
||||
wrt_reg_word(®->u.isp2300.host_semaphore, 0);
|
||||
rd_reg_word(®->u.isp2300.host_semaphore);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,15 +73,15 @@ qla2x00_nv_write(struct qla_hw_data *ha, uint16_t data)
|
||||
{
|
||||
struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
|
||||
|
||||
WRT_REG_WORD(®->nvram, data | NVR_SELECT | NVR_WRT_ENABLE);
|
||||
RD_REG_WORD(®->nvram); /* PCI Posting. */
|
||||
wrt_reg_word(®->nvram, data | NVR_SELECT | NVR_WRT_ENABLE);
|
||||
rd_reg_word(®->nvram); /* PCI Posting. */
|
||||
NVRAM_DELAY();
|
||||
WRT_REG_WORD(®->nvram, data | NVR_SELECT | NVR_CLOCK |
|
||||
wrt_reg_word(®->nvram, data | NVR_SELECT | NVR_CLOCK |
|
||||
NVR_WRT_ENABLE);
|
||||
RD_REG_WORD(®->nvram); /* PCI Posting. */
|
||||
rd_reg_word(®->nvram); /* PCI Posting. */
|
||||
NVRAM_DELAY();
|
||||
WRT_REG_WORD(®->nvram, data | NVR_SELECT | NVR_WRT_ENABLE);
|
||||
RD_REG_WORD(®->nvram); /* PCI Posting. */
|
||||
wrt_reg_word(®->nvram, data | NVR_SELECT | NVR_WRT_ENABLE);
|
||||
rd_reg_word(®->nvram); /* PCI Posting. */
|
||||
NVRAM_DELAY();
|
||||
}
|
||||
|
||||
@@ -120,21 +120,21 @@ qla2x00_nvram_request(struct qla_hw_data *ha, uint32_t nv_cmd)
|
||||
|
||||
/* Read data from NVRAM. */
|
||||
for (cnt = 0; cnt < 16; cnt++) {
|
||||
WRT_REG_WORD(®->nvram, NVR_SELECT | NVR_CLOCK);
|
||||
RD_REG_WORD(®->nvram); /* PCI Posting. */
|
||||
wrt_reg_word(®->nvram, NVR_SELECT | NVR_CLOCK);
|
||||
rd_reg_word(®->nvram); /* PCI Posting. */
|
||||
NVRAM_DELAY();
|
||||
data <<= 1;
|
||||
reg_data = RD_REG_WORD(®->nvram);
|
||||
reg_data = rd_reg_word(®->nvram);
|
||||
if (reg_data & NVR_DATA_IN)
|
||||
data |= BIT_0;
|
||||
WRT_REG_WORD(®->nvram, NVR_SELECT);
|
||||
RD_REG_WORD(®->nvram); /* PCI Posting. */
|
||||
wrt_reg_word(®->nvram, NVR_SELECT);
|
||||
rd_reg_word(®->nvram); /* PCI Posting. */
|
||||
NVRAM_DELAY();
|
||||
}
|
||||
|
||||
/* Deselect chip. */
|
||||
WRT_REG_WORD(®->nvram, NVR_DESELECT);
|
||||
RD_REG_WORD(®->nvram); /* PCI Posting. */
|
||||
wrt_reg_word(®->nvram, NVR_DESELECT);
|
||||
rd_reg_word(®->nvram); /* PCI Posting. */
|
||||
NVRAM_DELAY();
|
||||
|
||||
return data;
|
||||
@@ -171,8 +171,8 @@ qla2x00_nv_deselect(struct qla_hw_data *ha)
|
||||
{
|
||||
struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
|
||||
|
||||
WRT_REG_WORD(®->nvram, NVR_DESELECT);
|
||||
RD_REG_WORD(®->nvram); /* PCI Posting. */
|
||||
wrt_reg_word(®->nvram, NVR_DESELECT);
|
||||
rd_reg_word(®->nvram); /* PCI Posting. */
|
||||
NVRAM_DELAY();
|
||||
}
|
||||
|
||||
@@ -216,8 +216,8 @@ qla2x00_write_nvram_word(struct qla_hw_data *ha, uint32_t addr, uint16_t data)
|
||||
qla2x00_nv_deselect(ha);
|
||||
|
||||
/* Wait for NVRAM to become ready */
|
||||
WRT_REG_WORD(®->nvram, NVR_SELECT);
|
||||
RD_REG_WORD(®->nvram); /* PCI Posting. */
|
||||
wrt_reg_word(®->nvram, NVR_SELECT);
|
||||
rd_reg_word(®->nvram); /* PCI Posting. */
|
||||
wait_cnt = NVR_WAIT_CNT;
|
||||
do {
|
||||
if (!--wait_cnt) {
|
||||
@@ -226,7 +226,7 @@ qla2x00_write_nvram_word(struct qla_hw_data *ha, uint32_t addr, uint16_t data)
|
||||
break;
|
||||
}
|
||||
NVRAM_DELAY();
|
||||
word = RD_REG_WORD(®->nvram);
|
||||
word = rd_reg_word(®->nvram);
|
||||
} while ((word & NVR_DATA_IN) == 0);
|
||||
|
||||
qla2x00_nv_deselect(ha);
|
||||
@@ -275,11 +275,11 @@ qla2x00_write_nvram_word_tmo(struct qla_hw_data *ha, uint32_t addr,
|
||||
qla2x00_nv_deselect(ha);
|
||||
|
||||
/* Wait for NVRAM to become ready */
|
||||
WRT_REG_WORD(®->nvram, NVR_SELECT);
|
||||
RD_REG_WORD(®->nvram); /* PCI Posting. */
|
||||
wrt_reg_word(®->nvram, NVR_SELECT);
|
||||
rd_reg_word(®->nvram); /* PCI Posting. */
|
||||
do {
|
||||
NVRAM_DELAY();
|
||||
word = RD_REG_WORD(®->nvram);
|
||||
word = rd_reg_word(®->nvram);
|
||||
if (!--tmo) {
|
||||
ret = QLA_FUNCTION_FAILED;
|
||||
break;
|
||||
@@ -347,8 +347,8 @@ qla2x00_clear_nvram_protection(struct qla_hw_data *ha)
|
||||
qla2x00_nv_deselect(ha);
|
||||
|
||||
/* Wait for NVRAM to become ready. */
|
||||
WRT_REG_WORD(®->nvram, NVR_SELECT);
|
||||
RD_REG_WORD(®->nvram); /* PCI Posting. */
|
||||
wrt_reg_word(®->nvram, NVR_SELECT);
|
||||
rd_reg_word(®->nvram); /* PCI Posting. */
|
||||
wait_cnt = NVR_WAIT_CNT;
|
||||
do {
|
||||
if (!--wait_cnt) {
|
||||
@@ -357,7 +357,7 @@ qla2x00_clear_nvram_protection(struct qla_hw_data *ha)
|
||||
break;
|
||||
}
|
||||
NVRAM_DELAY();
|
||||
word = RD_REG_WORD(®->nvram);
|
||||
word = rd_reg_word(®->nvram);
|
||||
} while ((word & NVR_DATA_IN) == 0);
|
||||
|
||||
if (wait_cnt)
|
||||
@@ -407,8 +407,8 @@ qla2x00_set_nvram_protection(struct qla_hw_data *ha, int stat)
|
||||
qla2x00_nv_deselect(ha);
|
||||
|
||||
/* Wait for NVRAM to become ready. */
|
||||
WRT_REG_WORD(®->nvram, NVR_SELECT);
|
||||
RD_REG_WORD(®->nvram); /* PCI Posting. */
|
||||
wrt_reg_word(®->nvram, NVR_SELECT);
|
||||
rd_reg_word(®->nvram); /* PCI Posting. */
|
||||
wait_cnt = NVR_WAIT_CNT;
|
||||
do {
|
||||
if (!--wait_cnt) {
|
||||
@@ -417,7 +417,7 @@ qla2x00_set_nvram_protection(struct qla_hw_data *ha, int stat)
|
||||
break;
|
||||
}
|
||||
NVRAM_DELAY();
|
||||
word = RD_REG_WORD(®->nvram);
|
||||
word = rd_reg_word(®->nvram);
|
||||
} while ((word & NVR_DATA_IN) == 0);
|
||||
}
|
||||
|
||||
@@ -456,11 +456,11 @@ qla24xx_read_flash_dword(struct qla_hw_data *ha, uint32_t addr, uint32_t *data)
|
||||
struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
|
||||
ulong cnt = 30000;
|
||||
|
||||
WRT_REG_DWORD(®->flash_addr, addr & ~FARX_DATA_FLAG);
|
||||
wrt_reg_dword(®->flash_addr, addr & ~FARX_DATA_FLAG);
|
||||
|
||||
while (cnt--) {
|
||||
if (RD_REG_DWORD(®->flash_addr) & FARX_DATA_FLAG) {
|
||||
*data = RD_REG_DWORD(®->flash_data);
|
||||
if (rd_reg_dword(®->flash_addr) & FARX_DATA_FLAG) {
|
||||
*data = rd_reg_dword(®->flash_data);
|
||||
return QLA_SUCCESS;
|
||||
}
|
||||
udelay(10);
|
||||
@@ -499,11 +499,11 @@ qla24xx_write_flash_dword(struct qla_hw_data *ha, uint32_t addr, uint32_t data)
|
||||
struct device_reg_24xx __iomem *reg = &ha->iobase->isp24;
|
||||
ulong cnt = 500000;
|
||||
|
||||
WRT_REG_DWORD(®->flash_data, data);
|
||||
WRT_REG_DWORD(®->flash_addr, addr | FARX_DATA_FLAG);
|
||||
wrt_reg_dword(®->flash_data, data);
|
||||
wrt_reg_dword(®->flash_addr, addr | FARX_DATA_FLAG);
|
||||
|
||||
while (cnt--) {
|
||||
if (!(RD_REG_DWORD(®->flash_addr) & FARX_DATA_FLAG))
|
||||
if (!(rd_reg_dword(®->flash_addr) & FARX_DATA_FLAG))
|
||||
return QLA_SUCCESS;
|
||||
udelay(10);
|
||||
cond_resched();
|
||||
@@ -1197,9 +1197,9 @@ qla24xx_unprotect_flash(scsi_qla_host_t *vha)
|
||||
return qla81xx_fac_do_write_enable(vha, 1);
|
||||
|
||||
/* Enable flash write. */
|
||||
WRT_REG_DWORD(®->ctrl_status,
|
||||
RD_REG_DWORD(®->ctrl_status) | CSRX_FLASH_ENABLE);
|
||||
RD_REG_DWORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_dword(®->ctrl_status,
|
||||
rd_reg_dword(®->ctrl_status) | CSRX_FLASH_ENABLE);
|
||||
rd_reg_dword(®->ctrl_status); /* PCI Posting. */
|
||||
|
||||
if (!ha->fdt_wrt_disable)
|
||||
goto done;
|
||||
@@ -1240,8 +1240,8 @@ qla24xx_protect_flash(scsi_qla_host_t *vha)
|
||||
|
||||
skip_wrt_protect:
|
||||
/* Disable flash write. */
|
||||
WRT_REG_DWORD(®->ctrl_status,
|
||||
RD_REG_DWORD(®->ctrl_status) & ~CSRX_FLASH_ENABLE);
|
||||
wrt_reg_dword(®->ctrl_status,
|
||||
rd_reg_dword(®->ctrl_status) & ~CSRX_FLASH_ENABLE);
|
||||
|
||||
return QLA_SUCCESS;
|
||||
}
|
||||
@@ -1466,9 +1466,9 @@ qla24xx_write_nvram_data(scsi_qla_host_t *vha, void *buf, uint32_t naddr,
|
||||
return ret;
|
||||
|
||||
/* Enable flash write. */
|
||||
WRT_REG_DWORD(®->ctrl_status,
|
||||
RD_REG_DWORD(®->ctrl_status) | CSRX_FLASH_ENABLE);
|
||||
RD_REG_DWORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_dword(®->ctrl_status,
|
||||
rd_reg_dword(®->ctrl_status) | CSRX_FLASH_ENABLE);
|
||||
rd_reg_dword(®->ctrl_status); /* PCI Posting. */
|
||||
|
||||
/* Disable NVRAM write-protection. */
|
||||
qla24xx_write_flash_dword(ha, nvram_conf_addr(ha, 0x101), 0);
|
||||
@@ -1490,9 +1490,9 @@ qla24xx_write_nvram_data(scsi_qla_host_t *vha, void *buf, uint32_t naddr,
|
||||
qla24xx_write_flash_dword(ha, nvram_conf_addr(ha, 0x101), 0x8c);
|
||||
|
||||
/* Disable flash write. */
|
||||
WRT_REG_DWORD(®->ctrl_status,
|
||||
RD_REG_DWORD(®->ctrl_status) & ~CSRX_FLASH_ENABLE);
|
||||
RD_REG_DWORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_dword(®->ctrl_status,
|
||||
rd_reg_dword(®->ctrl_status) & ~CSRX_FLASH_ENABLE);
|
||||
rd_reg_dword(®->ctrl_status); /* PCI Posting. */
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -1588,8 +1588,8 @@ qla2x00_beacon_blink(struct scsi_qla_host *vha)
|
||||
gpio_enable = RD_REG_WORD_PIO(PIO_REG(ha, gpioe));
|
||||
gpio_data = RD_REG_WORD_PIO(PIO_REG(ha, gpiod));
|
||||
} else {
|
||||
gpio_enable = RD_REG_WORD(®->gpioe);
|
||||
gpio_data = RD_REG_WORD(®->gpiod);
|
||||
gpio_enable = rd_reg_word(®->gpioe);
|
||||
gpio_data = rd_reg_word(®->gpiod);
|
||||
}
|
||||
|
||||
/* Set the modified gpio_enable values */
|
||||
@@ -1598,8 +1598,8 @@ qla2x00_beacon_blink(struct scsi_qla_host *vha)
|
||||
if (ha->pio_address) {
|
||||
WRT_REG_WORD_PIO(PIO_REG(ha, gpioe), gpio_enable);
|
||||
} else {
|
||||
WRT_REG_WORD(®->gpioe, gpio_enable);
|
||||
RD_REG_WORD(®->gpioe);
|
||||
wrt_reg_word(®->gpioe, gpio_enable);
|
||||
rd_reg_word(®->gpioe);
|
||||
}
|
||||
|
||||
qla2x00_flip_colors(ha, &led_color);
|
||||
@@ -1614,8 +1614,8 @@ qla2x00_beacon_blink(struct scsi_qla_host *vha)
|
||||
if (ha->pio_address) {
|
||||
WRT_REG_WORD_PIO(PIO_REG(ha, gpiod), gpio_data);
|
||||
} else {
|
||||
WRT_REG_WORD(®->gpiod, gpio_data);
|
||||
RD_REG_WORD(®->gpiod);
|
||||
wrt_reg_word(®->gpiod, gpio_data);
|
||||
rd_reg_word(®->gpiod);
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
@@ -1645,8 +1645,8 @@ qla2x00_beacon_on(struct scsi_qla_host *vha)
|
||||
gpio_enable = RD_REG_WORD_PIO(PIO_REG(ha, gpioe));
|
||||
gpio_data = RD_REG_WORD_PIO(PIO_REG(ha, gpiod));
|
||||
} else {
|
||||
gpio_enable = RD_REG_WORD(®->gpioe);
|
||||
gpio_data = RD_REG_WORD(®->gpiod);
|
||||
gpio_enable = rd_reg_word(®->gpioe);
|
||||
gpio_data = rd_reg_word(®->gpiod);
|
||||
}
|
||||
gpio_enable |= GPIO_LED_MASK;
|
||||
|
||||
@@ -1654,8 +1654,8 @@ qla2x00_beacon_on(struct scsi_qla_host *vha)
|
||||
if (ha->pio_address) {
|
||||
WRT_REG_WORD_PIO(PIO_REG(ha, gpioe), gpio_enable);
|
||||
} else {
|
||||
WRT_REG_WORD(®->gpioe, gpio_enable);
|
||||
RD_REG_WORD(®->gpioe);
|
||||
wrt_reg_word(®->gpioe, gpio_enable);
|
||||
rd_reg_word(®->gpioe);
|
||||
}
|
||||
|
||||
/* Clear out previously set LED colour. */
|
||||
@@ -1663,8 +1663,8 @@ qla2x00_beacon_on(struct scsi_qla_host *vha)
|
||||
if (ha->pio_address) {
|
||||
WRT_REG_WORD_PIO(PIO_REG(ha, gpiod), gpio_data);
|
||||
} else {
|
||||
WRT_REG_WORD(®->gpiod, gpio_data);
|
||||
RD_REG_WORD(®->gpiod);
|
||||
wrt_reg_word(®->gpiod, gpio_data);
|
||||
rd_reg_word(®->gpiod);
|
||||
}
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
@@ -1731,13 +1731,13 @@ qla24xx_beacon_blink(struct scsi_qla_host *vha)
|
||||
|
||||
/* Save the Original GPIOD. */
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
gpio_data = RD_REG_DWORD(®->gpiod);
|
||||
gpio_data = rd_reg_dword(®->gpiod);
|
||||
|
||||
/* Enable the gpio_data reg for update. */
|
||||
gpio_data |= GPDX_LED_UPDATE_MASK;
|
||||
|
||||
WRT_REG_DWORD(®->gpiod, gpio_data);
|
||||
gpio_data = RD_REG_DWORD(®->gpiod);
|
||||
wrt_reg_dword(®->gpiod, gpio_data);
|
||||
gpio_data = rd_reg_dword(®->gpiod);
|
||||
|
||||
/* Set the color bits. */
|
||||
qla24xx_flip_colors(ha, &led_color);
|
||||
@@ -1749,8 +1749,8 @@ qla24xx_beacon_blink(struct scsi_qla_host *vha)
|
||||
gpio_data |= led_color;
|
||||
|
||||
/* Set the modified gpio_data values. */
|
||||
WRT_REG_DWORD(®->gpiod, gpio_data);
|
||||
gpio_data = RD_REG_DWORD(®->gpiod);
|
||||
wrt_reg_dword(®->gpiod, gpio_data);
|
||||
gpio_data = rd_reg_dword(®->gpiod);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
}
|
||||
|
||||
@@ -1881,12 +1881,12 @@ qla24xx_beacon_on(struct scsi_qla_host *vha)
|
||||
goto skip_gpio;
|
||||
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
gpio_data = RD_REG_DWORD(®->gpiod);
|
||||
gpio_data = rd_reg_dword(®->gpiod);
|
||||
|
||||
/* Enable the gpio_data reg for update. */
|
||||
gpio_data |= GPDX_LED_UPDATE_MASK;
|
||||
WRT_REG_DWORD(®->gpiod, gpio_data);
|
||||
RD_REG_DWORD(®->gpiod);
|
||||
wrt_reg_dword(®->gpiod, gpio_data);
|
||||
rd_reg_dword(®->gpiod);
|
||||
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
}
|
||||
@@ -1929,12 +1929,12 @@ qla24xx_beacon_off(struct scsi_qla_host *vha)
|
||||
|
||||
/* Give control back to firmware. */
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
gpio_data = RD_REG_DWORD(®->gpiod);
|
||||
gpio_data = rd_reg_dword(®->gpiod);
|
||||
|
||||
/* Disable the gpio_data reg for update. */
|
||||
gpio_data &= ~GPDX_LED_UPDATE_MASK;
|
||||
WRT_REG_DWORD(®->gpiod, gpio_data);
|
||||
RD_REG_DWORD(®->gpiod);
|
||||
wrt_reg_dword(®->gpiod, gpio_data);
|
||||
rd_reg_dword(®->gpiod);
|
||||
spin_unlock_irqrestore(&ha->hardware_lock, flags);
|
||||
|
||||
set_fw_options:
|
||||
@@ -1970,10 +1970,10 @@ qla2x00_flash_enable(struct qla_hw_data *ha)
|
||||
uint16_t data;
|
||||
struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
|
||||
|
||||
data = RD_REG_WORD(®->ctrl_status);
|
||||
data = rd_reg_word(®->ctrl_status);
|
||||
data |= CSR_FLASH_ENABLE;
|
||||
WRT_REG_WORD(®->ctrl_status, data);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->ctrl_status, data);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1986,10 +1986,10 @@ qla2x00_flash_disable(struct qla_hw_data *ha)
|
||||
uint16_t data;
|
||||
struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
|
||||
|
||||
data = RD_REG_WORD(®->ctrl_status);
|
||||
data = rd_reg_word(®->ctrl_status);
|
||||
data &= ~(CSR_FLASH_ENABLE);
|
||||
WRT_REG_WORD(®->ctrl_status, data);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->ctrl_status, data);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2008,7 +2008,7 @@ qla2x00_read_flash_byte(struct qla_hw_data *ha, uint32_t addr)
|
||||
uint16_t bank_select;
|
||||
struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
|
||||
|
||||
bank_select = RD_REG_WORD(®->ctrl_status);
|
||||
bank_select = rd_reg_word(®->ctrl_status);
|
||||
|
||||
if (IS_QLA2322(ha) || IS_QLA6322(ha)) {
|
||||
/* Specify 64K address range: */
|
||||
@@ -2016,11 +2016,11 @@ qla2x00_read_flash_byte(struct qla_hw_data *ha, uint32_t addr)
|
||||
bank_select &= ~0xf8;
|
||||
bank_select |= addr >> 12 & 0xf0;
|
||||
bank_select |= CSR_FLASH_64K_BANK;
|
||||
WRT_REG_WORD(®->ctrl_status, bank_select);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->ctrl_status, bank_select);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
|
||||
WRT_REG_WORD(®->flash_address, (uint16_t)addr);
|
||||
data = RD_REG_WORD(®->flash_data);
|
||||
wrt_reg_word(®->flash_address, (uint16_t)addr);
|
||||
data = rd_reg_word(®->flash_data);
|
||||
|
||||
return (uint8_t)data;
|
||||
}
|
||||
@@ -2028,13 +2028,13 @@ qla2x00_read_flash_byte(struct qla_hw_data *ha, uint32_t addr)
|
||||
/* Setup bit 16 of flash address. */
|
||||
if ((addr & BIT_16) && ((bank_select & CSR_FLASH_64K_BANK) == 0)) {
|
||||
bank_select |= CSR_FLASH_64K_BANK;
|
||||
WRT_REG_WORD(®->ctrl_status, bank_select);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->ctrl_status, bank_select);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
} else if (((addr & BIT_16) == 0) &&
|
||||
(bank_select & CSR_FLASH_64K_BANK)) {
|
||||
bank_select &= ~(CSR_FLASH_64K_BANK);
|
||||
WRT_REG_WORD(®->ctrl_status, bank_select);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->ctrl_status, bank_select);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
}
|
||||
|
||||
/* Always perform IO mapped accesses to the FLASH registers. */
|
||||
@@ -2049,7 +2049,7 @@ qla2x00_read_flash_byte(struct qla_hw_data *ha, uint32_t addr)
|
||||
data2 = RD_REG_WORD_PIO(PIO_REG(ha, flash_data));
|
||||
} while (data != data2);
|
||||
} else {
|
||||
WRT_REG_WORD(®->flash_address, (uint16_t)addr);
|
||||
wrt_reg_word(®->flash_address, (uint16_t)addr);
|
||||
data = qla2x00_debounce_register(®->flash_data);
|
||||
}
|
||||
|
||||
@@ -2068,20 +2068,20 @@ qla2x00_write_flash_byte(struct qla_hw_data *ha, uint32_t addr, uint8_t data)
|
||||
uint16_t bank_select;
|
||||
struct device_reg_2xxx __iomem *reg = &ha->iobase->isp;
|
||||
|
||||
bank_select = RD_REG_WORD(®->ctrl_status);
|
||||
bank_select = rd_reg_word(®->ctrl_status);
|
||||
if (IS_QLA2322(ha) || IS_QLA6322(ha)) {
|
||||
/* Specify 64K address range: */
|
||||
/* clear out Module Select and Flash Address bits [19:16]. */
|
||||
bank_select &= ~0xf8;
|
||||
bank_select |= addr >> 12 & 0xf0;
|
||||
bank_select |= CSR_FLASH_64K_BANK;
|
||||
WRT_REG_WORD(®->ctrl_status, bank_select);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->ctrl_status, bank_select);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
|
||||
WRT_REG_WORD(®->flash_address, (uint16_t)addr);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
WRT_REG_WORD(®->flash_data, (uint16_t)data);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->flash_address, (uint16_t)addr);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->flash_data, (uint16_t)data);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -2089,13 +2089,13 @@ qla2x00_write_flash_byte(struct qla_hw_data *ha, uint32_t addr, uint8_t data)
|
||||
/* Setup bit 16 of flash address. */
|
||||
if ((addr & BIT_16) && ((bank_select & CSR_FLASH_64K_BANK) == 0)) {
|
||||
bank_select |= CSR_FLASH_64K_BANK;
|
||||
WRT_REG_WORD(®->ctrl_status, bank_select);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->ctrl_status, bank_select);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
} else if (((addr & BIT_16) == 0) &&
|
||||
(bank_select & CSR_FLASH_64K_BANK)) {
|
||||
bank_select &= ~(CSR_FLASH_64K_BANK);
|
||||
WRT_REG_WORD(®->ctrl_status, bank_select);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->ctrl_status, bank_select);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
}
|
||||
|
||||
/* Always perform IO mapped accesses to the FLASH registers. */
|
||||
@@ -2103,10 +2103,10 @@ qla2x00_write_flash_byte(struct qla_hw_data *ha, uint32_t addr, uint8_t data)
|
||||
WRT_REG_WORD_PIO(PIO_REG(ha, flash_address), (uint16_t)addr);
|
||||
WRT_REG_WORD_PIO(PIO_REG(ha, flash_data), (uint16_t)data);
|
||||
} else {
|
||||
WRT_REG_WORD(®->flash_address, (uint16_t)addr);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
WRT_REG_WORD(®->flash_data, (uint16_t)data);
|
||||
RD_REG_WORD(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->flash_address, (uint16_t)addr);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
wrt_reg_word(®->flash_data, (uint16_t)data);
|
||||
rd_reg_word(®->ctrl_status); /* PCI Posting. */
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2289,12 +2289,12 @@ qla2x00_read_flash_data(struct qla_hw_data *ha, uint8_t *tmp_buf,
|
||||
|
||||
midpoint = length / 2;
|
||||
|
||||
WRT_REG_WORD(®->nvram, 0);
|
||||
RD_REG_WORD(®->nvram);
|
||||
wrt_reg_word(®->nvram, 0);
|
||||
rd_reg_word(®->nvram);
|
||||
for (ilength = 0; ilength < length; saddr++, ilength++, tmp_buf++) {
|
||||
if (ilength == midpoint) {
|
||||
WRT_REG_WORD(®->nvram, NVR_SELECT);
|
||||
RD_REG_WORD(®->nvram);
|
||||
wrt_reg_word(®->nvram, NVR_SELECT);
|
||||
rd_reg_word(®->nvram);
|
||||
}
|
||||
data = qla2x00_read_flash_byte(ha, saddr);
|
||||
if (saddr % 100)
|
||||
@@ -2319,11 +2319,11 @@ qla2x00_suspend_hba(struct scsi_qla_host *vha)
|
||||
|
||||
/* Pause RISC. */
|
||||
spin_lock_irqsave(&ha->hardware_lock, flags);
|
||||
WRT_REG_WORD(®->hccr, HCCR_PAUSE_RISC);
|
||||
RD_REG_WORD(®->hccr);
|
||||
wrt_reg_word(®->hccr, HCCR_PAUSE_RISC);
|
||||
rd_reg_word(®->hccr);
|
||||
if (IS_QLA2100(ha) || IS_QLA2200(ha) || IS_QLA2300(ha)) {
|
||||
for (cnt = 0; cnt < 30000; cnt++) {
|
||||
if ((RD_REG_WORD(®->hccr) & HCCR_RISC_PAUSE) != 0)
|
||||
if ((rd_reg_word(®->hccr) & HCCR_RISC_PAUSE) != 0)
|
||||
break;
|
||||
udelay(100);
|
||||
}
|
||||
@@ -2362,12 +2362,12 @@ qla2x00_read_optrom_data(struct scsi_qla_host *vha, void *buf,
|
||||
midpoint = ha->optrom_size / 2;
|
||||
|
||||
qla2x00_flash_enable(ha);
|
||||
WRT_REG_WORD(®->nvram, 0);
|
||||
RD_REG_WORD(®->nvram); /* PCI Posting. */
|
||||
wrt_reg_word(®->nvram, 0);
|
||||
rd_reg_word(®->nvram); /* PCI Posting. */
|
||||
for (addr = offset, data = buf; addr < length; addr++, data++) {
|
||||
if (addr == midpoint) {
|
||||
WRT_REG_WORD(®->nvram, NVR_SELECT);
|
||||
RD_REG_WORD(®->nvram); /* PCI Posting. */
|
||||
wrt_reg_word(®->nvram, NVR_SELECT);
|
||||
rd_reg_word(®->nvram); /* PCI Posting. */
|
||||
}
|
||||
|
||||
*data = qla2x00_read_flash_byte(ha, addr);
|
||||
@@ -2399,7 +2399,7 @@ qla2x00_write_optrom_data(struct scsi_qla_host *vha, void *buf,
|
||||
sec_number = 0;
|
||||
|
||||
/* Reset ISP chip. */
|
||||
WRT_REG_WORD(®->ctrl_status, CSR_ISP_SOFT_RESET);
|
||||
wrt_reg_word(®->ctrl_status, CSR_ISP_SOFT_RESET);
|
||||
pci_read_config_word(ha->pdev, PCI_COMMAND, &wd);
|
||||
|
||||
/* Go with write. */
|
||||
@@ -2548,8 +2548,8 @@ update_flash:
|
||||
}
|
||||
}
|
||||
} else if (addr == ha->optrom_size / 2) {
|
||||
WRT_REG_WORD(®->nvram, NVR_SELECT);
|
||||
RD_REG_WORD(®->nvram);
|
||||
wrt_reg_word(®->nvram, NVR_SELECT);
|
||||
rd_reg_word(®->nvram);
|
||||
}
|
||||
|
||||
if (flash_id == 0xda && man_id == 0xc1) {
|
||||
|
||||
@@ -2514,7 +2514,7 @@ static int qlt_check_reserve_free_req(struct qla_qpair *qpair,
|
||||
|
||||
if (req->cnt < (req_cnt + 2)) {
|
||||
cnt = (uint16_t)(qpair->use_shadow_reg ? *req->out_ptr :
|
||||
RD_REG_DWORD_RELAXED(req->req_q_out));
|
||||
rd_reg_dword_relaxed(req->req_q_out));
|
||||
|
||||
if (req->ring_index < cnt)
|
||||
req->cnt = cnt - req->ring_index;
|
||||
@@ -6862,7 +6862,7 @@ qlt_24xx_process_atio_queue(struct scsi_qla_host *vha, uint8_t ha_locked)
|
||||
}
|
||||
|
||||
/* Adjust ring index */
|
||||
WRT_REG_DWORD(ISP_ATIO_Q_OUT(vha), ha->tgt.atio_ring_index);
|
||||
wrt_reg_dword(ISP_ATIO_Q_OUT(vha), ha->tgt.atio_ring_index);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -6875,9 +6875,9 @@ qlt_24xx_config_rings(struct scsi_qla_host *vha)
|
||||
if (!QLA_TGT_MODE_ENABLED())
|
||||
return;
|
||||
|
||||
WRT_REG_DWORD(ISP_ATIO_Q_IN(vha), 0);
|
||||
WRT_REG_DWORD(ISP_ATIO_Q_OUT(vha), 0);
|
||||
RD_REG_DWORD(ISP_ATIO_Q_OUT(vha));
|
||||
wrt_reg_dword(ISP_ATIO_Q_IN(vha), 0);
|
||||
wrt_reg_dword(ISP_ATIO_Q_OUT(vha), 0);
|
||||
rd_reg_dword(ISP_ATIO_Q_OUT(vha));
|
||||
|
||||
if (ha->flags.msix_enabled) {
|
||||
if (IS_QLA83XX(ha) || IS_QLA27XX(ha) || IS_QLA28XX(ha)) {
|
||||
|
||||
@@ -22,9 +22,9 @@ qla27xx_write_remote_reg(struct scsi_qla_host *vha,
|
||||
ql_dbg(ql_dbg_misc, vha, 0xd300,
|
||||
"%s: addr/data = %xh/%xh\n", __func__, addr, data);
|
||||
|
||||
WRT_REG_DWORD(®->iobase_addr, 0x40);
|
||||
WRT_REG_DWORD(®->iobase_c4, data);
|
||||
WRT_REG_DWORD(®->iobase_window, addr);
|
||||
wrt_reg_dword(®->iobase_addr, 0x40);
|
||||
wrt_reg_dword(®->iobase_c4, data);
|
||||
wrt_reg_dword(®->iobase_window, addr);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -75,7 +75,7 @@ qla27xx_read8(void __iomem *window, void *buf, ulong *len)
|
||||
uint8_t value = ~0;
|
||||
|
||||
if (buf) {
|
||||
value = RD_REG_BYTE(window);
|
||||
value = rd_reg_byte(window);
|
||||
}
|
||||
qla27xx_insert32(value, buf, len);
|
||||
}
|
||||
@@ -86,7 +86,7 @@ qla27xx_read16(void __iomem *window, void *buf, ulong *len)
|
||||
uint16_t value = ~0;
|
||||
|
||||
if (buf) {
|
||||
value = RD_REG_WORD(window);
|
||||
value = rd_reg_word(window);
|
||||
}
|
||||
qla27xx_insert32(value, buf, len);
|
||||
}
|
||||
@@ -97,7 +97,7 @@ qla27xx_read32(void __iomem *window, void *buf, ulong *len)
|
||||
uint32_t value = ~0;
|
||||
|
||||
if (buf) {
|
||||
value = RD_REG_DWORD(window);
|
||||
value = rd_reg_dword(window);
|
||||
}
|
||||
qla27xx_insert32(value, buf, len);
|
||||
}
|
||||
@@ -126,7 +126,7 @@ qla27xx_write_reg(__iomem struct device_reg_24xx *reg,
|
||||
if (buf) {
|
||||
void __iomem *window = (void __iomem *)reg + offset;
|
||||
|
||||
WRT_REG_DWORD(window, data);
|
||||
wrt_reg_dword(window, data);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user