drm/arcgpu: Run DRM default client setup
authorThomas Zimmermann <tzimmermann@suse.de>
Tue, 24 Sep 2024 07:12:04 +0000 (09:12 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Thu, 26 Sep 2024 06:27:53 +0000 (08:27 +0200)
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: Alexey Brodkin <abrodkin@synopsys.com>
Acked-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240924071734.98201-7-tzimmermann@suse.de
drivers/gpu/drm/tiny/Kconfig
drivers/gpu/drm/tiny/arcpgu.c

index 8f206c6..750616a 100644 (file)
@@ -3,6 +3,7 @@
 config DRM_ARCPGU
        tristate "ARC PGU"
        depends on DRM && OF
+       select DRM_CLIENT_SELECTION
        select DRM_GEM_DMA_HELPER
        select DRM_KMS_HELPER
        help
index 4f8f317..81abede 100644 (file)
@@ -7,6 +7,7 @@
 
 #include <linux/clk.h>
 #include <drm/drm_atomic_helper.h>
+#include <drm/drm_client_setup.h>
 #include <drm/drm_debugfs.h>
 #include <drm/drm_device.h>
 #include <drm/drm_drv.h>
@@ -371,6 +372,7 @@ static const struct drm_driver arcpgu_drm_driver = {
        .patchlevel = 0,
        .fops = &arcpgu_drm_ops,
        DRM_GEM_DMA_DRIVER_OPS,
+       DRM_FBDEV_DMA_DRIVER_OPS,
 #ifdef CONFIG_DEBUG_FS
        .debugfs_init = arcpgu_debugfs_init,
 #endif
@@ -394,7 +396,7 @@ static int arcpgu_probe(struct platform_device *pdev)
        if (ret)
                goto err_unload;
 
-       drm_fbdev_dma_setup(&arcpgu->drm, 16);
+       drm_client_setup_with_fourcc(&arcpgu->drm, DRM_FORMAT_RGB565);
 
        return 0;