Commit a4b751d8 authored by Sucheta Chakraborty's avatar Sucheta Chakraborty Committed by David S. Miller

netxen: fix ethtool link test

o Fix ethtool link test for NX3031 chip.
o Remove unused code from phy interrupt callback
Signed-off-by: default avatarSucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: default avatarAmit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2d2cf346
...@@ -385,25 +385,18 @@ netxen_nic_get_regs(struct net_device *dev, struct ethtool_regs *regs, void *p) ...@@ -385,25 +385,18 @@ netxen_nic_get_regs(struct net_device *dev, struct ethtool_regs *regs, void *p)
static u32 netxen_nic_test_link(struct net_device *dev) static u32 netxen_nic_test_link(struct net_device *dev)
{ {
struct netxen_adapter *adapter = netdev_priv(dev); struct netxen_adapter *adapter = netdev_priv(dev);
__u32 status; u32 val, port;
int val;
/* read which mode */ port = adapter->physical_port;
if (adapter->ahw.port_type == NETXEN_NIC_GBE) { if (NX_IS_REVISION_P3(adapter->ahw.revision_id)) {
if (adapter->phy_read && val = NXRD32(adapter, CRB_XG_STATE_P3);
adapter->phy_read(adapter, val = XG_LINK_STATE_P3(adapter->ahw.pci_func, val);
NETXEN_NIU_GB_MII_MGMT_ADDR_PHY_STATUS, return (val == XG_LINK_UP_P3) ? 0 : 1;
&status) != 0) } else {
return -EIO;
else {
val = netxen_get_phy_link(status);
return !val;
}
} else if (adapter->ahw.port_type == NETXEN_NIC_XGBE) {
val = NXRD32(adapter, CRB_XG_STATE); val = NXRD32(adapter, CRB_XG_STATE);
val = (val >> port*8) & 0xff;
return (val == XG_LINK_UP) ? 0 : 1; return (val == XG_LINK_UP) ? 0 : 1;
} }
return -EIO;
} }
static int static int
......
...@@ -1898,13 +1898,9 @@ static void netxen_nic_handle_phy_intr(struct netxen_adapter *adapter) ...@@ -1898,13 +1898,9 @@ static void netxen_nic_handle_phy_intr(struct netxen_adapter *adapter)
linkup = (val == XG_LINK_UP_P3); linkup = (val == XG_LINK_UP_P3);
} else { } else {
val = NXRD32(adapter, CRB_XG_STATE); val = NXRD32(adapter, CRB_XG_STATE);
if (adapter->ahw.port_type == NETXEN_NIC_GBE)
linkup = (val >> port) & 1;
else {
val = (val >> port*8) & 0xff; val = (val >> port*8) & 0xff;
linkup = (val == XG_LINK_UP); linkup = (val == XG_LINK_UP);
} }
}
netxen_advert_link_change(adapter, linkup); netxen_advert_link_change(adapter, linkup);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment