Skip to content

Commit

Permalink
sw: Add empty DMA transfer test
Browse files Browse the repository at this point in the history
  • Loading branch information
colluca committed Jul 1, 2024
1 parent 7e8b10e commit 8558f11
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 2 deletions.
4 changes: 2 additions & 2 deletions sw/snRuntime/src/dma.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ inline snrt_dma_txid_t snrt_dma_start_1d_wideptr(uint64_t dst, uint64_t src,

return reg_txid;
} else {
return -1;
return 0;
}
}

Expand Down Expand Up @@ -129,7 +129,7 @@ inline snrt_dma_txid_t snrt_dma_start_2d_wideptr(uint64_t dst, uint64_t src,

return reg_txid;
} else {
return -1;
return 0;
}
}

Expand Down
25 changes: 25 additions & 0 deletions sw/tests/dma_empty_transfer.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// Copyright 2020 ETH Zurich and University of Bologna.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0

#include <snrt.h>

// Allocate a buffer in the main memory which we will use to copy data around
// with the DMA.
uint32_t buffer[32];

int main() {
if (snrt_global_core_idx() != 8) return 0; // only DMA core

// Populate source buffer.
uint32_t buffer_src[32];
for (uint32_t i = 0; i < 32; i++) {
buffer_src[i] = i + 1;
}

// Start a DMA transfer of zero size.
snrt_dma_txid_t id = snrt_dma_start_1d(buffer, buffer_src, 0);
snrt_dma_wait(id);

// Test is successful if the previous transfer doesn't block.
}
1 change: 1 addition & 0 deletions target/snitch_cluster/sw/run.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ runs:
simulators: [vsim, vcs, verilator] # banshee fails with exit code 0x4
- elf: tests/build/barrier.elf
- elf: tests/build/data_mover.elf
- elf: tests/build/dma_empty_transfer.elf
- elf: tests/build/dma_simple.elf
- elf: tests/build/event_unit.elf
- elf: tests/build/fence_i.elf
Expand Down

0 comments on commit 8558f11

Please sign in to comment.