]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
qlcnic: macros for common register access
[karo-tx-linux.git] / drivers / net / ethernet / qlogic / qlcnic / qlcnic_init.c
index de79cde233def0a88f9bab32e2bfab295f7d785b..4b41f9b43124c5c7efd2b7e9211e57cd4fdafcb1 100644 (file)
@@ -5,11 +5,8 @@
  * See LICENSE.qlcnic for copyright and licensing details.
  */
 
-#include <linux/netdevice.h>
-#include <linux/delay.h>
-#include <linux/slab.h>
-#include <linux/if_vlan.h>
 #include "qlcnic.h"
+#include "qlcnic_hw.h"
 
 struct crb_addr_pair {
        u32 addr;
@@ -327,7 +324,6 @@ static int qlcnic_wait_rom_done(struct qlcnic_adapter *adapter)
        long done = 0;
 
        cond_resched();
-
        while (done == 0) {
                done = QLCRD32(adapter, QLCNIC_ROMUSB_GLB_STATUS);
                done &= 2;
@@ -416,8 +412,8 @@ int qlcnic_pinit_from_rom(struct qlcnic_adapter *adapter)
        u32 off;
        struct pci_dev *pdev = adapter->pdev;
 
-       QLCWR32(adapter, CRB_CMDPEG_STATE, 0);
-       QLCWR32(adapter, CRB_RCVPEG_STATE, 0);
+       QLC_SHARED_REG_WR32(adapter, QLCNIC_CMDPEG_STATE, 0);
+       QLC_SHARED_REG_WR32(adapter, QLCNIC_RCVPEG_STATE, 0);
 
        /* Halt all the indiviual PEGs and other blocks */
        /* disable all I2Q */
@@ -564,8 +560,8 @@ int qlcnic_pinit_from_rom(struct qlcnic_adapter *adapter)
        QLCWR32(adapter, QLCNIC_CRB_PEG_NET_4 + 0xc, 0);
        msleep(1);
 
-       QLCWR32(adapter, QLCNIC_PEG_HALT_STATUS1, 0);
-       QLCWR32(adapter, QLCNIC_PEG_HALT_STATUS2, 0);
+       QLC_SHARED_REG_WR32(adapter, QLCNIC_PEG_HALT_STATUS1, 0);
+       QLC_SHARED_REG_WR32(adapter, QLCNIC_PEG_HALT_STATUS2, 0);
 
        return 0;
 }
@@ -576,7 +572,7 @@ static int qlcnic_cmd_peg_ready(struct qlcnic_adapter *adapter)
        int retries = QLCNIC_CMDPEG_CHECK_RETRY_COUNT;
 
        do {
-               val = QLCRD32(adapter, CRB_CMDPEG_STATE);
+               val = QLC_SHARED_REG_RD32(adapter, QLCNIC_CMDPEG_STATE);
 
                switch (val) {
                case PHAN_INITIALIZE_COMPLETE:
@@ -592,7 +588,8 @@ static int qlcnic_cmd_peg_ready(struct qlcnic_adapter *adapter)
 
        } while (--retries);
 
-       QLCWR32(adapter, CRB_CMDPEG_STATE, PHAN_INITIALIZE_FAILED);
+       QLC_SHARED_REG_WR32(adapter, QLCNIC_CMDPEG_STATE,
+                           PHAN_INITIALIZE_FAILED);
 
 out_err:
        dev_err(&adapter->pdev->dev, "Command Peg initialization not "
@@ -607,7 +604,7 @@ qlcnic_receive_peg_ready(struct qlcnic_adapter *adapter)
        int retries = QLCNIC_RCVPEG_CHECK_RETRY_COUNT;
 
        do {
-               val = QLCRD32(adapter, CRB_RCVPEG_STATE);
+               val = QLC_SHARED_REG_RD32(adapter, QLCNIC_RCVPEG_STATE);
 
                if (val == PHAN_PEG_RCV_INITIALIZED)
                        return 0;
@@ -638,7 +635,7 @@ qlcnic_check_fw_status(struct qlcnic_adapter *adapter)
        if (err)
                return err;
 
-       QLCWR32(adapter, CRB_CMDPEG_STATE, PHAN_INITIALIZE_ACK);
+       QLC_SHARED_REG_WR32(adapter, QLCNIC_CMDPEG_STATE, PHAN_INITIALIZE_ACK);
 
        return err;
 }
@@ -649,7 +646,7 @@ qlcnic_setup_idc_param(struct qlcnic_adapter *adapter) {
        int timeo;
        u32 val;
 
-       val = QLCRD32(adapter, QLCNIC_CRB_DEV_PARTITION_INFO);
+       val = QLC_SHARED_REG_RD32(adapter, QLCNIC_CRB_DEV_PARTITION_INFO);
        val = QLC_DEV_GET_DRV(val, adapter->portnum);
        if ((val & 0x3) != QLCNIC_TYPE_NIC) {
                dev_err(&adapter->pdev->dev,
@@ -689,7 +686,7 @@ static int qlcnic_get_flt_entry(struct qlcnic_adapter *adapter, u8 region,
        }
 
        entry_size = flt_hdr.len - sizeof(struct qlcnic_flt_header);
-       flt_entry = (struct qlcnic_flt_entry *)vzalloc(entry_size);
+       flt_entry = vzalloc(entry_size);
        if (flt_entry == NULL) {
                dev_warn(&adapter->pdev->dev, "error allocating memory\n");
                return -EIO;
@@ -1096,11 +1093,13 @@ qlcnic_check_fw_hearbeat(struct qlcnic_adapter *adapter)
        u32 heartbeat, ret = -EIO;
        int retries = QLCNIC_HEARTBEAT_CHECK_RETRY_COUNT;
 
-       adapter->heartbeat = QLCRD32(adapter, QLCNIC_PEG_ALIVE_COUNTER);
+       adapter->heartbeat = QLC_SHARED_REG_RD32(adapter,
+                                                QLCNIC_PEG_ALIVE_COUNTER);
 
        do {
                msleep(QLCNIC_HEARTBEAT_PERIOD_MSECS);
-               heartbeat = QLCRD32(adapter, QLCNIC_PEG_ALIVE_COUNTER);
+               heartbeat = QLC_SHARED_REG_RD32(adapter,
+                                               QLCNIC_PEG_ALIVE_COUNTER);
                if (heartbeat != adapter->heartbeat) {
                        ret = QLCNIC_RCODE_SUCCESS;
                        break;
@@ -1270,7 +1269,7 @@ qlcnic_validate_firmware(struct qlcnic_adapter *adapter)
                return -EINVAL;
        }
 
-       QLCWR32(adapter, QLCNIC_CAM_RAM(0x1fc), QLCNIC_BDINFO_MAGIC);
+       QLC_SHARED_REG_WR32(adapter, QLCNIC_FW_IMG_VALID, QLCNIC_BDINFO_MAGIC);
        return 0;
 }