Re: [PATCH v5 0/3] DSI Controller improvements for Rockchip platforms

From: Heiko Stübner

Date: Tue Sep 15 2026 - 11:46:55 EST


Hi,

Am Montag, 14. September 2026, 03:33:28 Mitteleuropäische Sommerzeit schrieb Chaoyi Chen:
> From: Chaoyi Chen <chaoyi.chen@xxxxxxxxxxxxxx>
>
> This series is dedicated to enhancing the DSI controller and PHY timing
> interaction, refining the lane rate calculation, and addressing the
> associated hardware limitations.


Took me a bit to finally test all the different variants for a display
that shows strange behaviour. Sorry this gets a bit longer.


The display in question is the ltk050h3148w [0], display in portrait
orientation.

Ever since commit ac87d23694f4 ("drm/bridge: synopsys: dw-mipi-dsi: Use
pixel clock rate to calculate lbcc") [1] and the subsequent fix in commit
93e82bb4de01 ("drm/bridge: synopsys: dw-mipi-dsi: Fix hcomponent lbcc for
burst mode") [2], that display has its output shifted about 20 pixels to
the right, with the line then continuing on the next display line.

We have this display running on all the Theobroma-System modules, so there
is a lot of variant data :-) .

Your series actually fixed the PX30 part of that shifted output, but for
the RK3399 the results are sort of mixed:


What was confusing me was that in the Rockchip vendor kernel, _all_ DSI
variants use the standard px30 phy settings? The whole original lookup
table seems to be gone? And that replicating that setting actually fixes
the shifted output on RK3399 too?


RK3399:
original:
shifted
mode-clock 59400, target_mbps 450

patches 1+2:
shifted
mode-clock 59400, target_mbps 450

patch 3:
blank disiplay
mode-clock 59400, target_mbps 400

use static px30 phy with patch3:
image is compressed in height and displayed two times one below the other
image is _not_ shifted anymore (so left+right alignment are correct)
mode-clock 59400, target_mbps 400

use static px30 phy without patch3:
image is _not_ shifted anymore
output is correct
mode-clock 59400, target_mbps 450


PX30:
original
shifted
mode-clock 59556, target_mbps 450

patches 1+2:
output is correct
image is _not_ shifted anymore (so left+right alignment are correct)
mode-clock 59556, target_mbps 450

patch 3:
output is still correct
mode-clock 59556, target_mbps 400

RK3588 (DSI2) for reference:
output is correct
mode-clock 59756, lane_mbps 398


Do you have any insight, what could go wrong here?

I'll apply patches 1+2 as they're correct, but will keep patch3 out
for now.

Also Sashiko seems to still be unhappy with patch3.


Thanks a lot
Heiko


[0] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c#n299
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ac87d23694f44af44a98d21dd77016f2756b6b1b
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=93e82bb4de0196c4caeca1d8a6eef67863981d8f