drm/msm: Attach assigned encoder to eDP and DSI connectors
PATCH 1/1 drm/msm: Attach assigned encoder to eDP and DSI connectors
drm_mode_connector_attach_encoder() function call is missing during eDP and DSI connector initialization. As a result, no encoder is returned by DRM_IOCTL_MODE_GETCONNECTOR system call. This change is to fix this issue.
Signed-off-by Hai Li <[email protected]>
--- drivers/gpu/drm/msm/dsi/dsi.c | 10 +++++----- drivers/gpu/drm/msm/dsi/dsi_manager.c | 6 +++++- drivers/gpu/drm/msm/edp/edp_connector.c | 2 ++ 3 files changed, 12 insertions(+), 6 deletions(-)
drivers/gpu/drm/msm/dsi/dsi.c +5 -5
@@ -177,6 +177,11 @@ int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev, goto fail; } +for (i =0 ; i <MSM_DSI_ENCODER_NUM ; i++) { + encoders[i]->bridge = msm_dsi->bridge; + msm_dsi->encoders[i] = encoders[i]; + } + msm_dsi->connector =msm_dsi_manager_connector_init (msm_dsi->id);if (IS_ERR (msm_dsi->connector)) { ret =PTR_ERR (msm_dsi->connector);
@@ -185,11 +190,6 @@ int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev, goto fail; } -for (i =0 ; i <MSM_DSI_ENCODER_NUM ; i++) { - encoders[i]->bridge = msm_dsi->bridge; - msm_dsi->encoders[i] = encoders[i]; - } - priv->bridges[priv->num_bridges++] = msm_dsi->bridge; priv->connectors[priv->num_connectors++] = msm_dsi->connector;
drivers/gpu/drm/msm/dsi/dsi_manager.c +5 -1
@@ -462,7 +462,7 @@ struct drm_connector *msm_dsi_manager_connector_init(u8 id)struct msm_dsi *msm_dsi =dsi_mgr_get_dsi (id);struct drm_connector *connector =NULL ;struct dsi_connector *dsi_connector; -int ret; +int ret, i; dsi_connector =devm_kzalloc (msm_dsi->dev->dev,sizeof (*dsi_connector),GFP_KERNEL );
@@ -495,6 +495,10 @@ struct drm_connector *msm_dsi_manager_connector_init(u8 id)if (ret) goto fail; +for (i =0 ; i <MSM_DSI_ENCODER_NUM ; i++) +drm_mode_connector_attach_encoder (connector, + msm_dsi->encoders[i]); +return connector; fail:
drivers/gpu/drm/msm/edp/edp_connector.c +2 -0
@@ -151,6 +151,8 @@ struct drm_connector *msm_edp_connector_init(struct msm_edp *edp)if (ret) goto fail; +drm_mode_connector_attach_encoder (connector, edp->encoder); +return connector; fail:
Signature · 7 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation _______________________________________________ dri-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/dri-devel