summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
diff options
context:
space:
mode:
authorKonsta Holtta <kholtta@nvidia.com>2014-12-05 03:56:08 -0500
committerDan Willemsen <dwillemsen@nvidia.com>2015-04-04 21:08:24 -0400
commit593c7a3f3027cf95e1b35f9acb8b3d0dc45f24e4 (patch)
tree2125b47ccc62f47e973a82aa0b7a9e85f8d3c6c2 /drivers/gpu/nvgpu/gk20a/mm_gk20a.h
parentce3afaaaf6092f46b2db0f8835e4d4b9b46ef1a4 (diff)
gpu: nvgpu: cache cde compbits buf mappings
don't unmap compbits_buf explicitly from system vm early but store it in the dmabuf's private data, and unmap it later when all user mappings to that buffer have been disappeared. Bug 1546619 Change-Id: I333235a0ea74c48503608afac31f5e9f1eb4b99b Signed-off-by: Konsta Holtta <kholtta@nvidia.com> Reviewed-on: http://git-master/r/661949 (cherry picked from commit ed2177e25d9e5facfb38786b818330798a14b9bb) Reviewed-on: http://git-master/r/661835 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.h b/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
index 42c164be..8f0f736b 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.h
@@ -554,6 +554,9 @@ void gk20a_deinit_vm(struct vm_gk20a *vm);
554int gk20a_vm_unmap_buffer(struct vm_gk20a *vm, u64 offset); 554int gk20a_vm_unmap_buffer(struct vm_gk20a *vm, u64 offset);
555void gk20a_get_comptags(struct device *dev, struct dma_buf *dmabuf, 555void gk20a_get_comptags(struct device *dev, struct dma_buf *dmabuf,
556 struct gk20a_comptags *comptags); 556 struct gk20a_comptags *comptags);
557u64 gk20a_vm_cde_mapped(struct vm_gk20a *vm, struct dma_buf *dmabuf);
558void gk20a_vm_mark_cde_mapped(struct vm_gk20a *vm, struct dma_buf *dmabuf,
559 u64 map_vaddr);
557dma_addr_t gk20a_mm_gpuva_to_iova_base(struct vm_gk20a *vm, u64 gpu_vaddr); 560dma_addr_t gk20a_mm_gpuva_to_iova_base(struct vm_gk20a *vm, u64 gpu_vaddr);
558 561
559int gk20a_dmabuf_alloc_drvdata(struct dma_buf *dmabuf, struct device *dev); 562int gk20a_dmabuf_alloc_drvdata(struct dma_buf *dmabuf, struct device *dev);