drm/stm: remove conflicting framebuffers
authorYannick Fertre <yannick.fertre@foss.st.com>
Mon, 6 Dec 2021 13:47:35 +0000 (14:47 +0100)
committerPhilippe Cornu <philippe.cornu@foss.st.com>
Tue, 4 Jan 2022 13:36:48 +0000 (14:36 +0100)
In case of using simplefb or another conflicting framebuffer,
call drm_aperture_remove_framebuffers() to remove memory allocated.

Signed-off-by: Yannick Fertre <yannick.fertre@foss.st.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Philippe Cornu <philippe.cornu@foss.st.com>
Signed-off-by: Philippe Cornu <philippe.cornu@foss.st.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211206134735.13537-1-yannick.fertre@foss.st.com
drivers/gpu/drm/stm/drv.c

index 222869b..9f441aa 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/of_platform.h>
 #include <linux/pm_runtime.h>
 
+#include <drm/drm_aperture.h>
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_drv.h>
@@ -183,6 +184,10 @@ static int stm_drm_platform_probe(struct platform_device *pdev)
 
        DRM_DEBUG("%s\n", __func__);
 
+       ret = drm_aperture_remove_framebuffers(false, &drv_driver);
+       if (ret)
+               return ret;
+
        dma_set_coherent_mask(dev, DMA_BIT_MASK(32));
 
        ddev = drm_dev_alloc(&drv_driver, dev);