diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2021-07-04 23:05:31 -0700 | 
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2021-07-04 23:05:31 -0700 | 
| commit | 818b26588994d9d95743fca0a427f08ec6c1c41d (patch) | |
| tree | 870d9abed0e43b82257350a93e6517816815cd6c /drivers/gpu/drm/imx | |
| parent | 45a4b68354ffccbc9ca71027bd34754ca24f5183 (diff) | |
| parent | f8f84af5da9ee04ef1d271528656dac42a090d00 (diff) | |
Merge branch 'next' into for-linus
Prepare input updates for 5.14 merge window.
Diffstat (limited to 'drivers/gpu/drm/imx')
| -rw-r--r-- | drivers/gpu/drm/imx/imx-drm-core.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/imx/imx-ldb.c | 12 | 
2 files changed, 12 insertions, 2 deletions
| diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c index d1a9841adeed..e6a88c8cbd69 100644 --- a/drivers/gpu/drm/imx/imx-drm-core.c +++ b/drivers/gpu/drm/imx/imx-drm-core.c @@ -215,7 +215,7 @@ static int imx_drm_bind(struct device *dev)  	ret = drmm_mode_config_init(drm);  	if (ret) -		return ret; +		goto err_kms;  	ret = drm_vblank_init(drm, MAX_CRTC);  	if (ret) diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c index dbfe39e2f7f6..ffdc492c5bc5 100644 --- a/drivers/gpu/drm/imx/imx-ldb.c +++ b/drivers/gpu/drm/imx/imx-ldb.c @@ -197,6 +197,11 @@ static void imx_ldb_encoder_enable(struct drm_encoder *encoder)  	int dual = ldb->ldb_ctrl & LDB_SPLIT_MODE_EN;  	int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder); +	if (mux < 0 || mux >= ARRAY_SIZE(ldb->clk_sel)) { +		dev_warn(ldb->dev, "%s: invalid mux %d\n", __func__, mux); +		return; +	} +  	drm_panel_prepare(imx_ldb_ch->panel);  	if (dual) { @@ -255,6 +260,11 @@ imx_ldb_encoder_atomic_mode_set(struct drm_encoder *encoder,  	int mux = drm_of_encoder_active_port_id(imx_ldb_ch->child, encoder);  	u32 bus_format = imx_ldb_ch->bus_format; +	if (mux < 0 || mux >= ARRAY_SIZE(ldb->clk_sel)) { +		dev_warn(ldb->dev, "%s: invalid mux %d\n", __func__, mux); +		return; +	} +  	if (mode->clock > 170000) {  		dev_warn(ldb->dev,  			 "%s: mode exceeds 170 MHz pixel clock\n", __func__); @@ -583,7 +593,7 @@ static int imx_ldb_bind(struct device *dev, struct device *master, void *data)  		struct imx_ldb_channel *channel = &imx_ldb->channel[i];  		if (!channel->ldb) -			break; +			continue;  		ret = imx_ldb_register(drm, channel);  		if (ret) | 
