net: txgbe: Implement SRIOV for AML devices
authorJiawen Wu <jiawenwu@trustnetic.com>
Wed, 21 May 2025 06:44:02 +0000 (14:44 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Mon, 26 May 2025 15:25:42 +0000 (17:25 +0200)
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>
drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c

index 6bcf67b..7dbcf41 100644 (file)
@@ -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,