Message ID | 20240821130348.73038-57-tzimmermann@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm: Provide client setup helper and convert drivers | expand |
On 21/08/2024 14:59, Thomas Zimmermann wrote: > Call drm_client_setup_with_fourcc() to run the kernel's default client > setup for DRM. Set fbdev_probe in struct drm_driver, so that the client > setup can start the common fbdev client. Thanks for this whole series. Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com> > > v2: > - use drm_client_setup_with_fourcc() > > Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> > Cc: Dave Airlie <airlied@redhat.com> > Cc: Thomas Zimmermann <tzimmermann@suse.de> > Cc: Jocelyn Falempe <jfalempe@redhat.com> > --- > drivers/gpu/drm/drm_client_setup.c | 2 +- > drivers/gpu/drm/mgag200/mgag200_drv.c | 5 ++++- > 2 files changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_client_setup.c b/drivers/gpu/drm/drm_client_setup.c > index c8ca5afaa47a..5373a892f097 100644 > --- a/drivers/gpu/drm/drm_client_setup.c > +++ b/drivers/gpu/drm/drm_client_setup.c > @@ -64,6 +64,6 @@ void drm_client_setup_with_color_mode(struct drm_device *dev, unsigned int color > { > u32 fourcc = drm_driver_color_mode_format(dev, color_mode); > > - drm_client_setup_with_fourcc(dev, fmt); > + drm_client_setup_with_fourcc(dev, fourcc); > } > EXPORT_SYMBOL(drm_client_setup_with_color_mode); > diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c > index 6623ee4e3277..29087e2398df 100644 > --- a/drivers/gpu/drm/mgag200/mgag200_drv.c > +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c > @@ -11,9 +11,11 @@ > > #include <drm/drm_aperture.h> > #include <drm/drm_atomic_helper.h> > +#include <drm/drm_client_setup.h> > #include <drm/drm_drv.h> > #include <drm/drm_fbdev_shmem.h> > #include <drm/drm_file.h> > +#include <drm/drm_fourcc.h> > #include <drm/drm_ioctl.h> > #include <drm/drm_managed.h> > #include <drm/drm_module.h> > @@ -129,6 +131,7 @@ static const struct drm_driver mgag200_driver = { > .minor = DRIVER_MINOR, > .patchlevel = DRIVER_PATCHLEVEL, > DRM_GEM_SHMEM_DRIVER_OPS, > + DRM_FBDEV_SHMEM_DRIVER_OPS, > }; > > /* > @@ -314,7 +317,7 @@ mgag200_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > * FIXME: A 24-bit color depth does not work with 24 bpp on > * G200ER. Force 32 bpp. > */ > - drm_fbdev_shmem_setup(dev, 32); > + drm_client_setup_with_fourcc(dev, DRM_FORMAT_XRGB8888); > > return 0; > }
diff --git a/drivers/gpu/drm/drm_client_setup.c b/drivers/gpu/drm/drm_client_setup.c index c8ca5afaa47a..5373a892f097 100644 --- a/drivers/gpu/drm/drm_client_setup.c +++ b/drivers/gpu/drm/drm_client_setup.c @@ -64,6 +64,6 @@ void drm_client_setup_with_color_mode(struct drm_device *dev, unsigned int color { u32 fourcc = drm_driver_color_mode_format(dev, color_mode); - drm_client_setup_with_fourcc(dev, fmt); + drm_client_setup_with_fourcc(dev, fourcc); } EXPORT_SYMBOL(drm_client_setup_with_color_mode); diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 6623ee4e3277..29087e2398df 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -11,9 +11,11 @@ #include <drm/drm_aperture.h> #include <drm/drm_atomic_helper.h> +#include <drm/drm_client_setup.h> #include <drm/drm_drv.h> #include <drm/drm_fbdev_shmem.h> #include <drm/drm_file.h> +#include <drm/drm_fourcc.h> #include <drm/drm_ioctl.h> #include <drm/drm_managed.h> #include <drm/drm_module.h> @@ -129,6 +131,7 @@ static const struct drm_driver mgag200_driver = { .minor = DRIVER_MINOR, .patchlevel = DRIVER_PATCHLEVEL, DRM_GEM_SHMEM_DRIVER_OPS, + DRM_FBDEV_SHMEM_DRIVER_OPS, }; /* @@ -314,7 +317,7 @@ mgag200_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) * FIXME: A 24-bit color depth does not work with 24 bpp on * G200ER. Force 32 bpp. */ - drm_fbdev_shmem_setup(dev, 32); + drm_client_setup_with_fourcc(dev, DRM_FORMAT_XRGB8888); return 0; }
Call drm_client_setup_with_fourcc() to run the kernel's default client setup for DRM. Set fbdev_probe in struct drm_driver, so that the client setup can start the common fbdev client. v2: - use drm_client_setup_with_fourcc() Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Cc: Dave Airlie <airlied@redhat.com> Cc: Thomas Zimmermann <tzimmermann@suse.de> Cc: Jocelyn Falempe <jfalempe@redhat.com> --- drivers/gpu/drm/drm_client_setup.c | 2 +- drivers/gpu/drm/mgag200/mgag200_drv.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-)