+Robin On Mon, Mar 13, 2023 at 02:40:15PM +0200, Elad Nachman wrote: > From: Elad Nachman <enachman@xxxxxxxxxxx> > > Some devices, such as AC5 and AC5X have their physical DDR memory > start at address 0x2_0000_0000. In order to have the DMA coherent > allocation succeed later, a different DMA mask is required, as > defined in the DT file for such SOCs, using dma-ranges. I'm afraid this is not right. 'dma-ranges' in the PCI host bridge node applies to PCI devices (i.e. child node), not the host bridge itself. It's 'dma-ranges' in the parent node of the host bridge that applies here. The core code will set masks (ranges really now) based on bus restrictions. The mask for the device should only be based on the device's limits (i.e. the device is 32-bit only). I think you will need whatever solution comes out of this thread[1]. Rob [1] https://lore.kernel.org/all/c014b074-6d7f-773b-533a-c0500e239ab8@xxxxxxx/