summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimanshu Agarwal <himanaga@codeaurora.org>2017-08-10 15:08:12 +0530
committersnandini <snandini@codeaurora.org>2017-08-17 03:22:42 -0700
commit0a9032dfacc64b697e49859408de1d649dfb7a20 (patch)
tree66e78511dba4a4b6480febd889b9a25f6c2d0c60
parent2f28c34b8c0d45172c43fad114ac335eff4b9453 (diff)
qcacmn: Correctly fill shared mem info structure
When WLAN SMMU S1 is disabled, iova is not getting filled resulting in creation of wrong SMMU mappings for IPA. Correctly fill shared mem info structure when SMMU S1 is disabled. Change-Id: I9bd870c3217c8f7ca23acd89781394d17f68019e CRs-Fixed: 2090759
-rw-r--r--qdf/inc/qdf_mem.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/qdf/inc/qdf_mem.h b/qdf/inc/qdf_mem.h
index d731520dca63..dfd4dd9b7c84 100644
--- a/qdf/inc/qdf_mem.h
+++ b/qdf/inc/qdf_mem.h
@@ -443,7 +443,6 @@ static inline qdf_dma_addr_t *qdf_mem_get_dma_addr_ptr(qdf_device_t osdev,
static inline qdf_shared_mem_t *qdf_mem_shared_mem_alloc(qdf_device_t osdev,
uint32_t size)
{
- qdf_dma_addr_t dma_addr;
qdf_shared_mem_t *shared_mem;
shared_mem = qdf_mem_malloc(sizeof(qdf_shared_mem_t));
@@ -453,9 +452,8 @@ static inline qdf_shared_mem_t *qdf_mem_shared_mem_alloc(qdf_device_t osdev,
return NULL;
}
- shared_mem->vaddr = qdf_mem_alloc_consistent(osdev, osdev->dev,
- size, __qdf_mem_get_dma_addr_ptr(osdev,
- &shared_mem->mem_info));
+ shared_mem->vaddr = qdf_mem_alloc_consistent(osdev, osdev->dev, size,
+ (qdf_dma_addr_t *)&shared_mem->mem_info.iova);
if (!shared_mem->vaddr) {
__qdf_print("%s; Unable to allocate DMA memory for shared resource\n",
__func__);
@@ -463,11 +461,10 @@ static inline qdf_shared_mem_t *qdf_mem_shared_mem_alloc(qdf_device_t osdev,
return NULL;
}
- dma_addr = qdf_mem_get_dma_addr(osdev, &shared_mem->mem_info);
shared_mem->mem_info.size = size;
qdf_mem_zero(shared_mem->vaddr, shared_mem->mem_info.size);
shared_mem->mem_info.pa = __qdf_mem_paddr_from_dmaaddr(osdev,
- dma_addr);
+ (qdf_dma_addr_t)shared_mem->mem_info.iova);
qdf_mem_dma_get_sgtable(osdev->dev,
(void *)&shared_mem->sgtable,
shared_mem->vaddr,