aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/virtio/virtgpu_fb.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2018-09-27 19:31:03 -0400
committerDave Airlie <airlied@redhat.com>2018-09-27 19:36:48 -0400
commit156e60bc71aa31a3b42b1d66a822c2999bd0994c (patch)
treedbc2fa3c30c78b1465aa29ca37fefbb8a16bde8e /drivers/gpu/drm/virtio/virtgpu_fb.c
parentbf78296ab1cb215d0609ac6cff4e43e941e51265 (diff)
parentc2b70ffcd34eca60013d90bd6cd56e60b07adef8 (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.c14
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
206static 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
212static int virtio_gpufb_create(struct drm_fb_helper *helper, 206static 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