diff options
Diffstat (limited to 'drivers/gpu/drm/stm/drv.c')
-rw-r--r-- | drivers/gpu/drm/stm/drv.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/drivers/gpu/drm/stm/drv.c b/drivers/gpu/drm/stm/drv.c index 8fe954c27fba..8bc7e8418b8d 100644 --- a/drivers/gpu/drm/stm/drv.c +++ b/drivers/gpu/drm/stm/drv.c | |||
@@ -31,6 +31,24 @@ static const struct drm_mode_config_funcs drv_mode_config_funcs = { | |||
31 | .atomic_commit = drm_atomic_helper_commit, | 31 | .atomic_commit = drm_atomic_helper_commit, |
32 | }; | 32 | }; |
33 | 33 | ||
34 | static int stm_gem_cma_dumb_create(struct drm_file *file, | ||
35 | struct drm_device *dev, | ||
36 | struct drm_mode_create_dumb *args) | ||
37 | { | ||
38 | #ifdef CONFIG_MMU | ||
39 | unsigned int min_pitch = DIV_ROUND_UP(args->width * args->bpp, 8); | ||
40 | |||
41 | /* | ||
42 | * in order to optimize data transfer, pitch is aligned on | ||
43 | * 128 bytes, height is aligned on 4 bytes | ||
44 | */ | ||
45 | args->pitch = roundup(min_pitch, 128); | ||
46 | args->height = roundup(args->height, 4); | ||
47 | #endif | ||
48 | |||
49 | return drm_gem_cma_dumb_create_internal(file, dev, args); | ||
50 | } | ||
51 | |||
34 | DEFINE_DRM_GEM_CMA_FOPS(drv_driver_fops); | 52 | DEFINE_DRM_GEM_CMA_FOPS(drv_driver_fops); |
35 | 53 | ||
36 | static struct drm_driver drv_driver = { | 54 | static struct drm_driver drv_driver = { |
@@ -44,7 +62,7 @@ static struct drm_driver drv_driver = { | |||
44 | .minor = 0, | 62 | .minor = 0, |
45 | .patchlevel = 0, | 63 | .patchlevel = 0, |
46 | .fops = &drv_driver_fops, | 64 | .fops = &drv_driver_fops, |
47 | .dumb_create = drm_gem_cma_dumb_create, | 65 | .dumb_create = stm_gem_cma_dumb_create, |
48 | .prime_handle_to_fd = drm_gem_prime_handle_to_fd, | 66 | .prime_handle_to_fd = drm_gem_prime_handle_to_fd, |
49 | .prime_fd_to_handle = drm_gem_prime_fd_to_handle, | 67 | .prime_fd_to_handle = drm_gem_prime_fd_to_handle, |
50 | .gem_free_object_unlocked = drm_gem_cma_free_object, | 68 | .gem_free_object_unlocked = drm_gem_cma_free_object, |