|
@@ -46,9 +46,8 @@ static int phy_lock(struct netxen_adapter *adapter)
|
|
|
int done = 0, timeout = 0;
|
|
|
|
|
|
while (!done) {
|
|
|
- done =
|
|
|
- readl(pci_base_offset
|
|
|
- (adapter, NETXEN_PCIE_REG(PCIE_SEM3_LOCK)));
|
|
|
+ done = netxen_nic_reg_read(adapter,
|
|
|
+ NETXEN_PCIE_REG(PCIE_SEM3_LOCK));
|
|
|
if (done == 1)
|
|
|
break;
|
|
|
if (timeout >= phy_lock_timeout) {
|
|
@@ -63,14 +62,14 @@ static int phy_lock(struct netxen_adapter *adapter)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- writel(PHY_LOCK_DRIVER,
|
|
|
- NETXEN_CRB_NORMALIZE(adapter, NETXEN_PHY_LOCK_ID));
|
|
|
+ netxen_crb_writelit_adapter(adapter,
|
|
|
+ NETXEN_PHY_LOCK_ID, PHY_LOCK_DRIVER);
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
static int phy_unlock(struct netxen_adapter *adapter)
|
|
|
{
|
|
|
- readl(pci_base_offset(adapter, NETXEN_PCIE_REG(PCIE_SEM3_UNLOCK)));
|
|
|
+ adapter->pci_read_immediate(adapter, NETXEN_PCIE_REG(PCIE_SEM3_UNLOCK));
|
|
|
|
|
|
return 0;
|
|
|
}
|
|
@@ -109,7 +108,7 @@ int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long reg,
|
|
|
* so it cannot be in reset
|
|
|
*/
|
|
|
|
|
|
- if (netxen_nic_hw_read_wx(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(0),
|
|
|
+ if (adapter->hw_read_wx(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(0),
|
|
|
&mac_cfg0, 4))
|
|
|
return -EIO;
|
|
|
if (netxen_gb_get_soft_reset(mac_cfg0)) {
|
|
@@ -119,7 +118,7 @@ int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long reg,
|
|
|
netxen_gb_rx_reset_pb(temp);
|
|
|
netxen_gb_tx_reset_mac(temp);
|
|
|
netxen_gb_rx_reset_mac(temp);
|
|
|
- if (netxen_nic_hw_write_wx(adapter,
|
|
|
+ if (adapter->hw_write_wx(adapter,
|
|
|
NETXEN_NIU_GB_MAC_CONFIG_0(0),
|
|
|
&temp, 4))
|
|
|
return -EIO;
|
|
@@ -129,22 +128,22 @@ int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long reg,
|
|
|
address = 0;
|
|
|
netxen_gb_mii_mgmt_reg_addr(address, reg);
|
|
|
netxen_gb_mii_mgmt_phy_addr(address, phy);
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_ADDR(0),
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_ADDR(0),
|
|
|
&address, 4))
|
|
|
return -EIO;
|
|
|
command = 0; /* turn off any prior activity */
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_COMMAND(0),
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_COMMAND(0),
|
|
|
&command, 4))
|
|
|
return -EIO;
|
|
|
/* send read command */
|
|
|
netxen_gb_mii_mgmt_set_read_cycle(command);
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_COMMAND(0),
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_COMMAND(0),
|
|
|
&command, 4))
|
|
|
return -EIO;
|
|
|
|
|
|
status = 0;
|
|
|
do {
|
|
|
- if (netxen_nic_hw_read_wx(adapter,
|
|
|
+ if (adapter->hw_read_wx(adapter,
|
|
|
NETXEN_NIU_GB_MII_MGMT_INDICATE(0),
|
|
|
&status, 4))
|
|
|
return -EIO;
|
|
@@ -154,7 +153,7 @@ int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long reg,
|
|
|
&& (timeout++ < NETXEN_NIU_PHY_WAITMAX));
|
|
|
|
|
|
if (timeout < NETXEN_NIU_PHY_WAITMAX) {
|
|
|
- if (netxen_nic_hw_read_wx(adapter,
|
|
|
+ if (adapter->hw_read_wx(adapter,
|
|
|
NETXEN_NIU_GB_MII_MGMT_STATUS(0),
|
|
|
readval, 4))
|
|
|
return -EIO;
|
|
@@ -163,7 +162,7 @@ int netxen_niu_gbe_phy_read(struct netxen_adapter *adapter, long reg,
|
|
|
result = -1;
|
|
|
|
|
|
if (restore)
|
|
|
- if (netxen_nic_hw_write_wx(adapter,
|
|
|
+ if (adapter->hw_write_wx(adapter,
|
|
|
NETXEN_NIU_GB_MAC_CONFIG_0(0),
|
|
|
&mac_cfg0, 4))
|
|
|
return -EIO;
|
|
@@ -201,7 +200,7 @@ int netxen_niu_gbe_phy_write(struct netxen_adapter *adapter, long reg,
|
|
|
* cannot be in reset
|
|
|
*/
|
|
|
|
|
|
- if (netxen_nic_hw_read_wx(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(0),
|
|
|
+ if (adapter->hw_read_wx(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(0),
|
|
|
&mac_cfg0, 4))
|
|
|
return -EIO;
|
|
|
if (netxen_gb_get_soft_reset(mac_cfg0)) {
|
|
@@ -212,7 +211,7 @@ int netxen_niu_gbe_phy_write(struct netxen_adapter *adapter, long reg,
|
|
|
netxen_gb_tx_reset_mac(temp);
|
|
|
netxen_gb_rx_reset_mac(temp);
|
|
|
|
|
|
- if (netxen_nic_hw_write_wx(adapter,
|
|
|
+ if (adapter->hw_write_wx(adapter,
|
|
|
NETXEN_NIU_GB_MAC_CONFIG_0(0),
|
|
|
&temp, 4))
|
|
|
return -EIO;
|
|
@@ -220,24 +219,24 @@ int netxen_niu_gbe_phy_write(struct netxen_adapter *adapter, long reg,
|
|
|
}
|
|
|
|
|
|
command = 0; /* turn off any prior activity */
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_COMMAND(0),
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_COMMAND(0),
|
|
|
&command, 4))
|
|
|
return -EIO;
|
|
|
|
|
|
address = 0;
|
|
|
netxen_gb_mii_mgmt_reg_addr(address, reg);
|
|
|
netxen_gb_mii_mgmt_phy_addr(address, phy);
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_ADDR(0),
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_ADDR(0),
|
|
|
&address, 4))
|
|
|
return -EIO;
|
|
|
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_CTRL(0),
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_CTRL(0),
|
|
|
&val, 4))
|
|
|
return -EIO;
|
|
|
|
|
|
status = 0;
|
|
|
do {
|
|
|
- if (netxen_nic_hw_read_wx(adapter,
|
|
|
+ if (adapter->hw_read_wx(adapter,
|
|
|
NETXEN_NIU_GB_MII_MGMT_INDICATE(0),
|
|
|
&status, 4))
|
|
|
return -EIO;
|
|
@@ -252,7 +251,7 @@ int netxen_niu_gbe_phy_write(struct netxen_adapter *adapter, long reg,
|
|
|
|
|
|
/* restore the state of port 0 MAC in case we tampered with it */
|
|
|
if (restore)
|
|
|
- if (netxen_nic_hw_write_wx(adapter,
|
|
|
+ if (adapter->hw_write_wx(adapter,
|
|
|
NETXEN_NIU_GB_MAC_CONFIG_0(0),
|
|
|
&mac_cfg0, 4))
|
|
|
return -EIO;
|
|
@@ -581,10 +580,10 @@ static int netxen_niu_macaddr_get(struct netxen_adapter *adapter,
|
|
|
if ((phy < 0) || (phy > 3))
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (netxen_nic_hw_read_wx(adapter, NETXEN_NIU_GB_STATION_ADDR_0(phy),
|
|
|
+ if (adapter->hw_read_wx(adapter, NETXEN_NIU_GB_STATION_ADDR_0(phy),
|
|
|
&stationhigh, 4))
|
|
|
return -EIO;
|
|
|
- if (netxen_nic_hw_read_wx(adapter, NETXEN_NIU_GB_STATION_ADDR_1(phy),
|
|
|
+ if (adapter->hw_read_wx(adapter, NETXEN_NIU_GB_STATION_ADDR_1(phy),
|
|
|
&stationlow, 4))
|
|
|
return -EIO;
|
|
|
((__le32 *)val)[1] = cpu_to_le32(stationhigh);
|
|
@@ -613,14 +612,14 @@ int netxen_niu_macaddr_set(struct netxen_adapter *adapter,
|
|
|
temp[0] = temp[1] = 0;
|
|
|
memcpy(temp + 2, addr, 2);
|
|
|
val = le32_to_cpu(*(__le32 *)temp);
|
|
|
- if (netxen_nic_hw_write_wx
|
|
|
- (adapter, NETXEN_NIU_GB_STATION_ADDR_1(phy), &val, 4))
|
|
|
+ if (adapter->hw_write_wx(adapter,
|
|
|
+ NETXEN_NIU_GB_STATION_ADDR_1(phy), &val, 4))
|
|
|
return -EIO;
|
|
|
|
|
|
memcpy(temp, ((u8 *) addr) + 2, sizeof(__le32));
|
|
|
val = le32_to_cpu(*(__le32 *)temp);
|
|
|
- if (netxen_nic_hw_write_wx
|
|
|
- (adapter, NETXEN_NIU_GB_STATION_ADDR_0(phy), &val, 4))
|
|
|
+ if (adapter->hw_write_wx(adapter,
|
|
|
+ NETXEN_NIU_GB_STATION_ADDR_0(phy), &val, 4))
|
|
|
return -2;
|
|
|
|
|
|
netxen_niu_macaddr_get(adapter,
|
|
@@ -654,7 +653,7 @@ int netxen_niu_enable_gbe_port(struct netxen_adapter *adapter,
|
|
|
|
|
|
mac_cfg0 = 0;
|
|
|
netxen_gb_soft_reset(mac_cfg0);
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(port),
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(port),
|
|
|
&mac_cfg0, 4))
|
|
|
return -EIO;
|
|
|
mac_cfg0 = 0;
|
|
@@ -666,7 +665,7 @@ int netxen_niu_enable_gbe_port(struct netxen_adapter *adapter,
|
|
|
netxen_gb_tx_reset_mac(mac_cfg0);
|
|
|
netxen_gb_rx_reset_mac(mac_cfg0);
|
|
|
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(port),
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(port),
|
|
|
&mac_cfg0, 4))
|
|
|
return -EIO;
|
|
|
mac_cfg1 = 0;
|
|
@@ -679,7 +678,7 @@ int netxen_niu_enable_gbe_port(struct netxen_adapter *adapter,
|
|
|
|
|
|
if (mode == NETXEN_NIU_10_100_MB) {
|
|
|
netxen_gb_set_intfmode(mac_cfg1, 1);
|
|
|
- if (netxen_nic_hw_write_wx(adapter,
|
|
|
+ if (adapter->hw_write_wx(adapter,
|
|
|
NETXEN_NIU_GB_MAC_CONFIG_1(port),
|
|
|
&mac_cfg1, 4))
|
|
|
return -EIO;
|
|
@@ -692,7 +691,7 @@ int netxen_niu_enable_gbe_port(struct netxen_adapter *adapter,
|
|
|
|
|
|
} else if (mode == NETXEN_NIU_1000_MB) {
|
|
|
netxen_gb_set_intfmode(mac_cfg1, 2);
|
|
|
- if (netxen_nic_hw_write_wx(adapter,
|
|
|
+ if (adapter->hw_write_wx(adapter,
|
|
|
NETXEN_NIU_GB_MAC_CONFIG_1(port),
|
|
|
&mac_cfg1, 4))
|
|
|
return -EIO;
|
|
@@ -704,7 +703,7 @@ int netxen_niu_enable_gbe_port(struct netxen_adapter *adapter,
|
|
|
}
|
|
|
mii_cfg = 0;
|
|
|
netxen_gb_set_mii_mgmt_clockselect(mii_cfg, 7);
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_CONFIG(port),
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_GB_MII_MGMT_CONFIG(port),
|
|
|
&mii_cfg, 4))
|
|
|
return -EIO;
|
|
|
mac_cfg0 = 0;
|
|
@@ -713,7 +712,7 @@ int netxen_niu_enable_gbe_port(struct netxen_adapter *adapter,
|
|
|
netxen_gb_unset_rx_flowctl(mac_cfg0);
|
|
|
netxen_gb_unset_tx_flowctl(mac_cfg0);
|
|
|
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(port),
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(port),
|
|
|
&mac_cfg0, 4))
|
|
|
return -EIO;
|
|
|
return 0;
|
|
@@ -730,7 +729,7 @@ int netxen_niu_disable_gbe_port(struct netxen_adapter *adapter)
|
|
|
return -EINVAL;
|
|
|
mac_cfg0 = 0;
|
|
|
netxen_gb_soft_reset(mac_cfg0);
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(port),
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_GB_MAC_CONFIG_0(port),
|
|
|
&mac_cfg0, 4))
|
|
|
return -EIO;
|
|
|
return 0;
|
|
@@ -746,7 +745,7 @@ int netxen_niu_disable_xg_port(struct netxen_adapter *adapter)
|
|
|
return -EINVAL;
|
|
|
|
|
|
mac_cfg = 0;
|
|
|
- if (netxen_nic_hw_write_wx(adapter,
|
|
|
+ if (adapter->hw_write_wx(adapter,
|
|
|
NETXEN_NIU_XGE_CONFIG_0 + (0x10000 * port), &mac_cfg, 4))
|
|
|
return -EIO;
|
|
|
return 0;
|
|
@@ -763,7 +762,7 @@ int netxen_niu_set_promiscuous_mode(struct netxen_adapter *adapter,
|
|
|
return -EINVAL;
|
|
|
|
|
|
/* save previous contents */
|
|
|
- if (netxen_nic_hw_read_wx(adapter, NETXEN_NIU_GB_DROP_WRONGADDR,
|
|
|
+ if (adapter->hw_read_wx(adapter, NETXEN_NIU_GB_DROP_WRONGADDR,
|
|
|
®, 4))
|
|
|
return -EIO;
|
|
|
if (mode == NETXEN_NIU_PROMISC_MODE) {
|
|
@@ -801,7 +800,7 @@ int netxen_niu_set_promiscuous_mode(struct netxen_adapter *adapter,
|
|
|
return -EIO;
|
|
|
}
|
|
|
}
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_GB_DROP_WRONGADDR,
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_GB_DROP_WRONGADDR,
|
|
|
®, 4))
|
|
|
return -EIO;
|
|
|
return 0;
|
|
@@ -826,13 +825,13 @@ int netxen_niu_xg_macaddr_set(struct netxen_adapter *adapter,
|
|
|
case 0:
|
|
|
memcpy(temp + 2, addr, 2);
|
|
|
val = le32_to_cpu(*(__le32 *)temp);
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_XGE_STATION_ADDR_0_1,
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_XGE_STATION_ADDR_0_1,
|
|
|
&val, 4))
|
|
|
return -EIO;
|
|
|
|
|
|
memcpy(&temp, ((u8 *) addr) + 2, sizeof(__le32));
|
|
|
val = le32_to_cpu(*(__le32 *)temp);
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_XGE_STATION_ADDR_0_HI,
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_XGE_STATION_ADDR_0_HI,
|
|
|
&val, 4))
|
|
|
return -EIO;
|
|
|
break;
|
|
@@ -840,13 +839,13 @@ int netxen_niu_xg_macaddr_set(struct netxen_adapter *adapter,
|
|
|
case 1:
|
|
|
memcpy(temp + 2, addr, 2);
|
|
|
val = le32_to_cpu(*(__le32 *)temp);
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_XG1_STATION_ADDR_0_1,
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_XG1_STATION_ADDR_0_1,
|
|
|
&val, 4))
|
|
|
return -EIO;
|
|
|
|
|
|
memcpy(&temp, ((u8 *) addr) + 2, sizeof(__le32));
|
|
|
val = le32_to_cpu(*(__le32 *)temp);
|
|
|
- if (netxen_nic_hw_write_wx(adapter, NETXEN_NIU_XG1_STATION_ADDR_0_HI,
|
|
|
+ if (adapter->hw_write_wx(adapter, NETXEN_NIU_XG1_STATION_ADDR_0_HI,
|
|
|
&val, 4))
|
|
|
return -EIO;
|
|
|
break;
|
|
@@ -877,10 +876,10 @@ int netxen_niu_xg_macaddr_get(struct netxen_adapter *adapter,
|
|
|
if (phy != 0)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (netxen_nic_hw_read_wx(adapter, NETXEN_NIU_XGE_STATION_ADDR_0_HI,
|
|
|
+ if (adapter->hw_read_wx(adapter, NETXEN_NIU_XGE_STATION_ADDR_0_HI,
|
|
|
&stationhigh, 4))
|
|
|
return -EIO;
|
|
|
- if (netxen_nic_hw_read_wx(adapter, NETXEN_NIU_XGE_STATION_ADDR_0_1,
|
|
|
+ if (adapter->hw_read_wx(adapter, NETXEN_NIU_XGE_STATION_ADDR_0_1,
|
|
|
&stationlow, 4))
|
|
|
return -EIO;
|
|
|
((__le32 *)val)[1] = cpu_to_le32(stationhigh);
|
|
@@ -901,7 +900,7 @@ int netxen_niu_xg_set_promiscuous_mode(struct netxen_adapter *adapter,
|
|
|
if (port > NETXEN_NIU_MAX_XG_PORTS)
|
|
|
return -EINVAL;
|
|
|
|
|
|
- if (netxen_nic_hw_read_wx(adapter,
|
|
|
+ if (adapter->hw_read_wx(adapter,
|
|
|
NETXEN_NIU_XGE_CONFIG_1 + (0x10000 * port), ®, 4))
|
|
|
return -EIO;
|
|
|
if (mode == NETXEN_NIU_PROMISC_MODE)
|