* the array is allocated using vmalloc. */
#define PAGELIST_VMALLOC_MIN (PAGE_SIZE)
-static inline void *altalloc(size_t len)
+void *nvmap_altalloc(size_t len)
{
if (len > PAGELIST_VMALLOC_MIN)
return vmalloc(len);
return kmalloc(len, GFP_KERNEL);
}
-static inline void altfree(void *ptr, size_t len)
+void nvmap_altfree(void *ptr, size_t len)
{
if (!ptr)
return;
for (i = page_index; i < nr_page; i++)
__free_page(h->pgalloc.pages[i]);
- altfree(h->pgalloc.pages, nr_page * sizeof(struct page *));
+ nvmap_altfree(h->pgalloc.pages, nr_page * sizeof(struct page *));
out:
kfree(h);
if (zero_memory)
gfp |= __GFP_ZERO;
- pages = altalloc(nr_page * sizeof(*pages));
+ pages = nvmap_altalloc(nr_page * sizeof(*pages));
if (!pages)
return -ENOMEM;
fail:
while (i--)
__free_page(pages[i]);
- altfree(pages, nr_page * sizeof(*pages));
+ nvmap_altfree(pages, nr_page * sizeof(*pages));
wmb();
return -ENOMEM;
}
void nvmap_dmabuf_debugfs_init(struct dentry *nvmap_root);
int nvmap_dmabuf_stash_init(void);
+void *nvmap_altalloc(size_t len);
+void nvmap_altfree(void *ptr, size_t len);
+
#endif /* __VIDEO_TEGRA_NVMAP_NVMAP_H */