Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Ported pcie-brcmstb bounce buffer implementation to ARM64. (#3144)
Ported pcie-brcmstb bounce buffer implementation to ARM64. This enables full 4G RAM usage on Raspberry Pi in 64-bit mode. Signed-off-by: Yaroslav Rosomakho <[email protected]> pcie-brcmstb: Correct SoC name The Pi 4 SoC is called BCM2711, not BCM2838. Fixes: "bcm2835-dma: Add proper 40-bit DMA support" Fixes: "Ported pcie-brcmstb bounce buffer implementation to ARM64." Signed-off-by: Phil Elwell <[email protected]> pcie-brcmstb-bounce64.c: dev_err() -> dev_info() for info messages "dmabounce: initialised" is not an error, so do not log it as such. Prevents screen polution on OS with "quiet" as kernel parameter. Closes #3266 pcie-brcmstb: Remove brcm_to_*, add pcie_to_dma40 The DMA framework performs the necessary address conversions for the common cases based on the dma-ranges DT property. brcm_to_pci and brcm_to_cpu were probably designed for non-DT use cases, something which isn't an issue for 2711. This second level of mapping causes breakage with a non-identity PCIe<->system address mapping, so remove it completely. The non-identity mapping also broke the DMA40 support, so add back a simple translation from PCIe to sys addresses. arm64 builds also require a wider coherent_dma_mask, otherwise the bounce buffer allocation is rejected. Signed-off-by: Phil Elwell <[email protected]>
- Loading branch information