drm/rockchip: dw-dp: Support periodically polled for external bridge

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Icbcd9619b2bc5338cf5351c7a20811b8a65d9df3
This commit is contained in:
Wyon Bi
2022-08-20 12:40:17 +00:00
committed by Tao Huang
parent a0871c7ecd
commit b9c2efe661

View File

@@ -682,6 +682,15 @@ static int dw_dp_connector_get_modes(struct drm_connector *connector)
struct edid *edid;
int num_modes = 0;
if (dp->right && dp->right->next_bridge) {
struct drm_bridge *bridge = dp->right->next_bridge;
if (bridge->ops & DRM_BRIDGE_OP_MODES) {
if (!drm_bridge_get_modes(bridge, connector))
return 0;
}
}
if (dp->next_bridge)
num_modes = drm_bridge_get_modes(dp->next_bridge, connector);
@@ -2114,6 +2123,9 @@ static int dw_dp_connector_init(struct dw_dp *dp)
int ret;
connector->polled = DRM_CONNECTOR_POLL_HPD;
if (dp->next_bridge && dp->next_bridge->ops & DRM_BRIDGE_OP_DETECT)
connector->polled = DRM_CONNECTOR_POLL_CONNECT |
DRM_CONNECTOR_POLL_DISCONNECT;
connector->ycbcr_420_allowed = true;
ret = drm_connector_init(bridge->dev, connector,