[PATCH v2 0/4] drm/edid: Parse AMD VSDB FreeSync range in common code

Alex Huang posted 4 patches 4 hours ago
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 252 +++---------------
drivers/gpu/drm/amd/display/dc/Makefile       |   1 -
.../gpu/drm/amd/display/dc/dc_edid_parser.c   |  80 ------
.../gpu/drm/amd/display/dc/dc_edid_parser.h   |  44 ---
drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c | 121 ---------
drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h  |  10 -
.../gpu/drm/amd/display/dmub/inc/dmub_cmd.h   |  71 -----
drivers/gpu/drm/drm_edid.c                    | 141 ++++++++--
include/drm/drm_connector.h                   |  22 +-
9 files changed, 175 insertions(+), 567 deletions(-)
delete mode 100644 drivers/gpu/drm/amd/display/dc/dc_edid_parser.c
delete mode 100644 drivers/gpu/drm/amd/display/dc/dc_edid_parser.h
[PATCH v2 0/4] drm/edid: Parse AMD VSDB FreeSync range in common code
Posted by Alex Huang 4 hours ago
This patch series implements parsing for AMD VSDB block's FreeSync
related data directly in the EDID common parser.

Some monitor manufacturers advertise their VRR capability exclusively
using the AMD VSDB block's FreeSync data fields, many other
manufacturers (notably pre EDID 1.4 monitors and some post 1.4 monitors)
also do not include the relevant continuous frequency feature flag in
the EDID. This makes it difficult to differentiate true VRR capability
from supporting a few refresh rates between the range specified in EDID
refresh rate range field in a spec compliant manner.

Incidentally also resolves a recent regression where amdgpu failed to
detect some DP monitors as VRR capable after EDID parser was moved to
DRM common.

v2:
- Use a ladder style parser as suggested by Mario.
- Validate payload lengths before parsing.
- Removed an extra amd_vsdb_version reassignment.

Alex Huang (4):
  drm/edid: Parse AMD VSDB for FreeSync refresh range
  drm/amd/display: Use HDMI FreeSync range from common EDID parser
  drm/amd/display: Clean up FreeSync capability detection
  drm/amd/display: Remove unused DMCU/DMUB EDID CEA parser

 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 252 +++---------------
 drivers/gpu/drm/amd/display/dc/Makefile       |   1 -
 .../gpu/drm/amd/display/dc/dc_edid_parser.c   |  80 ------
 .../gpu/drm/amd/display/dc/dc_edid_parser.h   |  44 ---
 drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c | 121 ---------
 drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h  |  10 -
 .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h   |  71 -----
 drivers/gpu/drm/drm_edid.c                    | 141 ++++++++--
 include/drm/drm_connector.h                   |  22 +-
 9 files changed, 175 insertions(+), 567 deletions(-)
 delete mode 100644 drivers/gpu/drm/amd/display/dc/dc_edid_parser.c
 delete mode 100644 drivers/gpu/drm/amd/display/dc/dc_edid_parser.h

--
2.34.1
Re: [PATCH v2 0/4] drm/edid: Parse AMD VSDB FreeSync range in common code
Posted by Mario Limonciello 3 hours ago
On 7/24/26 11:17, Alex Huang wrote:
> This patch series implements parsing for AMD VSDB block's FreeSync
> related data directly in the EDID common parser.
> 
> Some monitor manufacturers advertise their VRR capability exclusively
> using the AMD VSDB block's FreeSync data fields, many other
> manufacturers (notably pre EDID 1.4 monitors and some post 1.4 monitors)
> also do not include the relevant continuous frequency feature flag in
> the EDID. This makes it difficult to differentiate true VRR capability
> from supporting a few refresh rates between the range specified in EDID
> refresh rate range field in a spec compliant manner.
> 
> Incidentally also resolves a recent regression where amdgpu failed to
> detect some DP monitors as VRR capable after EDID parser was moved to
> DRM common.
> 
> v2:
> - Use a ladder style parser as suggested by Mario.
> - Validate payload lengths before parsing.
> - Removed an extra amd_vsdb_version reassignment.
> 
> Alex Huang (4):
>    drm/edid: Parse AMD VSDB for FreeSync refresh range
>    drm/amd/display: Use HDMI FreeSync range from common EDID parser
>    drm/amd/display: Clean up FreeSync capability detection
>    drm/amd/display: Remove unused DMCU/DMUB EDID CEA parser
> 
>   .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 252 +++---------------
>   drivers/gpu/drm/amd/display/dc/Makefile       |   1 -
>   .../gpu/drm/amd/display/dc/dc_edid_parser.c   |  80 ------
>   .../gpu/drm/amd/display/dc/dc_edid_parser.h   |  44 ---
>   drivers/gpu/drm/amd/display/dc/dce/dce_dmcu.c | 121 ---------
>   drivers/gpu/drm/amd/display/dc/inc/hw/dmcu.h  |  10 -
>   .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h   |  71 -----
>   drivers/gpu/drm/drm_edid.c                    | 141 ++++++++--
>   include/drm/drm_connector.h                   |  22 +-
>   9 files changed, 175 insertions(+), 567 deletions(-)
>   delete mode 100644 drivers/gpu/drm/amd/display/dc/dc_edid_parser.c
>   delete mode 100644 drivers/gpu/drm/amd/display/dc/dc_edid_parser.h
> 
> --
> 2.34.1
> 
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>