qcacmn: add function for multi-pages memory zero operation
Add function qdf_mem_multi_pages_zero() to support multi-pages memory zero operation. Change-Id: I08b5c2722c02881550d3a1da27d5137c0957fd51 CRs-Fixed: 2776365
This commit is contained in:
@@ -299,6 +299,18 @@ void qdf_mem_multi_pages_free(qdf_device_t osdev,
|
||||
|
||||
#endif /* MEMORY_DEBUG */
|
||||
|
||||
/**
|
||||
* qdf_mem_multi_pages_zero() - zero out each page memory
|
||||
* @pages: Multi page information storage
|
||||
* @cacheable: Coherent memory or cacheable memory
|
||||
*
|
||||
* This function will zero out each page memory
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void qdf_mem_multi_pages_zero(struct qdf_mem_multi_page_t *pages,
|
||||
bool cacheable);
|
||||
|
||||
/**
|
||||
* qdf_aligned_malloc() - allocates aligned QDF memory.
|
||||
* @size: Size to be allocated
|
||||
|
@@ -1847,6 +1847,31 @@ void qdf_mem_multi_pages_free(qdf_device_t osdev,
|
||||
qdf_export_symbol(qdf_mem_multi_pages_free);
|
||||
#endif
|
||||
|
||||
void qdf_mem_multi_pages_zero(struct qdf_mem_multi_page_t *pages,
|
||||
bool cacheable)
|
||||
{
|
||||
unsigned int page_idx;
|
||||
struct qdf_mem_dma_page_t *dma_pages;
|
||||
|
||||
if (!pages->page_size)
|
||||
pages->page_size = qdf_page_size;
|
||||
|
||||
if (cacheable) {
|
||||
for (page_idx = 0; page_idx < pages->num_pages; page_idx++)
|
||||
qdf_mem_zero(pages->cacheable_pages[page_idx],
|
||||
pages->page_size);
|
||||
} else {
|
||||
dma_pages = pages->dma_pages;
|
||||
for (page_idx = 0; page_idx < pages->num_pages; page_idx++) {
|
||||
qdf_mem_zero(dma_pages->page_v_addr_start,
|
||||
pages->page_size);
|
||||
dma_pages++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
qdf_export_symbol(qdf_mem_multi_pages_zero);
|
||||
|
||||
void __qdf_mem_free(void *ptr)
|
||||
{
|
||||
if (!ptr)
|
||||
|
Reference in New Issue
Block a user