qcacmn: buffer replenish and reap without map and unmap

use dma_inv_range call instead of dma map and unmap
APIs during replenish and reap. This complete code is
under a compile time macro.
before change: 4160Mbps @ 96.5% (core 3)
after change: 4160Mbps @ 90.5% (core 3)

Change-Id: I61bca349a369ace06cd86f353880108cee013cb1
このコミットが含まれているのは:
Tallapragada Kalyan
2022-01-06 18:48:33 +05:30
committed by Madan Koyyalamudi
コミット 9639c91317
10個のファイルの変更716行の追加35行の削除

ファイルの表示

@@ -1094,6 +1094,40 @@ qdf_nbuf_dma_inv_range(const void *buf_start, const void *buf_end)
__qdf_nbuf_dma_inv_range(buf_start, buf_end);
}
/**
* qdf_nbuf_dma_inv_range_no_dsb() - barrierless Invalidate the specified
* virtual address range
* @buf_start: start address
* @buf_end: end address
*
* Return: none
*/
static inline void
qdf_nbuf_dma_inv_range_no_dsb(const void *buf_start, const void *buf_end)
{
__qdf_nbuf_dma_inv_range_no_dsb(buf_start, buf_end);
}
/**
* qdf_nbuf_dma_clean_range_no_dsb() - barrierless clean the specified
* virtual address range
* @buf_start: start address
* @buf_end: end address
*
* Return: none
*/
static inline void
qdf_nbuf_dma_clean_range_no_dsb(const void *buf_start, const void *buf_end)
{
__qdf_nbuf_dma_clean_range_no_dsb(buf_start, buf_end);
}
static inline void
qdf_dsb(void)
{
__qdf_dsb();
}
static inline int qdf_nbuf_get_num_frags(qdf_nbuf_t buf)
{
return __qdf_nbuf_get_num_frags(buf);
@@ -1663,6 +1697,9 @@ void qdf_net_buf_debug_release_skb(qdf_nbuf_t net_buf);
/* nbuf allocation rouines */
#define qdf_nbuf_alloc_simple(d, s) \
__qdf_nbuf_alloc_simple(d, s)
#define qdf_nbuf_alloc(d, s, r, a, p) \
qdf_nbuf_alloc_debug(d, s, r, a, p, __func__, __LINE__)