Commit a4932299 authored by Alex Chiang's avatar Alex Chiang Committed by Len Brown

ACPI: processor: only evaluate _PDC once per processor

If we evaluate _PDC in the early path, we do not want to evaluate
it again when the processor driver is loaded.

Cc: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: default avatarAlex Chiang <achiang@hp.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 0406ad33
...@@ -125,6 +125,8 @@ acpi_processor_eval_pdc(acpi_handle handle, struct acpi_object_list *pdc_in) ...@@ -125,6 +125,8 @@ acpi_processor_eval_pdc(acpi_handle handle, struct acpi_object_list *pdc_in)
return status; return status;
} }
static int early_pdc_done;
void acpi_processor_set_pdc(acpi_handle handle) void acpi_processor_set_pdc(acpi_handle handle)
{ {
struct acpi_object_list *obj_list; struct acpi_object_list *obj_list;
...@@ -132,6 +134,9 @@ void acpi_processor_set_pdc(acpi_handle handle) ...@@ -132,6 +134,9 @@ void acpi_processor_set_pdc(acpi_handle handle)
if (arch_has_acpi_pdc() == false) if (arch_has_acpi_pdc() == false)
return; return;
if (early_pdc_done)
return;
obj_list = acpi_processor_alloc_pdc(); obj_list = acpi_processor_alloc_pdc();
if (!obj_list) if (!obj_list)
return; return;
...@@ -199,4 +204,6 @@ void __init acpi_early_processor_set_pdc(void) ...@@ -199,4 +204,6 @@ void __init acpi_early_processor_set_pdc(void)
acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT, acpi_walk_namespace(ACPI_TYPE_PROCESSOR, ACPI_ROOT_OBJECT,
ACPI_UINT32_MAX, ACPI_UINT32_MAX,
early_init_pdc, NULL, NULL, NULL); early_init_pdc, NULL, NULL, NULL);
early_pdc_done = 1;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment