You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I just noticed that in dma.py, when using the _SGDMAChannel.transfer(array, start, nbytes) function, the start parameter (offset into array) is ignored in lines 427 and 429 when the descriptors are filled out.
This leads to the data ending up at the wrong address as if start was always set to 0.
In line 382 the start parameter is used as expected ... (array.physical_address + start) ... when checking for alignment,
I just noticed that in dma.py, when using the
_SGDMAChannel.transfer(array, start, nbytes)
function, thestart
parameter (offset into array) is ignored in lines 427 and 429 when the descriptors are filled out.This leads to the data ending up at the wrong address as if
start
was always set to0
.In line 382 the
start
parameter is used as expected... (array.physical_address + start) ...
when checking for alignment,Suggestion: Add
+ start
in line 427 (and 429):old:
(array.physical_address + (i * blk_size)) & 0xffffffff
new:
(array.physical_address + start + (i * blk_size)) & 0xffffffff
The text was updated successfully, but these errors were encountered: