aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/virtio/virtgpu_display.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/virtio/virtgpu_display.c')
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_display.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c
index 0379d6897659..8f8fed471e34 100644
--- a/drivers/gpu/drm/virtio/virtgpu_display.c
+++ b/drivers/gpu/drm/virtio/virtgpu_display.c
@@ -307,6 +307,10 @@ virtio_gpu_user_framebuffer_create(struct drm_device *dev,
307 struct virtio_gpu_framebuffer *virtio_gpu_fb; 307 struct virtio_gpu_framebuffer *virtio_gpu_fb;
308 int ret; 308 int ret;
309 309
310 if (mode_cmd->pixel_format != DRM_FORMAT_HOST_XRGB8888 &&
311 mode_cmd->pixel_format != DRM_FORMAT_HOST_ARGB8888)
312 return ERR_PTR(-ENOENT);
313
310 /* lookup object associated with res handle */ 314 /* lookup object associated with res handle */
311 obj = drm_gem_object_lookup(file_priv, mode_cmd->handles[0]); 315 obj = drm_gem_object_lookup(file_priv, mode_cmd->handles[0]);
312 if (!obj) 316 if (!obj)
@@ -355,6 +359,7 @@ int virtio_gpu_modeset_init(struct virtio_gpu_device *vgdev)
355 int i; 359 int i;
356 360
357 drm_mode_config_init(vgdev->ddev); 361 drm_mode_config_init(vgdev->ddev);
362 vgdev->ddev->mode_config.quirk_addfb_prefer_host_byte_order = true;
358 vgdev->ddev->mode_config.funcs = &virtio_gpu_mode_funcs; 363 vgdev->ddev->mode_config.funcs = &virtio_gpu_mode_funcs;
359 vgdev->ddev->mode_config.helper_private = &virtio_mode_config_helpers; 364 vgdev->ddev->mode_config.helper_private = &virtio_mode_config_helpers;
360 365