gpu: nvgpu: fix gk20a_mm_smmu_vaddr_translate()

- remove checking of has_physical_mode
- check whether get_physical_addr_bits is null

JIRA VFND-1965

Change-Id: If19b297dc853b9e0b5879c5b2e0a350b5d9b279a
Signed-off-by: Richard Zhao <rizhao@nvidia.com>
Reviewed-on: http://git-master/r/1175738
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Thomas Fleury <tfleury@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: Vladislav Buzov <vbuzov@nvidia.com>
This commit is contained in:
Richard Zhao
2016-07-05 10:17:07 -07:00
committed by Vladislav Buzov
parent 26835aa998
commit 90988af812

View File

@@ -2804,10 +2804,11 @@ void gk20a_free_sgtable(struct sg_table **sgt)
u64 gk20a_mm_smmu_vaddr_translate(struct gk20a *g, dma_addr_t iova) u64 gk20a_mm_smmu_vaddr_translate(struct gk20a *g, dma_addr_t iova)
{ {
if (!device_is_iommuable(dev_from_gk20a(g)) || !g->mm.has_physical_mode) if (device_is_iommuable(dev_from_gk20a(g)) &&
return iova; g->ops.mm.get_physical_addr_bits)
else
return iova | 1ULL << g->ops.mm.get_physical_addr_bits(g); return iova | 1ULL << g->ops.mm.get_physical_addr_bits(g);
return iova;
} }
u64 gk20a_mm_iova_addr(struct gk20a *g, struct scatterlist *sgl, u64 gk20a_mm_iova_addr(struct gk20a *g, struct scatterlist *sgl,