linux/drivers/thermal/intel/int340x_thermal
Zhang Rui bf44b9011d powercap: intel_rapl: Make cpu optional for rapl_package
MSR RAPL Interface always removes a rapl_package when all the CPUs in
that rapl_package are offlined. This is because it relies on an online
CPU to access the MSR.

But for RAPL Interface using MMIO registers, when all the cpus within
the rapl_package are offlined,
1. the register can still be accessed
2. monitoring and setting the Power Pimits for the rapl_package is still
   meaningful because of uncore power.

This means that, a valid rapl_package doesn't rely on one or more cpus
being onlined.

For this sense, make cpu optional for rapl_package. A rapl_package can
be registered either using a CPU id to represent the physical
package/die, or using the physical package id directly.

Note that, the thermal throttling interrupt is not disabled via
MSR_IA32_PACKAGE_THERM_INTERRUPT for such rapl_package at the moment.
If it is still needed in the future, this can be achieved by selecting
an onlined CPU using the physical package id.

Note that, processor_thermal_rapl, the current MMIO RAPL Interface
driver, can also be converted to register using a package id instead.
But this is not done right now because processor_thermal_rapl driver
works on single-package systems only, and offlining the only package
will not happen. So keep the previous logic.

Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Tested-by: Wang Wendy <wendy.wang@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2023-05-24 18:46:20 +02:00
..
acpi_thermal_rel.c thermal: Replace acpi_bus_get_device() 2022-02-04 19:33:18 +01:00
acpi_thermal_rel.h thermal: int340x: Use struct_group() for memcpy() region 2021-11-24 14:31:56 +01:00
int340x_thermal_zone.c thermal/core: Use the thermal zone 'devdata' accessor in thermal located drivers 2023-03-03 20:45:02 +01:00
int340x_thermal_zone.h thermal: intel: int340x: Use generic trip points table 2023-01-27 15:11:12 +01:00
int3400_thermal.c thermal/core: Use the thermal zone 'devdata' accessor in thermal located drivers 2023-03-03 20:45:02 +01:00
int3401_thermal.c thermal/drivers/int340x: Improve the tcc offset saving for suspend/resume 2021-10-21 11:46:24 +02:00
int3402_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
int3403_thermal.c thermal: intel: int340x: Rework updating trip points 2023-01-27 15:11:12 +01:00
int3406_thermal.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Kconfig thermal: intel: int340x: Use generic trip points table 2023-01-27 15:11:12 +01:00
Makefile thermal/drivers/int340x/processor_thermal: Add PCI MMIO based thermal driver 2021-07-04 18:28:04 +02:00
processor_thermal_device_pci_legacy.c thermal: int340x: processor_thermal: Use module_pci_driver() macro 2022-09-24 19:22:09 +02:00
processor_thermal_device_pci.c thermal: intel: int340x: Add DLVR support for RFIM control 2023-04-18 15:24:40 +02:00
processor_thermal_device.c thermal: intel: int340x: Add DLVR support for RFIM control 2023-04-18 15:24:40 +02:00
processor_thermal_device.h thermal: intel: int340x: Add DLVR support for RFIM control 2023-04-18 15:24:40 +02:00
processor_thermal_mbox.c thermal/drivers/int340x: Fix RFIM mailbox write commands 2021-12-30 16:42:53 +01:00
processor_thermal_rapl.c powercap: intel_rapl: Make cpu optional for rapl_package 2023-05-24 18:46:20 +02:00
processor_thermal_rfim.c thermal: intel: int340x: Add DLVR support for RFIM control 2023-04-18 15:24:40 +02:00