diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c index ebe694594780..5b5a563169d6 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | |||
@@ -657,7 +657,13 @@ static ssize_t amdgpu_get_pp_od_clk_voltage(struct device *dev, | |||
657 | struct amdgpu_device *adev = ddev->dev_private; | 657 | struct amdgpu_device *adev = ddev->dev_private; |
658 | uint32_t size = 0; | 658 | uint32_t size = 0; |
659 | 659 | ||
660 | if (adev->powerplay.pp_funcs->print_clock_levels) { | 660 | if (is_support_sw_smu(adev)) { |
661 | size = smu_print_clk_levels(&adev->smu, OD_SCLK, buf); | ||
662 | size += smu_print_clk_levels(&adev->smu, OD_MCLK, buf+size); | ||
663 | size += smu_print_clk_levels(&adev->smu, OD_VDDC_CURVE, buf+size); | ||
664 | size += smu_print_clk_levels(&adev->smu, OD_RANGE, buf+size); | ||
665 | return size; | ||
666 | } else if (adev->powerplay.pp_funcs->print_clock_levels) { | ||
661 | size = amdgpu_dpm_print_clock_levels(adev, OD_SCLK, buf); | 667 | size = amdgpu_dpm_print_clock_levels(adev, OD_SCLK, buf); |
662 | size += amdgpu_dpm_print_clock_levels(adev, OD_MCLK, buf+size); | 668 | size += amdgpu_dpm_print_clock_levels(adev, OD_MCLK, buf+size); |
663 | size += amdgpu_dpm_print_clock_levels(adev, OD_VDDC_CURVE, buf+size); | 669 | size += amdgpu_dpm_print_clock_levels(adev, OD_VDDC_CURVE, buf+size); |