/* vendor specific UUID indicating an Intel platform */
static u8 sb_uuid_str[] = "4077A616-290C-47BE-9EBD-D87058713953";
-static bool acpi_hwp_native_thermal_lvt_set;
static acpi_status __init acpi_processor_osc(acpi_handle handle, u32 lvl,
void *context, void **rv)
return AE_OK;
}
-static acpi_status __init acpi_hwp_native_thermal_lvt_osc(acpi_handle handle,
- u32 lvl,
- void *context,
- void **rv)
-{
- u32 capbuf[2];
- struct acpi_osc_context osc_context = {
- .uuid_str = sb_uuid_str,
- .rev = 1,
- .cap.length = 8,
- .cap.pointer = capbuf,
- };
-
- if (acpi_hwp_native_thermal_lvt_set)
- return AE_CTRL_TERMINATE;
-
- capbuf[0] = 0x0000;
- capbuf[1] = 0x1000; /* set bit 12 */
-
- if (ACPI_SUCCESS(acpi_run_osc(handle, &osc_context))) {
- if (osc_context.ret.pointer && osc_context.ret.length > 1) {
- u32 *capbuf_ret = osc_context.ret.pointer;
-
- if (capbuf_ret[1] & 0x1000) {
- acpi_handle_info(handle,
- "_OSC native thermal LVT Acked\n");
- acpi_hwp_native_thermal_lvt_set = true;
- }
- }
- kfree(osc_context.ret.pointer);
- }
-
- return AE_OK;
-}
-
static bool __init acpi_early_processor_osc(void)
{
acpi_status status;