diff options
Diffstat (limited to 'drivers/gpu/drm/imx/imx-ldb.c')
-rw-r--r-- | drivers/gpu/drm/imx/imx-ldb.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c index d38648a7ef2d..d88ac6f2222a 100644 --- a/drivers/gpu/drm/imx/imx-ldb.c +++ b/drivers/gpu/drm/imx/imx-ldb.c | |||
@@ -206,6 +206,11 @@ static void imx_ldb_encoder_enable(struct drm_encoder *encoder) | |||
206 | int dual = ldb->ldb_ctrl & LDB_SPLIT_MODE_EN; | 206 | int dual = ldb->ldb_ctrl & LDB_SPLIT_MODE_EN; |
207 | int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder); | 207 | int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder); |
208 | 208 | ||
209 | if (mux < 0 || mux >= ARRAY_SIZE(ldb->clk_sel)) { | ||
210 | dev_warn(ldb->dev, "%s: invalid mux %d\n", __func__, mux); | ||
211 | return; | ||
212 | } | ||
213 | |||
209 | drm_panel_prepare(imx_ldb_ch->panel); | 214 | drm_panel_prepare(imx_ldb_ch->panel); |
210 | 215 | ||
211 | if (dual) { | 216 | if (dual) { |
@@ -264,6 +269,11 @@ imx_ldb_encoder_atomic_mode_set(struct drm_encoder *encoder, | |||
264 | int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder); | 269 | int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder); |
265 | u32 bus_format = imx_ldb_ch->bus_format; | 270 | u32 bus_format = imx_ldb_ch->bus_format; |
266 | 271 | ||
272 | if (mux < 0 || mux >= ARRAY_SIZE(ldb->clk_sel)) { | ||
273 | dev_warn(ldb->dev, "%s: invalid mux %d\n", __func__, mux); | ||
274 | return; | ||
275 | } | ||
276 | |||
267 | if (mode->clock > 170000) { | 277 | if (mode->clock > 170000) { |
268 | dev_warn(ldb->dev, | 278 | dev_warn(ldb->dev, |
269 | "%s: mode exceeds 170 MHz pixel clock\n", __func__); | 279 | "%s: mode exceeds 170 MHz pixel clock\n", __func__); |