|
@@ -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)
|