Re: [PATCH v2 2/8] drm/msm: Clear aperture ownership outside of fbdev code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/04/2023 15:45, Thomas Zimmermann wrote:
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@xxxxxxx>
---
  drivers/gpu/drm/msm/msm_drv.c   | 6 ++++++
  drivers/gpu/drm/msm/msm_fbdev.c | 6 ------
  2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index aca48c868c14..2a1c6ced82c9 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -12,6 +12,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>
@@ -451,6 +452,11 @@ static int msm_drm_init(struct device *dev, const struct drm_driver *drv)
  	if (ret)
  		goto err_drm_dev_put;
+ /* the fw fb could be anywhere in memory */
+	ret = drm_aperture_remove_framebuffers(false, drv);
+	if (ret)
+		goto err_drm_dev_put;

This should be goto err_msm_uninit to unbind devices. I'll fix this while applying.

+
  	dma_set_max_seg_size(dev, UINT_MAX);
msm_gem_shrinker_init(ddev);
diff --git a/drivers/gpu/drm/msm/msm_fbdev.c b/drivers/gpu/drm/msm/msm_fbdev.c
index d26aa52217ce..fc7d0406a9f9 100644
--- a/drivers/gpu/drm/msm/msm_fbdev.c
+++ b/drivers/gpu/drm/msm/msm_fbdev.c
@@ -4,7 +4,6 @@
   * Author: Rob Clark <robdclark@xxxxxxxxx>
   */
-#include <drm/drm_aperture.h>
  #include <drm/drm_crtc.h>
  #include <drm/drm_fb_helper.h>
  #include <drm/drm_fourcc.h>
@@ -154,11 +153,6 @@ struct drm_fb_helper *msm_fbdev_init(struct drm_device *dev)
  		goto fail;
  	}
- /* the fw fb could be anywhere in memory */
-	ret = drm_aperture_remove_framebuffers(false, dev->driver);
-	if (ret)
-		goto fini;
-
  	ret = drm_fb_helper_initial_config(helper);
  	if (ret)
  		goto fini;

--
With best wishes
Dmitry




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux