aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/virtio/virtgpu_gem.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/virtio/virtgpu_gem.c')
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_gem.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_gem.c b/drivers/gpu/drm/virtio/virtgpu_gem.c
index 0f2768eacaee..82c817f37cf7 100644
--- a/drivers/gpu/drm/virtio/virtgpu_gem.c
+++ b/drivers/gpu/drm/virtio/virtgpu_gem.c
@@ -90,7 +90,10 @@ int virtio_gpu_mode_dumb_create(struct drm_file *file_priv,
90 uint32_t resid; 90 uint32_t resid;
91 uint32_t format; 91 uint32_t format;
92 92
93 pitch = args->width * ((args->bpp + 1) / 8); 93 if (args->bpp != 32)
94 return -EINVAL;
95
96 pitch = args->width * 4;
94 args->size = pitch * args->height; 97 args->size = pitch * args->height;
95 args->size = ALIGN(args->size, PAGE_SIZE); 98 args->size = ALIGN(args->size, PAGE_SIZE);
96 99
@@ -99,7 +102,7 @@ int virtio_gpu_mode_dumb_create(struct drm_file *file_priv,
99 if (ret) 102 if (ret)
100 goto fail; 103 goto fail;
101 104
102 format = virtio_gpu_translate_format(DRM_FORMAT_XRGB8888); 105 format = virtio_gpu_translate_format(DRM_FORMAT_HOST_XRGB8888);
103 virtio_gpu_resource_id_get(vgdev, &resid); 106 virtio_gpu_resource_id_get(vgdev, &resid);
104 virtio_gpu_cmd_create_resource(vgdev, resid, format, 107 virtio_gpu_cmd_create_resource(vgdev, resid, format,
105 args->width, args->height); 108 args->width, args->height);