Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
To: Anshuman Gupta <anshuman.gupta@intel.com>,
	intel-gfx@lists.freedesktop.org
Cc: daniel.vetter@intel.com, mika.westerberg@intel.com,
	martin.peres@intel.com
Subject: Re: [PATCH v2] Core-for-CI:ICL_only Disable ACPI idle driver
Date: Tue, 9 Apr 2019 17:49:23 +0200	[thread overview]
Message-ID: <0a311e86-d1cb-2d7d-9935-fbe9ef6ecc3d@intel.com> (raw)
In-Reply-To: <1554791361-27684-1-git-send-email-anshuman.gupta@intel.com>

On 4/9/2019 8:29 AM, Anshuman Gupta wrote:
> There were few system hung observed while running i915_pm_rpm igt test.
> FDO https://bugs.freedesktop.org/show_bug.cgi?id=108840
> Root cause is believed to due to page fault in ACPI idle driver.
> (FDO comment 18).
> It has been suggested by Daniel Vetter to disable ACPI idle
> driver for Core-for-CI, only for ICL.
>
> This hacky patch is only for ICL processor and for Core-for-CI branch.
>
> v2: Fixed compilation errors raised by lkp.
>      commit message improvement.
>
> Cc: martin.peres@intel.com
> Cc: daniel.vetter@intel.com
>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>

This is fine only as long as it doesn't anywhere close to the mainline.

If ACPI idle crashes on new Intel HW, it needs to be fixed to work with 
it instead of refusing to work on it.

> ---
>   drivers/acpi/processor_driver.c | 18 +++++++++++++++++-
>   1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
> index 9d6aff2..ee842a2f 100644
> --- a/drivers/acpi/processor_driver.c
> +++ b/drivers/acpi/processor_driver.c
> @@ -35,6 +35,12 @@
>   
>   #include <acpi/processor.h>
>   
> +/* Only for Core-for-CI so don't want ia64 to fail compilation.*/
> +#ifdef CONFIG_X86
> +#include <asm/cpu_device_id.h>
> +#include <asm/intel-family.h>
> +#endif
> +
>   #include "internal.h"
>   
>   #define ACPI_PROCESSOR_NOTIFY_PERFORMANCE 0x80
> @@ -58,6 +64,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_cpu_ids);
> +
>   static struct device_driver acpi_processor_driver = {
>   	.name = "processor",
>   	.bus = &cpu_subsys,
> @@ -226,6 +239,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 +253,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);


_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2019-04-09 15:49 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-08 12:22 [PATCH] Core-for-CI:ICL_only Disable ACPI idle driver Anshuman Gupta
2019-04-08 13:08 ` Saarinen, Jani
2019-04-08 15:13 ` ✓ Fi.CI.BAT: success for " Patchwork
2019-04-08 17:48 ` ✓ Fi.CI.IGT: " Patchwork
2019-04-09  1:33 ` [PATCH] " kbuild test robot
2019-04-09  4:26 ` kbuild test robot
2019-04-09  6:29 ` [PATCH v2] " Anshuman Gupta
2019-04-09 15:49   ` Rafael J. Wysocki [this message]
2019-04-10  8:50     ` Peres, Martin
2019-04-09  7:57 ` ✗ Fi.CI.BAT: failure for Core-for-CI:ICL_only Disable ACPI idle driver (rev2) Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0a311e86-d1cb-2d7d-9935-fbe9ef6ecc3d@intel.com \
    --to=rafael.j.wysocki@intel.com \
    --cc=anshuman.gupta@intel.com \
    --cc=daniel.vetter@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=martin.peres@intel.com \
    --cc=mika.westerberg@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox