summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2017-07-05 06:11:15 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-07-07 10:05:38 -0400
commitd479a781c68ab20ff27ae6d1a6eb6e15eb51fb88 (patch)
tree1a7fb1327e5ad9dc04ecb013095a53b053b2e88b /drivers/gpu/nvgpu/common
parent8bdb74786cd58746a6d9c361f8383fdfb43c6c98 (diff)
gpu: nvgpu: use coherent aperture for coherent buffers
Use sysmem_coherent aperture if the buffer mappings are requested to be IO coherent. Use sysmem_noncoherent aperture otherwise. This is implemented by adding a new coherent field to the GMMU attrs struct. Jira GPUT19X-17 Bug 1651331 Bug 200283998 Change-Id: I5cfb71b5913d4db50ebf10331b19f5a4216456bf Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: https://git-master/r/1514438 GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common')
-rw-r--r--drivers/gpu/nvgpu/common/mm/gmmu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/mm/gmmu.c b/drivers/gpu/nvgpu/common/mm/gmmu.c
index 602dfb3b..55fbcd3f 100644
--- a/drivers/gpu/nvgpu/common/mm/gmmu.c
+++ b/drivers/gpu/nvgpu/common/mm/gmmu.c
@@ -747,6 +747,7 @@ u64 gk20a_locked_gmmu_map(struct vm_gk20a *vm,
747 .rw_flag = rw_flag, 747 .rw_flag = rw_flag,
748 .sparse = sparse, 748 .sparse = sparse,
749 .priv = priv, 749 .priv = priv,
750 .coherent = flags & NVGPU_AS_MAP_BUFFER_FLAGS_IO_COHERENT,
750 .valid = !(flags & NVGPU_AS_MAP_BUFFER_FLAGS_UNMAPPED_PTE), 751 .valid = !(flags & NVGPU_AS_MAP_BUFFER_FLAGS_UNMAPPED_PTE),
751 .aperture = aperture 752 .aperture = aperture
752 }; 753 };
@@ -805,6 +806,7 @@ void gk20a_locked_gmmu_unmap(struct vm_gk20a *vm,
805 .rw_flag = rw_flag, 806 .rw_flag = rw_flag,
806 .sparse = sparse, 807 .sparse = sparse,
807 .priv = 0, 808 .priv = 0,
809 .coherent = 0,
808 .valid = 0, 810 .valid = 0,
809 .aperture = APERTURE_INVALID, 811 .aperture = APERTURE_INVALID,
810 }; 812 };