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

Mark Bloch <[email protected]>
Newsgroups dev.linux.lists.sophgo,org.freedesktop.lists.amd-gfx,org.freedesktop.lists.dri-devel,org.infradead.lists.linux-riscv,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci,org.kernel.vger.linux-sound,org.kernel.vger.netdev,org.ozlabs.lists.linuxppc-dev
Message-ID <[email protected]>

On 27/02/2026 7:25, Vivian Wang wrote:
> On 2/27/26 02:25, Mark Bloch wrote:
> 
>> On 29/01/2026 3:56, Vivian Wang wrote:
>>> 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.
> 

Thanks! I've looked at the patch, it seems fine and should fix the issue we
are seeing.

Mark

> Vivian "dramforever" Wang
> 
> [1]: https://lore.kernel.org/all/[email protected]/
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.