qcacmn: Add QDF Kmem cache support

Introduce QDF abstraction APIs for handling kmem cache
create/destroy/alloc/free

Change-Id: I46fa8e5e3891a3665fb230b737ef66ff65b5135e
CRs-Fixed: 3274919
This commit is contained in:
Amir Patel
2022-08-29 11:45:18 +05:30
committed by Madan Koyyalamudi
父節點 f9c54b61a3
當前提交 8983dd04f8
共有 3 個文件被更改,包括 131 次插入0 次删除

查看文件

@@ -648,6 +648,59 @@ static inline void qdf_mempool_free(qdf_device_t osdev, qdf_mempool_t pool,
__qdf_mempool_free(osdev, pool, buf);
}
/**
* qdf_kmem_cache_create() - OS abstraction for cache creation
*
* @cache_name: Cache name
* @size: Size of the object to be created
*
* Return: Cache address on successful creation, else NULL
*/
static inline qdf_kmem_cache_t
qdf_kmem_cache_create(const char *cache_name,
qdf_size_t size)
{
return __qdf_kmem_cache_create(cache_name, size);
}
/**
* qdf_kmem_cache_destroy() - OS abstraction for cache destructin
*
* @cache: Cache pointer
*
* Return: void
*/
static inline void qdf_kmem_cache_destroy(qdf_kmem_cache_t cache)
{
__qdf_kmem_cache_destroy(cache);
}
/**
* qdf_kmem_cache_alloc() - Function to allocation object from a cache
*
* @cache: Cache address
*
* Return: Object from cache
*
*/
static inline void *qdf_kmem_cache_alloc(qdf_kmem_cache_t cache)
{
return __qdf_kmem_cache_alloc(cache);
}
/**
* qdf_kmem_cache_free() - Function to free cache object
*
* @cache: Cache address
* @object: Object to be returned to cache
*
* Return: void
*/
static inline void qdf_kmem_cache_free(qdf_kmem_cache_t cache, void *node)
{
__qdf_kmem_cache_free(cache, node);
}
void qdf_mem_dma_sync_single_for_device(qdf_device_t osdev,
qdf_dma_addr_t bus_addr,
qdf_size_t size,