Thread (13 messages) 13 messages, 3 authors, 2026-01-08

Re: [PATCH RFC net-next 5/5] net: ionic: Set msi_addr_mask to IONIC_ADDR_LEN-bit everywhere

From: Creeley, Brett <hidden>
Date: 2026-01-06 18:37:43
Also in: amd-gfx, dri-devel, linux-pci, linux-sound, linuxppc-dev, lkml


On 12/23/2025 7:10 PM, Vivian Wang wrote:
quoted hunk ↗ jump to hunk
Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.


The code was originally written using no_64bit_msi, which restricts the
device to 32-bit MSI addresses.

Since msi_addr_mask is introduced, use DMA_BIT_MASK(IONIC_ADDR_LEN)
instead of DMA_BIT_MASK(32) here for msi_addr_mask, describing the
restriction more precisely and allowing these devices to work on
platforms with MSI doorbell address above 32-bit space, as long as it is
within the hardware's addressable space.

Also remove #ifdef CONFIG_PPC64 wrapped around it, since this is a
hardware restriction and not a platform one.

Signed-off-by: Vivian Wang <redacted>

---

RFC because net-next is closed

pensando maintainers: I don't know if this is the actual restriction,
and do not have any Pensando device to test this. Please help with
checking this.  Thanks.
---
  drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c | 4 +---
  1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
index 0671deae9a28..16133537c535 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
@@ -329,10 +329,8 @@ static int ionic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                 goto err_out;
         }

-#ifdef CONFIG_PPC64
         /* Ensure MSI/MSI-X interrupts lie within addressable physical memory */
-       pdev->msi_addr_mask = DMA_BIT_MASK(32);
-#endif
+       pdev->msi_addr_mask = DMA_BIT_MASK(IONIC_ADDR_LEN);
I'm not sure that our device has MSI address limitations. I am getting 
an answer to this locally, but we might only be limited in the DMA 
address space.

I will get back on this as quickly as possible.

Thanks,

Brett
         err = ionic_setup_one(ionic);
         if (err)

--
2.51.2
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help