While trying to get the cdns-dsi to work on Toradex's AM69 Aquila platform, I hit multiple issues in the driver. Basicaly nothing worked for with the board. This series fixes those issues. While I itch to make much larger changes to the cdns-dsi driver, I opted to keep this series relatively simple to make the fixes more clear and possibly help with backporting. The series also touches tidss, but those changes are not strictly needed, and can be merged separately. And the series also touches cdns-dphy, and those changes are needed. This has been tested on Toradex AM69 Aquila, with: - HDMI output using lontium lt8912b - LVDS panel (sn65dsi84 + panel-lvds) Tomi Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx> --- Tomi Valkeinen (18): drm/tidss: Fix missing includes and struct decls drm/tidss: Use the crtc_* timings when programming the HW drm/tidss: Add mode_fixup to adjust the clock based on HW phy: cdns-dphy: Store hs_clk_rate and return it phy: cdns-dphy: Remove leftover code drm/bridge: cdns-dsi: Adjust mode to negative syncs drm/bridge: cdns-dsi: Fail if HS rate changed when validating PHY config drm/bridge: cdns-dsi: Clean up cdns_dsi_mode2cfg() drm/bridge: cdns-dsi: Fix REG_WAKEUP_TIME value drm/bridge: cdns-dsi: Fix event mode drm/bridge: cdns-dsi: Remove broken fifo emptying check drm/bridge: cdns-dsi: Drop checks that shouldn't be in .mode_valid() drm/bridge: cdns-dsi: Do not use crtc_* values drm/bridge: cdns-dsi: Use videomode internally drm/bridge: cdns-dsi: Tune adjusted_mode->clock according to dsi needs drm/bridge: cdns-dsi: Update htotal in cdns_dsi_mode2cfg() drm/bridge: cdns-dsi: Drop cdns_dsi_adjust_phy_config() drm/bridge: cdns-dsi: Don't fail on MIPI_DSI_MODE_VIDEO_BURST drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 224 +++++++++++-------------- drivers/gpu/drm/tidss/tidss_crtc.c | 24 ++- drivers/gpu/drm/tidss/tidss_dispc.c | 22 ++- drivers/gpu/drm/tidss/tidss_dispc.h | 5 + drivers/gpu/drm/tidss/tidss_drv.h | 2 + drivers/gpu/drm/tidss/tidss_plane.h | 2 + drivers/gpu/drm/tidss/tidss_scale_coefs.h | 2 + drivers/phy/cadence/cdns-dphy.c | 24 +-- 8 files changed, 158 insertions(+), 147 deletions(-) --- base-commit: 10646ddac2917b31c985ceff0e4982c42a9c924b change-id: 20250320-cdns-dsi-impro-3d8fbd7848d1 prerequisite-message-id: 20250226155228.564289-1-aradhya.bhatia@xxxxxxxxx prerequisite-patch-id: 46845a8d15042dd343a29a17fc0b9d0eec2605f5 prerequisite-patch-id: 7ce82c26cb9e18884492d2282a72ff2a760aefda prerequisite-patch-id: ec2071425cab81da72e0805ad92fc52731d7a24d prerequisite-patch-id: 32cde02288e0c36ed687f67778937a61f78b2d90 prerequisite-patch-id: 5f302e2bead8994763699a909ad0b5501f09ed9f prerequisite-patch-id: 30611df6ef38c7872107d6bf6dde4504d46ab224 prerequisite-patch-id: 99831bcaa13e25b957d83a6320f34bcec223b939 prerequisite-patch-id: b0ad38bc6b323ceea7a1d2266b0fab8deaa6b05e prerequisite-patch-id: 38dbce2b9302a764be9dbdc551578f02d797dfcc prerequisite-patch-id: 133f8b1dab4f47d429b1924df981564ce3736233 prerequisite-patch-id: 879c546693a53e4b72c1ee25954c894ae57a441f prerequisite-patch-id: 3e7edc818ac078a138f0e42e3f47fd685fffb84f prerequisite-patch-id: 673b9f0b1936b5a49973b71cab5d13774583de38 Best regards, -- Tomi Valkeinen <tomi.valkeinen@xxxxxxxxxxxxxxxx>