Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4f8cf10 authored by Gerd Hoffmann's avatar Gerd Hoffmann Committed by Alistair Delva
Browse files

BACKPORT: drm/virtio: implement prime export



Just run drm_prime_pages_to_sg() on the ttm pages list to get an
sg_table for export.  The pages list is created at object initialization
time, so there should be no need to handle an unpopulated page list.
Add a sanity check nevertheless.

Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
Acked-by: default avatarNoralf Trønnes <noralf@tronnes.org>
Link: http://patchwork.freedesktop.org/patch/msgid/20190227144441.6755-4-kraxel@redhat.com


(cherry picked from commit 98f41dc3b3eeabfc80d5d5eb1c1a6294ff59b4ec)
Signed-off-by: default avatarGreg Hartman <ghartman@google.com>
BUG: 139386237
Change-Id: If0ab11829ec7a6166928e26b8f75e1510742493e
parent a4be74b2
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -30,8 +30,14 @@

struct sg_table *virtgpu_gem_prime_get_sg_table(struct drm_gem_object *obj)
{
	WARN_ONCE(1, "not implemented");
	return ERR_PTR(-ENODEV);
	struct virtio_gpu_object *bo = gem_to_virtio_gpu_obj(obj);

	if (!bo->tbo.ttm->pages || !bo->tbo.ttm->num_pages)
		/* should not happen */
		return ERR_PTR(-EINVAL);

	return drm_prime_pages_to_sg(bo->tbo.ttm->pages,
				     bo->tbo.ttm->num_pages);
}

struct drm_gem_object *virtgpu_gem_prime_import_sg_table(