diff options
author | Mengyuan Lou <mengyuanlou@net-swift.com> | 2023-02-14 12:15:27 +0300 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-02-16 08:32:01 +0300 |
commit | 1b8d1c5088efa5af881e8e78c80bd1197dc4c420 (patch) | |
tree | ef935e030385af985c41f2c192178056602448f5 /drivers/net/ethernet/wangxun/ngbe/ngbe_main.c | |
parent | 14ade6ba4120fb38fcb5033998882c5b3d591194 (diff) | |
download | linux-1b8d1c5088efa5af881e8e78c80bd1197dc4c420.tar.xz |
net: wangxun: Add the basic ethtool interfaces
Add the basic ethtool ops get_drvinfo and get_link for ngbe and txgbe.
Ngbe implements get_link_ksettings, nway_reset and set_link_ksettings
for free using phylib code.
The code related to the physical interface is not yet fully implemented
in txgbe using phylink code. So do not implement get_link_ksettings,
nway_reset and set_link_ksettings in txgbe.
Signed-off-by: Mengyuan Lou <mengyuanlou@net-swift.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://lore.kernel.org/r/20230214091527.69943-1-mengyuanlou@net-swift.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/wangxun/ngbe/ngbe_main.c')
-rw-r--r-- | drivers/net/ethernet/wangxun/ngbe/ngbe_main.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c b/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c index f94d415daf3c..5b564d348c09 100644 --- a/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c +++ b/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c @@ -17,6 +17,7 @@ #include "ngbe_type.h" #include "ngbe_mdio.h" #include "ngbe_hw.h" +#include "ngbe_ethtool.h" char ngbe_driver_name[] = "ngbe"; @@ -546,6 +547,8 @@ static int ngbe_probe(struct pci_dev *pdev, goto err_pci_release_regions; } + wx->driver_name = ngbe_driver_name; + ngbe_set_ethtool_ops(netdev); netdev->netdev_ops = &ngbe_netdev_ops; netdev->features |= NETIF_F_HIGHDMA; @@ -631,6 +634,8 @@ static int ngbe_probe(struct pci_dev *pdev, etrack_id |= e2rom_ver; wr32(wx, NGBE_EEPROM_VERSION_STORE_REG, etrack_id); } + snprintf(wx->eeprom_id, sizeof(wx->eeprom_id), + "0x%08x", etrack_id); eth_hw_addr_set(netdev, wx->mac.perm_addr); wx_mac_set_default_filter(wx, wx->mac.perm_addr); |