Quoting Laurent Pinchart (2021-03-21 20:01:28) > When the SN65DSI86 is used in DisplayPort mode, its output is likely > routed to a DisplayPort connector, which can benefit from hotplug > detection. Support it in such cases, with polling mode only for now. > > The implementation is limited to the bridge operations, as the connector > operations are legacy and new users should use > DRM_BRIDGE_ATTACH_NO_CONNECTOR. > > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > --- Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx> > drivers/gpu/drm/bridge/ti-sn65dsi86.c | 46 +++++++++++++++++++-------- > 1 file changed, 33 insertions(+), 13 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > index f792227142a7..72f6362adf44 100644 > --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c > +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c > @@ -890,6 +897,15 @@ static void ti_sn_bridge_post_disable(struct drm_bridge *bridge) > pm_runtime_put_sync(pdata->dev); > } > > +static enum drm_connector_status ti_sn_bridge_detect(struct drm_bridge *bridge) > +{ > + struct ti_sn_bridge *pdata = bridge_to_ti_sn_bridge(bridge); > + int val; > + > + regmap_read(pdata->regmap, SN_HPD_DISABLE_REG, &val); > + return val ? connector_status_connected : connector_status_disconnected; > +} > + > static struct edid *ti_sn_bridge_get_edid(struct drm_bridge *bridge, > struct drm_connector *connector) > { > @@ -904,6 +920,7 @@ static const struct drm_bridge_funcs ti_sn_bridge_funcs = { > .enable = ti_sn_bridge_enable, > .disable = ti_sn_bridge_disable, > .post_disable = ti_sn_bridge_post_disable, > + .detect = ti_sn_bridge_detect, > .get_edid = ti_sn_bridge_get_edid, > }; > > @@ -1327,6 +1344,8 @@ static int ti_sn_bridge_probe(struct i2c_client *client, > return ret; > } > > + pdata->no_hpd = of_property_read_bool(pdata->dev->of_node, "no-hpd"); I see that we missed adding this property to the DTS file but skated by because it was the default in the driver. I don't think it's a big deal just something we should fix in sc7180-trogdor.dtsi before this patch is merged. > + > ti_sn_bridge_parse_lanes(pdata, client->dev.of_node); > > ret = ti_sn_bridge_parse_regulators(pdata);