This is a note to let you know that I've just added the patch titled drm/amd/display: Avoid ABM when ODM combine is enabled for eDP to the 6.1-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: drm-amd-display-avoid-abm-when-odm-combine-is-enabled-for-edp.patch and it can be found in the queue-6.1 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From stable-owner@xxxxxxxxxxxxxxx Fri Aug 11 23:09:25 2023 From: Mario Limonciello <mario.limonciello@xxxxxxx> Date: Fri, 11 Aug 2023 16:07:03 -0500 Subject: drm/amd/display: Avoid ABM when ODM combine is enabled for eDP To: <stable@xxxxxxxxxxxxxxx> Cc: <Tianci.Yin@xxxxxxx>, <Richard.Gong@xxxxxxx>, <Aurabindo.Pillai@xxxxxxx>, Mario Limonciello <mario.limonciello@xxxxxxx> Message-ID: <20230811210708.14512-6-mario.limonciello@xxxxxxx> From: Rodrigo Siqueira <Rodrigo.Siqueira@xxxxxxx> commit 7fffb03b4045c862f904a88b852dc509c4e46406 upstream ODM to combine on the eDP panel with ABM causes the color difference to the panel since the ABM module only sets one pipe. Hence, this commit blocks ABM in case of ODM combined on eDP. Reviewed-by: Harry Wentland <harry.wentland@xxxxxxx> Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@xxxxxxx> Co-developed-by: Aurabindo Pillai <aurabindo.pillai@xxxxxxx> Signed-off-by: Aurabindo Pillai <aurabindo.pillai@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/gpu/drm/amd/display/dc/core/dc.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) --- a/drivers/gpu/drm/amd/display/dc/core/dc.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc.c @@ -1996,9 +1996,19 @@ enum dc_status dc_commit_streams(struct res = dc_commit_state_no_check(dc, context); for (i = 0; i < stream_count; i++) { - for (j = 0; j < context->stream_count; j++) + for (j = 0; j < context->stream_count; j++) { if (streams[i]->stream_id == context->streams[j]->stream_id) streams[i]->out.otg_offset = context->stream_status[j].primary_otg_inst; + + if (dc_is_embedded_signal(streams[i]->signal)) { + struct dc_stream_status *status = dc_stream_get_status_from_state(context, streams[i]); + + if (dc->hwss.is_abm_supported) + status->is_abm_supported = dc->hwss.is_abm_supported(dc, context, streams[i]); + else + status->is_abm_supported = true; + } + } } fail: Patches currently in stable-queue which might be from stable-owner@xxxxxxxxxxxxxxx are queue-6.1/drm-amd-display-fix-the-build-when-drm_amd_dc_dcn-is-not-set.patch queue-6.1/drm-amd-pm-fulfill-powerplay-peak-profiling-mode-shader-memory-clock-settings.patch queue-6.1/drm-amd-display-handle-virtual-hardware-detect.patch queue-6.1/drm-amd-display-use-update-plane-and-stream-routine-for-dcn32x.patch queue-6.1/drm-amd-display-avoid-abm-when-odm-combine-is-enabled-for-edp.patch queue-6.1/drm-amd-pm-fulfill-swsmu-peak-profiling-mode-shader-memory-clock-settings.patch queue-6.1/drm-amd-pm-avoid-unintentional-shutdown-due-to-temperature-momentary-fluctuation.patch queue-6.1/drm-amd-display-update-otg-instance-in-the-commit-stream.patch queue-6.1/drm-amd-pm-expose-swctf-threshold-setting-for-legacy-powerplay.patch queue-6.1/drm-amd-display-add-function-for-validate-and-update-new-stream.patch queue-6.1/drm-amd-display-trigger-timing-sync-only-if-tg-is-running.patch queue-6.1/drm-amd-display-handle-seamless-boot-stream.patch queue-6.1/drm-amd-display-retain-phantom-plane-stream-if-validation-fails.patch queue-6.1/drm-amd-display-disable-phantom-otg-after-enable-for-plane-disable.patch