> From: Intel-wired-lan <intel-wired-lan-boun...@osuosl.org> On Behalf Of
> Mario Limonciello
> Sent: Sunday, September 27, 2020 9:40 PM
> To: Kirsher, Jeffrey T <jeffrey.t.kirs...@intel.com>; intel-wired-
> l...@lists.osuosl.org
> Cc: perry.y...@dell.com; yijun.s...@dell.com; linux-kernel@vger.kernel.org;
> Mario Limonciello <mario.limoncie...@dell.com>
> Subject: [Intel-wired-lan] [PATCH 2/3] e1000e: Add Dell's Comet Lake systems
> into s0ix heuristics
> 
> Dell's Comet Lake Latitude and Precision systems containing i219LM are
> properly configured and should use the s0ix flows.
> 
> Signed-off-by: Mario Limonciello <mario.limoncie...@dell.com>
> ---
>  drivers/net/ethernet/intel/Kconfig        |  1 +
>  drivers/net/ethernet/intel/e1000e/param.c | 80 ++++++++++++++++++++++-
>  2 files changed, 80 insertions(+), 1 deletion(-)

Is there anyone who touched this hardware with this patch willing to provide a 
Tested-by:?
I am happy to do regression / sanity checks against other e1000e based systems, 
but do not have access to these devices.

> 
> diff --git a/drivers/net/ethernet/intel/Kconfig
> b/drivers/net/ethernet/intel/Kconfig
> index 5aa86318ed3e..280af47d74d2 100644
> --- a/drivers/net/ethernet/intel/Kconfig
> +++ b/drivers/net/ethernet/intel/Kconfig
> @@ -58,6 +58,7 @@ config E1000
>  config E1000E
>       tristate "Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support"
>       depends on PCI && (!SPARC32 || BROKEN)
> +     depends on DMI
>       select CRC32
>       imply PTP_1588_CLOCK
>       help
> diff --git a/drivers/net/ethernet/intel/e1000e/param.c
> b/drivers/net/ethernet/intel/e1000e/param.c
> index e66b222c824b..58e6718c4f75 100644
> --- a/drivers/net/ethernet/intel/e1000e/param.c
> +++ b/drivers/net/ethernet/intel/e1000e/param.c
> @@ -1,6 +1,7 @@
>  // SPDX-License-Identifier: GPL-2.0
>  /* Copyright(c) 1999 - 2018 Intel Corporation. */
> 
> +#include <linux/dmi.h>
>  #include <linux/netdevice.h>
>  #include <linux/module.h>
>  #include <linux/pci.h>
> @@ -201,6 +202,80 @@ static const struct e1000e_me_supported
> me_supported[] = {
>       {0}
>  };
> 
> +static const struct dmi_system_id s0ix_supported_systems[] = {
> +     {
> +             /* Dell Latitude 5310 */
> +             .matches = {
> +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                     DMI_MATCH(DMI_PRODUCT_SKU, "099F"),
> +             },
> +     },
> +     {
> +             /* Dell Latitude 5410 */
> +             .matches = {
> +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                     DMI_MATCH(DMI_PRODUCT_SKU, "09A0"),
> +             },
> +     },
> +     {
> +             /* Dell Latitude 5410 */
> +             .matches = {
> +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                     DMI_MATCH(DMI_PRODUCT_SKU, "09C9"),
> +             },
> +     },
> +     {
> +             /* Dell Latitude 5510 */
> +             .matches = {
> +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                     DMI_MATCH(DMI_PRODUCT_SKU, "09A1"),
> +             },
> +     },
> +     {
> +             /* Dell Precision 3550 */
> +             .matches = {
> +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                     DMI_MATCH(DMI_PRODUCT_SKU, "09A2"),
> +             },
> +     },
> +     {
> +             /* Dell Latitude 5411 */
> +             .matches = {
> +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                     DMI_MATCH(DMI_PRODUCT_SKU, "09C0"),
> +             },
> +     },
> +     {
> +             /* Dell Latitude 5511 */
> +             .matches = {
> +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                     DMI_MATCH(DMI_PRODUCT_SKU, "09C1"),
> +             },
> +     },
> +     {
> +             /* Dell Precision 3551 */
> +             .matches = {
> +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                     DMI_MATCH(DMI_PRODUCT_SKU, "09C2"),
> +             },
> +     },
> +     {
> +             /* Dell Precision 7550 */
> +             .matches = {
> +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                     DMI_MATCH(DMI_PRODUCT_SKU, "09C3"),
> +             },
> +     },
> +     {
> +             /* Dell Precision 7750 */
> +             .matches = {
> +                     DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
> +                     DMI_MATCH(DMI_PRODUCT_SKU, "09C4"),
> +             },
> +     },
> +     { }
> +};
> +
>  static bool e1000e_check_me(u16 device_id)
>  {
>       struct e1000e_me_supported *id;
> @@ -599,8 +674,11 @@ void e1000e_check_options(struct e1000_adapter
> *adapter)
>               }
> 
>               if (enabled == S0IX_HEURISTICS) {
> +                     /* check for allowlist of systems */
> +                     if (dmi_check_system(s0ix_supported_systems))
> +                             enabled = S0IX_FORCE_ON;
>                       /* default to off for ME configurations */
> -                     if (e1000e_check_me(hw->adapter->pdev->device))
> +                     else if (e1000e_check_me(hw->adapter->pdev-
> >device))
>                               enabled = S0IX_FORCE_OFF;
>               }
> 
> --
> 2.25.1
> 
> _______________________________________________
> Intel-wired-lan mailing list
> intel-wired-...@osuosl.org
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan

Reply via email to