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