Message ID | 20211019080942.24356-1-tzimmermann@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/gma500: Remove generic DRM drivers in probe function | expand |
On Tue, Oct 19, 2021 at 10:09:42AM +0200, Thomas Zimmermann wrote: > Gma500 currently removes generic fbdev drivers, but ignores > generic DRM drivers. Use aperture helpers to remove all generic > graphics drivers before loading gma500. Makes gma500 compatible > with simpledrm. > > Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> > --- > drivers/gpu/drm/gma500/psb_drv.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c > index 7a10bb39ef0b..7ea82d7ddfcc 100644 > --- a/drivers/gpu/drm/gma500/psb_drv.c > +++ b/drivers/gpu/drm/gma500/psb_drv.c > @@ -19,6 +19,7 @@ > #include <acpi/video.h> > > #include <drm/drm.h> > +#include <drm/drm_aperture.h> > #include <drm/drm_drv.h> > #include <drm/drm_fb_helper.h> > #include <drm/drm_file.h> > @@ -448,6 +449,17 @@ static int psb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > struct drm_device *dev; > int ret; > > + /* > + * We cannot yet easily find the framebuffer's location in memory. So > + * remove all framebuffers here. > + * > + * TODO: Refactor psb_driver_load() to map vdc_reg earlier. Then we > + * might be able to read the framebuffer range from the device. > + */ > + ret = drm_aperture_remove_framebuffers(true, &driver); > + if (ret) > + return ret; > + > ret = pcim_enable_device(pdev); > if (ret) > return ret; > > base-commit: 762b53b56af425f89f892e99583dfd84c73d731c > -- > 2.33.0 >
diff --git a/drivers/gpu/drm/gma500/psb_drv.c b/drivers/gpu/drm/gma500/psb_drv.c index 7a10bb39ef0b..7ea82d7ddfcc 100644 --- a/drivers/gpu/drm/gma500/psb_drv.c +++ b/drivers/gpu/drm/gma500/psb_drv.c @@ -19,6 +19,7 @@ #include <acpi/video.h> #include <drm/drm.h> +#include <drm/drm_aperture.h> #include <drm/drm_drv.h> #include <drm/drm_fb_helper.h> #include <drm/drm_file.h> @@ -448,6 +449,17 @@ static int psb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) struct drm_device *dev; int ret; + /* + * We cannot yet easily find the framebuffer's location in memory. So + * remove all framebuffers here. + * + * TODO: Refactor psb_driver_load() to map vdc_reg earlier. Then we + * might be able to read the framebuffer range from the device. + */ + ret = drm_aperture_remove_framebuffers(true, &driver); + if (ret) + return ret; + ret = pcim_enable_device(pdev); if (ret) return ret;
Gma500 currently removes generic fbdev drivers, but ignores generic DRM drivers. Use aperture helpers to remove all generic graphics drivers before loading gma500. Makes gma500 compatible with simpledrm. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> --- drivers/gpu/drm/gma500/psb_drv.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) base-commit: 762b53b56af425f89f892e99583dfd84c73d731c -- 2.33.0