+ Rafael, Mika. > -----Original Message----- > From: Intel-gfx [mailto:intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx] On Behalf Of > Anshuman Gupta > Sent: maanantai 8. huhtikuuta 2019 15.22 > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Peres, Martin <martin.peres@xxxxxxxxx>; Vetter, Daniel > <daniel.vetter@xxxxxxxxx> > Subject: [PATCH] Core-for-CI:ICL_only Disable ACPI idle driver > > 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@xxxxxxxxx > Cc: daniel.vetter@xxxxxxxxx > > Signed-off-by: Anshuman Gupta <anshuman.gupta@xxxxxxxxx> > --- > 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 <acpi/processor.h> > > +#include <asm/cpu_device_id.h> > +#include <asm/intel-family.h> > + > #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); > -- > 2.7.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx