From 098292a22b62229c54a828389f285b2b510c2f0a Mon Sep 17 00:00:00 2001 From: sebastianpetersFAU <43993892+sebastianpetersFAU@users.noreply.github.com> Date: Tue, 18 Oct 2022 13:18:02 +0200 Subject: [PATCH] incorporate array offset into descriptors Array offset was ignored when filling out descriptors but was used properly when checking for alignment. See https://github.com/Xilinx/PYNQ/issues/1392 --- pynq/lib/dma.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pynq/lib/dma.py b/pynq/lib/dma.py index 1857149e5..e2cc3f355 100644 --- a/pynq/lib/dma.py +++ b/pynq/lib/dma.py @@ -410,9 +410,9 @@ def transfer(self, array, start=0, nbytes=0, cyclic=False): remain -= d_len # Buffer address (64-bit) - self._descr[i, 2] = (array.physical_address + (i * blk_size)) & 0xFFFFFFFF + self._descr[i, 2] = (array.physical_address + start + (i * blk_size)) & 0xFFFFFFFF self._descr[i, 3] = ( - (array.physical_address + (i * blk_size)) >> 32 + (array.physical_address + start + (i * blk_size)) >> 32 ) & 0xFFFFFFFF # First block