diff options
Diffstat (limited to 'drivers/gpu/drm/msm/dsi/dsi.c')
-rw-r--r-- | drivers/gpu/drm/msm/dsi/dsi.c | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/gpu/drm/msm/dsi/dsi.c b/drivers/gpu/drm/msm/dsi/dsi.c index ec572f8389ed..311c1c1e7d6c 100644 --- a/drivers/gpu/drm/msm/dsi/dsi.c +++ b/drivers/gpu/drm/msm/dsi/dsi.c | |||
@@ -18,9 +18,7 @@ struct drm_encoder *msm_dsi_get_encoder(struct msm_dsi *msm_dsi) | |||
18 | if (!msm_dsi || !msm_dsi_device_connected(msm_dsi)) | 18 | if (!msm_dsi || !msm_dsi_device_connected(msm_dsi)) |
19 | return NULL; | 19 | return NULL; |
20 | 20 | ||
21 | return (msm_dsi->device_flags & MIPI_DSI_MODE_VIDEO) ? | 21 | return msm_dsi->encoder; |
22 | msm_dsi->encoders[MSM_DSI_VIDEO_ENCODER_ID] : | ||
23 | msm_dsi->encoders[MSM_DSI_CMD_ENCODER_ID]; | ||
24 | } | 22 | } |
25 | 23 | ||
26 | static int dsi_get_phy(struct msm_dsi *msm_dsi) | 24 | static int dsi_get_phy(struct msm_dsi *msm_dsi) |
@@ -187,14 +185,13 @@ void __exit msm_dsi_unregister(void) | |||
187 | } | 185 | } |
188 | 186 | ||
189 | int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev, | 187 | int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev, |
190 | struct drm_encoder *encoders[MSM_DSI_ENCODER_NUM]) | 188 | struct drm_encoder *encoder) |
191 | { | 189 | { |
192 | struct msm_drm_private *priv = dev->dev_private; | 190 | struct msm_drm_private *priv = dev->dev_private; |
193 | struct drm_bridge *ext_bridge; | 191 | struct drm_bridge *ext_bridge; |
194 | int ret, i; | 192 | int ret; |
195 | 193 | ||
196 | if (WARN_ON(!encoders[MSM_DSI_VIDEO_ENCODER_ID] || | 194 | if (WARN_ON(!encoder)) |
197 | !encoders[MSM_DSI_CMD_ENCODER_ID])) | ||
198 | return -EINVAL; | 195 | return -EINVAL; |
199 | 196 | ||
200 | msm_dsi->dev = dev; | 197 | msm_dsi->dev = dev; |
@@ -205,6 +202,8 @@ int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev, | |||
205 | goto fail; | 202 | goto fail; |
206 | } | 203 | } |
207 | 204 | ||
205 | msm_dsi->encoder = encoder; | ||
206 | |||
208 | msm_dsi->bridge = msm_dsi_manager_bridge_init(msm_dsi->id); | 207 | msm_dsi->bridge = msm_dsi_manager_bridge_init(msm_dsi->id); |
209 | if (IS_ERR(msm_dsi->bridge)) { | 208 | if (IS_ERR(msm_dsi->bridge)) { |
210 | ret = PTR_ERR(msm_dsi->bridge); | 209 | ret = PTR_ERR(msm_dsi->bridge); |
@@ -213,11 +212,6 @@ int msm_dsi_modeset_init(struct msm_dsi *msm_dsi, struct drm_device *dev, | |||
213 | goto fail; | 212 | goto fail; |
214 | } | 213 | } |
215 | 214 | ||
216 | for (i = 0; i < MSM_DSI_ENCODER_NUM; i++) { | ||
217 | encoders[i]->bridge = msm_dsi->bridge; | ||
218 | msm_dsi->encoders[i] = encoders[i]; | ||
219 | } | ||
220 | |||
221 | /* | 215 | /* |
222 | * check if the dsi encoder output is connected to a panel or an | 216 | * check if the dsi encoder output is connected to a panel or an |
223 | * external bridge. We create a connector only if we're connected to a | 217 | * external bridge. We create a connector only if we're connected to a |