Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/mgag200: Run DRM default client setup

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.

v5:
- select DRM_CLIENT_SELECTION
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>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240924071734.98201-57-tzimmermann@suse.de

+5 -1
+1
drivers/gpu/drm/mgag200/Kconfig
··· 2 2 config DRM_MGAG200 3 3 tristate "Matrox G200" 4 4 depends on DRM && PCI && MMU 5 + select DRM_CLIENT_SELECTION 5 6 select DRM_GEM_SHMEM_HELPER 6 7 select DRM_KMS_HELPER 7 8 select I2C
+4 -1
drivers/gpu/drm/mgag200/mgag200_drv.c
··· 11 11 12 12 #include <drm/drm_aperture.h> 13 13 #include <drm/drm_atomic_helper.h> 14 + #include <drm/drm_client_setup.h> 14 15 #include <drm/drm_drv.h> 15 16 #include <drm/drm_fbdev_shmem.h> 16 17 #include <drm/drm_file.h> 18 + #include <drm/drm_fourcc.h> 17 19 #include <drm/drm_ioctl.h> 18 20 #include <drm/drm_managed.h> 19 21 #include <drm/drm_module.h> ··· 131 129 .minor = DRIVER_MINOR, 132 130 .patchlevel = DRIVER_PATCHLEVEL, 133 131 DRM_GEM_SHMEM_DRIVER_OPS, 132 + DRM_FBDEV_SHMEM_DRIVER_OPS, 134 133 }; 135 134 136 135 /* ··· 317 314 * FIXME: A 24-bit color depth does not work with 24 bpp on 318 315 * G200ER. Force 32 bpp. 319 316 */ 320 - drm_fbdev_shmem_setup(dev, 32); 317 + drm_client_setup_with_fourcc(dev, DRM_FORMAT_XRGB8888); 321 318 322 319 return 0; 323 320 }