diff options
| -rw-r--r-- | drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 10 | 
1 files changed, 10 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c index 212bd87c0c4a..b730b8d5d949 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c @@ -16,6 +16,7 @@  #include <linux/console.h>  #include <linux/iommu.h> +#include <drm/drm_aperture.h>  #include <drm/drm_drv.h>  #include <drm/drm_fb_helper.h>  #include <drm/drm_gem_cma_helper.h> @@ -114,6 +115,15 @@ static int rockchip_drm_bind(struct device *dev)  	struct rockchip_drm_private *private;  	int ret; +	/* Remove existing drivers that may own the framebuffer memory. */ +	ret = drm_aperture_remove_framebuffers(false, "rockchip-drm-fb"); +	if (ret) { +		DRM_DEV_ERROR(dev, +			      "Failed to remove existing framebuffers - %d.\n", +			      ret); +		return ret; +	} +  	drm_dev = drm_dev_alloc(&rockchip_drm_driver, dev);  	if (IS_ERR(drm_dev))  		return PTR_ERR(drm_dev); | 
