diff options
author | Dave Airlie <airlied@redhat.com> | 2018-09-27 19:31:03 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2018-09-27 19:36:48 -0400 |
commit | 156e60bc71aa31a3b42b1d66a822c2999bd0994c (patch) | |
tree | dbc2fa3c30c78b1465aa29ca37fefbb8a16bde8e /drivers/gpu/drm/virtio/virtgpu_fb.c | |
parent | bf78296ab1cb215d0609ac6cff4e43e941e51265 (diff) | |
parent | c2b70ffcd34eca60013d90bd6cd56e60b07adef8 (diff) |
Merge tag 'drm-misc-next-2018-09-27' of git://anongit.freedesktop.org/drm/drm-misc into drm-next
drm-misc-next for 4.20:
UAPI Changes:
- None
Cross-subsystem Changes:
- MAINTAINERS: Move udl, mxsfb, and fsl-dcu into drm-misc (Stefan, Sean)
Core Changes:
- syncobj: Check condition before returning timeout in schedule() (Chris)
Driver Changes:
- various: First wave of drm_fbdev_generic_setup() conversions (Noralf)
- bochs/virtio: More format byte-order improvements (Gerd)
- mxsfb: A couple fixes + add runtime pm support (Leonard)
- virtio: Add vmap support for prime objects (Ezequiel)
Cc: Stefan Agner <stefan@agner.ch>
Cc: Sean Paul <sean@poorly.run>
Cc: Noralf Trønnes <noralf@tronnes.org>
Cc: Gerd Hoffman <kraxel@redhat.com>
Cc: Leonard Crestez <leonard.crestez@nxp.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Sean Paul <sean@poorly.run>
Link: https://patchwork.freedesktop.org/patch/msgid/20180927093950.GA180365@art_vandelay
Diffstat (limited to 'drivers/gpu/drm/virtio/virtgpu_fb.c')
-rw-r--r-- | drivers/gpu/drm/virtio/virtgpu_fb.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_fb.c b/drivers/gpu/drm/virtio/virtgpu_fb.c index b9678c4082ac..cea749f4ec39 100644 --- a/drivers/gpu/drm/virtio/virtgpu_fb.c +++ b/drivers/gpu/drm/virtio/virtgpu_fb.c | |||
@@ -95,7 +95,7 @@ static int virtio_gpu_dirty_update(struct virtio_gpu_framebuffer *fb, | |||
95 | 95 | ||
96 | offset = (y * fb->base.pitches[0]) + x * bpp; | 96 | offset = (y * fb->base.pitches[0]) + x * bpp; |
97 | 97 | ||
98 | virtio_gpu_cmd_transfer_to_host_2d(vgdev, obj->hw_res_handle, | 98 | virtio_gpu_cmd_transfer_to_host_2d(vgdev, obj, |
99 | offset, | 99 | offset, |
100 | cpu_to_le32(w), | 100 | cpu_to_le32(w), |
101 | cpu_to_le32(h), | 101 | cpu_to_le32(h), |
@@ -203,12 +203,6 @@ static struct fb_ops virtio_gpufb_ops = { | |||
203 | .fb_imageblit = virtio_gpu_3d_imageblit, | 203 | .fb_imageblit = virtio_gpu_3d_imageblit, |
204 | }; | 204 | }; |
205 | 205 | ||
206 | static int virtio_gpu_vmap_fb(struct virtio_gpu_device *vgdev, | ||
207 | struct virtio_gpu_object *obj) | ||
208 | { | ||
209 | return virtio_gpu_object_kmap(obj, NULL); | ||
210 | } | ||
211 | |||
212 | static int virtio_gpufb_create(struct drm_fb_helper *helper, | 206 | static int virtio_gpufb_create(struct drm_fb_helper *helper, |
213 | struct drm_fb_helper_surface_size *sizes) | 207 | struct drm_fb_helper_surface_size *sizes) |
214 | { | 208 | { |
@@ -226,7 +220,7 @@ static int virtio_gpufb_create(struct drm_fb_helper *helper, | |||
226 | mode_cmd.width = sizes->surface_width; | 220 | mode_cmd.width = sizes->surface_width; |
227 | mode_cmd.height = sizes->surface_height; | 221 | mode_cmd.height = sizes->surface_height; |
228 | mode_cmd.pitches[0] = mode_cmd.width * 4; | 222 | mode_cmd.pitches[0] = mode_cmd.width * 4; |
229 | mode_cmd.pixel_format = drm_mode_legacy_fb_format(32, 24); | 223 | mode_cmd.pixel_format = DRM_FORMAT_HOST_XRGB8888; |
230 | 224 | ||
231 | format = virtio_gpu_translate_format(mode_cmd.pixel_format); | 225 | format = virtio_gpu_translate_format(mode_cmd.pixel_format); |
232 | if (format == 0) | 226 | if (format == 0) |
@@ -241,9 +235,9 @@ static int virtio_gpufb_create(struct drm_fb_helper *helper, | |||
241 | virtio_gpu_cmd_create_resource(vgdev, resid, format, | 235 | virtio_gpu_cmd_create_resource(vgdev, resid, format, |
242 | mode_cmd.width, mode_cmd.height); | 236 | mode_cmd.width, mode_cmd.height); |
243 | 237 | ||
244 | ret = virtio_gpu_vmap_fb(vgdev, obj); | 238 | ret = virtio_gpu_object_kmap(obj); |
245 | if (ret) { | 239 | if (ret) { |
246 | DRM_ERROR("failed to vmap fb %d\n", ret); | 240 | DRM_ERROR("failed to kmap fb %d\n", ret); |
247 | goto err_obj_vmap; | 241 | goto err_obj_vmap; |
248 | } | 242 | } |
249 | 243 | ||