[PATCH] drm/amd/display: handle range offsets in VRR ranges

Harry Wentland harry.wentland at amd.com
Fri Mar 1 16:42:35 UTC 2024



On 2024-03-01 08:55, Alex Deucher wrote:
> Ping?
> 
> On Wed, Feb 28, 2024 at 4:12 PM Alex Deucher <alexander.deucher at amd.com> wrote:
>>
>> Need to check the offset bits for values greater than 255.
>>
>> v2: also update amdgpu_dm_connector values.
>>
>> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3203
>> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

Reviewed-by: Harry Wentland <harry.wentland at amd.com>

Harry

>> ---
>>  .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 19 ++++++++++++++-----
>>  1 file changed, 14 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> index 32efce81a5a74..4e4cbf2e33dd2 100644
>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> @@ -11292,14 +11292,23 @@ void amdgpu_dm_update_freesync_caps(struct drm_connector *connector,
>>                                 if (range->flags != 1)
>>                                         continue;
>>
>> -                               amdgpu_dm_connector->min_vfreq = range->min_vfreq;
>> -                               amdgpu_dm_connector->max_vfreq = range->max_vfreq;
>> -                               amdgpu_dm_connector->pixel_clock_mhz =
>> -                                       range->pixel_clock_mhz * 10;
>> -
>>                                 connector->display_info.monitor_range.min_vfreq = range->min_vfreq;
>>                                 connector->display_info.monitor_range.max_vfreq = range->max_vfreq;
>>
>> +                               if (edid->revision >= 4) {
>> +                                       if (data->pad2 & DRM_EDID_RANGE_OFFSET_MIN_VFREQ)
>> +                                               connector->display_info.monitor_range.min_vfreq += 255;
>> +                                       if (data->pad2 & DRM_EDID_RANGE_OFFSET_MAX_VFREQ)
>> +                                               connector->display_info.monitor_range.max_vfreq += 255;
>> +                               }
>> +
>> +                               amdgpu_dm_connector->min_vfreq =
>> +                                       connector->display_info.monitor_range.min_vfreq;
>> +                               amdgpu_dm_connector->max_vfreq =
>> +                                       connector->display_info.monitor_range.max_vfreq;
>> +                               amdgpu_dm_connector->pixel_clock_mhz =
>> +                                       range->pixel_clock_mhz * 10;
>> +
>>                                 break;
>>                         }
>>
>> --
>> 2.44.0
>>



More information about the amd-gfx mailing list