]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ixgbe: E610: add discovering EEE capability
authorJedrzej Jagielski <jedrzej.jagielski@intel.com>
Fri, 1 May 2026 06:37:12 +0000 (23:37 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sun, 3 May 2026 02:12:36 +0000 (19:12 -0700)
Add detecting and parsing EEE device capability.

Recently EEE functionality support has been introduced to E610 FW.
Currently ixgbe driver has no possibility to detect whether NVM
loaded on given adapter supports EEE.

There's dedicated device capability element reflecting FW support
for given EEE link speed.

Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Jedrzej Jagielski <jedrzej.jagielski@intel.com>
Tested-by: Rinitha S <sx.rinitha@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20260430-jk-iwl-net-next-2026-04-30-v1-1-6f27ae1cd073@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c
drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h
include/linux/net/intel/libie/adminq.h

index 52f73142ff7562cf6b18da1a81b1d2a6bd16b8ae..5383f0fd55d6c4c39bfdc0a6987430408ca2bfb8 100644 (file)
@@ -628,6 +628,9 @@ static bool ixgbe_parse_e610_caps(struct ixgbe_hw *hw,
                        (phys_id & IXGBE_EXT_TOPO_DEV_IMG_PROG_EN) != 0;
                break;
        }
+       case LIBIE_AQC_CAPS_EEE:
+               caps->eee_support = (u8)number;
+               break;
        default:
                /* Not one of the recognized common capabilities */
                return false;
index ff8d640a50b1c10f279e9e7ea97335a9258033eb..34f62a416eaaf2250232eabcd0c618eb11744f6a 100644 (file)
@@ -891,6 +891,7 @@ struct ixgbe_hw_caps {
        u8 apm_wol_support;
        u8 acpi_prog_mthd;
        u8 proxy_support;
+       u8 eee_support;
        bool nvm_update_pending_nvm;
        bool nvm_update_pending_orom;
        bool nvm_update_pending_netlist;
index ab13bd777a285ded762e9b0ff2bb1231deaa9299..839114d8975a64ecf0ad44493f048978fd3d4372 100644 (file)
@@ -196,6 +196,7 @@ LIBIE_CHECK_STRUCT_LEN(16, libie_aqc_list_caps);
 #define LIBIE_AQC_BIT_ROCEV2_LAG                       BIT(0)
 #define LIBIE_AQC_BIT_SRIOV_LAG                                BIT(1)
 #define LIBIE_AQC_BIT_SRIOV_AA_LAG                     BIT(2)
+#define LIBIE_AQC_CAPS_EEE                             0x009B
 #define LIBIE_AQC_CAPS_FLEX10                          0x00F1
 #define LIBIE_AQC_CAPS_CEM                             0x00F2