[PATCH RFC 00/11] dmaengine: bcm2835: add BCM2711 40-bit DMA support

Stefan Wahren stefan.wahren at i2se.com
Sun Jan 23 06:08:01 PST 2022


Hi,

Am 27.12.21 um 13:05 schrieb Stefan Wahren:
> The BCM2711 has 4 DMA channels with a 40-bit address range, allowing them
> to access the full 4GB of memory on a Pi 4. This patch series serves as a
> basis for a discussion (just compile tested, so don't expect anything working)
> which include the following points:
>
> * correct DT binding and representation for BCM2711
>
> According to the vendor DTS [1] the 4 DMA channels are connected to SCB.
> I'm not sure how this is properly adapted to the mainline DT.
>
> * general implementation approach
>
> The vendor approach mapped all the BCM2835 control block bits to the BCM2711
> layout and the rest of the differences are handled by a lot of is_40bit_channel
> conditions. An advantage of this is the small amount of changes to the driver.
> But on the down side the code is now much harder to understand and maintain.
>
> This series tries to implement this feature in a more cleaner way
> while keeping it in the bcm2835-dma driver. Before this series the driver
> has ~ 1000 lines and after that ~ 1500 lines.
>
> So the question is this approach acceptable?
>
> Patches 1 - 3 are just clean-ups.
>
> Disclaimer: my knowledge about the DMA controller is very limited
>
> More information:
>
> https://datasheets.raspberrypi.com/bcm2711/bcm2711-peripherals.pdf
>
> [1] - https://github.com/raspberrypi/linux/blob/561deffcf471ba0f7bd48541d06a79d5aa38d297/arch/arm/boot/dts/bcm2711-rpi-ds.dtsi#L47
> [2] - https://github.com/raspberrypi/linux/commit/44364bd140b0bc9187c881fbdc4ee358961059d5
would be nice to get some input aka gentle ping.



More information about the linux-arm-kernel mailing list