From: Ville Syrjälä Date: Thu, 23 May 2024 18:28:17 +0000 (+0300) Subject: drm/i915: Hide the intel_crtc_needs_color_update() inside intel_color_check() X-Git-Tag: v6.11-rc1~141^2~20^2~241 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=325257f2e9cb753a1581f8ca50e84012010d2718;p=thirdparty%2Fkernel%2Flinux.git drm/i915: Hide the intel_crtc_needs_color_update() inside intel_color_check() Move the intel_crtc_needs_color_update() into intel_color_check() so that the caller doesn't have to care about this. This will also enable us to hide the c8_planes_changed() thing better. Signed-off-by: Ville Syrjälä Link: https://patchwork.freedesktop.org/patch/msgid/20240523182818.15382-3-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula --- diff --git a/drivers/gpu/drm/i915/display/intel_color.c b/drivers/gpu/drm/i915/display/intel_color.c index dda7c268e2899..fab4744991829 100644 --- a/drivers/gpu/drm/i915/display/intel_color.c +++ b/drivers/gpu/drm/i915/display/intel_color.c @@ -1986,6 +1986,11 @@ int intel_color_check(struct intel_atomic_state *state, struct intel_crtc *crtc) { struct drm_i915_private *i915 = to_i915(state->base.dev); + const struct intel_crtc_state *new_crtc_state = + intel_atomic_get_new_crtc_state(state, crtc); + + if (!intel_crtc_needs_color_update(new_crtc_state)) + return 0; return i915->display.funcs.color->color_check(state, crtc); } diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 61c073fc0a46e..d035a12cbeb02 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -4254,11 +4254,9 @@ static int intel_crtc_atomic_check(struct intel_atomic_state *state, if (c8_planes_changed(crtc_state)) crtc_state->uapi.color_mgmt_changed = true; - if (intel_crtc_needs_color_update(crtc_state)) { - ret = intel_color_check(state, crtc); - if (ret) - return ret; - } + ret = intel_color_check(state, crtc); + if (ret) + return ret; ret = intel_compute_pipe_wm(state, crtc); if (ret) {