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

Alex Deucher alexdeucher at gmail.com
Fri Mar 1 13:55:09 UTC 2024


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>
> ---
>  .../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