ASoC: msm: update to align afe memory mapping as multiple of 4KB
It is required the buffer size to ADSP are multiple of 4kB. Update the buffer size to be 4kB alignment before passing to ADSP. CRs-Fixed: 1040066 Change-Id: I34f1b611000f5d9e4ae4c13a89b8571faa0f3393 Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
This commit is contained in:
parent
9e2d528dc4
commit
b105c4f9de
1 changed files with 8 additions and 0 deletions
|
@ -4009,6 +4009,14 @@ int afe_cmd_memory_map(phys_addr_t dma_addr_p, u32 dma_buf_sz)
|
|||
}
|
||||
rtac_set_afe_handle(this_afe.apr);
|
||||
}
|
||||
if (dma_buf_sz % SZ_4K != 0) {
|
||||
/*
|
||||
* The memory allocated by msm_audio_ion_alloc is always 4kB
|
||||
* aligned, ADSP expects the size to be 4kB aligned as well
|
||||
* so re-adjusts the buffer size before passing to ADSP.
|
||||
*/
|
||||
dma_buf_sz = PAGE_ALIGN(dma_buf_sz);
|
||||
}
|
||||
|
||||
cmd_size = sizeof(struct afe_service_cmd_shared_mem_map_regions) \
|
||||
+ sizeof(struct afe_service_shared_map_region_payload);
|
||||
|
|
Loading…
Add table
Reference in a new issue