mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-22 22:04:47 +08:00
2d74e6319a
All CPUs in a package are represented in an HFI table. There exists an HFI table per package. Thus, CPUs in a package need to coordinate to initialize and access the table. Do such coordination during CPU hotplug. Use the first CPU to come online in a package to initialize the HFI instance and the data structure representing it. Other CPUs in the same package need only to register or unregister themselves in that data structure. The HFI depends on both the package-level thermal management and the local APIC thermal local vector. Thus, to ensure that a CPU coming online has an associated HFI instance when the hardware issues an HFI event, enable the HFI only after having enabled the local APIC thermal vector. The thermal throttle driver takes care of the needed package-level initialization. Reviewed-by: Len Brown <len.brown@intel.com> Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
16 lines
469 B
C
16 lines
469 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _INTEL_HFI_H
|
|
#define _INTEL_HFI_H
|
|
|
|
#if defined(CONFIG_INTEL_HFI_THERMAL)
|
|
void __init intel_hfi_init(void);
|
|
void intel_hfi_online(unsigned int cpu);
|
|
void intel_hfi_offline(unsigned int cpu);
|
|
#else
|
|
static inline void intel_hfi_init(void) { }
|
|
static inline void intel_hfi_online(unsigned int cpu) { }
|
|
static inline void intel_hfi_offline(unsigned int cpu) { }
|
|
#endif /* CONFIG_INTEL_HFI_THERMAL */
|
|
|
|
#endif /* _INTEL_HFI_H */
|