diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2017-04-03 03:08:45 -0400 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2017-04-04 04:10:20 -0400 |
commit | 9c4ad466d1dd2e067d5fdb2fcdbcc30fc5c145f9 (patch) | |
tree | cb83a1a38b96566b0f0f931c22f70b5debed9002 | |
parent | d519cb76181efc78ba67e87b38286fa04d46dfa3 (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.c | 6 |
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); |