Date: Sun, 5 Sep 2010 12:16:45 GMT From: Jakub Wojciech Klama <jceel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 183381 for review Message-ID: <201009051216.o85CGj7S034548@skunkworks.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@183381?ac=10 Change 183381 by jceel@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); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201009051216.o85CGj7S034548>