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 <hali@codeaurora.org>
This commit is contained in:
parent
13f15565f7
commit
6f6b287968
@ -177,6 +177,11 @@ int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev,
|
|||||||
goto fail;
|
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);
|
msm_dsi->connector = msm_dsi_manager_connector_init(msm_dsi->id);
|
||||||
if (IS_ERR(msm_dsi->connector)) {
|
if (IS_ERR(msm_dsi->connector)) {
|
||||||
ret = PTR_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;
|
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->bridges[priv->num_bridges++] = msm_dsi->bridge;
|
||||||
priv->connectors[priv->num_connectors++] = msm_dsi->connector;
|
priv->connectors[priv->num_connectors++] = msm_dsi->connector;
|
||||||
|
|
||||||
|
@ -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 msm_dsi *msm_dsi = dsi_mgr_get_dsi(id);
|
||||||
struct drm_connector *connector = NULL;
|
struct drm_connector *connector = NULL;
|
||||||
struct dsi_connector *dsi_connector;
|
struct dsi_connector *dsi_connector;
|
||||||
int ret;
|
int ret, i;
|
||||||
|
|
||||||
dsi_connector = devm_kzalloc(msm_dsi->dev->dev,
|
dsi_connector = devm_kzalloc(msm_dsi->dev->dev,
|
||||||
sizeof(*dsi_connector), GFP_KERNEL);
|
sizeof(*dsi_connector), GFP_KERNEL);
|
||||||
@ -495,6 +495,10 @@ struct drm_connector *msm_dsi_manager_connector_init(u8 id)
|
|||||||
if (ret)
|
if (ret)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
for (i = 0; i < MSM_DSI_ENCODER_NUM; i++)
|
||||||
|
drm_mode_connector_attach_encoder(connector,
|
||||||
|
msm_dsi->encoders[i]);
|
||||||
|
|
||||||
return connector;
|
return connector;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
|
@ -151,6 +151,8 @@ struct drm_connector *msm_edp_connector_init(struct msm_edp *edp)
|
|||||||
if (ret)
|
if (ret)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
drm_mode_connector_attach_encoder(connector, edp->encoder);
|
||||||
|
|
||||||
return connector;
|
return connector;
|
||||||
|
|
||||||
fail:
|
fail:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user