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 (1272B)


      1/* SPDX-License-Identifier: ISC */
      2/*
      3 * Copyright (c) 2014-2016 Qualcomm Atheros, Inc.
      4 */
      5#ifndef _THERMAL_
      6#define _THERMAL_
      7
      8#define ATH10K_QUIET_PERIOD_DEFAULT     100
      9#define ATH10K_QUIET_PERIOD_MIN         25
     10#define ATH10K_QUIET_START_OFFSET       10
     11#define ATH10K_HWMON_NAME_LEN           15
     12#define ATH10K_THERMAL_SYNC_TIMEOUT_HZ (5 * HZ)
     13#define ATH10K_THERMAL_THROTTLE_MAX     100
     14
     15struct ath10k_thermal {
     16	struct thermal_cooling_device *cdev;
     17	struct completion wmi_sync;
     18
     19	/* protected by conf_mutex */
     20	u32 throttle_state;
     21	u32 quiet_period;
     22	/* temperature value in Celcius degree
     23	 * protected by data_lock
     24	 */
     25	int temperature;
     26};
     27
     28#if IS_REACHABLE(CONFIG_THERMAL)
     29int ath10k_thermal_register(struct ath10k *ar);
     30void ath10k_thermal_unregister(struct ath10k *ar);
     31void ath10k_thermal_event_temperature(struct ath10k *ar, int temperature);
     32void ath10k_thermal_set_throttling(struct ath10k *ar);
     33#else
     34static inline int ath10k_thermal_register(struct ath10k *ar)
     35{
     36	return 0;
     37}
     38
     39static inline void ath10k_thermal_unregister(struct ath10k *ar)
     40{
     41}
     42
     43static inline void ath10k_thermal_event_temperature(struct ath10k *ar,
     44						    int temperature)
     45{
     46}
     47
     48static inline void ath10k_thermal_set_throttling(struct ath10k *ar)
     49{
     50}
     51
     52#endif
     53#endif /* _THERMAL_ */