summaryrefslogtreecommitdiffstats
path: root/arch/x86/pci/vmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/pci/vmd.c')
-rw-r--r--arch/x86/pci/vmd.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/x86/pci/vmd.c b/arch/x86/pci/vmd.c
index f576dcba2175..61a97ff36514 100644
--- a/arch/x86/pci/vmd.c
+++ b/arch/x86/pci/vmd.c
@@ -56,15 +56,12 @@ struct vmd_irq {
/**
* struct vmd_irq_list - list of driver requested IRQs mapping to a VMD vector
* @irq_list: the list of irq's the VMD one demuxes to.
- * @vmd_vector: the h/w IRQ assigned to the VMD.
* @index: index into the VMD MSI-X table; used for message routing.
* @count: number of child IRQs assigned to this vector; used to track
* sharing.
*/
struct vmd_irq_list {
struct list_head irq_list;
- struct vmd_dev *vmd;
- unsigned int vmd_vector;
unsigned int index;
unsigned int count;
};
@@ -201,8 +198,10 @@ static int vmd_msi_init(struct irq_domain *domain, struct msi_domain_info *info,
vmdirq->irq = vmd_next_irq(vmd, desc);
vmdirq->virq = virq;
- irq_domain_set_info(domain, virq, vmdirq->irq->vmd_vector, info->chip,
- vmdirq, handle_untracked_irq, vmd, NULL);
+ irq_domain_set_info(domain, virq,
+ pci_irq_vector(vmd->dev, vmdirq->irq->index),
+ info->chip, vmdirq,
+ handle_untracked_irq, vmd, NULL);
return 0;
}
@@ -682,10 +681,8 @@ static int vmd_probe(struct pci_dev *dev, const struct pci_device_id *id)
for (i = 0; i < vmd->msix_count; i++) {
INIT_LIST_HEAD(&vmd->irqs[i].irq_list);
- vmd->irqs[i].vmd_vector = pci_irq_vector(dev, i);
vmd->irqs[i].index = i;
-
- err = devm_request_irq(&dev->dev, vmd->irqs[i].vmd_vector,
+ err = devm_request_irq(&dev->dev, pci_irq_vector(dev, i),
vmd_irq, 0, "vmd", &vmd->irqs[i]);
if (err)
return err;