forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.2 KiB
53 lines
1.2 KiB
/* SPDX-License-Identifier: ISC */ |
|
/* |
|
* Copyright (c) 2014-2016 Qualcomm Atheros, Inc. |
|
*/ |
|
#ifndef _THERMAL_ |
|
#define _THERMAL_ |
|
|
|
#define ATH10K_QUIET_PERIOD_DEFAULT 100 |
|
#define ATH10K_QUIET_PERIOD_MIN 25 |
|
#define ATH10K_QUIET_START_OFFSET 10 |
|
#define ATH10K_HWMON_NAME_LEN 15 |
|
#define ATH10K_THERMAL_SYNC_TIMEOUT_HZ (5 * HZ) |
|
#define ATH10K_THERMAL_THROTTLE_MAX 100 |
|
|
|
struct ath10k_thermal { |
|
struct thermal_cooling_device *cdev; |
|
struct completion wmi_sync; |
|
|
|
/* protected by conf_mutex */ |
|
u32 throttle_state; |
|
u32 quiet_period; |
|
/* temperature value in Celcius degree |
|
* protected by data_lock |
|
*/ |
|
int temperature; |
|
}; |
|
|
|
#if IS_REACHABLE(CONFIG_THERMAL) |
|
int ath10k_thermal_register(struct ath10k *ar); |
|
void ath10k_thermal_unregister(struct ath10k *ar); |
|
void ath10k_thermal_event_temperature(struct ath10k *ar, int temperature); |
|
void ath10k_thermal_set_throttling(struct ath10k *ar); |
|
#else |
|
static inline int ath10k_thermal_register(struct ath10k *ar) |
|
{ |
|
return 0; |
|
} |
|
|
|
static inline void ath10k_thermal_unregister(struct ath10k *ar) |
|
{ |
|
} |
|
|
|
static inline void ath10k_thermal_event_temperature(struct ath10k *ar, |
|
int temperature) |
|
{ |
|
} |
|
|
|
static inline void ath10k_thermal_set_throttling(struct ath10k *ar) |
|
{ |
|
} |
|
|
|
#endif |
|
#endif /* _THERMAL_ */
|
|
|