From: Thomas Zimmermann <tzimmermann@suse.de>
To: jfalempe@redhat.com, javierm@redhat.com, rrameshbabu@nvidia.com,
maarten.lankhorst@linux.intel.com, mripard@kernel.org,
francesco@valla.it, airlied@gmail.com
Cc: dri-devel@lists.freedesktop.org, Thomas Zimmermann <tzimmermann@suse.de>
Subject: [PATCH v2 6/7] drm/client: Create client buffers with drm_client_buffer_create_dumb()
Date: Mon, 27 Oct 2025 13:09:17 +0100 [thread overview]
Message-ID: <20251027121042.143588-7-tzimmermann@suse.de> (raw)
In-Reply-To: <20251027121042.143588-1-tzimmermann@suse.de>
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>
---
drivers/gpu/drm/clients/drm_log.c | 2 +-
drivers/gpu/drm/drm_client.c | 6 +++---
drivers/gpu/drm/drm_fbdev_dma.c | 2 +-
drivers/gpu/drm/drm_fbdev_shmem.c | 2 +-
drivers/gpu/drm/drm_fbdev_ttm.c | 2 +-
include/drm/drm_client.h | 2 +-
6 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/clients/drm_log.c b/drivers/gpu/drm/clients/drm_log.c
index c2ddc57b538e..48636bb1a21e 100644
--- a/drivers/gpu/drm/clients/drm_log.c
+++ b/drivers/gpu/drm/clients/drm_log.c
@@ -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);
diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c
index b4e37bb2041b..e7dfbdeca45a 100644
--- a/drivers/gpu/drm/drm_client.c
+++ b/drivers/gpu/drm/drm_client.c
@@ -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 @@ drm_client_framebuffer_create(struct drm_client_dev *client, u32 width, u32 heig
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
diff --git a/drivers/gpu/drm/drm_fbdev_dma.c b/drivers/gpu/drm/drm_fbdev_dma.c
index 6216de1446c1..876bd8cfc5ea 100644
--- a/drivers/gpu/drm/drm_fbdev_dma.c
+++ b/drivers/gpu/drm/drm_fbdev_dma.c
@@ -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);
diff --git a/drivers/gpu/drm/drm_fbdev_shmem.c b/drivers/gpu/drm/drm_fbdev_shmem.c
index 520c2218e5dc..46e43b60b3f9 100644
--- a/drivers/gpu/drm/drm_fbdev_shmem.c
+++ b/drivers/gpu/drm/drm_fbdev_shmem.c
@@ -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);
diff --git a/drivers/gpu/drm/drm_fbdev_ttm.c b/drivers/gpu/drm/drm_fbdev_ttm.c
index 7f7c88461228..c7ad779ba590 100644
--- a/drivers/gpu/drm/drm_fbdev_ttm.c
+++ b/drivers/gpu/drm/drm_fbdev_ttm.c
@@ -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);
diff --git a/include/drm/drm_client.h b/include/drm/drm_client.h
index ffc4013b2e18..690ef04fccce 100644
--- a/include/drm/drm_client.h
+++ b/include/drm/drm_client.h
@@ -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,
--
2.51.1
next prev parent reply other threads:[~2025-10-27 12:11 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-27 12:09 [PATCH v2 0/7] drm/client: Simply client-buffer interface and implementation Thomas Zimmermann
2025-10-27 12:09 ` [PATCH v2 1/7] drm/client: Remove pitch from struct drm_client_buffer Thomas Zimmermann
2025-10-27 12:09 ` [PATCH v2 2/7] drm/client: Move dumb-buffer handling to drm_client_framebuffer_create() Thomas Zimmermann
2025-10-27 12:09 ` [PATCH v2 3/7] drm/client: Inline drm_client_buffer_addfb() and _rmfb() Thomas Zimmermann
2025-10-27 12:09 ` [PATCH v2 4/7] drm/client: Deprecate struct drm_client_buffer.gem Thomas Zimmermann
2025-10-31 15:49 ` [REGRESSION][ASAN] " Ian Forbes
2025-11-03 12:15 ` Thomas Zimmermann
2025-11-04 10:52 ` Thomas Zimmermann
2025-10-27 12:09 ` [PATCH v2 5/7] drm/client: Remove drm_client_framebuffer_delete() Thomas Zimmermann
2025-10-27 12:09 ` Thomas Zimmermann [this message]
2025-10-27 12:09 ` [PATCH v2 7/7] drm/client: Flush client buffers with drm_client_buffer_sync() Thomas Zimmermann
2025-10-27 14:24 ` Jocelyn Falempe
2025-10-28 17:22 ` [PATCH v2 0/7] drm/client: Simply client-buffer interface and implementation Francesco Valla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251027121042.143588-7-tzimmermann@suse.de \
--to=tzimmermann@suse.de \
--cc=airlied@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=francesco@valla.it \
--cc=javierm@redhat.com \
--cc=jfalempe@redhat.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=rrameshbabu@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox