-
Notifications
You must be signed in to change notification settings - Fork 5.2k
rpi-6.10.y/vchiq dma mask updates #6209
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
rpi-6.10.y/vchiq dma mask updates #6209
Conversation
Yes, VideoCore has a 32-bit (or perhaps more accurately 30-bit address bus), so any services that use vchiq will be the same. @pelwell ? |
The limitation here is the bus to the VPU and its peripherals. Yes, it's a 30-bit address bus but offset at the 3GB mark, so it's effectively 32-bit. The other clients, |
This only builds for arm64 - ARCH=arm builds fail complaining about the absence of dmac_inv_range and dmac_clean_range. |
Missing forward port of bd7e433 ? |
Yes - it was literally the first missing commit suggested by my forward-porting script, and now applied. |
Note that the use cases for dmac_inv_range and dmac_clean_range as cache flush functions via vcsm-cma are likely dead. I think it was only JC's HEVC decode on Pi3 that was using them, and with the switch to V3D being driven from the kernel that is no longer functional. (It used VPU, QPUs, ARM NEON, and almost every other hardware block it could get hold of). |
@6by9 I've pushed to 6.10 a revert of the commit that exposes |
The platform model originally handled the DMA mask. Now that we are on the vchiq_bus we need to explicitly set this. Signed-off-by: Kieran Bingham <[email protected]>
The platform model originally handled the DMA mask. Now that we are on the vchiq_bus we need to explicitly set this. Signed-off-by: Kieran Bingham <[email protected]>
The platform model originally handled the DMA mask. Now that we are on the vchiq_bus we need to explicitly set this. Signed-off-by: Kieran Bingham <[email protected]>
60eea8a
to
ace1099
Compare
Refreshed this branch, but I still think we should make vchiq bus do this at the core level (and send that patch upstream). That will take some more minutes than I have right now though. |
I agree this would be best handled in common code. |
These update the (remaining) vchiq bus devices to explicitly set the DMA_MASK.
In particular, the VC-SM-CMA triggers a warning at boot without this.
This implementation updates the SM-CMA, ISP, and Codec to match the audio and camera device. Though I do wonder if we should instead make the vchiq_bus probe() just register this on all vchiq devices directly instead!
(I assume all vchiq based devices would have an identical DMA mask).