The patch below does not apply to the 6.1-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 <stable@xxxxxxxxxxxxxxx>. 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.1.y git checkout FETCH_HEAD git cherry-pick -x b2139c96dc954b58b81bc670fc4ea5f034ed062c # <resolve conflicts, build, test, etc.> git commit -s git send-email --to '<stable@xxxxxxxxxxxxxxx>' --in-reply-to '2024012731-dislodge-unranked-578d@gregkh' --subject-prefix 'PATCH 6.1.y' HEAD^.. Possible dependencies: b2139c96dc95 ("drm/amd/display: Drop 'acrtc' and add 'new_crtc_state' NULL check for writeback requests.") c81e13b929df ("drm/amd/display: Hande writeback request from userspace") 98a80bb3dd9d ("Revert "drm/amd/display: Hande writeback request from userspace"") 731a20cb89e6 ("Revert "drm/amd/display: Add writeback enable field (wb_enabled)"") 6d2959df6575 ("Revert "drm/amd/display: Setup for mmhubbub3_warmup_mcif with big buffer"") 7086af68fab9 ("Revert "drm/amd/display: Disable DWB frame capture to emulate oneshot"") 77a66faaccc0 ("drm/amd/display: Disable DWB frame capture to emulate oneshot") 428542d91772 ("drm/amd/display: Setup for mmhubbub3_warmup_mcif with big buffer") f6893fcb10c7 ("drm/amd/display: Add writeback enable field (wb_enabled)") cd1a4bc22821 ("drm/amd/display: Hande writeback request from userspace") fff7b95a5046 ("drm/amd/display: Fix race condition when turning off an output alone") c82eddf81276 ("drm/amd/display: Clean up errors & warnings in amdgpu_dm.c") 6c5e25a0255d ("drm/amd/display: add prefix to amdgpu_dm_crtc.h functions") b8272241ff9d ("drm/amd/display: Drop dc_commit_state in favor of dc_commit_streams") 1e88eb1b2c25 ("drm/amd/display: Drop CONFIG_DRM_AMD_DC_HDCP") 7ae1dbe6547c ("drm/amd/display: merge dc_link.h into dc.h and dc_types.h") 455ad25997ba ("drm/amdgpu: Select DRM_DISPLAY_HDCP_HELPER in amdgpu") 8e5cfe547bf3 ("drm/amd/display: upstream link_dp_dpia_bw.c") 5ca38a18b5a4 ("drm/amd/display: move public dc link function implementation to dc_link_exports") 54618888d1ea ("drm/amd/display: break down dc_link.c") thanks, greg k-h ------------------ original commit in Linus's tree ------------------ >From b2139c96dc954b58b81bc670fc4ea5f034ed062c Mon Sep 17 00:00:00 2001 From: Srinivasan Shanmugam <srinivasan.shanmugam@xxxxxxx> Date: Sat, 13 Jan 2024 14:32:27 +0530 Subject: [PATCH] drm/amd/display: Drop 'acrtc' and add 'new_crtc_state' NULL check for writeback requests. Return value of 'to_amdgpu_crtc' which is container_of(...) can't be null, so it's null check 'acrtc' is dropped. Fixing the below: drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm.c:9302 amdgpu_dm_atomic_commit_tail() error: we previously assumed 'acrtc' could be null (see line 9299) Added 'new_crtc_state' NULL check for function 'drm_atomic_get_new_crtc_state' that retrieves the new state for a CRTC, while enabling writeback requests. Cc: stable@xxxxxxxxxxxxxxx Cc: Alex Hung <alex.hung@xxxxxxx> Cc: Aurabindo Pillai <aurabindo.pillai@xxxxxxx> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@xxxxxxx> Cc: Hamza Mahfooz <hamza.mahfooz@xxxxxxx> Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@xxxxxxx> Reviewed-by: Alex Hung <alex.hung@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 10b2a896c498..d55eeb30ccb2 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -9293,10 +9293,10 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state) if (!new_con_state->writeback_job) continue; - new_crtc_state = NULL; + new_crtc_state = drm_atomic_get_new_crtc_state(state, &acrtc->base); - if (acrtc) - new_crtc_state = drm_atomic_get_new_crtc_state(state, &acrtc->base); + if (!new_crtc_state) + continue; if (acrtc->wb_enabled) continue;