[Patch v6 0/2] Add support for _TFP and change throttle pctg

From: Sumit Gupta
Date: Thu Nov 09 2023 - 13:34:11 EST


This patch set adds two improvements to get a finer control over the
impact of thermal throttling on performance. Requesting to merge the
patches if no further changes needed.

1) Patch 1: Adds support to read "Thermal fast Sampling Period (_TFP)"
ACPI object and use it over "Thermal Sampling Period (_TSP)" for
Passive cooling if both are present.

2) Patch 2: Adds support to reduce the CPUFREQ reduction percentage
and not always cause throttling in steps of "20%" for Tegra241 SoC.

Both patches can be applied independently.

---
v5[5] -> 6:
- Patch 1: rename passive_delay variable to delay [Rafael]
: re-structured the if check when reading _TFP [Rafael]
- Patch 2: compile thermal_cpufreq.c by default [Sudeep]
: rename arch hook to acpi_arch_thermal_cpufreq_pctg() [Sudeep]
: move null functions from acpi.h to internal.h [Rafael]
: rename existing reduction_pctg to reduction_step
: rename cpufreq_thermal_pctg to cpufreq_thermal_reduction_pctg
: update formula to get same num of max steps as old with 20%

v4[4] -> 5:
- Patch 2: fix kernel robot warning for acpi_thermal_cpufreq_pctg().

v3[3] -> 4:
- Patch 2: move ARM code from generic to new file 'thermal_cpufreq.c'.
: get 'cpufreq_thermal_pctg' value for Tegra241 from new file.
: move dummy/null function to 'acpi.h'.

v2[2] -> v3:
- Patch1: rebased on top of linux-next.
- Patch2: use __read_mostly for the cpufreq_thermal_* variables.
: add static to new function acpi_thermal_cpufreq_config_nvidia.
: add null function if CONFIG_HAVE_ARM_SMCCC_DISCOVERY undefined
: removed redundant parenthesis.

v1[1] -> v2:
- Patch1: add ACPI spec section info in commit description and rebased.
- Patch2: add info about hardware in the commit description.
: switched CPUFREQ THERMAL tuning macros to static variables.
: update the tunings for Tegra241 SoC only using soc_id check.

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

Srikar Srimath Tirumala (1):
ACPI: processor: reduce CPUFREQ thermal reduction pctg for Tegra241

drivers/acpi/arm64/Makefile | 1 +
drivers/acpi/arm64/thermal_cpufreq.c | 22 +++++++++++++
drivers/acpi/internal.h | 9 +++++
drivers/acpi/processor_thermal.c | 49 +++++++++++++++++++++++-----
drivers/acpi/thermal.c | 12 +++++--
5 files changed, 81 insertions(+), 12 deletions(-)
create mode 100644 drivers/acpi/arm64/thermal_cpufreq.c

[5] https://lore.kernel.org/all/20231014105426.26389-1-sumitg@xxxxxxxxxx/
[4] https://lore.kernel.org/lkml/20231009171839.12267-1-sumitg@xxxxxxxxxx/
[3] https://lore.kernel.org/linux-acpi/20231006153612.5851-1-sumitg@xxxxxxxxxx/
[2] https://lore.kernel.org/lkml/20230913164659.9345-1-sumitg@xxxxxxxxxx/
[1] https://lore.kernel.org/lkml/20230817093011.1378-1-sumitg@xxxxxxxxxx/

--
2.17.1