]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/client: Create client buffers with drm_client_buffer_create_dumb()
authorThomas Zimmermann <tzimmermann@suse.de>
Mon, 27 Oct 2025 12:09:17 +0000 (13:09 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Thu, 30 Oct 2025 20:01:35 +0000 (21:01 +0100)
Rename drm_client_framebuffer_create() to drm_client_buffer_create_dump()
and adapt callers. The new name reflects the function's purpose. Using
dumb buffers is the easiest way for creating a GEM buffer in a drivers-
independent way.

There's also drm_client_buffer_create(), which creates the client buffer
from a preexisting buffer object. This helper can be exported for drivers
that create their own GEM buffer object.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Tested-by: Francesco Valla <francesco@valla.it>
Link: https://patch.msgid.link/20251027121042.143588-7-tzimmermann@suse.de
drivers/gpu/drm/clients/drm_log.c
drivers/gpu/drm/drm_client.c
drivers/gpu/drm/drm_fbdev_dma.c
drivers/gpu/drm/drm_fbdev_shmem.c
drivers/gpu/drm/drm_fbdev_ttm.c
include/drm/drm_client.h

index c2ddc57b538ed85011c9720697147b42b5fee7f5..48636bb1a21e1373704fc109168cce40406f71e9 100644 (file)
@@ -204,7 +204,7 @@ static int drm_log_setup_modeset(struct drm_client_dev *client,
        if (format == DRM_FORMAT_INVALID)
                return -EINVAL;
 
-       scanout->buffer = drm_client_framebuffer_create(client, width, height, format);
+       scanout->buffer = drm_client_buffer_create_dumb(client, width, height, format);
        if (IS_ERR(scanout->buffer)) {
                drm_warn(client->dev, "drm_log can't create framebuffer %d %d %p4cc\n",
                         width, height, &format);
index b4e37bb2041bafad745ebcf65a2922c5a21d1626..e7dfbdeca45abc4bd497a19253b63f2855ef2993 100644 (file)
@@ -377,7 +377,7 @@ void drm_client_buffer_vunmap(struct drm_client_buffer *buffer)
 EXPORT_SYMBOL(drm_client_buffer_vunmap);
 
 /**
- * drm_client_framebuffer_create - Create a client framebuffer
+ * drm_client_buffer_create_dumb - Create a client buffer backed by a dumb buffer
  * @client: DRM client
  * @width: Framebuffer width
  * @height: Framebuffer height
@@ -391,7 +391,7 @@ EXPORT_SYMBOL(drm_client_buffer_vunmap);
  * Pointer to a client buffer or an error pointer on failure.
  */
 struct drm_client_buffer *
-drm_client_framebuffer_create(struct drm_client_dev *client, u32 width, u32 height, u32 format)
+drm_client_buffer_create_dumb(struct drm_client_dev *client, u32 width, u32 height, u32 format)
 {
        const struct drm_format_info *info = drm_format_info(format);
        struct drm_device *dev = client->dev;
@@ -427,7 +427,7 @@ err_drm_mode_destroy_dumb:
        drm_mode_destroy_dumb(client->dev, dumb_args.handle, client->file);
        return ERR_PTR(ret);
 }
-EXPORT_SYMBOL(drm_client_framebuffer_create);
+EXPORT_SYMBOL(drm_client_buffer_create_dumb);
 
 /**
  * drm_client_framebuffer_flush - Manually flush client framebuffer
index 6216de1446c16693218ee44cf45e49c7fa5f7e95..876bd8cfc5ea6d428bb683186cde1cadd520b9d8 100644 (file)
@@ -281,7 +281,7 @@ int drm_fbdev_dma_driver_fbdev_probe(struct drm_fb_helper *fb_helper,
 
        format = drm_driver_legacy_fb_format(dev, sizes->surface_bpp,
                                             sizes->surface_depth);
-       buffer = drm_client_framebuffer_create(client, sizes->surface_width,
+       buffer = drm_client_buffer_create_dumb(client, sizes->surface_width,
                                               sizes->surface_height, format);
        if (IS_ERR(buffer))
                return PTR_ERR(buffer);
index 520c2218e5dc8ec0d4b6271fcde473f5e5943e5f..46e43b60b3f9ca3bcc55d40060e490927d034c91 100644 (file)
@@ -147,7 +147,7 @@ int drm_fbdev_shmem_driver_fbdev_probe(struct drm_fb_helper *fb_helper,
                    sizes->surface_bpp);
 
        format = drm_driver_legacy_fb_format(dev, sizes->surface_bpp, sizes->surface_depth);
-       buffer = drm_client_framebuffer_create(client, sizes->surface_width,
+       buffer = drm_client_buffer_create_dumb(client, sizes->surface_width,
                                               sizes->surface_height, format);
        if (IS_ERR(buffer))
                return PTR_ERR(buffer);
index 7f7c88461228a07742e1375f4dc412d6744543ca..c7ad779ba5901c74c0aeb07bf044326b9a2d9dd6 100644 (file)
@@ -187,7 +187,7 @@ int drm_fbdev_ttm_driver_fbdev_probe(struct drm_fb_helper *fb_helper,
 
        format = drm_driver_legacy_fb_format(dev, sizes->surface_bpp,
                                             sizes->surface_depth);
-       buffer = drm_client_framebuffer_create(client, sizes->surface_width,
+       buffer = drm_client_buffer_create_dumb(client, sizes->surface_width,
                                               sizes->surface_height, format);
        if (IS_ERR(buffer))
                return PTR_ERR(buffer);
index ffc4013b2e185038f98d7d0c94751dc56ccd9376..690ef04fccce3857b77b0e097f60f8db702018a6 100644 (file)
@@ -194,7 +194,7 @@ struct drm_client_buffer {
 };
 
 struct drm_client_buffer *
-drm_client_framebuffer_create(struct drm_client_dev *client, u32 width, u32 height, u32 format);
+drm_client_buffer_create_dumb(struct drm_client_dev *client, u32 width, u32 height, u32 format);
 void drm_client_buffer_delete(struct drm_client_buffer *buffer);
 int drm_client_framebuffer_flush(struct drm_client_buffer *buffer, struct drm_rect *rect);
 int drm_client_buffer_vmap_local(struct drm_client_buffer *buffer,