Patch "drm/msm/dsi: fix hdisplay calculation when programming dsi registers" has been added to the 6.19-stable tree
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 8 lines · Sasha Levin
This is a note to let you know that I've just added the patch titled
drm/msm/dsi: fix hdisplay calculation when programming dsi registers
to the 6.19-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
Quoted 8 lines
The filename of the patch is:
drm-msm-dsi-fix-hdisplay-calculation-when-programmin.patch
and it can be found in the queue-6.19 subdirectory.If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Please drop it for all stable trees, this patch has an impact on CMD panels. Fixes have been submitted, but not merged yet.
Best wishes,
Pengyu
Quoted 67 lines
commit
5c8236c2f2cd9998509b0b2bb7cff4c7098dcaf6Author: Pengyu Luo <[email protected]> Date: Sat Feb 14 18:51:28 2026 +0800drm/msm/dsi: fix hdisplay calculation when programming dsi registers
[ Upstream commit
ac47870fd795549f03d57e0879fc730c79119f4b]Recently, the hdisplay calculation is working for 3:1 compressed ratio only. If we have a video panel with DSC BPP = 8, and BPC = 10, we still use the default
bits_per_pclk= 24, then we get the wrong hdisplay. We can draw the conclusion by cross-comparing the calculation with the calculation indsi_adjust_pclk_for_compression().Since CMD mode does not use this, we can remove !(msm_host->mode_flags &
MIPI_DSI_MODE_VIDEO) safely.Fixes efcbd6f9cdeb ("drm/msm/dsi: Enable widebus for DSI")Signed-off-by Pengyu Luo <[email protected]>Reviewed-by Dmitry Baryshkov <[email protected]>Patchwork: https://patchwork.freedesktop.org/patch/704822/
Signed-off-by Dmitry Baryshkov <[email protected]>Signed-off-by Sasha Levin <[email protected]>drivers/gpu/drm/msm/dsi/dsi_host.c +8
-6@@ -993,7 +993,7 @@ static void dsi_timing_setup(struct msm_dsi_host *msm_host, bool is_bonded_dsi)if (msm_host->dsc) {struct drm_dsc_config *dsc = msm_host->dsc; -u32 bytes_per_pclk; +u32 bits_per_pclk;/* update dsc params with timing params */ if (!dsc || !mode->hdisplay || !mode->vdisplay) {@@ -1015,7 +1015,9 @@ static void dsi_timing_setup(struct msm_dsi_host *msm_host, bool is_bonded_dsi)/* * DPU sends 3 bytes per pclk cycle to DSI. If widebus is -* enabled, bus width is extended to 6 bytes. +* enabled, MDP always sends out 48-bit compressed data per +* pclk and on average, DSI consumes an amount of compressed +* data equivalent to the uncompressed pixel depth per pclk. * * Calculate the number of pclks needed to transmit one line of * the compressed data. @@ -1027,12 +1029,12 @@ static void dsi_timing_setup(struct msm_dsi_host *msm_host, bool is_bonded_dsi)* unused anyway. */ h_total -= hdisplay; -if (wide_bus_enabled && !(msm_host->mode_flags &MIPI_DSI_MODE_VIDEO )) - bytes_per_pclk =6 ; +if (wide_bus_enabled) + bits_per_pclk =mipi_dsi_pixel_format_to_bpp (msm_host->format);else - bytes_per_pclk =3 ; + bits_per_pclk =24 ; - hdisplay =DIV_ROUND_UP (msm_dsc_get_bytes_per_line (msm_host->dsc), bytes_per_pclk); + hdisplay =DIV_ROUND_UP (msm_dsc_get_bytes_per_line (msm_host->dsc) *8 , bits_per_pclk); h_total += hdisplay; ha_end = ha_start + hdisplay;
Quoted 13 lines · Pengyu Luo
Quoted 12 lines · Sasha Levin
This is a note to let you know that I've just added the patch titled
drm/msm/dsi: fix hdisplay calculation when programming dsi registers
to the 6.19-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summaryThe filename of the patch is:
drm-msm-dsi-fix-hdisplay-calculation-when-programmin.patch
and it can be found in the queue-6.19 subdirectory.
Quoted 7 lines
Quoted 4 lines
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Please drop it for all stable trees, this patch has an impact on CMD panels. Fixes have been submitted, but not merged yet.
Now dropped, thanks.
greg k-h