diff options
Diffstat (limited to 'bmm_test.c')
-rw-r--r-- | bmm_test.c | 137 |
1 files changed, 0 insertions, 137 deletions
@@ -110,124 +110,6 @@ int test_bmm_malloc(unsigned long size, int attr) free_size1 != free_size3); } -int test_bmm_dma_memcpy(unsigned long size) -{ - char *src; - char *dst; - unsigned long i; - unsigned long free_size1; - unsigned long free_size2; - unsigned long free_size3; - int ret = 0; - - PRINT_TEST_NAME; - - free_size1 = bmm_get_free_space(); - src = bmm_malloc(size, BMM_ATTR_DEFAULT); - dst = bmm_malloc(size, BMM_ATTR_DEFAULT); - memset(src, 0, size); - memset(dst, 0, size); - free_size2 = bmm_get_free_space(); - if(src == NULL) { - printf("\tno enough memory\n"); - return -1; - } - if(dst == NULL) { - printf("\tno enough memory\n"); - bmm_free(src); - return -2; - } - for(i=0; i<size; i++) - src[i] = dst[size-i-1] = i; - bmm_flush_cache(src, BMM_DMA_TO_DEVICE); - bmm_flush_cache(dst, BMM_DMA_TO_DEVICE); - bmm_dma_memcpy(dst, src, size); - bmm_dma_sync(); - bmm_flush_cache(dst, BMM_DMA_FROM_DEVICE); - for(i=0; i<size; i++) { - if(src[i] != dst[i]) { - ret--; - if(debug) - printf("\t[%ld]: %d != %d\n", i, src[i], dst[i]); - else - break; - } - } - - bmm_free(src); - bmm_free(dst); - free_size3 = bmm_get_free_space(); - - printf("\tbmm_dma_memcpy(%ld/%ld) = %d\n", size, i, ret); - printf("\tbmm_get_free_space() return %ldKB %ldKB %ldKB\n", - free_size1/1024, free_size2/1024, free_size3/1024); - - if(ret) - return ret; - - return (free_size1 - free_size2 != size << 1 || free_size1 != free_size3); -} - -int test_bmm_dma_memcpy_range(unsigned long size) -{ - char *src; - char *dst; - unsigned long i, offset; - unsigned long free_size1; - unsigned long free_size2; - unsigned long free_size3; - int ret = 0; - - PRINT_TEST_NAME; - - free_size1 = bmm_get_free_space(); - src = bmm_malloc(size, BMM_ATTR_DEFAULT); - dst = bmm_malloc(size, BMM_ATTR_DEFAULT); - memset(src, 0, size); - memset(dst, 0, size); - free_size2 = bmm_get_free_space(); - if(src == NULL) { - printf("\tno enough memory\n"); - return -1; - } - if(dst == NULL) { - printf("\tno enough memory\n"); - bmm_free(src); - return -2; - } - for(i=0; i<size; i++) - src[i] = dst[size-i-1] = i; - for(offset=0; offset+size/2<size && offset<8096; offset+=128) { - bmm_flush_cache_range(src+offset, size/2, BMM_DMA_TO_DEVICE); - bmm_flush_cache_range(dst+offset, size/2, BMM_DMA_TO_DEVICE); - bmm_dma_memcpy(dst+offset, src+offset, size/2); - bmm_dma_sync(); - bmm_flush_cache_range(dst+offset, size/2, BMM_DMA_FROM_DEVICE); - for(i=offset; i<size/2; i++) { - if(src[i] != dst[i]) { - ret--; - if(debug) - printf("\t[%ld]: %d != %d\n", i, src[i], dst[i]); - else - break; - } - } - } - - bmm_free(src); - bmm_free(dst); - free_size3 = bmm_get_free_space(); - - printf("\tbmm_dma_memcpy(%ld/%ld) = %d\n", size, i, ret); - printf("\tbmm_get_free_space() return %ldKB %ldKB %ldKB\n", - free_size1/1024, free_size2/1024, free_size3/1024); - - if(ret) - return ret; - - return (free_size1 - free_size2 != size << 1 || free_size1 != free_size3); -} - long gettickcount(void) { struct timeval g_tv; @@ -425,25 +307,6 @@ int main(int argc, char * argv[]) PRINT_TEST_RESULT(ret); } -#if 0 - n = 128; - for(i=1; i<=n; i++) { - ret = test_bmm_dma_memcpy(i*4096); - PRINT_TEST_RESULT(ret); - } - - n = 4; - for(i=1; i<=n; i++) { - ret = test_bmm_dma_memcpy(i*1024*1024); - PRINT_TEST_RESULT(ret); - } - - n = 128; - for(i=1; i<=n; i++) { - ret = test_bmm_dma_memcpy_range(i*4096); - PRINT_TEST_RESULT(ret); - } -#endif n = 1; ret = test_bmm_flush_user(n*1024*1024); PRINT_TEST_RESULT(ret); |