mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
ath10k: cache throttle state when device is down
Allow driver to cache the throttle state when the devie is not yet started. Configure the cached throttle state while powering up the device. Since thermal daemon is unaware of the up/down cycle, it assumes that device is throttled. Reported-by: Matthias Kaehlcke <mka@google.com> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
parent
091105bc06
commit
28bf0c4e3f
1 changed files with 7 additions and 7 deletions
|
@ -52,19 +52,19 @@ ath10k_thermal_set_cur_throttle_state(struct thermal_cooling_device *cdev,
|
|||
struct ath10k *ar = cdev->devdata;
|
||||
int ret = 0;
|
||||
|
||||
if (throttle_state > ATH10K_THERMAL_THROTTLE_MAX) {
|
||||
ath10k_warn(ar, "throttle state %ld is exceeding the limit %d\n",
|
||||
throttle_state, ATH10K_THERMAL_THROTTLE_MAX);
|
||||
return -EINVAL;
|
||||
}
|
||||
mutex_lock(&ar->conf_mutex);
|
||||
ar->thermal.throttle_state = throttle_state;
|
||||
|
||||
if (ar->state != ATH10K_STATE_ON) {
|
||||
ret = -ENETDOWN;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (throttle_state > ATH10K_THERMAL_THROTTLE_MAX) {
|
||||
ath10k_warn(ar, "throttle state %ld is exceeding the limit %d\n",
|
||||
throttle_state, ATH10K_THERMAL_THROTTLE_MAX);
|
||||
ret = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
ar->thermal.throttle_state = throttle_state;
|
||||
ath10k_thermal_set_throttling(ar);
|
||||
out:
|
||||
mutex_unlock(&ar->conf_mutex);
|
||||
|
|
Loading…
Add table
Reference in a new issue