• Manasi Navare's avatar
    drm/edid: Add function to parse EDID descriptors for monitor range · a1d11d1e
    Manasi Navare authored
    Adaptive Sync is a VESA feature so add a DRM core helper to parse
    the EDID's detailed descritors to obtain the adaptive sync monitor range.
    Store this info as part fo drm_display_info so it can be used
    across all drivers.
    This part of the code is stripped out of amdgpu's function
    amdgpu_dm_update_freesync_caps() to make it generic and be used
    across all DRM drivers
    
    v6:
    * Call it monitor_range (Ville)
    v5:
    * Use the renamed flags
    v4:
    * Use is_display_descriptor() (Ville)
    * Name the monitor range flags (Ville)
    v3:
    * Remove the edid parsing restriction for just DP (Nicholas)
    * Use drm_for_each_detailed_block (Ville)
    * Make the drm_get_adaptive_sync_range function static (Harry, Jani)
    v2:
    * Change vmin and vmax to use u8 (Ville)
    * Dont store pixel clock since that is just a max dotclock
    and not related to VRR mode (Manasi)
    
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Harry Wentland <harry.wentland@amd.com>
    Cc: Clinton A Taylor <clinton.a.taylor@intel.com>
    Cc: Kazlauskas Nicholas <Nicholas.Kazlauskas@amd.com>
    Signed-off-by: default avatarManasi Navare <manasi.d.navare@intel.com>
    Reviewed-by: default avatarNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200310231651.13841-2-manasi.d.navare@intel.com
    a1d11d1e
drm_edid.c 183 KB