aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2017-04-03 03:08:45 -0400
committerGerd Hoffmann <kraxel@redhat.com>2017-04-04 04:10:20 -0400
commit9c4ad466d1dd2e067d5fdb2fcdbcc30fc5c145f9 (patch)
treecb83a1a38b96566b0f0f931c22f70b5debed9002
parentd519cb76181efc78ba67e87b38286fa04d46dfa3 (diff)
drm: virtio: fix virtio_gpu_mode_dumb_create
Lookup format using virtio_gpu_translate_format() instead of hardcoding it. Fixes xorg display on bigendian guests (i.e. ppc64). Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Dave Airlie <airlied@redhat.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Tested-by: Laurent Vivier <lvivier@redhat.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170403070845.10793-3-kraxel@redhat.com
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_gem.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_gem.c b/drivers/gpu/drm/virtio/virtgpu_gem.c
index 336a57fd6d5d..cc025d8fbe19 100644
--- a/drivers/gpu/drm/virtio/virtgpu_gem.c
+++ b/drivers/gpu/drm/virtio/virtgpu_gem.c
@@ -88,6 +88,7 @@ int virtio_gpu_mode_dumb_create(struct drm_file *file_priv,
88 int ret; 88 int ret;
89 uint32_t pitch; 89 uint32_t pitch;
90 uint32_t resid; 90 uint32_t resid;
91 uint32_t format;
91 92
92 pitch = args->width * ((args->bpp + 1) / 8); 93 pitch = args->width * ((args->bpp + 1) / 8);
93 args->size = pitch * args->height; 94 args->size = pitch * args->height;
@@ -98,9 +99,10 @@ int virtio_gpu_mode_dumb_create(struct drm_file *file_priv,
98 if (ret) 99 if (ret)
99 goto fail; 100 goto fail;
100 101
102 format = virtio_gpu_translate_format(DRM_FORMAT_XRGB8888);
101 virtio_gpu_resource_id_get(vgdev, &resid); 103 virtio_gpu_resource_id_get(vgdev, &resid);
102 virtio_gpu_cmd_create_resource(vgdev, resid, 104 virtio_gpu_cmd_create_resource(vgdev, resid, format,
103 2, args->width, args->height); 105 args->width, args->height);
104 106
105 /* attach the object to the resource */ 107 /* attach the object to the resource */
106 obj = gem_to_virtio_gpu_obj(gobj); 108 obj = gem_to_virtio_gpu_obj(gobj);