PERFORCE change 183381 for review
Jakub Wojciech Klama
jceel at FreeBSD.org
Sun Sep 5 12:16:45 UTC 2010
http://p4web.freebsd.org/@@183381?ac=10
Change 183381 by jceel at jceel on 2010/09/05 12:16:04
Update testsuite to reflect API changes.
Affected files ...
.. //depot/projects/soc2010/jceel_dma/sys/dev/gpdma/gpdmatest/gpdmatest.c#2 edit
Differences ...
==== //depot/projects/soc2010/jceel_dma/sys/dev/gpdma/gpdmatest/gpdmatest.c#2 (text+ko) ====
@@ -140,7 +140,9 @@
gpdma_set_transfer_func(xfer, GPDMA_COPY);
gpdma_set_transfer_callback(xfer, dmatest_callback, &status);
+ gpdma_set_buffer_layout(xfer, GPDMA_BUF_SRC, GPDMABUF_BLOCK);
gpdma_load_buffer_virt(xfer, GPDMA_BUF_SRC, buf_a, BUFSIZE);
+ gpdma_set_buffer_layout(xfer, GPDMA_BUF_DST, GPDMABUF_BLOCK);
gpdma_load_buffer_virt(xfer, GPDMA_BUF_DST, buf_b, BUFSIZE);
err = gpdma_program_transfer(xfer, &cookie);
@@ -156,7 +158,7 @@
mtx_unlock(&waitmtx);
printf("buf_a = %p buf_b = %p\n", buf_a, buf_b);
- kdb_enter("", "");
+
err = memcmp(buf_a, buf_b, BUFSIZE);
ASSERT(err != 0, "memory regions doesn't match");
@@ -212,7 +214,7 @@
static int
dmatest_linked(struct resource *channel)
{
- gpdma_transfer_t xfer, xfer2;
+ gpdma_transfer_t xfer = NULL, xfer2 = NULL;
void *buf_1, *buf_2, *buf_3, *buf_4, *cookie;
int status_1, status_2, err = 0;
@@ -233,14 +235,18 @@
/* First transfer */
gpdma_set_transfer_func(xfer, GPDMA_COPY);
gpdma_set_transfer_callback(xfer, dmatest_callback, &status_1);
+ gpdma_set_buffer_layout(xfer, GPDMA_BUF_SRC, GPDMABUF_BLOCK);
gpdma_load_buffer_virt(xfer, GPDMA_BUF_SRC, buf_1, BUFSIZE);
+ gpdma_set_buffer_layout(xfer, GPDMA_BUF_DST, GPDMABUF_BLOCK);
gpdma_load_buffer_virt(xfer, GPDMA_BUF_DST, buf_2, BUFSIZE);
gpdma_set_transfer_link(xfer, xfer2);
/* Second transfer */
gpdma_set_transfer_func(xfer2, GPDMA_COPY);
gpdma_set_transfer_callback(xfer2, dmatest_callback, &status_2);
+ gpdma_set_buffer_layout(xfer2, GPDMA_BUF_SRC, GPDMABUF_BLOCK);
gpdma_load_buffer_virt(xfer2, GPDMA_BUF_SRC, buf_3, BUFSIZE);
+ gpdma_set_buffer_layout(xfer2, GPDMA_BUF_DST, GPDMABUF_BLOCK);
gpdma_load_buffer_virt(xfer2, GPDMA_BUF_DST, buf_4, BUFSIZE);
err = gpdma_program_transfer(xfer, &cookie);
@@ -251,8 +257,8 @@
ASSERT(err != 0, "gpdma_start_transfer: error %d", err);
WAIT(&status_2);
- printf("status_1 = %d\n", status_1);
- printf("status_2 = %d\n", status_2);
+ ASSERT(status_1 != 0, "gpdma transfer: error %d", status_1);
+ ASSERT(status_2 != 0, "gpdma transfer: error %d", status_2);
mtx_unlock(&waitmtx);
err = memcmp(buf_1, buf_2, BUFSIZE);
@@ -262,9 +268,13 @@
ASSERT(err != 0, "memory regions 3,4 doesn't match");
err = 0;
+
out:
- gpdma_free_transfer(xfer);
-// gpdma_free_transfer(xfer2);
+ if (xfer != NULL)
+ gpdma_free_transfer(xfer);
+ if (xfer2 != NULL)
+ gpdma_free_transfer(xfer2);
+
return (err);
}
More information about the p4-projects
mailing list