[Intel-gfx] [PATCH] Revert "ICL HACK: Disable ACPI idle driver"

Anshuman Gupta anshuman.gupta at intel.com
Thu May 16 17:11:56 UTC 2019


This reverts commit 99b69db57544ec7ed427607f1a2a1858a7d43b61
Core-for-CI:ICL_only  Disable ACPI idle driver.

This hack has been provided considering the Bug assessment
that ACPI idle driver page fault causes below bug.
FDO https://bugs.freedesktop.org/show_bug.cgi?id=108840
But this bug is still reproducible after disabling ACPI idle driver.

It looks "rcu_preempt self-detected stall on CPU" causes to
hung kworker and followed by panic resulted this bug.

Hence it make sense to revert this patch.

Cc: martin.peres at intel.com
Cc: daniel.vetter at intel.com
Cc: ville.syrjala at intel.com
Signed-off-by: Anshuman Gupta <anshuman.gupta at intel.com>
---
 drivers/acpi/processor_driver.c | 18 +-----------------
 1 file changed, 1 insertion(+), 17 deletions(-)

diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c
index ee842a2f..9d6aff2 100644
--- a/drivers/acpi/processor_driver.c
+++ b/drivers/acpi/processor_driver.c
@@ -35,12 +35,6 @@
 
 #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
@@ -64,13 +58,6 @@ 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,
@@ -239,7 +226,6 @@ 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;
 
@@ -253,9 +239,7 @@ 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");
 
-	id = x86_match_cpu(intel_cpu_ids);
-	if (!id && (!cpuidle_get_driver() || cpuidle_get_driver() ==
-		&acpi_idle_driver))
+	if (!cpuidle_get_driver() || cpuidle_get_driver() == &acpi_idle_driver)
 		acpi_processor_power_init(pr);
 
 	result = acpi_pss_perf_init(pr, device);
-- 
2.7.4



More information about the Intel-gfx mailing list