Re: [PATCH RFC 00/11] dmaengine: bcm2835: add BCM2711 40-bit DMA support
From: Vinod Koul <vkoul@kernel.org>
Date: 2022-02-15 11:21:09
Also in:
dmaengine, linux-devicetree
On 23-01-22, 15:08, Stefan Wahren wrote:
Hi, Am 27.12.21 um 13:05 schrieb Stefan Wahren:quoted
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/44364bd140b0bc9187c881fbdc4ee358961059d5would be nice to get some input aka gentle ping.
Somehow patch 10/11 is appearing split from rest of the series. The series looks fairly okay, dts needs more polishing as Rob indicated -- ~Vinod _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel