From patchwork Mon Apr 8 12:22:16 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Gupta, Anshuman" X-Patchwork-Id: 10889505 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A9D62922 for ; Mon, 8 Apr 2019 12:26:30 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 924B6285CD for ; Mon, 8 Apr 2019 12:26:30 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 868E12862A; Mon, 8 Apr 2019 12:26:30 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 35573285CD for ; Mon, 8 Apr 2019 12:26:30 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A3F5D8912C; Mon, 8 Apr 2019 12:26:29 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8637C8912C for ; Mon, 8 Apr 2019 12:26:27 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Apr 2019 05:26:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,325,1549958400"; d="scan'208";a="149002763" Received: from genxfsim-desktop.iind.intel.com ([10.223.34.158]) by orsmga002.jf.intel.com with ESMTP; 08 Apr 2019 05:26:25 -0700 From: Anshuman Gupta To: intel-gfx@lists.freedesktop.org Date: Mon, 8 Apr 2019 17:52:16 +0530 Message-Id: <1554726136-21500-1-git-send-email-anshuman.gupta@intel.com> X-Mailer: git-send-email 2.7.4 Subject: [Intel-gfx] [PATCH] Core-for-CI:ICL_only Disable ACPI idle driver X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: martin.peres@intel.com, daniel.vetter@intel.com MIME-Version: 1.0 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP There were system hung observed while running i915_pm_rpm test. FDO https://bugs.freedesktop.org/show_bug.cgi?id=108840 Root cause is believed to due to page fault in ACPI idle (FDO comment 18) driver, it has been suggested by Daniel to disable ACPI idle driver for CI system, this patch only meant for ICL. Cc: martin.peres@intel.com Cc: daniel.vetter@intel.com Signed-off-by: Anshuman Gupta --- drivers/acpi/processor_driver.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c index 9d6aff2..6e3ef2d 100644 --- a/drivers/acpi/processor_driver.c +++ b/drivers/acpi/processor_driver.c @@ -35,6 +35,9 @@ #include +#include +#include + #include "internal.h" #define ACPI_PROCESSOR_NOTIFY_PERFORMANCE 0x80 @@ -58,6 +61,13 @@ static const struct acpi_device_id processor_device_ids[] = { }; MODULE_DEVICE_TABLE(acpi, processor_device_ids); +#define ICPU(model) { X86_VENDOR_INTEL, 6, model, X86_FEATURE_ANY, } +static const struct x86_cpu_id intel_cpu_ids[] = { + ICPU(INTEL_FAM6_ICELAKE_MOBILE), /* ICL */ + {} +}; +MODULE_DEVICE_TABLE(x86cpu, intel_pmc_core_ids); + static struct device_driver acpi_processor_driver = { .name = "processor", .bus = &cpu_subsys, @@ -226,6 +236,7 @@ static inline void acpi_pss_perf_exit(struct acpi_processor *pr, static int __acpi_processor_start(struct acpi_device *device) { struct acpi_processor *pr = acpi_driver_data(device); + const struct x86_cpu_id *id; acpi_status status; int result = 0; @@ -239,7 +250,9 @@ static int __acpi_processor_start(struct acpi_device *device) if (result && !IS_ENABLED(CONFIG_ACPI_CPU_FREQ_PSS)) dev_dbg(&device->dev, "CPPC data invalid or not present\n"); - if (!cpuidle_get_driver() || cpuidle_get_driver() == &acpi_idle_driver) + id = x86_match_cpu(intel_cpu_ids); + if (!id && (!cpuidle_get_driver() || cpuidle_get_driver() == + &acpi_idle_driver)) acpi_processor_power_init(pr); result = acpi_pss_perf_init(pr, device);