diff options
author | Thierry Reding <treding@nvidia.com> | 2014-01-29 14:32:33 -0500 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2014-04-04 03:12:49 -0400 |
commit | d40326f4b9f9617cdfd30f83a2db57d47e9c5bac (patch) | |
tree | 9d8a1cafb67aa0b6aedbb29be680b560695c86ea | |
parent | 88759686c702f1fbbb8e737e6231b64a9880db73 (diff) |
drm/tegra: prime: Add vmap support
This is trivial to support since all GEM objects are mapped into kernel
space anyway.
Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r-- | drivers/gpu/drm/tegra/gem.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tegra/gem.c b/drivers/gpu/drm/tegra/gem.c index ef853e558036..29913eb9b25d 100644 --- a/drivers/gpu/drm/tegra/gem.c +++ b/drivers/gpu/drm/tegra/gem.c | |||
@@ -394,6 +394,18 @@ static int tegra_gem_prime_mmap(struct dma_buf *buf, struct vm_area_struct *vma) | |||
394 | return -EINVAL; | 394 | return -EINVAL; |
395 | } | 395 | } |
396 | 396 | ||
397 | static void *tegra_gem_prime_vmap(struct dma_buf *buf) | ||
398 | { | ||
399 | struct drm_gem_object *gem = buf->priv; | ||
400 | struct tegra_bo *bo = to_tegra_bo(gem); | ||
401 | |||
402 | return bo->vaddr; | ||
403 | } | ||
404 | |||
405 | static void tegra_gem_prime_vunmap(struct dma_buf *buf, void *vaddr) | ||
406 | { | ||
407 | } | ||
408 | |||
397 | static const struct dma_buf_ops tegra_gem_prime_dmabuf_ops = { | 409 | static const struct dma_buf_ops tegra_gem_prime_dmabuf_ops = { |
398 | .map_dma_buf = tegra_gem_prime_map_dma_buf, | 410 | .map_dma_buf = tegra_gem_prime_map_dma_buf, |
399 | .unmap_dma_buf = tegra_gem_prime_unmap_dma_buf, | 411 | .unmap_dma_buf = tegra_gem_prime_unmap_dma_buf, |
@@ -403,6 +415,8 @@ static const struct dma_buf_ops tegra_gem_prime_dmabuf_ops = { | |||
403 | .kmap = tegra_gem_prime_kmap, | 415 | .kmap = tegra_gem_prime_kmap, |
404 | .kunmap = tegra_gem_prime_kunmap, | 416 | .kunmap = tegra_gem_prime_kunmap, |
405 | .mmap = tegra_gem_prime_mmap, | 417 | .mmap = tegra_gem_prime_mmap, |
418 | .vmap = tegra_gem_prime_vmap, | ||
419 | .vunmap = tegra_gem_prime_vunmap, | ||
406 | }; | 420 | }; |
407 | 421 | ||
408 | struct dma_buf *tegra_gem_prime_export(struct drm_device *drm, | 422 | struct dma_buf *tegra_gem_prime_export(struct drm_device *drm, |