On 9/9/2026 9:47 PM, Ville Syrjala wrote:
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.


LGTM.

Reviewed-by: Chaitanya Kumar Borah <[email protected]>

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 58a99c265598..0de24d221e48 100644
--- a/drivers/gpu/drm/i915/display/intel_crtc.c
+++ b/drivers/gpu/drm/i915/display/intel_crtc.c
@@ -491,11 +491,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) &&
                !crtc_state->use_flipq &&
                !crtc_state->use_dsb;

Reply via email to