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)
Dec 22 2023, 9:49 PM
Unknown Object (File)
Sep 11 2023, 4:58 AM
Unknown Object (File)
Sep 5 2023, 10:31 AM
Unknown Object (File)
Sep 5 2023, 10:29 AM
Unknown Object (File)
Sep 5 2023, 10:28 AM
Unknown Object (File)
Aug 31 2023, 8:30 AM
Unknown Object (File)
Aug 27 2023, 2:32 PM
Unknown Object (File)
May 25 2023, 1:20 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.