[PATCH v2] drm/bridge: ti-sn65dsi86: Add HPD for DisplayPort connector type
Doug Anderson
dianders at chromium.org
Tue May 27 15:44:37 UTC 2025
Hi,
On Mon, May 26, 2025 at 1:41 AM Ernest Van Hoecke
<ernestvanhoecke at gmail.com> wrote:
>
> Hi Jayesh,
>
> First of all, thanks for your patch. I applied it to our 6.6-based
> downstream kernel supporting a board I have here, and noticed some
> strange behaviour with eDP now.
>
> On Thu, May 08, 2025 at 05:24:33PM +0530, Jayesh Choudhary wrote:
> > + if (pdata->bridge.type == DRM_MODE_CONNECTOR_eDP)
> > + regmap_update_bits(pdata->regmap, SN_HPD_DISABLE_REG, HPD_DISABLE,
> > + HPD_DISABLE);
> >
>
> On my setup it seems that `pdata->bridge.type` is not yet set here,
> because it executes before `ti_sn_bridge_probe`. For the DP use case,
> this is not a problem because the type field is 0 (i.e., not
> DRM_MODE_CONNECTOR_eDP) in that case. But for eDP, it means that we are
> unexpectedly not disabling HDP.
>
> With working HDP, everything is fine in the end for both DP and eDP. But
> when the HDP line is not connected, eDP no longer works. So I wonder if
> this breaks some functionality for weird eDP panels or board
> implementations.
>
> I could certainly be missing something; from my understanding it looks
> like without a good HPD signal, the `ti_sn_bridge_probe` and quoted code
> are stuck in a loop. `ti_sn65dsi86_enable_comms` runs but does not
> disable HDP, after which the probe runs but fails and does not set the
> type field, so the next `enable_comms` run fails to disable HDP again,
> etc.
This does sound like a real problem.
I'm not sure I'll have the time to analyze it and come up with a
proposal myself right now, but Jayesh: you should make sure you
consider and address this issue before you send your next version.
Thanks!
More information about the dri-devel
mailing list