• Manasi Navare's avatar
    drm/i915/display/vrr: Reset VRR capable property on a long hpd · d999ad10
    Manasi Navare authored
    With some VRR panels, user can turn VRR ON/OFF on the fly from the panel settings.
    When VRR is turned OFF ,sends a long HPD to the driver clearing the Ignore MSA bit
    in the DPCD. Currently the driver parses that onevery HPD but fails to reset
    the corresponding VRR Capable Connector property.
    Hence the userspace still sees this as VRR Capable panel which is incorrect.
    
    Fix this by explicitly resetting the connector property.
    
    v2: Reset vrr capable if status == connector_disconnected
    v3: Use i915 and use bool vrr_capable (Jani Nikula)
    v4: Move vrr_capable to after update modes call (Jani N)
    Remove the redundant comment (Jan N)
    v5: Fixes the regression on older platforms by resetting the VRR
    only if HAS_VRR
    v6: Remove the checks from driver, add in drm core before
    setting VRR prop (Ville)
    v7: Move VRR set/reset to set/unset_edid (Ville)
    
    Cc: Jani Nikula <jani.nikula@intel.com>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Fixes: 9bc34b4d ("drm/i915/display/vrr: Reset VRR capable property on a long hpd")
    Signed-off-by: default avatarManasi Navare <manasi.d.navare@intel.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20220303233222.4698-1-manasi.d.navare@intel.com
    d999ad10
intel_dp.c 156 KB