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.