On 1/20/2026 5:44 AM, Jedrzej Jagielski wrote: > 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 <[email protected]> > Signed-off-by: Jedrzej Jagielski <[email protected]> > --- > drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c | 3 +++ > drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h | 7 +++++++ > include/linux/intel/libie/adminq.h | 1 + > 3 files changed, 11 insertions(+) > > diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c > b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c > index c2f8189a0738..9ae1e3620ee1 100644 > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c > @@ -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; > diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h > b/drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h > index cde148eec38d..11dc7fc71b71 100644 > --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h > +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_type_e610.h > @@ -892,6 +892,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; > @@ -927,6 +928,12 @@ struct ixgbe_hw_caps { > > #define IXGBE_OROM_CIV_SIGNATURE "$CIV" > > +#define IXGBE_EEE_SUPPORT_100BASE_TX BIT(0) > +#define IXGBE_EEE_SUPPORT_1000BASE_T BIT(1) > +#define IXGBE_EEE_SUPPORT_10GBASE_T BIT(2) > +#define IXGBE_EEE_SUPPORT_5GBASE_T BIT(3) > +#define IXGBE_EEE_SUPPORT_2_5GBASE_T BIT(4) > +
These macros are unused by this series. Sashiko complains about them existing, since the code appears to actually use IXGBE_ACI_PHY_EEE_* macros which have different bit positions. Since they are unused, I am going to drop them in the version I submit to net-next. If they ever become needed or useful in the future, then we can always add them back later.
