ath11k: add thermal cooling device support
authorPradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Sat, 15 Feb 2020 00:25:21 +0000 (05:55 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 11 Mar 2020 16:47:07 +0000 (18:47 +0200)
commit2a63bbca06b2508a8ae72956cddffbb53605e9b8
tree16ed464feefd8f4d0e9aaa9dcbc0d0dde8a7446b
parentf9680c75d187f2d5b9288c02f7a432041d4447b4
ath11k: add thermal cooling device support

Thermal cooling device support is added to control the temperature by
throttling the data transmission for the given duration. Throttling is
done by suspending all data tx queues by given percentage of time. The
thermal device allows user to configure duty cycle.

Throttling can be disabled by setting the duty cycle to 0. The cooling
device can be found under /sys/class/thermal/cooling_deviceX/.
Corresponding soft link to this device can be found under phy folder.

/sys/class/ieee80211/phy*/device/cooling_device.

To set duty cycle as 40%,

echo 40 >/sys/class/ieee80211/phy*/device/cooling_device/cur_state

Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath11k/Makefile
drivers/net/wireless/ath/ath11k/core.c
drivers/net/wireless/ath/ath11k/core.h
drivers/net/wireless/ath/ath11k/thermal.c [new file with mode: 0644]
drivers/net/wireless/ath/ath11k/thermal.h [new file with mode: 0644]
drivers/net/wireless/ath/ath11k/wmi.c
drivers/net/wireless/ath/ath11k/wmi.h