summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Nelson <sam.nelson@ti.com>2016-11-02 13:14:47 -0400
committerSam Nelson <sam.nelson@ti.com>2016-11-15 11:11:57 -0500
commite49bbdf4c22953365ca926c2a8c6ab878666aa67 (patch)
treebbe57fb2cfa7dfbe5298a73642139d7c25d008cb
parent61861f572d524238c48c44a66861eec04a680521 (diff)
downloadlinuxutils-e49bbdf4c22953365ca926c2a8c6ab878666aa67.tar.gz
tests: Update apitest to exercise dmabuf export
Signed-off-by: Sam Nelson <sam.nelson@ti.com>
-rw-r--r--src/cmem/tests/apitest.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/cmem/tests/apitest.c b/src/cmem/tests/apitest.c
index 91b3a37..8f5ef0b 100644
--- a/src/cmem/tests/apitest.c
+++ b/src/cmem/tests/apitest.c
@@ -55,6 +55,7 @@
#define TRUE 1
unsigned int *ptrs[NUMHEAPPTRS];
+unsigned int dmabuffds[NUMHEAPPTRS];
int nblocks;
unsigned int non_interactive_flag;
@@ -282,15 +283,26 @@ void testPools(size_t size, int block)
for (i = 0; i < num_buffers; i++) {
ptrs[i] = CMEM_alloc2(block, size, &params);
if (ptrs[i] == NULL) {
- printf("error re-allocating %d heap blocks\n", num_buffers);
+ printf("error re-allocating %d heap block\n", i);
+ break;
+ }
+ }
+
+ /* export buffers as dma_buf */
+ printf("exporting %d pool blocks...\n", num_buffers);
+ for (i = 0; i < num_buffers; i++) {
+ dmabuffds[i] = CMEM_export_dmabuf(ptrs[i]);
+ if (dmabuffds[i] < 0) {
+ printf("error exporting %d heap block\n", i);
break;
}
}
+
printf("...done, freeing pool blocks...\n");
for (i = 0; i < num_buffers; i++) {
rv = CMEM_free(ptrs[i], &params);
if (rv < 0) {
- printf("error freeing blocks\n");
+ printf("error freeing block %d\n", i);
break;
}
}