Commit a2ee7581 authored by Jeff Brasen's avatar Jeff Brasen Committed by Rafael J. Wysocki

ACPI: thermal: Add Thermal fast Sampling Period (_TFP) support

Add support of "Thermal fast Sampling Period (_TFP)" for passive
cooling.

As per the ACPI specification (ACPI 6.5, Section 11.4.17 "_TFP (Thermal
fast Sampling Period)", _TFP overrides _TSP ("Thermal Sampling Period"
if both are present in a Thermal zone.
Signed-off-by: default avatarJeff Brasen <jbrasen@nvidia.com>
Co-developed-by: default avatarSumit Gupta <sumitg@nvidia.com>
Signed-off-by: default avatarSumit Gupta <sumitg@nvidia.com>
[ rjw: Changelog edits ]
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 9c864722
...@@ -92,7 +92,7 @@ struct acpi_thermal_passive { ...@@ -92,7 +92,7 @@ struct acpi_thermal_passive {
struct acpi_thermal_trip trip; struct acpi_thermal_trip trip;
unsigned long tc1; unsigned long tc1;
unsigned long tc2; unsigned long tc2;
unsigned long tsp; unsigned long delay;
}; };
struct acpi_thermal_active { struct acpi_thermal_active {
...@@ -396,11 +396,17 @@ static bool passive_trip_params_init(struct acpi_thermal *tz) ...@@ -396,11 +396,17 @@ static bool passive_trip_params_init(struct acpi_thermal *tz)
tz->trips.passive.tc2 = tmp; tz->trips.passive.tc2 = tmp;
status = acpi_evaluate_integer(tz->device->handle, "_TFP", NULL, &tmp);
if (ACPI_SUCCESS(status)) {
tz->trips.passive.delay = tmp;
return true;
}
status = acpi_evaluate_integer(tz->device->handle, "_TSP", NULL, &tmp); status = acpi_evaluate_integer(tz->device->handle, "_TSP", NULL, &tmp);
if (ACPI_FAILURE(status)) if (ACPI_FAILURE(status))
return false; return false;
tz->trips.passive.tsp = tmp; tz->trips.passive.delay = tmp * 100;
return true; return true;
} }
...@@ -896,7 +902,7 @@ static int acpi_thermal_add(struct acpi_device *device) ...@@ -896,7 +902,7 @@ static int acpi_thermal_add(struct acpi_device *device)
acpi_trip = &tz->trips.passive.trip; acpi_trip = &tz->trips.passive.trip;
if (acpi_thermal_trip_valid(acpi_trip)) { if (acpi_thermal_trip_valid(acpi_trip)) {
passive_delay = tz->trips.passive.tsp * 100; passive_delay = tz->trips.passive.delay;
trip->type = THERMAL_TRIP_PASSIVE; trip->type = THERMAL_TRIP_PASSIVE;
trip->temperature = acpi_thermal_temp(tz, acpi_trip->temp_dk); trip->temperature = acpi_thermal_temp(tz, acpi_trip->temp_dk);
......
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