mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 02:24:24 +02:00
drm/amd/pm: fix smu v14 soft clock frequency setting issue
v1: resolve the issue where some freq frequencies cannot be set correctly due to insufficient floating-point precision. v2: patch this convert on 'max' value only. Signed-off-by: Yang Wang <kevinyang.wang@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
6194f60c70
commit
53868dd877
|
|
@ -56,6 +56,7 @@ extern const int decoded_link_width[8];
|
|||
|
||||
#define DECODE_GEN_SPEED(gen_speed_idx) (decoded_link_speed[gen_speed_idx])
|
||||
#define DECODE_LANE_WIDTH(lane_width_idx) (decoded_link_width[lane_width_idx])
|
||||
#define SMU_V14_SOFT_FREQ_ROUND(x) ((x) + 1)
|
||||
|
||||
struct smu_14_0_max_sustainable_clocks {
|
||||
uint32_t display_clock;
|
||||
|
|
|
|||
|
|
@ -1177,6 +1177,7 @@ int smu_v14_0_set_soft_freq_limited_range(struct smu_context *smu,
|
|||
return clk_id;
|
||||
|
||||
if (max > 0) {
|
||||
max = SMU_V14_SOFT_FREQ_ROUND(max);
|
||||
if (automatic)
|
||||
param = (uint32_t)((clk_id << 16) | 0xffff);
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user