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

drm/xlnx: 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: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Cc: Michal Simek <michal.simek@amd.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240924071734.98201-48-tzimmermann@suse.de

+4 -1
+1
drivers/gpu/drm/xlnx/Kconfig
··· 6 6 depends on PHY_XILINX_ZYNQMP 7 7 depends on XILINX_ZYNQMP_DPDMA 8 8 select DMA_ENGINE 9 + select DRM_CLIENT_SELECTION 9 10 select DRM_DISPLAY_DP_HELPER 10 11 select DRM_DISPLAY_HELPER 11 12 select DRM_BRIDGE_CONNECTOR
+3 -1
drivers/gpu/drm/xlnx/zynqmp_kms.c
··· 14 14 #include <drm/drm_blend.h> 15 15 #include <drm/drm_bridge.h> 16 16 #include <drm/drm_bridge_connector.h> 17 + #include <drm/drm_client_setup.h> 17 18 #include <drm/drm_connector.h> 18 19 #include <drm/drm_crtc.h> 19 20 #include <drm/drm_device.h> ··· 403 402 DRIVER_ATOMIC, 404 403 405 404 DRM_GEM_DMA_DRIVER_OPS_WITH_DUMB_CREATE(zynqmp_dpsub_dumb_create), 405 + DRM_FBDEV_DMA_DRIVER_OPS, 406 406 407 407 .fops = &zynqmp_dpsub_drm_fops, 408 408 ··· 525 523 goto err_poll_fini; 526 524 527 525 /* Initialize fbdev generic emulation. */ 528 - drm_fbdev_dma_setup(drm, 24); 526 + drm_client_setup_with_fourcc(drm, DRM_FORMAT_RGB888); 529 527 530 528 return 0; 531 529