diff mbox series

drm/armada: replace the simple-framebuffer

Message ID 20190121060157.549544-1-lkundrak@v3.sk (mailing list archive)
State New, archived
Headers show
Series drm/armada: replace the simple-framebuffer | expand

Commit Message

Lubomir Rintel Jan. 21, 2019, 6:01 a.m. UTC
If there's a simple-framebuffer carried over from boot firmware, it's going
to stop working once we setup the LCDC for use via DRM. Kick it off from
the hardware.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 drivers/gpu/drm/armada/armada_drv.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

Comments

Russell King (Oracle) Jan. 22, 2019, 7:03 p.m. UTC | #1
On Mon, Jan 21, 2019 at 07:01:57AM +0100, Lubomir Rintel wrote:
> If there's a simple-framebuffer carried over from boot firmware, it's going
> to stop working once we setup the LCDC for use via DRM. Kick it off from
> the hardware.

Applied, thanks.

> 
> Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
> ---
>  drivers/gpu/drm/armada/armada_drv.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
> index fa31589b4fc0..9fcf88c91758 100644
> --- a/drivers/gpu/drm/armada/armada_drv.c
> +++ b/drivers/gpu/drm/armada/armada_drv.c
> @@ -100,6 +100,17 @@ static int armada_drm_bind(struct device *dev)
>  		return ret;
>  	}
>  
> +	/* Remove early framebuffers */
> +	ret = drm_fb_helper_remove_conflicting_framebuffers(NULL,
> +							    "armada-drm-fb",
> +							    false);
> +	if (ret) {
> +		dev_err(dev, "[" DRM_NAME ":%s] can't kick out simple-fb: %d\n",
> +			__func__, ret);
> +		kfree(priv);
> +		return ret;
> +	}
> +
>  	priv->drm.dev_private = priv;
>  
>  	dev_set_drvdata(dev, &priv->drm);
> -- 
> 2.20.1
> 
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/armada/armada_drv.c b/drivers/gpu/drm/armada/armada_drv.c
index fa31589b4fc0..9fcf88c91758 100644
--- a/drivers/gpu/drm/armada/armada_drv.c
+++ b/drivers/gpu/drm/armada/armada_drv.c
@@ -100,6 +100,17 @@  static int armada_drm_bind(struct device *dev)
 		return ret;
 	}
 
+	/* Remove early framebuffers */
+	ret = drm_fb_helper_remove_conflicting_framebuffers(NULL,
+							    "armada-drm-fb",
+							    false);
+	if (ret) {
+		dev_err(dev, "[" DRM_NAME ":%s] can't kick out simple-fb: %d\n",
+			__func__, ret);
+		kfree(priv);
+		return ret;
+	}
+
 	priv->drm.dev_private = priv;
 
 	dev_set_drvdata(dev, &priv->drm);