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 <[email protected]> --- 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); err = ionic_setup_one(ionic); if (err) -- 2.51.2
