Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/omapdrm: Compute dumb-buffer sizes with drm_mode_size_dumb()

Call drm_mode_size_dumb() to compute dumb-buffer scanline pitch and
buffer size. Align the pitch to a multiple of 8.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Link: https://lore.kernel.org/r/20250821081918.79786-16-tzimmermann@suse.de

+7 -8
+7 -8
drivers/gpu/drm/omapdrm/omap_gem.c
··· 10 10 #include <linux/spinlock.h> 11 11 #include <linux/vmalloc.h> 12 12 13 + #include <drm/drm_dumb_buffers.h> 13 14 #include <drm/drm_prime.h> 14 15 #include <drm/drm_vma_manager.h> 15 16 ··· 581 580 int omap_gem_dumb_create(struct drm_file *file, struct drm_device *dev, 582 581 struct drm_mode_create_dumb *args) 583 582 { 584 - union omap_gem_size gsize; 583 + union omap_gem_size gsize = { }; 584 + int ret; 585 585 586 - args->pitch = DIV_ROUND_UP(args->width * args->bpp, 8); 587 - 588 - args->size = PAGE_ALIGN(args->pitch * args->height); 589 - 590 - gsize = (union omap_gem_size){ 591 - .bytes = args->size, 592 - }; 586 + ret = drm_mode_size_dumb(dev, args, SZ_8, 0); 587 + if (ret) 588 + return ret; 589 + gsize.bytes = args->size; 593 590 594 591 return omap_gem_new_handle(dev, file, gsize, 595 592 OMAP_BO_SCANOUT | OMAP_BO_WC, &args->handle);