drm/bridge/cdns-mhdp8546: Register DP aux channel with userspace

Just adds some missing calls to
drm_dp_aux_register()/drm_dp_aux_unregister() for when we attach/detach the
bridge.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210423184309.207645-2-lyude@redhat.com
Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Lyude Paul 2021-04-23 14:42:53 -04:00
parent 64bf149113
commit eaf8974ea2
1 changed files with 10 additions and 1 deletions

View File

@ -1719,10 +1719,14 @@ static int cdns_mhdp_attach(struct drm_bridge *bridge,
dev_dbg(mhdp->dev, "%s\n", __func__);
ret = drm_dp_aux_register(&mhdp->aux);
if (ret < 0)
return ret;
if (!(flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR)) {
ret = cdns_mhdp_connector_init(mhdp);
if (ret)
return ret;
goto aux_unregister;
}
spin_lock(&mhdp->start_lock);
@ -1738,6 +1742,9 @@ static int cdns_mhdp_attach(struct drm_bridge *bridge,
mhdp->regs + CDNS_APB_INT_MASK);
return 0;
aux_unregister:
drm_dp_aux_unregister(&mhdp->aux);
return ret;
}
static void cdns_mhdp_configure_video(struct cdns_mhdp_device *mhdp,
@ -2082,6 +2089,8 @@ static void cdns_mhdp_detach(struct drm_bridge *bridge)
dev_dbg(mhdp->dev, "%s\n", __func__);
drm_dp_aux_unregister(&mhdp->aux);
spin_lock(&mhdp->start_lock);
mhdp->bridge_attached = false;