aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Reding <treding@nvidia.com>2014-01-29 14:32:33 -0500
committerThierry Reding <treding@nvidia.com>2014-04-04 03:12:49 -0400
commitd40326f4b9f9617cdfd30f83a2db57d47e9c5bac (patch)
tree9d8a1cafb67aa0b6aedbb29be680b560695c86ea
parent88759686c702f1fbbb8e737e6231b64a9880db73 (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.c14
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
397static 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
405static void tegra_gem_prime_vunmap(struct dma_buf *buf, void *vaddr)
406{
407}
408
397static const struct dma_buf_ops tegra_gem_prime_dmabuf_ops = { 409static 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
408struct dma_buf *tegra_gem_prime_export(struct drm_device *drm, 422struct dma_buf *tegra_gem_prime_export(struct drm_device *drm,