@@ -93,7 +93,8 @@ extern int pci_msi_enable;
void pci_msi_shutdown(struct pci_dev *dev);
void pci_msix_shutdown(struct pci_dev *dev);
void pci_free_msi_irqs(struct pci_dev *dev);
-int __pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec, struct irq_affinity *affd);
+int __pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec,
+ struct irq_affinity *affd, dma_addr_t iova);
int __pci_enable_msix_range(struct pci_dev *dev, struct msix_entry *entries, int minvec,
int maxvec, struct irq_affinity *affd, int flags);
void __pci_restore_msi_state(struct pci_dev *dev);
@@ -29,7 +29,8 @@
*/
int pci_enable_msi(struct pci_dev *dev)
{
- int rc = __pci_enable_msi_range(dev, 1, 1, NULL);
+ int rc = __pci_enable_msi_range(dev, 1, 1, NULL,
+ PHYS_ADDR_MAX);
if (rc < 0)
return rc;
return 0;
@@ -274,7 +275,8 @@ int pci_alloc_irq_vectors_affinity(struct pci_dev *dev, unsigned int min_vecs,
}
if (flags & PCI_IRQ_MSI) {
- nvecs = __pci_enable_msi_range(dev, min_vecs, max_vecs, affd);
+ nvecs = __pci_enable_msi_range(dev, min_vecs, max_vecs,
+ affd, PHYS_ADDR_MAX);
if (nvecs > 0)
return nvecs;
}
@@ -417,7 +417,7 @@ static int msi_capability_init(struct pci_dev *dev, int nvec,
}
int __pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec,
- struct irq_affinity *affd)
+ struct irq_affinity *affd, dma_addr_t iova)
{
int nvec;
int rc;
@@ -460,7 +460,7 @@ int __pci_enable_msi_range(struct pci_dev *dev, int minvec, int maxvec,
return -ENOSPC;
}
- rc = msi_capability_init(dev, nvec, affd, PHYS_ADDR_MAX);
+ rc = msi_capability_init(dev, nvec, affd, iova);
if (rc == 0)
return nvec;
The previous patch passes in the msi_iova to msi_capability_init, so this allows its caller to do the same. Signed-off-by: Nicolin Chen <nicolinc@nvidia.com> --- drivers/pci/msi/msi.h | 3 ++- drivers/pci/msi/api.c | 6 ++++-- drivers/pci/msi/msi.c | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-)