From c5707dc8d27359f9eb999d3e757ec106e8bb727b Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Wed, 13 Jan 2016 15:52:09 -0600 Subject: [PATCH] UPSTREAM: drm: virtio-gpu: transfer dumb buffers to host on plane update For dumb buffers, we need to transfer them to the host when updating a plane. Signed-off-by: Rob Herring Signed-off-by: Dave Airlie (cherry picked from commit 4109e7f7d5aeefaa1d72f9ab4c63aa5d79fc81fb) Change-Id: I125ccb3943d82ac1a7738e2afde28eea9e55abcc Signed-off-by: Alistair Strachan --- drivers/gpu/drm/virtio/virtgpu_plane.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/gpu/drm/virtio/virtgpu_plane.c b/drivers/gpu/drm/virtio/virtgpu_plane.c index af121cf41809..7b6e5c5e7284 100644 --- a/drivers/gpu/drm/virtio/virtgpu_plane.c +++ b/drivers/gpu/drm/virtio/virtgpu_plane.c @@ -72,6 +72,13 @@ static void virtio_gpu_plane_atomic_update(struct drm_plane *plane, vgfb = to_virtio_gpu_framebuffer(plane->state->fb); bo = gem_to_virtio_gpu_obj(vgfb->obj); handle = bo->hw_res_handle; + if (bo->dumb) { + virtio_gpu_cmd_transfer_to_host_2d + (vgdev, handle, 0, + cpu_to_le32(plane->state->crtc_w), + cpu_to_le32(plane->state->crtc_h), + plane->state->crtc_x, plane->state->crtc_y, NULL); + } } else { handle = 0; }