Commit c2707e0f authored by Thomas Zimmermann's avatar Thomas Zimmermann
Browse files

drm/client: Create client buffers with drm_client_buffer_create_dumb()



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: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarJocelyn Falempe <jfalempe@redhat.com>
Tested-by: default avatarFrancesco Valla <francesco@valla.it>
Link: https://patch.msgid.link/20251027121042.143588-7-tzimmermann@suse.de
parent 3e315332
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);
+3 −3
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -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);
Loading