[cc->to powerpc, sparc maintainers for ack]
On Fri, Feb 20, 2026 at 12:32:26PM +0530, Nilay Shroff wrote:
> Hi,
>
> Recent changes [1] which replaced pci_dev::no_64bit_msi with pci_dev::
> msi_addr_mask inadvertently missed to initialize the pci_dev::msi_addr_mask
> to the DMA_BIT_MASK(64) on powerpc platform. Due to this, later the
> validation the programmed MSI address against the msi_addr_mask fails.
> This causes pci device probe method failures on powerpc platform. We also
> realized that similar issue could potentially happen on sparc system as
> well. So this series initializes pci_dev::msi_addr_mask to DMA_BIT_MASK(64)
> when pci_dev is instantiated for both powerpc and sparc platforms.
>
> The first patch in the series fixes this on powerpc platform. The second
> patch fixes this issue on sparc platform. Please note that as I don't have
> access to the sparc platform, this patch was only compile tested on the
> sparc system. Anyone from the community is welcome to test it who has
> access to the sparc machine.
>
> [1]
> https://lore.kernel.org/all/[email protected]/
>
> Changes since v1:
> - Initialize the pci_dev:msi_addr_mask on sparc platform (Vivian Wang)
> - Some minor cosmetic fixes (Bjorn Helgaas)
>
> Nilay Shroff (2):
> powerpc/pci: Initialize msi_addr_mask for OF-created PCI devices
> sparc/pci: Initialize msi_addr_mask for OF-created PCI devices
>
> arch/powerpc/kernel/pci_of_scan.c | 7 +++++++
> arch/sparc/kernel/pci.c | 7 +++++++
> 2 files changed, 14 insertions(+)
These fix regressions on powerpc and sparc caused by 386ced19e9a3
("PCI/MSI: Convert the boolean no_64bit_msi flag to a DMA address
mask").
These fixes have been tested by Han Gao (SPARC Enterprise T5220),
Nathaniel Roach (SPARC T5-2), and Venkat Rao Bagalkote (IBM Power
System LPAR (pseries)).
It'd be great to have acks from the powerpc and sparc folks so they
could be merged either by Thomas (who merged 386ced19e9a3) or me (via
PCI tree).
Bjorn