• Ville Syrjälä's avatar
    drm/i915/vrr: Relocate VRR enable/disable · 99cfbed1
    Ville Syrjälä authored
    Move VRR enabling/disabling into a place where it also works
    for fastsets.
    
    With this we always start the transcoder up in non-VRR mode.
    Granted  we already did that but for a very short period of
    time. But now that we might end up doing a bit more with the
    transcoder in non-VRR mode it seems prudent to also update
    the active timings as the transcoder changes its operating
    mode.
    
    crtc_state->vrr.enable still tracks whether VRR is actually
    enabled or not, but now we configure all the other VRR timing
    registers whenever VRR is possible (whether we actually enable
    it or not). crtc_state->vrr.flipline can now serve as our
    "is VRR possible" bit of state.
    
    I decided to leave the MSA timing ignore bit set all the time
    whether VRR is actually enabled or not. If the sink can figure
    out the timings with that information when VRR is active then
    surely it can also do it when VRR is inactive.
    
    v2: Protect intel_vrr_set_transcoder_timings() with HAS_VRR()
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230321135615.27338-1-ville.syrjala@linux.intel.comReviewed-by: default avatarMitul Golani <mitulkumar.ajitkumar.golani@intel.com>
    99cfbed1
intel_ddi.c 136 KB