Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
[platform/kernel/linux-starfive.git] / arch / ia64 / kernel / acpi-processor.c
index 4d4993a..dbda7bd 100644 (file)
@@ -44,7 +44,13 @@ static void init_intel_pdc(struct acpi_processor *pr)
 
        buf[0] = ACPI_PDC_REVISION_ID;
        buf[1] = 1;
-       buf[2] |= ACPI_PDC_EST_CAPABILITY_SMP;
+       buf[2] = ACPI_PDC_EST_CAPABILITY_SMP;
+       /*
+        * The default of PDC_SMP_T_SWCOORD bit is set for IA64 cpu so
+        * that OSPM is capable of native ACPI throttling software
+        * coordination using BIOS supplied _TSD info.
+        */
+       buf[2] |= ACPI_PDC_SMP_T_SWCOORD;
 
        obj->type = ACPI_TYPE_BUFFER;
        obj->buffer.length = 12;
@@ -65,3 +71,15 @@ void arch_acpi_processor_init_pdc(struct acpi_processor *pr)
 }
 
 EXPORT_SYMBOL(arch_acpi_processor_init_pdc);
+
+void arch_acpi_processor_cleanup_pdc(struct acpi_processor *pr)
+{
+       if (pr->pdc) {
+               kfree(pr->pdc->pointer->buffer.pointer);
+               kfree(pr->pdc->pointer);
+               kfree(pr->pdc);
+               pr->pdc = NULL;
+       }
+}
+
+EXPORT_SYMBOL(arch_acpi_processor_cleanup_pdc);