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

Reply via email to