#include <linux/sort.h>
#include "mvm.h"
#define IWL_MVM_TEMP_NOTIF_WAIT_TIMEOUT …
void iwl_mvm_enter_ctkill(struct iwl_mvm *mvm)
{ … }
static void iwl_mvm_exit_ctkill(struct iwl_mvm *mvm)
{ … }
static void iwl_mvm_tt_temp_changed(struct iwl_mvm *mvm, u32 temp)
{ … }
static int iwl_mvm_temp_notif_parse(struct iwl_mvm *mvm,
struct iwl_rx_packet *pkt)
{ … }
static bool iwl_mvm_temp_notif_wait(struct iwl_notif_wait_data *notif_wait,
struct iwl_rx_packet *pkt, void *data)
{ … }
void iwl_mvm_temp_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
{ … }
void iwl_mvm_ct_kill_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb)
{ … }
static int iwl_mvm_send_temp_cmd(struct iwl_mvm *mvm, bool response, s32 *temp)
{ … }
int iwl_mvm_get_temp(struct iwl_mvm *mvm, s32 *temp)
{ … }
static void check_exit_ctkill(struct work_struct *work)
{ … }
static void iwl_mvm_tt_smps_iterator(void *_data, u8 *mac,
struct ieee80211_vif *vif)
{ … }
static void iwl_mvm_tt_tx_protection(struct iwl_mvm *mvm, bool enable)
{ … }
void iwl_mvm_tt_tx_backoff(struct iwl_mvm *mvm, u32 backoff)
{ … }
void iwl_mvm_tt_handler(struct iwl_mvm *mvm)
{ … }
static const struct iwl_tt_params iwl_mvm_default_tt_params = …;
static const u32 iwl_mvm_cdev_budgets[] = …;
int iwl_mvm_ctdp_command(struct iwl_mvm *mvm, u32 op, u32 state)
{ … }
#ifdef CONFIG_THERMAL
static int compare_temps(const void *a, const void *b)
{ … }
struct iwl_trip_walk_data { … };
static int iwl_trip_temp_cb(struct thermal_trip *trip, void *arg)
{ … }
#endif
int iwl_mvm_send_temp_report_ths_cmd(struct iwl_mvm *mvm)
{ … }
#ifdef CONFIG_THERMAL
static int iwl_mvm_tzone_get_temp(struct thermal_zone_device *device,
int *temperature)
{ … }
static int iwl_mvm_tzone_set_trip_temp(struct thermal_zone_device *device,
const struct thermal_trip *trip, int temp)
{ … }
static struct thermal_zone_device_ops tzone_ops = …;
static void iwl_mvm_thermal_zone_register(struct iwl_mvm *mvm)
{ … }
static int iwl_mvm_tcool_get_max_state(struct thermal_cooling_device *cdev,
unsigned long *state)
{ … }
static int iwl_mvm_tcool_get_cur_state(struct thermal_cooling_device *cdev,
unsigned long *state)
{ … }
static int iwl_mvm_tcool_set_cur_state(struct thermal_cooling_device *cdev,
unsigned long new_state)
{ … }
static const struct thermal_cooling_device_ops tcooling_ops = …;
static void iwl_mvm_cooling_device_register(struct iwl_mvm *mvm)
{ … }
static void iwl_mvm_thermal_zone_unregister(struct iwl_mvm *mvm)
{ … }
static void iwl_mvm_cooling_device_unregister(struct iwl_mvm *mvm)
{ … }
#endif
void iwl_mvm_thermal_initialize(struct iwl_mvm *mvm, u32 min_backoff)
{ … }
void iwl_mvm_thermal_exit(struct iwl_mvm *mvm)
{ … }