1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2 /* 3 * Copyright (C) 2024 Intel Corporation 4 */ 5 #ifndef __iwl_mld_thermal_h__ 6 #define __iwl_mld_thermal_h__ 7 8 #include "iwl-trans.h" 9 10 struct iwl_mld; 11 12 #ifdef CONFIG_THERMAL 13 #include <linux/thermal.h> 14 15 /* 16 * struct iwl_mld_cooling_device 17 * @cur_state: current state 18 * @cdev: struct thermal cooling device 19 */ 20 struct iwl_mld_cooling_device { 21 u32 cur_state; 22 struct thermal_cooling_device *cdev; 23 }; 24 25 int iwl_mld_config_ctdp(struct iwl_mld *mld, u32 state, 26 enum iwl_ctdp_cmd_operation op); 27 #endif 28 29 void iwl_mld_handle_temp_notif(struct iwl_mld *mld, struct iwl_rx_packet *pkt); 30 void iwl_mld_handle_ct_kill_notif(struct iwl_mld *mld, 31 struct iwl_rx_packet *pkt); 32 int iwl_mld_config_temp_report_ths(struct iwl_mld *mld); 33 void iwl_mld_thermal_initialize(struct iwl_mld *mld); 34 void iwl_mld_thermal_exit(struct iwl_mld *mld); 35 36 #endif /* __iwl_mld_thermal_h__ */ 37