Commit 35d28365 authored by Daniel Vetter's avatar Daniel Vetter

drm/shmem-helper: Align to page size in dumb_create

shmem helpers seem a bit sloppy here by automatically rounding up when
actually creating the buffer, which results in under-reporting of what
we actually have. Caught by igt/vgem_basic tests.
Acked-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/20210603164113.1433476-4-daniel.vetter@ffwll.ch
parent 072ed343
...@@ -505,13 +505,13 @@ int drm_gem_shmem_dumb_create(struct drm_file *file, struct drm_device *dev, ...@@ -505,13 +505,13 @@ int drm_gem_shmem_dumb_create(struct drm_file *file, struct drm_device *dev,
if (!args->pitch || !args->size) { if (!args->pitch || !args->size) {
args->pitch = min_pitch; args->pitch = min_pitch;
args->size = args->pitch * args->height; args->size = PAGE_ALIGN(args->pitch * args->height);
} else { } else {
/* ensure sane minimum values */ /* ensure sane minimum values */
if (args->pitch < min_pitch) if (args->pitch < min_pitch)
args->pitch = min_pitch; args->pitch = min_pitch;
if (args->size < args->pitch * args->height) if (args->size < args->pitch * args->height)
args->size = args->pitch * args->height; args->size = PAGE_ALIGN(args->pitch * args->height);
} }
shmem = drm_gem_shmem_create_with_handle(file, dev, args->size, &args->handle); shmem = drm_gem_shmem_create_with_handle(file, dev, args->size, &args->handle);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment