diff options
Diffstat (limited to 'drivers/gpu/drm/virtio/virtgpu_display.c')
-rw-r--r-- | drivers/gpu/drm/virtio/virtgpu_display.c | 5 |
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 | ||