]> git.baikalelectronics.ru Git - kernel.git/commit
drm/amd/pp: handle negative values when reading OD
authorGreathouse, Joseph <Joseph.Greathouse@amd.com>
Mon, 19 Nov 2018 16:59:28 +0000 (16:59 +0000)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 19 Nov 2018 21:07:58 +0000 (16:07 -0500)
commit12a31312f02c5aa246aff0f2cd0df4fcc350ce68
tree99c84f5168f695f32f361df28d6817d12b51c359
parentfe78c9400aa98fcdda5c2862970d5540ea7ef7ad
drm/amd/pp: handle negative values when reading OD

Reading the sysfs files pp_sclk_od and pp_mclk_od return the
percentage difference between the VBIOS-provided default
frequency and the current (possibly user-set) frequency in
the highest SCLK and MCLK DPM states, respectively.

Writing to these files provides an easy mechanism for
setting a higher-than-default maximum frequency. We
normally only allow values >= 0 to be written here.

However, with the addition of pp_od_clk_voltage, we now
allow users to set custom DPM tables. If they then set
the maximum DPM state to something less than the default,
later reads of pp_*_od should return a negative value.
The highest DPM state is now less than the VBIOS-provided
default, so the percentage is negative.

The math to calculate this was originally performed with
unsigned values, meaning reads that should return negative
values returned meaningless data. This patch corrects that
issue and normalizes how all of the calculations are done
across the various hwmgr types.

Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Joseph Greathouse <Joseph.Greathouse@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c
drivers/gpu/drm/amd/powerplay/hwmgr/vega20_hwmgr.c