Thread (12 messages) 12 messages, 6 authors, 2026-02-27

Re: [PATCH v4 1/4] PCI/MSI: Conservatively generalize no_64bit_msi into msi_addr_mask

From: Vivian Wang <hidden>
Date: 2026-02-27 05:25:45
Also in: amd-gfx, dri-devel, linux-pci, linux-riscv, linux-sound, linuxppc-dev, lkml

On 2/27/26 02:25, Mark Bloch wrote:
On 29/01/2026 3:56, Vivian Wang wrote:
quoted
Some PCI devices have PCI_MSI_FLAGS_64BIT in the MSI capability, but
implement less than 64 address bits. This breaks on platforms where such
a device is assigned an MSI address higher than what's reachable.

Currently, the no_64bit_msi bit is set for these devices, meaning that
only 32-bit MSI addresses are allowed for them. However, on some
platforms the MSI doorbell address is above the 32-bit limit but within
the addressable range of the device.

As a first step to enabling MSI on those combinations of devices and
platforms, conservatively generalize the single-bit flag no_64bit_msi
into msi_addr_mask. (The name msi_addr_mask is chosen to avoid confusion
with msi_mask.)

The translation is essentially:

- no_64bit_msi = 1    ->    msi_addr_mask = DMA_BIT_MASK(32)
- no_64bit_msi = 0    ->    msi_addr_mask = DMA_BIT_MASK(64)
- if (no_64bit_msi)   ->    if (msi_addr_mask < DMA_BIT_MASK(64))
Hey Vivian,

We are seeing issues while reloading mlx5 on a PPC64 platform.
Mea culpa. There's a fix on the list [1] since last Friday. I'm not sure
why it hasn't moved yet, but please take a look.

Vivian "dramforever" Wang

[1]: https://lore.kernel.org/all/20260220070239.1693303-1-nilay@linux.ibm.com/ (local)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help