On 12/02/2020 12:33 pm, Roger Quadros wrote:
[...]
For now, let's say that we limit dma-ranges to 4GB size. with
"dma-ranges = <0x00000000 0x00000000 0x1 0x00000000>;"
Then, dma_bus_limit is set correctly to 0xffffffff, SATA driver sets
masks to 64-bit as IP supports that.
[ 13.306847] ahci 4a140000.sata: dma_mask 0xffffffffffffffff,
coherent_mask 0xffffffffffffffff, dma_bus_limit 0xffffffff
However, the SATA controller still tries to do DMA above 32-bits.
dma_alloc() doesn't seem to be taking dma_bus_limit into account?
Yay ARM LPAE... Peter and Christoph have already been playing
whack-a-mole with other bugs under that config - is this with or without
SWIOTLB? (and whichever way, does the other work any better?)
Robin.