summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2016-08-31 08:31:09 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-09-01 12:12:24 -0400
commitf5895f44eaaa095018736ecf607cb3fcbce66476 (patch)
tree5a4e15cf9ce2b27b5dcbaf366b4fdf71f80bb593 /drivers/gpu/nvgpu
parentf43231f7a5b60cd7ebd3068dde04eaac43361d02 (diff)
gpu: nvgpu: fix compilation errors for 32 bit arch
Converting return value of sg_dma_address() (which is u64) into a pointer results in compilation failure on 32 bit machines Hence convert address first into uintptr_t and then into pointer Change-Id: I8e036af8f4c936b88883cf8af1491f03025ed356 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/1211243 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
index 08fbfb80..876f3115 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
@@ -148,7 +148,8 @@ static inline void pramin_access_batched(struct gk20a *g, struct mem_desc *mem,
148 struct page_alloc_chunk *chunk = NULL; 148 struct page_alloc_chunk *chunk = NULL;
149 u32 byteoff, start_reg, until_end, n; 149 u32 byteoff, start_reg, until_end, n;
150 150
151 alloc = (struct gk20a_page_alloc *)sg_dma_address(mem->sgt->sgl); 151 alloc = (struct gk20a_page_alloc *)(uintptr_t)
152 sg_dma_address(mem->sgt->sgl);
152 list_for_each_entry(chunk, &alloc->alloc_chunks, list_entry) { 153 list_for_each_entry(chunk, &alloc->alloc_chunks, list_entry) {
153 if (offset >= chunk->length) 154 if (offset >= chunk->length)
154 offset -= chunk->length; 155 offset -= chunk->length;
@@ -2191,7 +2192,7 @@ static u64 gk20a_mm_get_align(struct gk20a *g, struct scatterlist *sgl,
2191 2192
2192 if (aperture == APERTURE_VIDMEM) { 2193 if (aperture == APERTURE_VIDMEM) {
2193 struct gk20a_page_alloc *alloc = (struct gk20a_page_alloc *) 2194 struct gk20a_page_alloc *alloc = (struct gk20a_page_alloc *)
2194 sg_dma_address(sgl); 2195 (uintptr_t)sg_dma_address(sgl);
2195 struct page_alloc_chunk *chunk = NULL; 2196 struct page_alloc_chunk *chunk = NULL;
2196 2197
2197 list_for_each_entry(chunk, &alloc->alloc_chunks, list_entry) { 2198 list_for_each_entry(chunk, &alloc->alloc_chunks, list_entry) {
@@ -2899,7 +2900,7 @@ static int gk20a_gmmu_clear_vidmem_mem(struct gk20a *g, struct mem_desc *mem)
2899 if (g->mm.vidmem.ce_ctx_id == ~0) 2900 if (g->mm.vidmem.ce_ctx_id == ~0)
2900 return -EINVAL; 2901 return -EINVAL;
2901 2902
2902 alloc = (struct gk20a_page_alloc *) 2903 alloc = (struct gk20a_page_alloc *)(uintptr_t)
2903 sg_dma_address(mem->sgt->sgl); 2904 sg_dma_address(mem->sgt->sgl);
2904 2905
2905 list_for_each_entry(chunk, &alloc->alloc_chunks, list_entry) { 2906 list_for_each_entry(chunk, &alloc->alloc_chunks, list_entry) {
@@ -3100,8 +3101,8 @@ u64 gk20a_mem_get_base_addr(struct gk20a *g, struct mem_desc *mem,
3100 u64 addr; 3101 u64 addr;
3101 3102
3102 if (mem->aperture == APERTURE_VIDMEM) { 3103 if (mem->aperture == APERTURE_VIDMEM) {
3103 alloc = (struct gk20a_page_alloc *) 3104 alloc = (struct gk20a_page_alloc *)(uintptr_t)
3104 sg_dma_address(mem->sgt->sgl); 3105 sg_dma_address(mem->sgt->sgl);
3105 3106
3106 /* This API should not be used with > 1 chunks */ 3107 /* This API should not be used with > 1 chunks */
3107 WARN_ON(alloc->nr_chunks != 1); 3108 WARN_ON(alloc->nr_chunks != 1);
@@ -3718,7 +3719,7 @@ static int update_gmmu_ptes_locked(struct vm_gk20a *vm,
3718 pgsz_idx, gpu_va, gpu_end-1, iova); 3719 pgsz_idx, gpu_va, gpu_end-1, iova);
3719 3720
3720 if (sgt) { 3721 if (sgt) {
3721 alloc = (struct gk20a_page_alloc *) 3722 alloc = (struct gk20a_page_alloc *)(uintptr_t)
3722 sg_dma_address(sgt->sgl); 3723 sg_dma_address(sgt->sgl);
3723 3724
3724 list_for_each_entry(chunk, &alloc->alloc_chunks, 3725 list_for_each_entry(chunk, &alloc->alloc_chunks,