1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/gpu/drm/amd/pm/inc
Xiaomeng Hou ae07970a06 drm/amd/pm: add support for hwmon control of slow and fast PPT limit on vangogh
Implement hwmon API for reading/setting slow and fast PPT limit.

APU power is managed to system-level requirements through the PPT
(package power tracking) feature. PPT is intended to limit power to the
requirements of the power source and could be dynamically updated to
maximize APU performance within the system power budget.

Here FAST_PPT_LIMIT manages the ~10 ms moving average of APU power,
while SLOW_PPT_LIMIT manages the configurable, thermally significant
moving average of APU power (default ~5000 ms).

User could read slow/fast ppt limit using command "cat power*_cap" or
"sensors" in the hwmon device directory. User could adjust values of
slow/fast ppt limit as needed depending on workloads through command
"echo ## > power*_cap".

Example:
$ echo 15000000 > power1_cap
$ echo 18000000 > power2_cap
$ sensors
amdgpu-pci-0300
Adapter: PCI adapter
slowPPT:     9.04W (cap = 15.00 W)
fastPPT:     9.04W (cap = 18.00 W)

v2: align with existing interfaces for the getting/setting of PPT
    limits. Encode the upper 8 bits of limit value to distinguish
    slow and fast power limit type.

Signed-off-by: Xiaomeng Hou <Xiaomeng.Hou@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2021-02-09 15:29:28 -05:00
..
vega12
amd_powerplay.h
amdgpu_dpm.h drm/amd/powerplay: add one sysfs file to support the feature to modify gfx clock on Raven/Raven2/Picasso APU. 2020-09-29 16:12:16 -04:00
amdgpu_pm.h
amdgpu_smu.h drm/amd/pm: add support for hwmon control of slow and fast PPT limit on vangogh 2021-02-09 15:29:28 -05:00
arcturus_ppsmc.h
cz_ppsmc.h
fiji_ppsmc.h
hardwaremanager.h
hwmgr.h drm/amd/pm/powerplay/hwmgr/hwmgr: Move 'vega20_hwmgr_init()'s prototype to shared header 2020-12-01 16:04:45 -05:00
polaris10_pwrvirus.h
power_state.h
pp_debug.h
pp_endian.h
pp_thermal.h drm/amd/pm/inc/pp_thermal: Mark 'SMU7Thermal{WithDelay}Policy' as __maybe_unused 2020-12-01 16:04:44 -05:00
ppinterrupt.h
rv_ppsmc.h drm/amdgpu: add amdgpu_gfx_state_change_set() set gfx power change entry (v2) 2020-11-13 17:29:45 -05:00
smu7.h
smu7_common.h
smu7_discrete.h
smu7_fusion.h
smu7_ppsmc.h drm/amd/pm: correct Polaris DIDT configurations 2020-10-27 11:59:16 -04:00
smu8.h
smu8_fusion.h
smu9.h
smu9_driver_if.h
smu10.h drm/amd/pm: update smu10.h WORKLOAD_PPLIB setting for raven 2020-12-08 23:06:15 -05:00
smu10_driver_if.h drm/amd/pm: add Raven2 watermark WmType setting 2020-09-17 17:48:18 -04:00
smu11_driver_if.h
smu11_driver_if_arcturus.h
smu11_driver_if_navi10.h
smu11_driver_if_sienna_cichlid.h drm/amd/pm: update driver if file for sienna cichlid 2020-11-16 12:18:10 -05:00
smu11_driver_if_vangogh.h drm/amd/pm: enable the "fetch" function of pp_dpm_vclk/dclk for vangogh 2021-01-05 11:30:06 -05:00
smu12_driver_if.h
smu71.h
smu71_discrete.h
smu72.h
smu72_discrete.h
smu73.h
smu73_discrete.h
smu74.h
smu74_discrete.h drm/amd/pm: correct VR shared rail info 2020-10-27 11:58:57 -04:00
smu75.h
smu75_discrete.h
smu_11_0_cdr_table.h drm/amd/pm: implement a new umc cdr workaround 2020-09-17 17:46:40 -04:00
smu_types.h drm/amd/pm: update the smu v11.5 smc header for vangogh 2021-02-09 15:29:15 -05:00
smu_ucode_xfer_cz.h
smu_ucode_xfer_vi.h
smu_v11_0.h drm/amd/pm: add support for hwmon control of slow and fast PPT limit on vangogh 2021-02-09 15:29:28 -05:00
smu_v11_0_7_ppsmc.h drm/amd/pm: new SMC message for 2nd usb2.0 port workaround 2020-12-10 16:41:49 -05:00
smu_v11_0_7_pptable.h
smu_v11_0_ppsmc.h drm/amd/pm: apply the CDR workarounds only with some specific UMC firmwares(V2) 2020-09-17 17:46:47 -04:00
smu_v11_0_pptable.h
smu_v11_5_pmfw.h drm/amd/pm: update the swSMU headers for vangogh 2020-11-13 00:12:51 -05:00
smu_v11_5_ppsmc.h drm/amd/pm: update the smu v11.5 smc header for vangogh 2021-02-09 15:29:15 -05:00
smu_v12_0.h drm/amd/pm/swsmu: unify the init soft gpu metrics function 2021-02-09 15:28:42 -05:00
smu_v12_0_ppsmc.h
smumgr.h drm/amd/pm: perform SMC reset on suspend/hibernation 2020-10-30 01:00:43 -04:00
tonga_ppsmc.h
vega10_ppsmc.h
vega12_ppsmc.h
vega20_ppsmc.h