Re: [PATCH v9 2/2] drm/bridge: add support for lontium lt9211c bridge
From: Vishnu Saini
Date: Wed Sep 30 2026 - 22:45:30 EST
On Fri, Sep 25, 2026 at 03:23:28PM +0200, Philipp Zabel wrote:
> On Do, 2026-09-24 at 21:29 +0530, vishnu.saini@xxxxxxxxxxxxxxxx wrote:
> > From: Yi Zhang <zhanyi@xxxxxxxxxxxxxxxx>
> >
> > LT9211C is a Single/Dual-Link DSI/LVDS or Single DPI input to
> > Single-Link/Dual-Link DSI/LVDS or Single DPI output bridge chip.
> > Extend the existing lontium-lt9211 driver to support DSI-to-LVDS
> > bridge configuration by detecting and handling both LT9211 and LT9211C
> > variants from a single driver.
> >
> > Chip detection in lt9211_read_chipid() is extended to identify the
> > LT9211C by its distinct chip ID registers, and cross-checked against
> > the chip type requested by the DT compatible string to catch a
> > mismatched board/compatible combination.
> >
> > Add LT9211C-specific regmap support and use lt9211_chip_data with
> > i2c_get_match_data() to provide per-chip configuration.
> >
> > Five new functions implement the LT9211C DSI-to-LVDS initialisation
> > sequence: lt9211c_configure_rx(), lt9211c_autodetect_rx(),
> > lt9211c_configure_timing(), lt9211c_configure_plls() and
> > lt9211c_configure_tx().
> >
> > Defer the remaining LT9211C initialization to a work item scheduled
> > from atomic_enable(), since RX auto-detection requires an active DSI
> > stream.
>
> This is still wrong, and I don't understand why you need it.
>
> All scheduling initialization as a work item should allow is for
> downstream bridges and/or panels to be atomic_enabled while
> lt9211_work_func() is waiting for a vblank interrupt.
> They expect the LVDS signal to be active at this point. If LVDS is
> enabled at some unknown later point in time by the work item, any
> startup timing requirements the panel might have can not be applied
> correctly.
Sorry for late, delayed work is now called at first vblank irq itself. I think it will
not miss the initial few frames. But i will check more on DSI host side.
> Also, deferring initialization as a work item shouldn't have any
> influence on the upstream DSI signal. That should already be active
> when lt9211c atomic_enable is called. Could it be that there is a bug
> in your display controller or DSI bridge driver that causes the DSI
> signal to still not be completely active at this point?
yes there is some issue in msm/dsi host driver as DSI signal is not active at atomic_enable
> > Signed-off-by: Yi Zhang <zhanyi@xxxxxxxxxxxxxxxx>
> > Signed-off-by: Nilesh Laad <nilesh.laad@xxxxxxxxxxxxxxxx>
> > Signed-off-by: Gopi Botlagunta <venkata.botlagunta@xxxxxxxxxxxxxxxx>
> > Signed-off-by: Vishnu Saini <vishnu.saini@xxxxxxxxxxxxxxxx>
> > Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
>
> I have not tested this version (yet).
Ok, i will remove in next revision.
>
> regards
> Philipp