On Fri, Sep 09, 2022 at 02:47:19PM +0100, Robin Murphy wrote: > On 2022-09-09 14:29, Christoph Hellwig wrote: > > On Thu, Aug 25, 2022 at 06:50:25PM +0000, Will McVicker wrote: > > > Since not all devices require a 32-bit MSI address, add support to the > > > PCIe host driver to allow setting the DMA mask to 64-bits if the 32-bit > > > allocation fails. This allows kernels to disable ZONE_DMA32 and bounce > > > buffering (swiotlb) without risking not being able to get a 32-bit address > > > during DMA allocation. > > > > Umm. You can't just disable ZONE_DMA32. Linux absolutely requires a > > 32-bit dma mask to work, it is in fact the implicit default. > > Eh, it's behind CONFIG_EXPERT, which makes it enough of a "I think I know > what I'm doing and accept responsibility for picking up the pieces if it > breaks" thing. Seem like indeed on arm64 there is a way to disable it. The x86 model is to just select it unconditionally, which I think is the right way if we don't want to get into completely random failures.