linux/drivers/gpu/drm/amd/pm/inc
Xiaojian Du c98ee89736 drm/amd/pm: add the fine grain tuning function for vangogh
This patch is to add the fine grain tuning function for vangogh.
This function uses the pp_od_clk_voltage sysfs file to configure the min
and max value of gfx clock frequency or restore the default value.

Command guide:
echo "s level value" > pp_od_clk_voltage
        "s" - set the sclk frequency
        "level" - 0 or 1, "0" represents the min value,  "1" represents
        the max value
        "value" - the target value of sclk frequency, it should be
        limited in the safe range
echo "r" > pp_od_clk_voltage
	"r" - reset the sclk frequency, restore the default value
        instantly
echo "c" > pp_od_clk_voltage
        "c" - commit the min and max value of sclk frequency to the system
        only after the commit command, the setting target values by "s" command
        will take effect.
Example:
1)check the default sclk frequency
	$ cat pp_od_clk_voltage
	OD_SCLK:
	0:        200Mhz
	1:       1400Mhz
	OD_RANGE:
	SCLK:     200MHz       1400MHz
2)use "s" -- set command to configure the min or max sclk frequency
	$ echo "s 0 600" > pp_od_clk_voltage
	$ echo "s 1 1000" > pp_od_clk_voltage
	$ echo "c" > pp_od_clk_voltage
        $ cat pp_od_clk_voltage
	OD_SCLK:
	0:        600Mhz
	1:       1000Mhz
	OD_RANGE:
	SCLK:     200MHz       1400MHz
3)use "r" -- reset command to restore the min and max sclk frequency
	$ echo "r" > pp_od_clk_voltage
        $ cat pp_od_clk_voltage
	OD_SCLK:
	0:        200Mhz
	1:       1400Mhz
	OD_RANGE:
	SCLK:     200MHz       1400MHz

Signed-off-by: Xiaojian Du <Xiaojian.Du@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2020-11-16 12:17:53 -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 the fine grain tuning function for vangogh 2020-11-16 12:17:53 -05:00
arcturus_ppsmc.h
cz_ppsmc.h
fiji_ppsmc.h
hardwaremanager.h
hwmgr.h drm/amdgpu: add amdgpu_gfx_state_change_set() set gfx power change entry (v2) 2020-11-13 17:29:45 -05:00
polaris10_pwrvirus.h
power_state.h
pp_debug.h
pp_endian.h
pp_thermal.h
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
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-10-21 16:14:40 -04:00
smu11_driver_if_vangogh.h drm/amd/pm: update the swSMU headers for vangogh 2020-11-13 00:12:51 -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: remove some redundant smu message mapping for vangogh 2020-10-30 00:58:26 -04:00
smu_ucode_xfer_cz.h
smu_ucode_xfer_vi.h
smu_v11_0.h drm/amd/pm: update driver if version for dimgrey_cavefish 2020-11-13 17:29:46 -05:00
smu_v11_0_7_ppsmc.h
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 swSMU headers for vangogh 2020-11-13 00:12:51 -05:00
smu_v12_0.h
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