Loading arch/x86/pci/xen.c +3 −3 Original line number Diff line number Diff line Loading @@ -101,7 +101,7 @@ static int xen_hvm_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) ((msg.address_lo >> MSI_ADDR_DEST_ID_SHIFT) & 0xff); if (xen_irq_from_pirq(pirq) >= 0 && msg.data == XEN_PIRQ_MSI_DATA) { xen_allocate_pirq_msi((type == PCI_CAP_ID_MSIX) ? "msi-x" : "msi", &irq, &pirq, XEN_ALLOC_IRQ); "msi-x" : "msi", &irq, &pirq, 0); if (irq < 0) goto error; ret = set_irq_msi(irq, msidesc); Loading @@ -112,7 +112,7 @@ static int xen_hvm_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) return 0; } xen_allocate_pirq_msi((type == PCI_CAP_ID_MSIX) ? "msi-x" : "msi", &irq, &pirq, (XEN_ALLOC_IRQ | XEN_ALLOC_PIRQ)); "msi-x" : "msi", &irq, &pirq, 1); if (irq < 0 || pirq < 0) goto error; printk(KERN_DEBUG "xen: msi --> irq=%d, pirq=%d\n", irq, pirq); Loading Loading @@ -160,7 +160,7 @@ static int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) xen_allocate_pirq_msi( (type == PCI_CAP_ID_MSIX) ? "pcifront-msi-x" : "pcifront-msi", &irq, &v[i], XEN_ALLOC_IRQ); &irq, &v[i], 0); if (irq < 0) { ret = -1; goto free; Loading drivers/xen/events.c +5 −7 Original line number Diff line number Diff line Loading @@ -664,17 +664,15 @@ static int find_unbound_pirq(int type) return -1; } void xen_allocate_pirq_msi(char *name, int *irq, int *pirq, int alloc) void xen_allocate_pirq_msi(char *name, int *irq, int *pirq, int alloc_pirq) { spin_lock(&irq_mapping_update_lock); if (alloc & XEN_ALLOC_IRQ) { *irq = xen_allocate_irq_dynamic(); if (*irq == -1) goto out; } if (alloc & XEN_ALLOC_PIRQ) { if (alloc_pirq) { *pirq = find_unbound_pirq(MAP_PIRQ_TYPE_MSI); if (*pirq == -1) { xen_free_irq(*irq); Loading include/xen/events.h +1 −4 Original line number Diff line number Diff line Loading @@ -75,10 +75,7 @@ int xen_allocate_pirq(unsigned gsi, int shareable, char *name); int xen_map_pirq_gsi(unsigned pirq, unsigned gsi, int shareable, char *name); #ifdef CONFIG_PCI_MSI /* Allocate an irq and a pirq to be used with MSIs. */ #define XEN_ALLOC_PIRQ (1 << 0) #define XEN_ALLOC_IRQ (1 << 1) void xen_allocate_pirq_msi(char *name, int *irq, int *pirq, int alloc_mask); void xen_allocate_pirq_msi(char *name, int *irq, int *pirq, int alloc_pirq); int xen_create_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, int type); #endif Loading Loading
arch/x86/pci/xen.c +3 −3 Original line number Diff line number Diff line Loading @@ -101,7 +101,7 @@ static int xen_hvm_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) ((msg.address_lo >> MSI_ADDR_DEST_ID_SHIFT) & 0xff); if (xen_irq_from_pirq(pirq) >= 0 && msg.data == XEN_PIRQ_MSI_DATA) { xen_allocate_pirq_msi((type == PCI_CAP_ID_MSIX) ? "msi-x" : "msi", &irq, &pirq, XEN_ALLOC_IRQ); "msi-x" : "msi", &irq, &pirq, 0); if (irq < 0) goto error; ret = set_irq_msi(irq, msidesc); Loading @@ -112,7 +112,7 @@ static int xen_hvm_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) return 0; } xen_allocate_pirq_msi((type == PCI_CAP_ID_MSIX) ? "msi-x" : "msi", &irq, &pirq, (XEN_ALLOC_IRQ | XEN_ALLOC_PIRQ)); "msi-x" : "msi", &irq, &pirq, 1); if (irq < 0 || pirq < 0) goto error; printk(KERN_DEBUG "xen: msi --> irq=%d, pirq=%d\n", irq, pirq); Loading Loading @@ -160,7 +160,7 @@ static int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) xen_allocate_pirq_msi( (type == PCI_CAP_ID_MSIX) ? "pcifront-msi-x" : "pcifront-msi", &irq, &v[i], XEN_ALLOC_IRQ); &irq, &v[i], 0); if (irq < 0) { ret = -1; goto free; Loading
drivers/xen/events.c +5 −7 Original line number Diff line number Diff line Loading @@ -664,17 +664,15 @@ static int find_unbound_pirq(int type) return -1; } void xen_allocate_pirq_msi(char *name, int *irq, int *pirq, int alloc) void xen_allocate_pirq_msi(char *name, int *irq, int *pirq, int alloc_pirq) { spin_lock(&irq_mapping_update_lock); if (alloc & XEN_ALLOC_IRQ) { *irq = xen_allocate_irq_dynamic(); if (*irq == -1) goto out; } if (alloc & XEN_ALLOC_PIRQ) { if (alloc_pirq) { *pirq = find_unbound_pirq(MAP_PIRQ_TYPE_MSI); if (*pirq == -1) { xen_free_irq(*irq); Loading
include/xen/events.h +1 −4 Original line number Diff line number Diff line Loading @@ -75,10 +75,7 @@ int xen_allocate_pirq(unsigned gsi, int shareable, char *name); int xen_map_pirq_gsi(unsigned pirq, unsigned gsi, int shareable, char *name); #ifdef CONFIG_PCI_MSI /* Allocate an irq and a pirq to be used with MSIs. */ #define XEN_ALLOC_PIRQ (1 << 0) #define XEN_ALLOC_IRQ (1 << 1) void xen_allocate_pirq_msi(char *name, int *irq, int *pirq, int alloc_mask); void xen_allocate_pirq_msi(char *name, int *irq, int *pirq, int alloc_pirq); int xen_create_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, int type); #endif Loading