On 2024-09-03 11:50:36, Marijn Suijten wrote: > On 2024-08-29 18:17:31, Jun Nie wrote: > > From: Jonathan Marek <jonathan@xxxxxxxx> > > > > For the bonded DSI case, DSC pic_width and timing calculations should use > > the width of a single panel instead of the total combined width. > > When this patch was originally proposed we already discussed [1] that this is > **not** universally true. On my hardware a single bonded panel always receives > the full width, at least on downstream kernels, and it works [2]. > > [1]: https://lore.kernel.org/linux-arm-msm/eanx45rnasj7lu3r2tfhtg4qkqkcidd6zctsz6ci6jlklu4fgi@3nf73w2ka4li/T/#u > [2]: https://gitlab.freedesktop.org/drm/msm/-/issues/41 > > Can we please figure this out before landing this patch? For completeness I've picked this patch, together with the following mis-squashed change from patch 03/21: diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/dsi_host.c index 7a4d9c071be5a..5abade8f26b88 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -953,7 +953,7 @@ static void dsi_timing_setup(struct msm_dsi_host *msm_host, bool is_bonded_dsi) return; } - dsc->pic_width = mode->hdisplay; + dsc->pic_width = hdisplay; dsc->pic_height = mode->vdisplay; DBG("Mode %dx%d\n", dsc->pic_width, dsc->pic_height); And this is what it looks like on a bonded DSI CMD-mode display: https://gitlab.freedesktop.org/drm/msm/-/issues/41#note_2553207 https://gitlab.freedesktop.org/-/project/2206/uploads/dc5c53d09ecb635fdc9f190fbc9b37ac/1000027079.jpg That's a clear regression :) - Marijn