-
Notifications
You must be signed in to change notification settings - Fork 64
piolob: large transfer regression between 6.6.74+rpt-rpi-v8 & 6.12.18-v8-16k+ #123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
It's working for me, albeit with a self-built kernel:
What firmware version is your colleague running?
|
fwiw my error reporting code is incorrect. The actual error when transferring >65532 bytes is ETIMEDOUT.
errors like the following appear in dmesg
version info (now on my local machine, I ran
|
I was able to reproduce this with the updated pull_noblock test. It's caused by a patch missing from the 6.12 RP1 DMA driver, now restored by raspberrypi/linux#6729. You can test this kernel with |
It looks like that's fixed it. thank you. |
For #107, the ability to transfer more than 65532 bytes at a time was added.
On my system with kernel 6.6.74+rpt-rpi-v8 this works. On my colleague's system with 6.12.18-v8-16k+, large transfers result in "pio_sm_xfer_data: Operation not permitted".
This can easily be seen for example by using a modified version of the "pull noblock" test from #116 (comment)
On an affected system, running it with no args will give an error
while specifying a transfer size of 65532 will succeed:
pull noblock test with block size control
ping @ladyada @FoamyGuy for interest
The text was updated successfully, but these errors were encountered: