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

drm/vc4: 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: Maxime Ripard <mripard@kernel.org>
Cc: Dave Stevenson <dave.stevenson@raspberrypi.com>
Cc: Raspberry Pi Kernel Maintenance <kernel-list@raspberrypi.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240924071734.98201-47-tzimmermann@suse.de

+5 -1
+1
drivers/gpu/drm/vc4/Kconfig
··· 9 9 depends on SND && SND_SOC 10 10 depends on COMMON_CLK 11 11 depends on PM 12 + select DRM_CLIENT_SELECTION 12 13 select DRM_DISPLAY_HDMI_HELPER 13 14 select DRM_DISPLAY_HDMI_STATE_HELPER 14 15 select DRM_DISPLAY_HELPER
+4 -1
drivers/gpu/drm/vc4/vc4_drv.c
··· 32 32 33 33 #include <drm/drm_aperture.h> 34 34 #include <drm/drm_atomic_helper.h> 35 + #include <drm/drm_client_setup.h> 35 36 #include <drm/drm_drv.h> 36 37 #include <drm/drm_fbdev_dma.h> 38 + #include <drm/drm_fourcc.h> 37 39 #include <drm/drm_vblank.h> 38 40 39 41 #include <soc/bcm2835/raspberrypi-firmware.h> ··· 214 212 .gem_create_object = vc4_create_object, 215 213 216 214 DRM_GEM_DMA_DRIVER_OPS_WITH_DUMB_CREATE(vc4_bo_dumb_create), 215 + DRM_FBDEV_DMA_DRIVER_OPS, 217 216 218 217 .ioctls = vc4_drm_ioctls, 219 218 .num_ioctls = ARRAY_SIZE(vc4_drm_ioctls), ··· 396 393 if (ret < 0) 397 394 goto err; 398 395 399 - drm_fbdev_dma_setup(drm, 16); 396 + drm_client_setup_with_fourcc(drm, DRM_FORMAT_RGB565); 400 397 401 398 return 0; 402 399