aboutsummaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorNicolas Morey-Chaisemartin <nmorey@kalray.eu>2015-10-28 16:32:08 +0100
committerMaxim Uvarov <maxim.uvarov@linaro.org>2015-11-25 17:52:49 +0300
commit0fefcbebeba8caaf57407c7062ae0d42bdb590e5 (patch)
tree52f1f75e965f67501653155e4ac89472cd7d2b0b /platform
parent5fe9da3fe06fb3dbd6e41617c7e73c4dcdb21c7a (diff)
linux-generic: pool: add implementation for buffer alloc/free multi
Signed-off-by: Nicolas Morey-Chaisemartin <nmorey@kalray.eu> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
Diffstat (limited to 'platform')
-rw-r--r--platform/linux-generic/odp_pool.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/platform/linux-generic/odp_pool.c b/platform/linux-generic/odp_pool.c
index 9117cc81e..9859ff6d9 100644
--- a/platform/linux-generic/odp_pool.c
+++ b/platform/linux-generic/odp_pool.c
@@ -549,6 +549,13 @@ odp_buffer_t odp_buffer_alloc(odp_pool_t pool_hdl)
odp_pool_to_entry(pool_hdl)->s.params.buf.size);
}
+int odp_buffer_alloc_multi(odp_pool_t pool_hdl, odp_buffer_t buf[], int num)
+{
+ size_t buf_size = odp_pool_to_entry(pool_hdl)->s.params.buf.size;
+
+ return buffer_alloc_multi(pool_hdl, buf_size, buf, num);
+}
+
void odp_buffer_free(odp_buffer_t buf)
{
odp_buffer_hdr_t *buf_hdr = odp_buf_to_hdr(buf);
@@ -560,6 +567,14 @@ void odp_buffer_free(odp_buffer_t buf)
ret_local_buf(&pool->s.local_cache[local_id], buf_hdr);
}
+void odp_buffer_free_multi(const odp_buffer_t buf[], int len)
+{
+ int i;
+
+ for (i = 0; i < len; ++i)
+ odp_buffer_free(buf[i]);
+}
+
void _odp_flush_caches(void)
{
int i;