summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
diff options
context:
space:
mode:
authorGatis Peisenieks <gatis@mikrotik.com>2021-05-13 14:43:22 +0300
committerDavid S. Miller <davem@davemloft.net>2021-05-13 15:48:10 -0700
commitf19d4997fd1fb01bed127e1056ce3a5de922d9ee (patch)
tree36838927ede7011679cd73924a183309724bcff7 /drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
parent0d59c95ea3d2e81b76cfbd2f1ff0adf00c23c8f7 (diff)
downloadlinux-stable-f19d4997fd1fb01bed127e1056ce3a5de922d9ee.tar.gz
linux-stable-f19d4997fd1fb01bed127e1056ce3a5de922d9ee.tar.bz2
linux-stable-f19d4997fd1fb01bed127e1056ce3a5de922d9ee.zip
atl1c: show correct link speed on Mikrotik 10/25G NIC
The new Mikrotik 10/25G NIC maintains compatibility with existing atl1c driver. However it does have new features. This defines some new register offsets, code for identifying the new type of NIC and correct speed detection for the NIC. Signed-off-by: Gatis Peisenieks <gatis@mikrotik.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/atheros/atl1c/atl1c_hw.c')
-rw-r--r--drivers/net/ethernet/atheros/atl1c/atl1c_hw.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_hw.c b/drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
index 140358dcf61e..ddb9442416cd 100644
--- a/drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
+++ b/drivers/net/ethernet/atheros/atl1c/atl1c_hw.c
@@ -648,6 +648,15 @@ int atl1c_get_speed_and_duplex(struct atl1c_hw *hw, u16 *speed, u16 *duplex)
int err;
u16 phy_data;
+ if (hw->nic_type == athr_mt) {
+ u32 spd;
+
+ AT_READ_REG(hw, REG_MT_SPEED, &spd);
+ *speed = spd;
+ *duplex = FULL_DUPLEX;
+ return 0;
+ }
+
/* Read PHY Specific Status Register (17) */
err = atl1c_read_phy_reg(hw, MII_GIGA_PSSR, &phy_data);
if (err)