]> Gentwo Git Trees - linux/.git/commit
drm/bridge: cdns-dsi: Tune adjusted_mode->clock according to dsi needs
authorTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Wed, 23 Jul 2025 10:05:20 +0000 (13:05 +0300)
committerTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Wed, 13 Aug 2025 07:20:38 +0000 (10:20 +0300)
commit2f73f8983280782077dfa9247e978003efeb5af5
tree4a5652af4354ea617122d604ee4cf1e7dc0f02f2
parentca3e6fc131836c4956de454996df52feb6c19af8
drm/bridge: cdns-dsi: Tune adjusted_mode->clock according to dsi needs

The driver currently expects the pixel clock and the HS clock to be
compatible, but the DPHY PLL doesn't give very finely grained rates.
This often leads to the situation where the pipeline just fails, as the
resulting HS clock is just too off.

We could change the driver to do a better job on adjusting the DSI
blanking values, hopefully getting a working pipeline even if the pclk
and HS clocks are not exactly compatible. But that is a bigger work.

What we can do easily is to see in .atomic_check() what HS clock rate we
can get, based on the pixel clock rate, and then convert the HS clock
rate back to pixel clock rate and ask that rate from the crtc. If the
crtc has a good PLL (which is the case for TI K3 SoCs), this will fix
any issues wrt. the clock rates.

If the crtc cannot provide the requested clock, well, we're no worse off
with this patch than what we have at the moment.

Tested-by: Parth Pancholi <parth.pancholi@toradex.com>
Tested-by: Jayesh Choudhary <j-choudhary@ti.com>
Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
Link: https://lore.kernel.org/r/20250723-cdns-dsi-impro-v5-14-e61cc06074c2@ideasonboard.com
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c