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 <tzimmerm...@suse.de>
Cc: Maxime Ripard <mrip...@kernel.org>
Cc: Dave Stevenson <dave.steven...@raspberrypi.com>
Cc: Raspberry Pi Kernel Maintenance <kernel-l...@raspberrypi.com>
Reviewed-by: Dave Stevenson <dave.steven...@raspberrypi.com>
---
 drivers/gpu/drm/vc4/Kconfig   | 1 +
 drivers/gpu/drm/vc4/vc4_drv.c | 5 ++++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/vc4/Kconfig b/drivers/gpu/drm/vc4/Kconfig
index 269b5f26b2ea..c5f30b317698 100644
--- a/drivers/gpu/drm/vc4/Kconfig
+++ b/drivers/gpu/drm/vc4/Kconfig
@@ -9,6 +9,7 @@ config DRM_VC4
        depends on SND && SND_SOC
        depends on COMMON_CLK
        depends on PM
+       select DRM_CLIENT_SELECTION
        select DRM_DISPLAY_HDMI_HELPER
        select DRM_DISPLAY_HDMI_STATE_HELPER
        select DRM_DISPLAY_HELPER
diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
index 8c104ace3dc6..13a1ecddbca3 100644
--- a/drivers/gpu/drm/vc4/vc4_drv.c
+++ b/drivers/gpu/drm/vc4/vc4_drv.c
@@ -32,8 +32,10 @@
 
 #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_dma.h>
+#include <drm/drm_fourcc.h>
 #include <drm/drm_vblank.h>
 
 #include <soc/bcm2835/raspberrypi-firmware.h>
@@ -212,6 +214,7 @@ const struct drm_driver vc4_drm_driver = {
        .gem_create_object = vc4_create_object,
 
        DRM_GEM_DMA_DRIVER_OPS_WITH_DUMB_CREATE(vc4_bo_dumb_create),
+       DRM_FBDEV_DMA_DRIVER_OPS,
 
        .ioctls = vc4_drm_ioctls,
        .num_ioctls = ARRAY_SIZE(vc4_drm_ioctls),
@@ -393,7 +396,7 @@ static int vc4_drm_bind(struct device *dev)
        if (ret < 0)
                goto err;
 
-       drm_fbdev_dma_setup(drm, 16);
+       drm_client_setup_with_fourcc(drm, DRM_FORMAT_RGB565);
 
        return 0;
 
-- 
2.46.0

Reply via email to