From patchwork Tue Nov 3 10:31:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timo Aaltonen X-Patchwork-Id: 1392799 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=ubuntu.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4CQR2W1rx4z9sTD; Tue, 3 Nov 2020 21:33:23 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1kZtcu-0001qN-9H; Tue, 03 Nov 2020 10:33:20 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kZtcs-0001p5-AX for kernel-team@lists.ubuntu.com; Tue, 03 Nov 2020 10:33:18 +0000 Received: from [192.194.81.50] (helo=localhost.localdomain) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kZtay-0003oz-78 for kernel-team@lists.ubuntu.com; Tue, 03 Nov 2020 10:31:20 +0000 From: Timo Aaltonen To: kernel-team@lists.ubuntu.com Subject: [PATCH 3/4] UBUNTU: SAUCE: e1000e: Add Dell's Comet Lake systems into s0ix heuristics Date: Tue, 3 Nov 2020 12:31:16 +0200 Message-Id: <20201103103117.1002285-4-tjaalton@ubuntu.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20201103103117.1002285-1-tjaalton@ubuntu.com> References: <20201103103117.1002285-1-tjaalton@ubuntu.com> MIME-Version: 1.0 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Mario Limonciello BugLink: https://bugs.launchpad.net/bugs/1902687 Dell's Comet Lake Latitude and Precision systems containing i219LM are properly configured and should use the s0ix flows. Signed-off-by: Mario Limonciello Tested-by: Yijun Shen Signed-off-by: Timo Aaltonen --- drivers/net/ethernet/intel/Kconfig | 1 + drivers/net/ethernet/intel/e1000e/param.c | 80 ++++++++++++++++++++++- 2 files changed, 80 insertions(+), 1 deletion(-) 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 #include #include #include @@ -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; }