Message ID | 20230403124538.8497-3-tzimmermann@suse.de (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | drm/msm: Convert fbdev to DRM client | expand |
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@suse.de> > --- > drivers/gpu/drm/msm/msm_drv.c | 6 ++++++ > drivers/gpu/drm/msm/msm_fbdev.c | 6 ------ > 2 files changed, 6 insertions(+), 6 deletions(-) Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
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@suse.de> > --- > 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@gmail.com> > */ > > -#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;
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; + 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@gmail.com> */ -#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;
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> --- drivers/gpu/drm/msm/msm_drv.c | 6 ++++++ drivers/gpu/drm/msm/msm_fbdev.c | 6 ------ 2 files changed, 6 insertions(+), 6 deletions(-)