From: Sven Eckelmann Date: Tue, 30 Jan 2018 08:41:45 +0000 (+0100) Subject: mac80211: ath10k: Allow to enable the thermal code of ath10k X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=e5308ccd59ec34f39ab130423b8d3a38e27ca079;p=openwrt%2Fstaging%2Fjow.git mac80211: ath10k: Allow to enable the thermal code of ath10k Some ath10k firmware versions allow to access the chip internal a temperature sensor and allow to reduce the amount of the time when the card is allowed to send. The latter is required on devices which tend to overheat. An userspace service has to read /sys/class/ieee80211/phy*/device/hwmon/hwmon*/temp1_input regularly and then decide how much the device has to be throttled. This can be done by writing to /sys/class/ieee80211/phy*/device/cooling_device/cur_state. By default it is not throttled (0) but it can be throttled up to 100(%). Signed-off-by: Sven Eckelmann (backported from 4270847a2c2b8e4b890de16b51bd2e50c64077d2) (rebased patches) Signed-off-by: Jo-Philipp Wich --- diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index 91c08fdb7e..5345337349 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -75,6 +75,7 @@ PKG_CONFIG_DEPENDS:= \ CONFIG_PACKAGE_RTLWIFI_DEBUG \ CONFIG_ATH9K_SUPPORT_PCOEM \ CONFIG_ATH9K_TX99 \ + CONFIG_ATH10K_THERMAL \ CONFIG_ATH_USER_REGD \ include $(INCLUDE_DIR)/package.mk @@ -337,7 +338,8 @@ define KernelPackage/ath10k $(call KernelPackage/mac80211/Default) TITLE:=Atheros 802.11ac wireless cards support URL:=https://wireless.wiki.kernel.org/en/users/drivers/ath10k - DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +@DRIVER_11W_SUPPORT + DEPENDS+= @PCI_SUPPORT +kmod-ath +@DRIVER_11N_SUPPORT +@DRIVER_11AC_SUPPORT +@DRIVER_11W_SUPPORT \ + +ATH10K_THERMAL:kmod-hwmon-core +ATH10K_THERMAL:kmod-thermal FILES:= \ $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_core.ko \ $(PKG_BUILD_DIR)/drivers/net/wireless/ath/ath10k/ath10k_pci.ko @@ -350,6 +352,14 @@ Atheros IEEE 802.11ac family of chipsets. For now only PCI is supported. endef +define KernelPackage/ath10k/config + + config ATH10K_THERMAL + bool "Enable thermal sensors and throttling support" + depends on PACKAGE_kmod-ath10k + +endef + #Broadcom firmware ifneq ($(CONFIG_B43_FW_6_30),) PKG_B43_FWV4_NAME:=broadcom-wl @@ -1636,6 +1646,7 @@ config-$(CONFIG_ATH_USER_REGD) += ATH_USER_REGD config-$(CONFIG_ATH9K_SUPPORT_PCOEM) += ATH9K_PCOEM config-$(CONFIG_ATH9K_TX99) += ATH9K_TX99 config-$(CONFIG_ATH9K_UBNTHSR) += ATH9K_UBNTHSR +config-$(CONFIG_ATH10K_THERMAL) += ATH10K_THERMAL config-$(call config_package,ath9k-htc) += ATH9K_HTC config-$(call config_package,ath10k) += ATH10K ATH10K_PCI diff --git a/package/kernel/mac80211/patches/080-ath10k_thermal_config.patch b/package/kernel/mac80211/patches/080-ath10k_thermal_config.patch index 796615b03c..adcd788bd3 100644 --- a/package/kernel/mac80211/patches/080-ath10k_thermal_config.patch +++ b/package/kernel/mac80211/patches/080-ath10k_thermal_config.patch @@ -35,3 +35,13 @@ int ath10k_thermal_register(struct ath10k *ar); void ath10k_thermal_unregister(struct ath10k *ar); void ath10k_thermal_event_temperature(struct ath10k *ar, int temperature); +--- a/local-symbols ++++ b/local-symbols +@@ -139,6 +139,7 @@ ATH10K_SDIO= + ATH10K_USB= + ATH10K_DEBUG= + ATH10K_DEBUGFS= ++ATH10K_THERMAL= + ATH10K_TRACING= + ATH10K_DFS_CERTIFIED= + WCN36XX= diff --git a/package/kernel/mac80211/patches/309-v4.16-0002-ath10k-move-spectral-scan-support-under-a-separate-c.patch b/package/kernel/mac80211/patches/309-v4.16-0002-ath10k-move-spectral-scan-support-under-a-separate-c.patch index 604a6f1585..9eefdbce67 100644 --- a/package/kernel/mac80211/patches/309-v4.16-0002-ath10k-move-spectral-scan-support-under-a-separate-c.patch +++ b/package/kernel/mac80211/patches/309-v4.16-0002-ath10k-move-spectral-scan-support-under-a-separate-c.patch @@ -86,6 +86,6 @@ Signed-off-by: Kalle Valo ATH10K_DEBUG= ATH10K_DEBUGFS= +ATH10K_SPECTRAL= + ATH10K_THERMAL= ATH10K_TRACING= ATH10K_DFS_CERTIFIED= - WCN36XX= diff --git a/package/kernel/mac80211/patches/602-rt2x00-introduce-rt2x00eeprom.patch b/package/kernel/mac80211/patches/602-rt2x00-introduce-rt2x00eeprom.patch index f95fa9540c..86a95a09f9 100644 --- a/package/kernel/mac80211/patches/602-rt2x00-introduce-rt2x00eeprom.patch +++ b/package/kernel/mac80211/patches/602-rt2x00-introduce-rt2x00eeprom.patch @@ -1,6 +1,6 @@ --- a/local-symbols +++ b/local-symbols -@@ -298,6 +298,7 @@ RT2X00_LIB_FIRMWARE= +@@ -299,6 +299,7 @@ RT2X00_LIB_FIRMWARE= RT2X00_LIB_CRYPTO= RT2X00_LIB_LEDS= RT2X00_LIB_DEBUGFS= diff --git a/package/kernel/mac80211/patches/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch b/package/kernel/mac80211/patches/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch index fc7fe1edb0..c0da27cdb2 100644 --- a/package/kernel/mac80211/patches/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch +++ b/package/kernel/mac80211/patches/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch @@ -119,9 +119,9 @@ v13: ATH10K_DEBUGFS= ATH10K_SPECTRAL= +ATH10K_LEDS= + ATH10K_THERMAL= ATH10K_TRACING= ATH10K_DFS_CERTIFIED= - WCN36XX= --- a/drivers/net/wireless/ath/ath10k/core.c +++ b/drivers/net/wireless/ath/ath10k/core.c @@ -32,6 +32,7 @@