Skip to content

Commit 71867e8

Browse files
Ayushi Makhijalumag
authored andcommitted
drm/bridge: anx7625: fix drm_bridge ops flags to support hot-plugging
The anx7625_link_bridge() checks if a device is not a panel bridge and add DRM_BRIDGE_OP_HPD and DRM_BRIDGE_OP_DETECT flags to the drm_bridge->ops. However, on port 1 of the anx7625 bridge, any device added is always treated as a panel bridge, preventing connector_detect() from being called. To resolve this, instead of just checking if it is a panel bridge, verify the type of device based on aux whether it is a DisplayPort or eDP panel. If the device is not of the eDP type, add DRM_BRIDGE_OP_HPD and DRM_BRIDGE_OP_DETECT flags to the to the drm_bridge->ops. Signed-off-by: Ayushi Makhija <quic_amakhija@quicinc.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Link: https://lore.kernel.org/r/20250505094245.2660750-5-quic_amakhija@quicinc.com Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
1 parent ca8a78c commit 71867e8

1 file changed

Lines changed: 2 additions & 3 deletions

File tree

drivers/gpu/drm/bridge/analogix/anx7625.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2603,9 +2603,8 @@ static int anx7625_link_bridge(struct drm_dp_aux *aux)
26032603
platform->bridge.of_node = dev->of_node;
26042604
if (!anx7625_of_panel_on_aux_bus(dev))
26052605
platform->bridge.ops |= DRM_BRIDGE_OP_EDID;
2606-
if (!platform->pdata.panel_bridge)
2607-
platform->bridge.ops |= DRM_BRIDGE_OP_HPD |
2608-
DRM_BRIDGE_OP_DETECT;
2606+
if (!platform->pdata.panel_bridge || !anx7625_of_panel_on_aux_bus(dev))
2607+
platform->bridge.ops |= DRM_BRIDGE_OP_HPD | DRM_BRIDGE_OP_DETECT;
26092608
platform->bridge.type = platform->pdata.panel_bridge ?
26102609
DRM_MODE_CONNECTOR_eDP :
26112610
DRM_MODE_CONNECTOR_DisplayPort;

0 commit comments

Comments
 (0)