From: Ville Syrjälä <[email protected]> We will never use the vblank worker based LUT update path on hardware with double buffered LUTs. Split that check out from the semi-illegble mess in intel_crtc_needs_vblank_work() so that it's clear what's happening.
The rest of the checks in that mess are more about dynamic runtime state, so keeping those together makes some sense. Signed-off-by: Ville Syrjälä <[email protected]> --- drivers/gpu/drm/i915/display/intel_crtc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c index 1b5b73f643bc..6dadffc63988 100644 --- a/drivers/gpu/drm/i915/display/intel_crtc.c +++ b/drivers/gpu/drm/i915/display/intel_crtc.c @@ -444,11 +444,13 @@ static bool intel_crtc_needs_vblank_work(const struct intel_crtc_state *crtc_sta { struct intel_display *display = to_intel_display(crtc_state); + if (HAS_DOUBLE_BUFFERED_LUT(display)) + return false; + return crtc_state->hw.active && + intel_crtc_needs_color_update(crtc_state) && !crtc_state->preload_luts && !intel_crtc_needs_modeset(crtc_state) && - (intel_crtc_needs_color_update(crtc_state) && - !HAS_DOUBLE_BUFFERED_LUT(display)) && !intel_color_uses_dsb(crtc_state); } -- 2.51.2
