mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: Handle missing DMA address
If DMA address is not defined, use the physical address. Bug 1500983 Change-Id: Ic33b21f74c8c2760e43146b87eec7ea467fc87be Signed-off-by: Sami Kiminki <skiminki@nvidia.com> (cherry picked from commit 8ae9a6567349241ce1cfff383526b0d9d39c28a1) Reviewed-on: http://git-master/r/415238 Reviewed-by: Riham Haidar <rhaidar@nvidia.com> Tested-by: Riham Haidar <rhaidar@nvidia.com>
This commit is contained in:
committed by
Dan Willemsen
parent
3899f3b997
commit
465d76f91c
@@ -1284,6 +1284,7 @@ u64 gk20a_vm_map(struct vm_gk20a *vm,
|
||||
int err = 0;
|
||||
struct buffer_attrs bfr = {0};
|
||||
struct gk20a_comptags comptags;
|
||||
u64 buf_addr;
|
||||
|
||||
mutex_lock(&vm->update_gmmu_lock);
|
||||
|
||||
@@ -1316,7 +1317,10 @@ u64 gk20a_vm_map(struct vm_gk20a *vm,
|
||||
|
||||
bfr.kind_v = kind;
|
||||
bfr.size = dmabuf->size;
|
||||
bfr.align = 1 << __ffs((u64)sg_dma_address(bfr.sgt->sgl));
|
||||
buf_addr = (u64)sg_dma_address(bfr.sgt->sgl);
|
||||
if (unlikely(!buf_addr))
|
||||
buf_addr = (u64)sg_phys(bfr.sgt->sgl);
|
||||
bfr.align = 1 << __ffs(buf_addr);
|
||||
bfr.pgsz_idx = -1;
|
||||
|
||||
/* If FIX_OFFSET is set, pgsz is determined. Otherwise, select
|
||||
|
||||
Reference in New Issue
Block a user