[PATCH v6] drm/bridge: ti-sn65dsi86: Add HPD for DisplayPort connector type
Doug Anderson
dianders at chromium.org
Wed Jun 25 14:52:26 UTC 2025
Hi,
On Tue, Jun 24, 2025 at 1:59 PM Doug Anderson <dianders at chromium.org> wrote:
>
> Hi,
>
> On Mon, Jun 23, 2025 at 9:48 PM Jayesh Choudhary <j-choudhary at ti.com> wrote:
> >
> > By default, HPD was disabled on SN65DSI86 bridge. When the driver was
> > added (commit "a095f15c00e27"), the HPD_DISABLE bit was set in pre-enable
> > call which was moved to other function calls subsequently.
> > Later on, commit "c312b0df3b13" added detect utility for DP mode. But with
> > HPD_DISABLE bit set, all the HPD events are disabled[0] and the debounced
> > state always return 1 (always connected state).
> >
> > Set HPD_DISABLE bit conditionally based on display sink's connector type.
> > Since the HPD_STATE is reflected correctly only after waiting for debounce
> > time (~100-400ms) and adding this delay in detect() is not feasible
> > owing to the performace impact (glitches and frame drop), remove runtime
> > calls in detect() and add hpd_enable()/disable() bridge hooks with runtime
> > calls, to detect hpd properly without any delay.
> >
> > [0]: <https://www.ti.com/lit/gpn/SN65DSI86> (Pg. 32)
> >
> > Fixes: c312b0df3b13 ("drm/bridge: ti-sn65dsi86: Implement bridge connector operations for DP")
> > Cc: Max Krummenacher <max.krummenacher at toradex.com>
> > Reviewed-by: Douglas Anderson <dianders at chromium.org>
> > Tested-by: Ernest Van Hoecke <ernest.vanhoecke at toradex.com>
> > Signed-off-by: Jayesh Choudhary <j-choudhary at ti.com>
> > ---
> >
> > Changelog v5->v6:
> > - Drop pm_runtime_mark_last_busy()
> > - Pick up tags
> >
> > v5 patch link:
> > <https://lore.kernel.org/all/20250616093240.499094-1-j-choudhary@ti.com/>
> >
> > Changelog v4->v5:
> > - Make suspend asynchronous in hpd_disable()
> > - Update HPD_DISABLE in probe function to address the case for when
> > comms are already enabled. Comments taken verbatim from [2]
> > - Update comments
> >
> > v4 patch link:
> > <https://lore.kernel.org/all/20250611052947.5776-1-j-choudhary@ti.com/>
> >
> > Changelog v3->v4:
> > - Remove "no-hpd" support due to backward compatibility issues
> > - Change the conditional from "no-hpd" back to connector type
> > but still address [1]
> >
> > v3 patch link:
> > <https://lore.kernel.org/all/20250529110418.481756-1-j-choudhary@ti.com/>
> >
> > Changelog v2->v3:
> > - Change conditional based on no-hpd property to address [1]
> > - Remove runtime calls in detect() with appropriate comments
> > - Add hpd_enable() and hpd_disable() in drm_bridge_funcs
> >
> > v2 patch link:
> > <https://lore.kernel.org/all/20250508115433.449102-1-j-choudhary@ti.com/>
> >
> > Changelog v1->v2:
> > - Drop additional property in bindings and use conditional.
> > - Instead of register read for HPD state, use dpcd read which returns 0
> > for success and error codes for no connection
> > - Add relevant history for the required change in commit message
> > - Drop RFC subject-prefix in v2
> > - Add "Cc:" tag
> >
> > v1 patch link:
> > <https://lore.kernel.org/all/20250424105432.255309-1-j-choudhary@ti.com/>
> >
> > [1]: <https://lore.kernel.org/all/mwh35anw57d6nvre3sguetzq3miu4kd43rokegvul7fk266lys@5h2euthpk7vq/>
> > [2]: <https://lore.kernel.org/all/CAD=FV=WvH73d78De3PrbiG7b6OaS_BysGtxQ=mJTj4z-h0LYWA@mail.gmail.com/>
> >
> > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 69 +++++++++++++++++++++++----
> > 1 file changed, 60 insertions(+), 9 deletions(-)
>
> I'll plan to push this to drm-misc-fixes tomorrow morning unless there
> are any objections or requests for me to wait.
Pushed to drm-misc-fixes:
[1/1] drm/bridge: ti-sn65dsi86: Add HPD for DisplayPort connector type
commit: 55e8ff842051b1150461d7595d8f1d033c69d66b
More information about the dri-devel
mailing list