Skip to content
Commit 2cfb1fa5 authored by yaroslavros's avatar yaroslavros Committed by Phil Elwell
Browse files

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: default avatarYaroslav Rosomakho <yaroslavros@gmail.com>

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: default avatarPhil Elwell <phil@raspberrypi.com>

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: default avatarPhil Elwell <phil@raspberrypi.org>
parent 85dcbaaf
  • mirror @mirror

    mentioned in commit 29ea7f9676e19381342928b2df61107e6b59aee3

    ·

    mentioned in commit 29ea7f9676e19381342928b2df61107e6b59aee3

    Toggle commit list
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment