FAILED: patch "[PATCH] drm/amd/display: Fix fast updates on DCE 6.x" failed to apply to 6.18-stable tree
[email protected]
maintainerThe patch below does not apply to the 6.18-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.18.y
git checkout FETCH_HEAD
git cherry-pick -x 88427119e1f039c8cdffd63726c136a986ef519f
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026100527-bondless-probe-a271@gregkh' --subject-prefix 'PATCH 6.18.y' 'HEAD^..'
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 88427119e1f039c8cdffd63726c136a986ef519f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timur=20Krist=C3=B3f?= <[email protected]>
Date: Wed, 23 Sep 2026 14:20:31 +0200
Subject: [PATCH] drm/amd/display: Fix fast updates on DCE 6.x
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
DCE6 should use legacy fast updates, just like all DCE8 - DCN2. Set that flag for DCE 6.0, 6.1 and 6.4 (all DCE6 versions).
Technically DCE6 should have been included when the fast update code was refactored, but it just happened to work until now.
A recent commit "Attach only plane updates that actually changed" has exposed this issue because with that commit, DC accidentally took the new fast update code path for DCE6 as well, which caused it to boot into a black screen with a flip done timeout.
This fix should be backported to all kernel versions that have "Refactor fast update to use new HWSS build sequence", but this patch won't apply cleanly to older kernels due to another refactor in "Remove dc param from check_update".
drivers/gpu/drm/amd/display/dc/resource/dce60/dce60_resource.c +12 -0
@@ -448,6 +448,12 @@ static const struct dce_abm_mask abm_mask = { ABM_MASK_SH_LIST_DCE110(_MASK) }; +static const struct dc_debug_options debug_defaults = {0 }; + +static const struct dc_check_config config_defaults = { + .enable_legacy_fast_update = true, +}; +#define CTX ctx#define REG (reg) mm ## reg
@@ -937,6 +943,8 @@ static bool dce60_construct( dc->caps.max_cursor_size =64 ; dc->caps.dual_link_dvi = true; dc->caps.extended_aux_timeout_support = false; + dc->debug = debug_defaults; + dc->check_config = config_defaults;/************************************************* * Create resources *
@@ -1134,6 +1142,8 @@ static bool dce61_construct( dc->caps.i2c_speed_in_khz =40 ; dc->caps.max_cursor_size =64 ; dc->caps.is_apu = true; + dc->debug = debug_defaults; + dc->check_config = config_defaults;/************************************************* * Create resources *
@@ -1332,6 +1342,8 @@ static bool dce64_construct( dc->caps.i2c_speed_in_khz =40 ; dc->caps.max_cursor_size =64 ; dc->caps.is_apu = true; + dc->debug = debug_defaults; + dc->check_config = config_defaults;/************************************************* * Create resources *