• Ville Syrjälä's avatar
    drm/i915/dsb: Convert dewake_scanline to a hw scanline number earlier · 21bb0415
    Ville Syrjälä authored
    Currently we switch from out software idea of a scanline
    to the hw's idea of a scanline during the commit phase in
    _intel_dsb_commit(). While that is slightly easier due to
    fastsets fiddling with the timings, we'll also need to
    generate proper hw scanline numbers already when emitting
    DSB scanline wait instructions. So this approach won't
    do in the future. Switch to hw scanline numbers earlier.
    
    Also intel_dsb_dewake_scanline() itself already makes
    some assumptions about VRR that don't take into account
    VRR toggling during fastsets, so technically delaying
    the sw->hw conversion doesn't even help us.
    
    The other reason for delaying the conversion was that we
    are using intel_get_crtc_scanline() during intel_dsb_commit()
    which gives us the current sw scanline. But this is pretty
    low level stuff anyway so just using raw PIPEDSL reads seems
    fine here, and that of course gives us the hw scanline
    directly, reducing the need to do so many conversions.
    
    v2: Return the non-hw scanline from intel_dsb_dewake_scanline()
    Reviewed-by: default avatarJani Nikula <jani.nikula@intel.com>
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240624191032.27333-5-ville.syrjala@linux.intel.com
    21bb0415
intel_dsb.c 16.1 KB