cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

thermal.h (1374B)


      1/* SPDX-License-Identifier: BSD-3-Clause-Clear */
      2/*
      3 * Copyright (c) 2020 The Linux Foundation. All rights reserved.
      4 */
      5
      6#ifndef _ATH11K_THERMAL_
      7#define _ATH11K_THERMAL_
      8
      9#define ATH11K_THERMAL_TEMP_LOW_MARK -100
     10#define ATH11K_THERMAL_TEMP_HIGH_MARK 150
     11#define ATH11K_THERMAL_THROTTLE_MAX     100
     12#define ATH11K_THERMAL_DEFAULT_DUTY_CYCLE 100
     13#define ATH11K_HWMON_NAME_LEN           15
     14#define ATH11K_THERMAL_SYNC_TIMEOUT_HZ (5 * HZ)
     15
     16struct ath11k_thermal {
     17	struct thermal_cooling_device *cdev;
     18	struct completion wmi_sync;
     19
     20	/* protected by conf_mutex */
     21	u32 throttle_state;
     22	/* temperature value in Celcius degree
     23	 * protected by data_lock
     24	 */
     25	int temperature;
     26};
     27
     28#if IS_REACHABLE(CONFIG_THERMAL)
     29int ath11k_thermal_register(struct ath11k_base *sc);
     30void ath11k_thermal_unregister(struct ath11k_base *sc);
     31int ath11k_thermal_set_throttling(struct ath11k *ar, u32 throttle_state);
     32void ath11k_thermal_event_temperature(struct ath11k *ar, int temperature);
     33#else
     34static inline int ath11k_thermal_register(struct ath11k_base *sc)
     35{
     36	return 0;
     37}
     38
     39static inline void ath11k_thermal_unregister(struct ath11k_base *sc)
     40{
     41}
     42
     43static inline int ath11k_thermal_set_throttling(struct ath11k *ar, u32 throttle_state)
     44{
     45	return 0;
     46}
     47
     48static inline void ath11k_thermal_event_temperature(struct ath11k *ar,
     49						    int temperature)
     50{
     51}
     52
     53#endif
     54#endif /* _ATH11K_THERMAL_ */