[PATCH] drm/amd/display: Convert 10kHz clks from PPLib into kHz for Vega

Harry Wentland harry.wentland at amd.com
Thu Jul 12 14:07:16 UTC 2018


On 2018-07-12 09:58 AM, Alex Deucher wrote:
> On Thu, Jul 12, 2018 at 9:46 AM, Harry Wentland <harry.wentland at amd.com> wrote:
>> Fixing Nicholas's email.
>>
>> On 2018-07-12 09:36 AM, Harry Wentland wrote:
>>> The driver is expecting clock frequency in kHz, while SMU returns
>>> the values in 10kHz, which causes the bandwidth validation to fail
>>>
>>> 4.18 has the faulty clock assignment in pp_to_dc_clock_levels_with_latency
>>> only, which is only used by Vega. Make sure we multiply these values
>>> by 10 here, as we do for other ASICs as powerplay assigned them
>>> wrong. 4.19 has the proper fix in powerplay.
>>>
>>> Signed-off-by: Mikita Lipski <mikita.lipski at amd.com>
>>> Signed-off-by: Harry Wentland <harry.wentland at amd.com>
>>> ---
>>>
>>> Alex, please pull this into drm-fixes-4.18.
> 
> I assume this fixes:
> https://bugs.freedesktop.org/show_bug.cgi?id=107082 ?
> 

Correct, sending v2.

Harry

> Thanks,
> 
> Alex
> 
>>>
>>> Harry
>>>
>>>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c | 5 +++--
>>>  1 file changed, 3 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c
>>> index 5a3346124a01..5a2e952c5bea 100644
>>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c
>>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c
>>> @@ -255,8 +255,9 @@ static void pp_to_dc_clock_levels_with_latency(
>>>                       DC_DECODE_PP_CLOCK_TYPE(dc_clk_type));
>>>
>>>       for (i = 0; i < clk_level_info->num_levels; i++) {
>>> -             DRM_DEBUG("DM_PPLIB:\t %d\n", pp_clks->data[i].clocks_in_khz);
>>> -             clk_level_info->data[i].clocks_in_khz = pp_clks->data[i].clocks_in_khz;
>>> +             DRM_DEBUG("DM_PPLIB:\t %d in 10kHz\n", pp_clks->data[i].clocks_in_khz);
>>> +             /* translate 10kHz to kHz */
>>> +             clk_level_info->data[i].clocks_in_khz = pp_clks->data[i].clocks_in_khz * 10;
>>>               clk_level_info->data[i].latency_in_us = pp_clks->data[i].latency_in_us;
>>>       }
>>>  }
>>>
>> _______________________________________________
>> amd-gfx mailing list
>> amd-gfx at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list