Skip to content
/ linux Public

Commit 54f2f05

Browse files
fschnydergregkh
authored andcommitted
drm/bridge: ti-sn65dsi86: Enable HPD polling if IRQ is not used
commit 0b87d51 upstream. Fallback to polling to detect hotplug events on systems without interrupts. On systems where the interrupt line of the bridge is not connected, the bridge cannot notify hotplug events. Only add the DRM_BRIDGE_OP_HPD flag if an interrupt has been registered otherwise remain in polling mode. Fixes: 55e8ff8 ("drm/bridge: ti-sn65dsi86: Add HPD for DisplayPort connector type") Cc: stable@vger.kernel.org # 6.16: 9133bc3: drm/bridge: ti-sn65dsi86: Add Signed-off-by: Franz Schnyder <franz.schnyder@toradex.com> Reviewed-by: Douglas Anderson <dianders@chromium.org> [dianders: Adjusted Fixes/stable line based on discussion] Signed-off-by: Douglas Anderson <dianders@chromium.org> Link: https://patch.msgid.link/20260206123758.374555-1-fra.schnyder@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 98310fe commit 54f2f05

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

drivers/gpu/drm/bridge/ti-sn65dsi86.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1326,6 +1326,7 @@ static int ti_sn_bridge_probe(struct auxiliary_device *adev,
13261326
{
13271327
struct ti_sn65dsi86 *pdata = dev_get_drvdata(adev->dev.parent);
13281328
struct device_node *np = pdata->dev->of_node;
1329+
const struct i2c_client *client = to_i2c_client(pdata->dev);
13291330
int ret;
13301331

13311332
pdata->next_bridge = devm_drm_of_get_bridge(&adev->dev, np, 1, 0);
@@ -1345,8 +1346,9 @@ static int ti_sn_bridge_probe(struct auxiliary_device *adev,
13451346
? DRM_MODE_CONNECTOR_DisplayPort : DRM_MODE_CONNECTOR_eDP;
13461347

13471348
if (pdata->bridge.type == DRM_MODE_CONNECTOR_DisplayPort) {
1348-
pdata->bridge.ops = DRM_BRIDGE_OP_EDID | DRM_BRIDGE_OP_DETECT |
1349-
DRM_BRIDGE_OP_HPD;
1349+
pdata->bridge.ops = DRM_BRIDGE_OP_EDID | DRM_BRIDGE_OP_DETECT;
1350+
if (client->irq)
1351+
pdata->bridge.ops |= DRM_BRIDGE_OP_HPD;
13501352
/*
13511353
* If comms were already enabled they would have been enabled
13521354
* with the wrong value of HPD_DISABLE. Update it now. Comms

0 commit comments

Comments
 (0)