Page MenuHomeFreeBSD

bcm2835: push address mapping conversion for DMA/mailbox to runtime
ClosedPublic

Authored by kevans on Nov 10 2019, 3:20 AM.
Tags
None
Referenced Files
Unknown Object (File)
Oct 2 2024, 5:13 PM
Unknown Object (File)
Sep 27 2024, 8:44 AM
Unknown Object (File)
Sep 20 2024, 6:27 PM
Unknown Object (File)
Sep 18 2024, 7:03 PM
Unknown Object (File)
Sep 17 2024, 4:09 PM
Unknown Object (File)
Sep 17 2024, 2:34 PM
Unknown Object (File)
Sep 17 2024, 12:38 AM
Unknown Object (File)
Sep 17 2024, 12:38 AM
Subscribers

Details

Summary

We could maintain the static conversions for the !AArch64 Raspberry Pis, but I'm not sure it's worth it -- we'll traverse the platform list exactly once (of which there are only two for armv7), then every conversion there-after traverses the memory map listing (of which there are at-most two entries for these boards: sdram and peripheral space).

Detecting this at runtime is necessary for the AArch64 SOC, though, because there's no other way to discern the RPi3 from the RPi4, and the latter may have > 1GB RAM of which only the lowest 1GB is available to peripherals. This fixes DMA on the RPi4 enough that we can get read the sdcard almost to userland -- as soon as something attempts to write, the SDHCI controller puts the DMA channel on hold and starts timing out.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision was not accepted when it landed; it landed in state Needs Review.Nov 20 2019, 3:58 AM
This revision was automatically updated to reflect the committed changes.