[PATCH ath-next v2 0/5] wifi: ath12k: thermal throttling and cooling device support
Maharaja Kennadyrajan
maharaja.kennadyrajan at oss.qualcomm.com
Mon Apr 13 08:38:35 PDT 2026
Patch 1 handles the firmware stats event so we can track the current
temperature and throttle level per pdev without spamming logs.
Patch 2 enables thermal throttling at bring-up and programs default level
tables to firmware via WMI_THERM_THROT_SET_CONF_CMDID; the driver picks
IPA/XFEM defaults based on the firmware WMI service bitmap, supports 4 or 5
levels as advertised, and only fills optional fields (pout reduction,
tx chain mask) when the corresponding WMI service bits are present.
Patch 3 refactors per-radio thermal hwmon cleanup to reduce code duplication and
ensure consistent cleanup across thermal register and unregister paths.
Patch 4 reorders the group teardown logic symmetric for safe thermal sysfs cleanup.
Patch 5 exposes a thermal cooling device per radio so the kernel thermal
framework or userspace can set the TX duty-cycle off percentage; writes
are validated against the throttling state range and host state is kept in
sync with successful firmware updates.
Examples:
echo 40 > /sys/devices/pci0000:00/0000:00:1d.1/0000:58:00.0/ieee80211/phyX/cooling_device/cur_stat
cat /sys/devices/pci0000:00/0000:00:1d.1/0000:58:00.0/ieee80211/phyX/cooling_device/cur_state
cat /sys/devices/pci0000:00/0000:00:1d.1/0000:58:00.0/ieee80211/phyX/cooling_device/max_state
v2: Addressed Jeff's comment by rebased on latest TOT with wmi tb - alloc and free
interface change.
Maharaja Kennadyrajan (5):
wifi: ath12k: handle thermal throttle stats WMI event
wifi: ath12k: configure firmware thermal throttling via WMI
wifi: ath12k: refactor per-radio thermal hwmon setup and cleanup
wifi: ath12k: reorder group start/stop for safe thermal sysfs cleanup
wifi: ath12k: add thermal cooling device support
drivers/net/wireless/ath/ath12k/core.c | 50 +++--
drivers/net/wireless/ath/ath12k/mac.c | 9 +
drivers/net/wireless/ath/ath12k/thermal.c | 252 ++++++++++++++++++----
drivers/net/wireless/ath/ath12k/thermal.h | 35 +++
drivers/net/wireless/ath/ath12k/wmi.c | 108 ++++++++++
drivers/net/wireless/ath/ath12k/wmi.h | 50 +++++
6 files changed, 447 insertions(+), 57 deletions(-)
base-commit: 9a4f673eb08d2a7713b258d671b4a45f2a6e68b7
--
2.34.1
More information about the ath12k
mailing list