mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
drm/bridge: analogix_dp: Support periodically polled for external bridge
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com> Change-Id: Ief3b5f3c1df77aa122aca056819bcf83b455a4a6
This commit is contained in:
@@ -1297,6 +1297,15 @@ static int analogix_dp_get_modes(struct drm_connector *connector)
|
||||
struct edid *edid;
|
||||
int ret, num_modes = 0;
|
||||
|
||||
if (dp->plat_data->right && dp->plat_data->right->plat_data->bridge) {
|
||||
struct drm_bridge *bridge = dp->plat_data->right->plat_data->bridge;
|
||||
|
||||
if (bridge->ops & DRM_BRIDGE_OP_MODES) {
|
||||
if (!drm_bridge_get_modes(bridge, connector))
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if (dp->plat_data->panel)
|
||||
num_modes += drm_panel_get_modes(dp->plat_data->panel, connector);
|
||||
|
||||
@@ -1491,6 +1500,9 @@ static int analogix_dp_bridge_attach(struct drm_bridge *bridge,
|
||||
|
||||
connector = &dp->connector;
|
||||
connector->polled = DRM_CONNECTOR_POLL_HPD;
|
||||
if (dp->plat_data->bridge && dp->plat_data->bridge->ops & DRM_BRIDGE_OP_DETECT)
|
||||
connector->polled = DRM_CONNECTOR_POLL_CONNECT |
|
||||
DRM_CONNECTOR_POLL_DISCONNECT;
|
||||
|
||||
ret = drm_connector_init(dp->drm_dev, connector,
|
||||
&analogix_dp_connector_funcs,
|
||||
|
||||
Reference in New Issue
Block a user