diff mbox series

drm/mediatek: Only try to attach bridge if there is one

Message ID 20181126040737.138682-1-drinkcat@chromium.org (mailing list archive)
State New, archived
Headers show
Series drm/mediatek: Only try to attach bridge if there is one | expand

Commit Message

Nicolas Boichat Nov. 26, 2018, 4:07 a.m. UTC
Even if dsi->bridge is NULL, we still try to call drm_bridge_attach,
and print out an error message, before creating the connector.

When no bridge is provided, let's skip these 2 steps and directly
create the connector.

Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
---
 drivers/gpu/drm/mediatek/mtk_dsi.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

Comments

CK Hu (胡俊光) Nov. 26, 2018, 5:30 a.m. UTC | #1
Hi, Nicolas:

On Mon, 2018-11-26 at 12:07 +0800, Nicolas Boichat wrote:
> Even if dsi->bridge is NULL, we still try to call drm_bridge_attach,
> and print out an error message, before creating the connector.
> 
> When no bridge is provided, let's skip these 2 steps and directly
> create the connector.

Reviewed-by: CK Hu <ck.hu@mediatek.com>

> 
> Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
> ---
>  drivers/gpu/drm/mediatek/mtk_dsi.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
> index 66df1b17795921..27b507eb4a997d 100644
> --- a/drivers/gpu/drm/mediatek/mtk_dsi.c
> +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
> @@ -818,10 +818,13 @@ static int mtk_dsi_create_conn_enc(struct drm_device *drm, struct mtk_dsi *dsi)
>  	dsi->encoder.possible_crtcs = 1;
>  
>  	/* If there's a bridge, attach to it and let it create the connector */
> -	ret = drm_bridge_attach(&dsi->encoder, dsi->bridge, NULL);
> -	if (ret) {
> -		DRM_ERROR("Failed to attach bridge to drm\n");
> -
> +	if (dsi->bridge) {
> +		ret = drm_bridge_attach(&dsi->encoder, dsi->bridge, NULL);
> +		if (ret) {
> +			DRM_ERROR("Failed to attach bridge to drm\n");
> +			goto err_encoder_cleanup;
> +		}
> +	} else {
>  		/* Otherwise create our own connector and attach to a panel */
>  		ret = mtk_dsi_create_connector(drm, dsi);
>  		if (ret)
Andrzej Hajda Nov. 26, 2018, 6:58 a.m. UTC | #2
On 26.11.2018 05:07, Nicolas Boichat wrote:
> Even if dsi->bridge is NULL, we still try to call drm_bridge_attach,
> and print out an error message, before creating the connector.
>
> When no bridge is provided, let's skip these 2 steps and directly
> create the connector.
>
> Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>


 --

Regards
Andrzej
CK Hu (胡俊光) Dec. 3, 2018, 3:27 a.m. UTC | #3
Hi, Nicolas:

On Mon, 2018-11-26 at 13:30 +0800, CK Hu wrote:
> Hi, Nicolas:
> 
> On Mon, 2018-11-26 at 12:07 +0800, Nicolas Boichat wrote:
> > Even if dsi->bridge is NULL, we still try to call drm_bridge_attach,
> > and print out an error message, before creating the connector.
> > 
> > When no bridge is provided, let's skip these 2 steps and directly
> > create the connector.
> 

Applied to mediatek-drm-fixes-4.20 [1], thanks.

[1]
https://github.com/ckhu-mediatek/linux.git-tags/commits/mediatek-drm-fixes-4.20

Regards,
CK

> Reviewed-by: CK Hu <ck.hu@mediatek.com>
> 
> > 
> > Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
> > ---
> >  drivers/gpu/drm/mediatek/mtk_dsi.c | 11 +++++++----
> >  1 file changed, 7 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
> > index 66df1b17795921..27b507eb4a997d 100644
> > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c
> > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
> > @@ -818,10 +818,13 @@ static int mtk_dsi_create_conn_enc(struct drm_device *drm, struct mtk_dsi *dsi)
> >  	dsi->encoder.possible_crtcs = 1;
> >  
> >  	/* If there's a bridge, attach to it and let it create the connector */
> > -	ret = drm_bridge_attach(&dsi->encoder, dsi->bridge, NULL);
> > -	if (ret) {
> > -		DRM_ERROR("Failed to attach bridge to drm\n");
> > -
> > +	if (dsi->bridge) {
> > +		ret = drm_bridge_attach(&dsi->encoder, dsi->bridge, NULL);
> > +		if (ret) {
> > +			DRM_ERROR("Failed to attach bridge to drm\n");
> > +			goto err_encoder_cleanup;
> > +		}
> > +	} else {
> >  		/* Otherwise create our own connector and attach to a panel */
> >  		ret = mtk_dsi_create_connector(drm, dsi);
> >  		if (ret)
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
index 66df1b17795921..27b507eb4a997d 100644
--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
@@ -818,10 +818,13 @@  static int mtk_dsi_create_conn_enc(struct drm_device *drm, struct mtk_dsi *dsi)
 	dsi->encoder.possible_crtcs = 1;
 
 	/* If there's a bridge, attach to it and let it create the connector */
-	ret = drm_bridge_attach(&dsi->encoder, dsi->bridge, NULL);
-	if (ret) {
-		DRM_ERROR("Failed to attach bridge to drm\n");
-
+	if (dsi->bridge) {
+		ret = drm_bridge_attach(&dsi->encoder, dsi->bridge, NULL);
+		if (ret) {
+			DRM_ERROR("Failed to attach bridge to drm\n");
+			goto err_encoder_cleanup;
+		}
+	} else {
 		/* Otherwise create our own connector and attach to a panel */
 		ret = mtk_dsi_create_connector(drm, dsi);
 		if (ret)