On 08/11/2022, 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. 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. > Basically, in the slim chance that there are no 32-bit allocations > available, the current PCIe host driver will fail to allocate the > msi_msg page due to a DMA address overflow (seen in [1]). With this > patch, the PCIe device can advertise 64-bit support via its MSI > capabilities to hint to the PCIe host driver to set the DMA mask to > 64-bits. > > [1] https://lore.kernel.org/all/Yo0soniFborDl7+C@xxxxxxxxxx/ > > Reported-by: kernel test robot <lkp@xxxxxxxxx> > Signed-off-by: Will McVicker <willmcvicker@xxxxxxxxxx> > Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Jingoo Han <jingoohan1@xxxxxxxxx> > --- > drivers/pci/controller/dwc/pcie-designware-host.c | 14 ++++++++++++-- > drivers/pci/controller/dwc/pcie-designware.c | 8 ++++++++ > drivers/pci/controller/dwc/pcie-designware.h | 1 + > 3 files changed, 21 insertions(+), 2 deletions(-) …..