提交 091105bc 编写于 作者: R Rajkumar Manoharan 提交者: Kalle Valo

ath10k: do not restrict thermal throttling to ap mode

Recently thermal mitigation is validated in station mode as well.
Hence allowing thermal throttling for all interfaces. This enables
user to validate thermal mitigation with different modes.
Reported-by: NMatthias Kaehlcke <mka@google.com>
Signed-off-by: NRajkumar Manoharan <rmanohar@qti.qualcomm.com>
Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
上级 8515b5c7
...@@ -23,29 +23,6 @@ ...@@ -23,29 +23,6 @@
#include "debug.h" #include "debug.h"
#include "wmi-ops.h" #include "wmi-ops.h"
static int ath10k_thermal_get_active_vifs(struct ath10k *ar,
enum wmi_vdev_type type)
{
struct ath10k_vif *arvif;
int count = 0;
lockdep_assert_held(&ar->conf_mutex);
list_for_each_entry(arvif, &ar->arvifs, list) {
if (!arvif->is_started)
continue;
if (!arvif->is_up)
continue;
if (arvif->vdev_type != type)
continue;
count++;
}
return count;
}
static int static int
ath10k_thermal_get_max_throttle_state(struct thermal_cooling_device *cdev, ath10k_thermal_get_max_throttle_state(struct thermal_cooling_device *cdev,
unsigned long *state) unsigned long *state)
...@@ -73,7 +50,7 @@ ath10k_thermal_set_cur_throttle_state(struct thermal_cooling_device *cdev, ...@@ -73,7 +50,7 @@ ath10k_thermal_set_cur_throttle_state(struct thermal_cooling_device *cdev,
unsigned long throttle_state) unsigned long throttle_state)
{ {
struct ath10k *ar = cdev->devdata; struct ath10k *ar = cdev->devdata;
int num_bss, ret = 0; int ret = 0;
mutex_lock(&ar->conf_mutex); mutex_lock(&ar->conf_mutex);
if (ar->state != ATH10K_STATE_ON) { if (ar->state != ATH10K_STATE_ON) {
...@@ -87,17 +64,6 @@ ath10k_thermal_set_cur_throttle_state(struct thermal_cooling_device *cdev, ...@@ -87,17 +64,6 @@ ath10k_thermal_set_cur_throttle_state(struct thermal_cooling_device *cdev,
ret = -EINVAL; ret = -EINVAL;
goto out; goto out;
} }
/* TODO: Right now, thermal mitigation is handled only for single/multi
* vif AP mode. Since quiet param is not validated in STA mode, it needs
* to be investigated further to handle multi STA and multi-vif (AP+STA)
* mode properly.
*/
num_bss = ath10k_thermal_get_active_vifs(ar, WMI_VDEV_TYPE_AP);
if (!num_bss) {
ath10k_warn(ar, "no active AP interfaces\n");
ret = -ENETDOWN;
goto out;
}
ar->thermal.throttle_state = throttle_state; ar->thermal.throttle_state = throttle_state;
ath10k_thermal_set_throttling(ar); ath10k_thermal_set_throttling(ar);
out: out:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册