cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

intel_dptf.rst (8613B)


      1.. SPDX-License-Identifier: GPL-2.0
      2
      3===============================================================
      4Intel(R) Dynamic Platform and Thermal Framework Sysfs Interface
      5===============================================================
      6
      7:Copyright: © 2022 Intel Corporation
      8
      9:Author: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
     10
     11Introduction
     12------------
     13
     14Intel(R) Dynamic Platform and Thermal Framework (DPTF) is a platform
     15level hardware/software solution for power and thermal management.
     16
     17As a container for multiple power/thermal technologies, DPTF provides
     18a coordinated approach for different policies to effect the hardware
     19state of a system.
     20
     21Since it is a platform level framework, this has several components.
     22Some parts of the technology is implemented in the firmware and uses
     23ACPI and PCI devices to expose various features for monitoring and
     24control. Linux has a set of kernel drivers exposing hardware interface
     25to user space. This allows user space thermal solutions like
     26"Linux Thermal Daemon" to read platform specific thermal and power
     27tables to deliver adequate performance while keeping the system under
     28thermal limits.
     29
     30DPTF ACPI Drivers interface
     31----------------------------
     32
     33:file:`/sys/bus/platform/devices/<N>/uuids`, where <N>
     34=INT3400|INTC1040|INTC1041|INTC10A0
     35
     36``available_uuids`` (RO)
     37	A set of UUIDs strings presenting available policies
     38	which should be notified to the firmware when the
     39	user space can support those policies.
     40
     41	UUID strings:
     42
     43	"42A441D6-AE6A-462b-A84B-4A8CE79027D3" : Passive 1
     44
     45	"3A95C389-E4B8-4629-A526-C52C88626BAE" : Active
     46
     47	"97C68AE7-15FA-499c-B8C9-5DA81D606E0A" : Critical
     48
     49	"63BE270F-1C11-48FD-A6F7-3AF253FF3E2D" : Adaptive performance
     50
     51	"5349962F-71E6-431D-9AE8-0A635B710AEE" : Emergency call
     52
     53	"9E04115A-AE87-4D1C-9500-0F3E340BFE75" : Passive 2
     54
     55	"F5A35014-C209-46A4-993A-EB56DE7530A1" : Power Boss
     56
     57	"6ED722A7-9240-48A5-B479-31EEF723D7CF" : Virtual Sensor
     58
     59	"16CAF1B7-DD38-40ED-B1C1-1B8A1913D531" : Cooling mode
     60
     61	"BE84BABF-C4D4-403D-B495-3128FD44dAC1" : HDC
     62
     63``current_uuid`` (RW)
     64	User space can write strings from available UUIDs, one at a
     65	time.
     66
     67:file:`/sys/bus/platform/devices/<N>/`, where <N>
     68=INT3400|INTC1040|INTC1041|INTC10A0
     69
     70``imok`` (WO)
     71	User space daemon write 1 to respond to firmware event
     72	for sending keep alive notification. User space receives
     73	THERMAL_EVENT_KEEP_ALIVE kobject uevent notification when
     74	firmware calls for user space to respond with imok ACPI
     75	method.
     76
     77``odvp*`` (RO)
     78	Firmware thermal status variable values. Thermal tables
     79	calls for different processing based on these variable
     80	values.
     81
     82``data_vault`` (RO)
     83	Binary thermal table. Refer to
     84	https:/github.com/intel/thermal_daemon for decoding
     85	thermal table.
     86
     87
     88ACPI Thermal Relationship table interface
     89------------------------------------------
     90
     91:file:`/dev/acpi_thermal_rel`
     92
     93	This device provides IOCTL interface to read standard ACPI
     94	thermal relationship tables via ACPI methods _TRT and _ART.
     95	These IOCTLs are defined in
     96	drivers/thermal/intel/int340x_thermal/acpi_thermal_rel.h
     97
     98	IOCTLs:
     99
    100	ACPI_THERMAL_GET_TRT_LEN: Get length of TRT table
    101
    102	ACPI_THERMAL_GET_ART_LEN: Get length of ART table
    103
    104	ACPI_THERMAL_GET_TRT_COUNT: Number of records in TRT table
    105
    106	ACPI_THERMAL_GET_ART_COUNT: Number of records in ART table
    107
    108	ACPI_THERMAL_GET_TRT: Read binary TRT table, length to read is
    109	provided via argument to ioctl().
    110
    111	ACPI_THERMAL_GET_ART: Read binary ART table, length to read is
    112	provided via argument to ioctl().
    113
    114DPTF ACPI Sensor drivers
    115-------------------------
    116
    117DPTF Sensor drivers are presented as standard thermal sysfs thermal_zone.
    118
    119
    120DPTF ACPI Cooling drivers
    121--------------------------
    122
    123DPTF cooling drivers are presented as standard thermal sysfs cooling_device.
    124
    125
    126DPTF Processor thermal PCI Driver interface
    127--------------------------------------------
    128
    129:file:`/sys/bus/pci/devices/0000\:00\:04.0/power_limits/`
    130
    131Refer to Documentation/power/powercap/powercap.rst for powercap
    132ABI.
    133
    134``power_limit_0_max_uw`` (RO)
    135	Maximum powercap sysfs constraint_0_power_limit_uw for Intel RAPL
    136
    137``power_limit_0_step_uw`` (RO)
    138	Power limit increment/decrements for Intel RAPL constraint 0 power limit
    139
    140``power_limit_0_min_uw`` (RO)
    141	Minimum powercap sysfs constraint_0_power_limit_uw for Intel RAPL
    142
    143``power_limit_0_tmin_us`` (RO)
    144	Minimum powercap sysfs constraint_0_time_window_us for Intel RAPL
    145
    146``power_limit_0_tmax_us`` (RO)
    147	Maximum powercap sysfs constraint_0_time_window_us for Intel RAPL
    148
    149``power_limit_1_max_uw`` (RO)
    150	Maximum powercap sysfs constraint_1_power_limit_uw for Intel RAPL
    151
    152``power_limit_1_step_uw`` (RO)
    153	Power limit increment/decrements for Intel RAPL constraint 1 power limit
    154
    155``power_limit_1_min_uw`` (RO)
    156	Minimum powercap sysfs constraint_1_power_limit_uw for Intel RAPL
    157
    158``power_limit_1_tmin_us`` (RO)
    159	Minimum powercap sysfs constraint_1_time_window_us for Intel RAPL
    160
    161``power_limit_1_tmax_us`` (RO)
    162	Maximum powercap sysfs constraint_1_time_window_us for Intel RAPL
    163
    164:file:`/sys/bus/pci/devices/0000\:00\:04.0/`
    165
    166``tcc_offset_degree_celsius`` (RW)
    167	TCC offset from the critical temperature where hardware will throttle
    168	CPU.
    169
    170:file:`/sys/bus/pci/devices/0000\:00\:04.0/workload_request`
    171
    172``workload_available_types`` (RO)
    173	Available workload types. User space can specify one of the workload type
    174	it is currently executing via workload_type. For example: idle, bursty,
    175	sustained etc.
    176
    177``workload_type`` (RW)
    178	User space can specify any one of the available workload type using
    179	this interface.
    180
    181DPTF Processor thermal RFIM interface
    182--------------------------------------------
    183
    184RFIM interface allows adjustment of FIVR (Fully Integrated Voltage Regulator)
    185and DDR (Double Data Rate)frequencies to avoid RF interference with WiFi and 5G.
    186
    187Switching voltage regulators (VR) generate radiated EMI or RFI at the
    188fundamental frequency and its harmonics. Some harmonics may interfere
    189with very sensitive wireless receivers such as Wi-Fi and cellular that
    190are integrated into host systems like notebook PCs.  One of mitigation
    191methods is requesting SOC integrated VR (IVR) switching frequency to a
    192small % and shift away the switching noise harmonic interference from
    193radio channels.  OEM or ODMs can use the driver to control SOC IVR
    194operation within the range where it does not impact IVR performance.
    195
    196DRAM devices of DDR IO interface and their power plane can generate EMI
    197at the data rates. Similar to IVR control mechanism, Intel offers a
    198mechanism by which DDR data rates can be changed if several conditions
    199are met: there is strong RFI interference because of DDR; CPU power
    200management has no other restriction in changing DDR data rates;
    201PC ODMs enable this feature (real time DDR RFI Mitigation referred to as
    202DDR-RFIM) for Wi-Fi from BIOS.
    203
    204
    205FIVR attributes
    206
    207:file:`/sys/bus/pci/devices/0000\:00\:04.0/fivr/`
    208
    209``vco_ref_code_lo`` (RW)
    210	The VCO reference code is an 11-bit field and controls the FIVR
    211	switching frequency. This is the 3-bit LSB field.
    212
    213``vco_ref_code_hi`` (RW)
    214	The VCO reference code is an 11-bit field and controls the FIVR
    215	switching frequency. This is the 8-bit MSB field.
    216
    217``spread_spectrum_pct`` (RW)
    218	Set the FIVR spread spectrum clocking percentage
    219
    220``spread_spectrum_clk_enable`` (RW)
    221	Enable/disable of the FIVR spread spectrum clocking feature
    222
    223``rfi_vco_ref_code`` (RW)
    224	This field is a read only status register which reflects the
    225	current FIVR switching frequency
    226
    227``fivr_fffc_rev`` (RW)
    228	This field indicated the revision of the FIVR HW.
    229
    230
    231DVFS attributes
    232
    233:file:`/sys/bus/pci/devices/0000\:00\:04.0/dvfs/`
    234
    235``rfi_restriction_run_busy`` (RW)
    236	Request the restriction of specific DDR data rate and set this
    237	value 1. Self reset to 0 after operation.
    238
    239``rfi_restriction_err_code`` (RW)
    240	0 :Request is accepted, 1:Feature disabled,
    241	2: the request restricts more points than it is allowed
    242
    243``rfi_restriction_data_rate_Delta`` (RW)
    244	Restricted DDR data rate for RFI protection: Lower Limit
    245
    246``rfi_restriction_data_rate_Base`` (RW)
    247	Restricted DDR data rate for RFI protection: Upper Limit
    248
    249``ddr_data_rate_point_0`` (RO)
    250	DDR data rate selection 1st point
    251
    252``ddr_data_rate_point_1`` (RO)
    253	DDR data rate selection 2nd point
    254
    255``ddr_data_rate_point_2`` (RO)
    256	DDR data rate selection 3rd point
    257
    258``ddr_data_rate_point_3`` (RO)
    259	DDR data rate selection 4th point
    260
    261``rfi_disable (RW)``
    262	Disable DDR rate change feature
    263
    264DPTF Power supply and Battery Interface
    265----------------------------------------
    266
    267Refer to Documentation/ABI/testing/sysfs-platform-dptf
    268
    269DPTF Fan Control
    270----------------------------------------
    271
    272Refer to Documentation/admin-guide/acpi/fan_performance_states.rst