diff options
| author | Srinivas Pandruvada <[email protected]> | 2023-03-08 07:06:38 +0000 |
|---|---|---|
| committer | Hans de Goede <[email protected]> | 2023-03-16 14:18:02 +0000 |
| commit | 12a7d2cb811dd8a884dea088a2701fcb8d00136e (patch) | |
| tree | 335c783cd3d2e7a81e454157109092c87727624e /drivers/platform/x86/intel/pmt/class.c | |
| parent | platform/x86: ISST: Parse SST MMIO and update instance (diff) | |
| download | kernel-12a7d2cb811dd8a884dea088a2701fcb8d00136e.tar.gz kernel-12a7d2cb811dd8a884dea088a2701fcb8d00136e.zip | |
platform/x86: ISST: Add SST-CP support via TPMI
Intel Speed Select Technology Core Power (SST-CP) is an interface that
allows users to define per core priority. This defines a mechanism to
distribute power among cores when there is a power constrained
scenario. This defines a class of service (CLOS) configuration.
Three new IOCTLs are added:
ISST_IF_CORE_POWER_STATE : Enable/Disable SST-CP
ISST_IF_CLOS_PARAM : Configure CLOS parameters
ISST_IF_CLOS_ASSOC : Associate CPUs to a CLOS
To associate CPUs to CLOS, either Linux CPU numbering or PUNIT numbering
scheme can be used, using parameter punit_cpu_map (1: for PUNIT numbering
0 for Linux CPU number).
There is no change to IOCTL to get PUNIT CPU number for a CPU.
Introduce get_instance() function, which is used by majority of IOCTLs
processing to convert a socket and power domain to
tpmi_per_power_domain_info * instance. This instance has all the MMIO
offsets stored to read a particular field.
Once an instance is identified, read or write from correct MMIO
offset for a given field as defined in the specification.
For details on SST CP operations using intel-speed-selet utility,
refer to:
Documentation/admin-guide/pm/intel-speed-select.rst
under the kernel documentation
Signed-off-by: Srinivas Pandruvada <[email protected]>
Reviewed-by: Zhang Rui <[email protected]>
Tested-by: Pragya Tanwar <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Hans de Goede <[email protected]>
Diffstat (limited to 'drivers/platform/x86/intel/pmt/class.c')
0 files changed, 0 insertions, 0 deletions
