xref: /openbmc/linux/drivers/thermal/intel/thermal_interrupt.h (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
19223d0dcSBorislav Petkov /* SPDX-License-Identifier: GPL-2.0 */
29223d0dcSBorislav Petkov #ifndef _INTEL_THERMAL_INTERRUPT_H
39223d0dcSBorislav Petkov #define _INTEL_THERMAL_INTERRUPT_H
49223d0dcSBorislav Petkov 
5*930d06bfSSrinivas Pandruvada #define CORE_LEVEL	0
6*930d06bfSSrinivas Pandruvada #define PACKAGE_LEVEL	1
7*930d06bfSSrinivas Pandruvada 
89223d0dcSBorislav Petkov /* Interrupt Handler for package thermal thresholds */
99223d0dcSBorislav Petkov extern int (*platform_thermal_package_notify)(__u64 msr_val);
109223d0dcSBorislav Petkov 
119223d0dcSBorislav Petkov /* Interrupt Handler for core thermal thresholds */
129223d0dcSBorislav Petkov extern int (*platform_thermal_notify)(__u64 msr_val);
139223d0dcSBorislav Petkov 
149223d0dcSBorislav Petkov /* Callback support of rate control, return true, if
159223d0dcSBorislav Petkov  * callback has rate control */
169223d0dcSBorislav Petkov extern bool (*platform_thermal_package_rate_control)(void);
179223d0dcSBorislav Petkov 
18950809cdSSrinivas Pandruvada /* Handle HWP interrupt */
19950809cdSSrinivas Pandruvada extern void notify_hwp_interrupt(void);
20950809cdSSrinivas Pandruvada 
21*930d06bfSSrinivas Pandruvada /* Common function to clear Package thermal status register */
22*930d06bfSSrinivas Pandruvada extern void thermal_clear_package_intr_status(int level, u64 bit_mask);
23*930d06bfSSrinivas Pandruvada 
249223d0dcSBorislav Petkov #endif /* _INTEL_THERMAL_INTERRUPT_H */
25