-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[5.3.y] pi4 bcm2835-dma issues with kernel 5.3.y on aarch64 #3251
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
This regression appeared in rpi-4.20.y. There has been a lot of churn in the DMA support, and some of my forward porting has had the unintended effect of causing SWIOTLB to be ignored when it come to deciding if DMA is supported. |
Reverting 66bdb14 (messy, because the file involved has moved) in rpi-4.20.y is one fix/workaround. However, |
AFAIU @vianpl is working on this issue: Never test this series with rpi-5.3. |
That series looks interesting, but from a quick reading it's not a complete solution. I think the main problem arises from the fact that swiotlb use has been pushed down under the dma_direct case, but |
Hi @pelwell and @lategoodbye, here's my take on the issue, haven't had the time to test it though: With e127ac0 you fixed the ZONE_DMA32 size for the RPi4 yet didn't inform dma-direct about the DMA mask limitation. Specially since ZONE_DMA32 implicitly means 32bit DMA masks are supported. This patch should fix it:
Obviously it's pretty hacky and if it really fixes the issue, I suggest reverting e127ac0 and back-porting my series (which should be straightforward). |
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
Thanks, that makes sense (lowering the bar rather than jumping higher...) and does seem to fix the issue. I've pushed this to 5.2 and 5.3 for now and will back-port your changes at a later date after a bit more testing. |
Glad it helped 🙂 |
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
@pelwell @vianpl
All is good now. |
No problem - I just do what I'm told. |
See: raspberrypi/linux#3251 Signed-off-by: Phil Elwell <[email protected]> Signed-off-by: Michael Scott <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/1849623 See: raspberrypi/linux#3251 Signed-off-by: Phil Elwell <[email protected]> (cherry picked from commit c945b8c9be14a5fdf8e33bb2bda8557c0c842898 https://github.com/raspberrypi/linux.git rpi-5.3.y) Signed-off-by: Hui Wang <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: raspberrypi/linux#3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
BugLink: https://bugs.launchpad.net/bugs/1849623 See: raspberrypi/linux#3251 Signed-off-by: Phil Elwell <[email protected]> (cherry picked from commit c945b8c9be14a5fdf8e33bb2bda8557c0c842898 https://github.com/raspberrypi/linux.git rpi-5.3.y) Signed-off-by: Hui Wang <[email protected]> Signed-off-by: Connor Kuehl <[email protected]> Acked-by: Paolo Pisati <[email protected]> Acked-by: Kleber Sacilotto de Souza <[email protected]> Signed-off-by: Kleber Sacilotto de Souza <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: raspberrypi#3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
Source: kernel.org MR: 103889 Type: Enhancement Disposition: Merged from https://github.com/raspberrypi/linux.git rpi-5.4.y ChangeID: 7e348a54d37c5770367a21b6f3bfae4851bea60f Description: See: raspberrypi/linux#3251 Signed-off-by: Phil Elwell <[email protected]> Signed-off-by: Corey Minyard <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
See: #3251 Signed-off-by: Phil Elwell <[email protected]>
Describe the bug
Currently kernel 5.3.y as built from this repo by using bcm2711_defconfig has broken bcm2835-dma
To reproduce
Build the kernel from rpi-5.3.y branch with ARCH=arm64.
Observe dmesg output.
Observe framebuffer not working.
Observe mmc working in PIO mode.
Expected behaviour
bcm2835-dma and by consequence fb works.
Actual behaviour
bcm2835-dma probe fails at the very beginning.
no framebuffer present.
several dma related failures can be seen in dmesg (see below)
System
pi4 4GB
cat /etc/rpi-issue
)?my own, unimportant
vcgencmd version
)?uname -a
)?5.3.0
Logs
dmesg from 5.3.y boot
https://pastebin.com/0MHc46f1
Additional context
To narrow the search let me highlight a few entries from dmesg
While with 4.19.y everything works as expected
The text was updated successfully, but these errors were encountered: