netxen: fix register usage
authorAmit Kumar Salecha <amit.salecha@qlogic.com>
Tue, 11 May 2010 23:53:02 +0000 (23:53 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 13 May 2010 06:02:29 +0000 (23:02 -0700)
o For NX3031, MSI_MODE, CAPABILITIES_FW and SCRATCHPAD registers
  are obsolete. These register addresses can be used for different
  purpose.

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/netxen/netxen_nic_ethtool.c
drivers/net/netxen/netxen_nic_hdr.h
drivers/net/netxen/netxen_nic_init.c

index aecba78..20f7c58 100644 (file)
@@ -632,6 +632,9 @@ static int netxen_nic_reg_test(struct net_device *dev)
        if ((data_read & 0xffff) != adapter->pdev->vendor)
                return 1;
 
+       if (NX_IS_REVISION_P3(adapter->ahw.revision_id))
+               return 0;
+
        data_written = (u32)0xa5a5a5a5;
 
        NXWR32(adapter, CRB_SCRATCHPAD_TEST, data_written);
index 622e4c8..d930068 100644 (file)
@@ -789,9 +789,7 @@ enum {
  * for backward compability
  */
 #define CRB_NIC_CAPABILITIES_HOST      NETXEN_NIC_REG(0x1a8)
-#define CRB_NIC_CAPABILITIES_FW                NETXEN_NIC_REG(0x1dc)
 #define CRB_NIC_MSI_MODE_HOST          NETXEN_NIC_REG(0x270)
-#define CRB_NIC_MSI_MODE_FW            NETXEN_NIC_REG(0x274)
 
 #define INTR_SCHEME_PERPORT            0x1
 #define MSI_MODE_MULTIFUNC             0x1
index 388feaf..4a2bbeb 100644 (file)
@@ -1361,10 +1361,12 @@ int netxen_init_firmware(struct netxen_adapter *adapter)
                return err;
 
        NXWR32(adapter, CRB_NIC_CAPABILITIES_HOST, INTR_SCHEME_PERPORT);
-       NXWR32(adapter, CRB_NIC_MSI_MODE_HOST, MSI_MODE_MULTIFUNC);
        NXWR32(adapter, CRB_MPORT_MODE, MPORT_MULTI_FUNCTION_MODE);
        NXWR32(adapter, CRB_CMDPEG_STATE, PHAN_INITIALIZE_ACK);
 
+       if (NX_IS_REVISION_P2(adapter->ahw.revision_id))
+               NXWR32(adapter, CRB_NIC_MSI_MODE_HOST, MSI_MODE_MULTIFUNC);
+
        return err;
 }