dmaengine: sun6i: Add support for 34-bit physical addresses
authorSamuel Holland <samuel@sholland.org>
Sun, 24 Apr 2022 17:27:57 +0000 (12:27 -0500)
committerVinod Koul <vkoul@kernel.org>
Thu, 19 May 2022 18:13:41 +0000 (23:43 +0530)
commitec31c5c594927556ae74f6617fe4969568d8dcc5
tree9da68524181eb5f5f2c03d87aa577361a3d0a960
parent9aa48806edb8c37e82532dbc6098b03f6bd4245e
dmaengine: sun6i: Add support for 34-bit physical addresses

Recent Allwinner SoCs support >4 GiB of DRAM, so those variants of the
DMA engine support >32 bit physical addresses. This is accomplished by
placing the high bits in the "para" word in the DMA descriptor.

DMA descriptors themselves can be located at >32 bit addresses by
putting the high bits in the LSBs of the descriptor address register,
taking advantage of the required DMA descriptor alignment. However,
support for this is not really necessary, so we can avoid the
complication by allocating them from the DMA_32 zone.

Signed-off-by: Samuel Holland <samuel@sholland.org>
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20220424172759.33383-4-samuel@sholland.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/sun6i-dma.c