summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/mm/nvgpu_mem.c
diff options
context:
space:
mode:
authorThomas Fleury <tfleury@nvidia.com>2018-03-07 12:23:53 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2018-03-13 03:04:16 -0400
commit6c33a010d8e3983cc3504e073cd552f952440aa1 (patch)
treec86e364d468320c8b347b58b6a711f773b97ae42 /drivers/gpu/nvgpu/common/mm/nvgpu_mem.c
parentf94c9d19c19883ca2b60acb8a000b34b32da0aa7 (diff)
gpu: nvgpu: add placeholder for IPA to PA
Add __nvgpu_sgl_phys function that can be used to implement IPA to PA translation in a subsequent change. Adapt existing function prototypes to add pointer to gpu context, as we will need to check if IPA to PA translation is needed. JIRA EVLR-2442 Bug 200392719 Change-Id: I5a734c958c8277d1bf673c020dafb31263f142d6 Signed-off-by: Thomas Fleury <tfleury@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1673142 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/mm/nvgpu_mem.c')
-rw-r--r--drivers/gpu/nvgpu/common/mm/nvgpu_mem.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/common/mm/nvgpu_mem.c b/drivers/gpu/nvgpu/common/mm/nvgpu_mem.c
index 2b32d869..4def4938 100644
--- a/drivers/gpu/nvgpu/common/mm/nvgpu_mem.c
+++ b/drivers/gpu/nvgpu/common/mm/nvgpu_mem.c
@@ -81,9 +81,10 @@ struct nvgpu_sgl *nvgpu_sgt_get_next(struct nvgpu_sgt *sgt,
81 return sgt->ops->sgl_next(sgl); 81 return sgt->ops->sgl_next(sgl);
82} 82}
83 83
84u64 nvgpu_sgt_get_phys(struct nvgpu_sgt *sgt, struct nvgpu_sgl *sgl) 84u64 nvgpu_sgt_get_phys(struct gk20a *g, struct nvgpu_sgt *sgt,
85 struct nvgpu_sgl *sgl)
85{ 86{
86 return sgt->ops->sgl_phys(sgl); 87 return sgt->ops->sgl_phys(g, sgl);
87} 88}
88 89
89u64 nvgpu_sgt_get_dma(struct nvgpu_sgt *sgt, struct nvgpu_sgl *sgl) 90u64 nvgpu_sgt_get_dma(struct nvgpu_sgt *sgt, struct nvgpu_sgl *sgl)
@@ -156,7 +157,7 @@ u64 nvgpu_sgt_alignment(struct gk20a *g, struct nvgpu_sgt *sgt)
156 * of the SGT. 157 * of the SGT.
157 */ 158 */
158 nvgpu_sgt_for_each_sgl(sgl, sgt) { 159 nvgpu_sgt_for_each_sgl(sgl, sgt) {
159 chunk_align = 1ULL << __ffs(nvgpu_sgt_get_phys(sgt, sgl) | 160 chunk_align = 1ULL << __ffs(nvgpu_sgt_get_phys(g, sgt, sgl) |
160 nvgpu_sgt_get_length(sgt, sgl)); 161 nvgpu_sgt_get_length(sgt, sgl));
161 162
162 if (align) 163 if (align)