RE: [Intel-wired-lan] [PATCH 2/3] e1000e: Add Dell's Comet Lake systems into s0ix heuristics
From: Shen, Yijun
Date: Tue Oct 13 2020 - 12:03:42 EST
> -----Original Message-----
> From: Limonciello, Mario <Mario_Limonciello@xxxxxxxx>
> Sent: Wednesday, October 7, 2020 8:30 AM
> To: Brown, Aaron F; Kirsher, Jeffrey T; intel-wired-lan@xxxxxxxxxxxxxxxx
> Cc: Yuan, Perry; Shen, Yijun; linux-kernel@xxxxxxxxxxxxxxx
> Subject: RE: [Intel-wired-lan] [PATCH 2/3] e1000e: Add Dell's Comet Lake
> systems into s0ix heuristics
>
>
> > > From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf
> > > Of Mario Limonciello
> > > Sent: Sunday, September 27, 2020 9:40 PM
> > > To: Kirsher, Jeffrey T <jeffrey.t.kirsher@xxxxxxxxx>; intel-wired-
> > > lan@xxxxxxxxxxxxxxxx
> > > Cc: Perry.Yuan@xxxxxxxx; Yijun.Shen@xxxxxxxx;
> > > linux-kernel@xxxxxxxxxxxxxxx; Mario Limonciello
> > > <mario.limonciello@xxxxxxxx>
> > > 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.limonciello@xxxxxxxx>
> > > ---
> > > 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.
>
> Alex (Yijun) who is CC'ed did test them and I expect can add a Tested-By after
> the China holidays are over.
>
Tested-by: Yijun Shen <Yijun.shen@xxxxxxxx>
> >
> > >
> > > 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-lan@xxxxxxxxxx
> > > https://lists.osuosl.org/mailman/listinfo/intel-wired-lan