FAILED: patch "[PATCH] drm/i915: Add a .color_post_update() hook" failed to apply to 6.2-stable tree
[email protected]
maintainerThe patch below does not apply to the 6.2-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-6.2.y
git checkout FETCH_HEAD
git cherry-pick -x c880f855d1e240a956dcfce884269bad92fc849c
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2023040329-handclasp-prance-994d@gregkh' --subject-prefix 'PATCH 6.2.y' HEAD^..
Possible dependencies:
c880f855d1e2 ("drm/i915: Add a .color_post_update() hook") efb2b57edf20 ("drm/i915: Move the DSB setup/cleaup into the color code")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From c880f855d1e240a956dcfce884269bad92fc849c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <[email protected]>
Date: Mon, 20 Mar 2023 11:54:35 +0200
Subject: [PATCH] drm/i915: Add a .color_post_update() hook
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We're going to need stuff after the color management register latching has happened. Add a corresponding hook.
drivers/gpu/drm/i915/display/intel_color.c +13 -0
@@ -46,6 +46,11 @@ struct intel_color_funcs {* registers involved with the same commit. */ void (*color_commit_arm)(const struct intel_crtc_state *crtc_state); +/* +* Perform any extra tasks needed after all the +* double buffered registers have been latched. +*/ +void (*color_post_update)(const struct intel_crtc_state *crtc_state);/* * Load LUTs (and other single buffered color management * registers). Will (hopefully) be called during the vblank
@@ -1411,6 +1416,14 @@ void intel_color_commit_arm(const struct intel_crtc_state *crtc_state) i915->display.funcs.color->color_commit_arm (crtc_state); } +void intel_color_post_update (const struct intel_crtc_state *crtc_state) +{ +struct drm_i915_private *i915 =to_i915 (crtc_state->uapi.crtc->dev); + +if (i915->display.funcs.color->color_post_update) + i915->display.funcs.color->color_post_update (crtc_state); +} +void intel_color_prepare_commit (struct intel_crtc_state *crtc_state) {struct intel_crtc *crtc =to_intel_crtc (crtc_state->uapi.crtc);
drivers/gpu/drm/i915/display/intel_color.h +1 -0
@@ -21,6 +21,7 @@ void intel_color_prepare_commit(struct intel_crtc_state *crtc_state);void intel_color_cleanup_commit (struct intel_crtc_state *crtc_state);void intel_color_commit_noarm (const struct intel_crtc_state *crtc_state);void intel_color_commit_arm (const struct intel_crtc_state *crtc_state); +void intel_color_post_update (const struct intel_crtc_state *crtc_state);void intel_color_load_luts (const struct intel_crtc_state *crtc_state);void intel_color_get_config (struct intel_crtc_state *crtc_state); bool intel_color_lut_equal(const struct intel_crtc_state *crtc_state,
drivers/gpu/drm/i915/display/intel_display.c +3 -0
@@ -1209,6 +1209,9 @@ static void intel_post_plane_update(struct intel_atomic_state *state,if (needs_cursorclk_wa (old_crtc_state) && !needs_cursorclk_wa (new_crtc_state))icl_wa_cursorclkgating (dev_priv, pipe, false); + +if (intel_crtc_needs_color_update (new_crtc_state)) +intel_color_post_update (new_crtc_state); } static void intel_crtc_enable_flip_done(struct intel_atomic_state *state,