FAILED: patch "[PATCH] drm/i915/dsi: Don't do DSC horizontal timing adjustments in" failed to apply to 5.15-stable tree
[email protected]
maintainerThe patch below does not apply to the 5.15-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-5.15.y
git checkout FETCH_HEAD
git cherry-pick -x 4dfce79e098915d8e5fc2b9e1d980bc3251dd32c
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2026040734-parrot-massive-a1f1@gregkh' --subject-prefix 'PATCH 5.15.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 4dfce79e098915d8e5fc2b9e1d980bc3251dd32c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <[email protected]>
Date: Thu, 26 Mar 2026 13:18:10 +0200
Subject: [PATCH] drm/i915/dsi: Don't do DSC horizontal timing adjustments in
command mode
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Stop adjusting the horizontal timing values based on the compression ratio in command mode. Bspec seems to be telling us to do this only in video mode, and this is also how the Windows driver does things.
This should also fix a div-by-zero on some machines because the adjusted htotal ends up being so small that we end up with line_time_us==0 when trying to determine the vtotal value in command mode.
Note that this doesn't actually make the display on the Huawei Matebook E work, but at least the kernel no longer explodes when the driver loads.
drivers/gpu/drm/i915/display/icl_dsi.c +2 -2
@@ -889,7 +889,7 @@ gen11_dsi_set_transcoder_timings(struct intel_encoder *encoder,* non-compressed link speeds, and simplifies down to the ratio between * compressed and non-compressed bpp. */ -if (crtc_state->dsc.compression_enable) { +if (is_vid_mode (intel_dsi) && crtc_state->dsc.compression_enable) { mul =fxp_q4_to_int (crtc_state->dsc.compressed_bpp_x16); div =mipi_dsi_pixel_format_to_bpp (intel_dsi->pixel_format); }
@@ -1503,7 +1503,7 @@ static void gen11_dsi_get_timings(struct intel_encoder *encoder,struct drm_display_mode *adjusted_mode = &pipe_config->hw.adjusted_mode; -if (pipe_config->dsc.compressed_bpp_x16) { +if (is_vid_mode (intel_dsi) && pipe_config->dsc.compressed_bpp_x16) {int div =fxp_q4_to_int (pipe_config->dsc.compressed_bpp_x16);int mul =mipi_dsi_pixel_format_to_bpp (intel_dsi->pixel_format);