From: Ville Syrjälä <[email protected]> Use intel_color_uses_chained_dsb() rather than intel_color_uses_dsb() when deciding whether to evade the undelayed vblank/SCL in the mmio based commit path.
A non-chained DSB will not wait for the undelayed vblank/safe window before starting execution, and the LUT itself will be double buffered in this case. Thus we only need to evade the delayed vblank. Signed-off-by: Ville Syrjälä <[email protected]> --- drivers/gpu/drm/i915/display/intel_vblank.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_vblank.c b/drivers/gpu/drm/i915/display/intel_vblank.c index 671f357c6563..01f96efd00c5 100644 --- a/drivers/gpu/drm/i915/display/intel_vblank.c +++ b/drivers/gpu/drm/i915/display/intel_vblank.c @@ -700,10 +700,10 @@ void intel_vblank_evade_init(const struct intel_crtc_state *old_crtc_state, * undelayed vblank, so with seamless M/N and LRR we must evade * both vblanks. * - * DSB execution waits for the transcoder's undelayed vblank, - * hence we must kick off the commit before that. + * Chained DSB execution waits for the transcoder's undelayed + * vblank, hence we must kick off the commit before that. */ - if (intel_color_uses_dsb(new_crtc_state) || + if (intel_color_uses_chained_dsb(new_crtc_state) || new_crtc_state->update_m_n || new_crtc_state->update_lrr) evade->min -= vblank_delay; } -- 2.51.2
