diff options
author | Jiawen Wu <jiawenwu@trustnetic.com> | 2025-05-21 09:44:02 +0300 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2025-05-26 18:25:42 +0300 |
commit | cdae5bccab29a8e7810b682e886dfd8cd5a52ff3 (patch) | |
tree | a3fd3d6d207e4f48056016ae1bf2344a4a22f307 | |
parent | 182af02690fbb3ba1015cba1e5e758d2ecab94f0 (diff) | |
download | linux-cdae5bccab29a8e7810b682e886dfd8cd5a52ff3.tar.xz |
net: txgbe: Implement SRIOV for AML devices
Since .mac_link_up and .mac_link_down are changed for AML 25G/10G NICs,
the SR-IOV related function should be invoked in these new functions, to
bring VFs link up.
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Link: https://patch.msgid.link/BA8B302B7AAB6EA6+20250521064402.22348-10-jiawenwu@trustnetic.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
-rw-r--r-- | drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c b/drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c index 6bcf67bef576..7dbcf41750c1 100644 --- a/drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c +++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c @@ -10,6 +10,7 @@ #include "../libwx/wx_lib.h" #include "../libwx/wx_ptp.h" #include "../libwx/wx_hw.h" +#include "../libwx/wx_sriov.h" #include "txgbe_type.h" #include "txgbe_aml.h" #include "txgbe_hw.h" @@ -315,6 +316,8 @@ static void txgbe_mac_link_up_aml(struct phylink_config *config, wx->last_rx_ptp_check = jiffies; if (test_bit(WX_STATE_PTP_RUNNING, wx->state)) wx_ptp_reset_cyclecounter(wx); + /* ping all the active vfs to let them know we are going up */ + wx_ping_all_vfs_with_link_status(wx, true); } static void txgbe_mac_link_down_aml(struct phylink_config *config, @@ -329,6 +332,8 @@ static void txgbe_mac_link_down_aml(struct phylink_config *config, wx->speed = SPEED_UNKNOWN; if (test_bit(WX_STATE_PTP_RUNNING, wx->state)) wx_ptp_reset_cyclecounter(wx); + /* ping all the active vfs to let them know we are going down */ + wx_ping_all_vfs_with_link_status(wx, false); } static void txgbe_mac_config_aml(struct phylink_config *config, unsigned int mode, |