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

drm/ingenic: Run DRM default client setup

Call drm_client_setup() 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.

The ingenic driver specifies a preferred color mode of 32. As this
is the default if no format has been given, leave it out entirely.

v5:
- select DRM_CLIENT_SELECTION

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Paul Cercueil <paul@crapouillou.net>
Acked-by: Paul Cercueil <paul@crapouillou.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20240924071734.98201-23-tzimmermann@suse.de

+4 -1
+1
drivers/gpu/drm/ingenic/Kconfig
··· 6 6 depends on OF 7 7 depends on COMMON_CLK 8 8 select DRM_BRIDGE 9 + select DRM_CLIENT_SELECTION 9 10 select DRM_PANEL_BRIDGE 10 11 select DRM_KMS_HELPER 11 12 select DRM_DISPLAY_HELPER
+3 -1
drivers/gpu/drm/ingenic/ingenic-drm-drv.c
··· 24 24 #include <drm/drm_atomic_helper.h> 25 25 #include <drm/drm_bridge.h> 26 26 #include <drm/drm_bridge_connector.h> 27 + #include <drm/drm_client_setup.h> 27 28 #include <drm/drm_color_mgmt.h> 28 29 #include <drm/drm_crtc.h> 29 30 #include <drm/drm_damage_helper.h> ··· 961 960 .fops = &ingenic_drm_fops, 962 961 .gem_create_object = ingenic_drm_gem_create_object, 963 962 DRM_GEM_DMA_DRIVER_OPS, 963 + DRM_FBDEV_DMA_DRIVER_OPS, 964 964 }; 965 965 966 966 static const struct drm_plane_funcs ingenic_drm_primary_plane_funcs = { ··· 1401 1399 goto err_clk_notifier_unregister; 1402 1400 } 1403 1401 1404 - drm_fbdev_dma_setup(drm, 32); 1402 + drm_client_setup(drm, NULL); 1405 1403 1406 1404 return 0; 1407 1405