summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/msm/msm_drv.c
diff options
context:
space:
mode:
authorThomas Zimmermann <tzimmermann@suse.de>2023-04-03 14:45:32 +0200
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>2023-04-06 20:29:40 +0300
commit3aa4e828be97b9bacad5679201e22796f15e763b (patch)
tree22eaf4ff8ba61cb9f61c5d567b7c4dcecccb1e9a /drivers/gpu/drm/msm/msm_drv.c
parent25c83fd999e6eb787f08f4e3293e8bca45e7b14b (diff)
drm/msm: Clear aperture ownership outside of fbdev code
Move aperture management out of the fbdev code. It is unrelated and needs to run even if fbdev support has been disabled. Call the helper at the top of msm_drm_init() to take over hardware from other drivers. v2: * bind all subdevices before acquiring device (Dmitri) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Patchwork: https://patchwork.freedesktop.org/patch/530553/ Link: https://lore.kernel.org/r/20230403124538.8497-3-tzimmermann@suse.de Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Diffstat (limited to 'drivers/gpu/drm/msm/msm_drv.c')
-rw-r--r--drivers/gpu/drm/msm/msm_drv.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index 8972331fa0bb..2119060ae1fe 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -13,6 +13,7 @@
#include <linux/uaccess.h>
#include <uapi/linux/sched/types.h>
+#include <drm/drm_aperture.h>
#include <drm/drm_bridge.h>
#include <drm/drm_drv.h>
#include <drm/drm_file.h>
@@ -465,6 +466,11 @@ static int msm_drm_init(struct device *dev, const struct drm_driver *drv)
if (ret)
goto err_deinit_vram;
+ /* the fw fb could be anywhere in memory */
+ ret = drm_aperture_remove_framebuffers(false, drv);
+ if (ret)
+ goto err_msm_uninit;
+
dma_set_max_seg_size(dev, UINT_MAX);
msm_gem_shrinker_init(ddev);