tests: dma: Increase data transferred in loop_transfer test
Increase the amount of data to be transferred.
Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
diff --git a/tests/drivers/dma/loop_transfer/src/test_dma_loop.c b/tests/drivers/dma/loop_transfer/src/test_dma_loop.c
index 59dad03..63bfcf8 100644
--- a/tests/drivers/dma/loop_transfer/src/test_dma_loop.c
+++ b/tests/drivers/dma/loop_transfer/src/test_dma_loop.c
@@ -31,42 +31,18 @@
/* in millisecond */
#define SLEEPTIME 250
-#define DATA \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog\n" \
- "The quick brown fox jumps over the lazy dog"
-
#define TRANSFER_LOOPS (4)
-#define RX_BUFF_SIZE (1024)
+#define XFER_SIZE (8192)
#if CONFIG_NOCACHE_MEMORY
-static const char TX_DATA[] = DATA;
-static __aligned(32) char tx_data[1024] __used
+static __aligned(32) uint8_t tx_data[XFER_SIZE] __used
__attribute__((__section__(CONFIG_DMA_LOOP_TRANSFER_SRAM_SECTION)));
-static __aligned(32) char rx_data[TRANSFER_LOOPS][RX_BUFF_SIZE] __used
+static __aligned(32) uint8_t rx_data[TRANSFER_LOOPS][XFER_SIZE] __used
__attribute__((__section__(CONFIG_DMA_LOOP_TRANSFER_SRAM_SECTION".dma")));
#else
/* this src memory shall be in RAM to support usingas a DMA source pointer.*/
-static char tx_data[] = DATA;
-static __aligned(16) char rx_data[TRANSFER_LOOPS][RX_BUFF_SIZE] = { { 0 } };
+static uint8_t tx_data[XFER_SIZE];
+static __aligned(16) uint8_t rx_data[TRANSFER_LOOPS][XFER_SIZE] = { { 0 } };
#endif
volatile uint32_t transfer_count;
@@ -79,7 +55,7 @@
{
transfer_count++;
if (transfer_count < TRANSFER_LOOPS) {
- dma_block_cfg.block_size = strlen(tx_data);
+ dma_block_cfg.block_size = sizeof(tx_data);
#ifdef CONFIG_DMA_64BIT
dma_block_cfg.source_address = (uint64_t)tx_data;
dma_block_cfg.dest_address = (uint64_t)rx_data[transfer_count];
@@ -125,10 +101,11 @@
test_case_id = 0;
TC_PRINT("DMA memory to memory transfer started\n");
-#if CONFIG_NOCACHE_MEMORY
memset(tx_data, 0, sizeof(tx_data));
- memcpy(tx_data, TX_DATA, sizeof(TX_DATA));
-#endif
+
+ for (int i = 0; i < XFER_SIZE; i++) {
+ tx_data[i] = i;
+ }
memset(rx_data, 0, sizeof(rx_data));
@@ -164,7 +141,7 @@
transfer_count = 0;
done = 0;
TC_PRINT("Starting the transfer on channel %d and waiting for 1 second\n", chan_id);
- dma_block_cfg.block_size = strlen(tx_data);
+ dma_block_cfg.block_size = sizeof(tx_data);
#ifdef CONFIG_DMA_64BIT
dma_block_cfg.source_address = (uint64_t)tx_data;
dma_block_cfg.dest_address = (uint64_t)rx_data[transfer_count];
@@ -197,8 +174,8 @@
TC_PRINT("Each RX buffer should contain the full TX buffer string.\n");
for (int i = 0; i < TRANSFER_LOOPS; i++) {
- TC_PRINT("RX data Loop %d: %s\n", i, rx_data[i]);
- if (strncmp(tx_data, rx_data[i], sizeof(rx_data[i])) != 0) {
+ TC_PRINT("RX data Loop %d\n", i);
+ if (memcmp(tx_data, rx_data[i], XFER_SIZE)) {
return TC_FAIL;
}
}
@@ -215,10 +192,11 @@
test_case_id = 1;
TC_PRINT("DMA memory to memory transfer started\n");
-#if CONFIG_NOCACHE_MEMORY
memset(tx_data, 0, sizeof(tx_data));
- memcpy(tx_data, TX_DATA, sizeof(TX_DATA));
-#endif
+
+ for (int i = 0; i < XFER_SIZE; i++) {
+ tx_data[i] = i;
+ }
memset(rx_data, 0, sizeof(rx_data));
@@ -254,7 +232,7 @@
transfer_count = 0;
done = 0;
TC_PRINT("Starting the transfer on channel %d and waiting for 1 second\n", chan_id);
- dma_block_cfg.block_size = strlen(tx_data);
+ dma_block_cfg.block_size = sizeof(tx_data);
#ifdef CONFIG_DMA_64BIT
dma_block_cfg.source_address = (uint64_t)tx_data;
dma_block_cfg.dest_address = (uint64_t)rx_data[transfer_count];
@@ -340,8 +318,8 @@
TC_PRINT("Each RX buffer should contain the full TX buffer string.\n");
for (int i = 0; i < TRANSFER_LOOPS; i++) {
- TC_PRINT("RX data Loop %d: %s\n", i, rx_data[i]);
- if (strncmp(tx_data, rx_data[i], sizeof(rx_data[i])) != 0) {
+ TC_PRINT("RX data Loop %d\n", i);
+ if (memcmp(tx_data, rx_data[i], XFER_SIZE)) {
return TC_FAIL;
}
}
@@ -393,10 +371,7 @@
TC_PRINT("DMA memory to memory transfer started\n");
TC_PRINT("Preparing DMA Controller\n");
-#if CONFIG_NOCACHE_MEMORY
memset(tx_data, 0, sizeof(tx_data));
- memcpy(tx_data, TX_DATA, sizeof(TX_DATA));
-#endif
memset(rx_data, 0, sizeof(rx_data));
@@ -435,7 +410,7 @@
transfer_count = 0;
done = 0;
TC_PRINT("Starting the transfer on channel %d and waiting for 1 second\n", chan_id);
- dma_block_cfg.block_size = strlen(tx_data);
+ dma_block_cfg.block_size = sizeof(tx_data);
#ifdef CONFIG_DMA_64BIT
dma_block_cfg.source_address = (uint64_t)tx_data;
dma_block_cfg.dest_address = (uint64_t)rx_data[transfer_count];
@@ -481,8 +456,8 @@
TC_PRINT("Each RX buffer should contain the full TX buffer string.\n");
for (int i = 0; i < TRANSFER_LOOPS; i++) {
- TC_PRINT("RX data Loop %d: %s\n", i, rx_data[i]);
- if (strncmp(tx_data, rx_data[i], sizeof(rx_data[i])) != 0) {
+ TC_PRINT("RX data Loop %d\n", i);
+ if (memcmp(tx_data, rx_data[i], XFER_SIZE)) {
return TC_FAIL;
}
}