diff options
| author | Himanshu Agarwal <himanaga@codeaurora.org> | 2017-08-10 15:08:12 +0530 |
|---|---|---|
| committer | snandini <snandini@codeaurora.org> | 2017-08-17 03:22:42 -0700 |
| commit | 0a9032dfacc64b697e49859408de1d649dfb7a20 (patch) | |
| tree | 66e78511dba4a4b6480febd889b9a25f6c2d0c60 | |
| parent | 2f28c34b8c0d45172c43fad114ac335eff4b9453 (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.h | 9 |
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, |
