diff options
| author | Jan Beulich <JBeulich@suse.com> | 2013-04-03 10:52:50 -0400 |
|---|---|---|
| committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2013-04-16 15:05:45 -0400 |
| commit | dec02dea1c159b69aa88cbfe9c89b2b46eadd28f (patch) | |
| tree | 7b4af6d6ddd44347d6abb44f9bb034620645220f | |
| parent | 96f28bc66adb1414cfc9405ff80cfffdc44edd84 (diff) | |
xen: drop tracking of IRQ vector
For quite a few Xen versions, this wasn't the IRQ vector anymore
anyway, and it is not being used by the kernel for anything. Hence
drop the field from struct irq_info, and respective function
parameters.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
| -rw-r--r-- | arch/x86/pci/xen.c | 6 | ||||
| -rw-r--r-- | drivers/xen/events.c | 13 | ||||
| -rw-r--r-- | include/xen/events.h | 3 |
3 files changed, 8 insertions, 14 deletions
diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c index 94e76620460f..4a9be6ddf054 100644 --- a/arch/x86/pci/xen.c +++ b/arch/x86/pci/xen.c | |||
| @@ -177,7 +177,7 @@ static int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) | |||
| 177 | goto error; | 177 | goto error; |
| 178 | i = 0; | 178 | i = 0; |
| 179 | list_for_each_entry(msidesc, &dev->msi_list, list) { | 179 | list_for_each_entry(msidesc, &dev->msi_list, list) { |
| 180 | irq = xen_bind_pirq_msi_to_irq(dev, msidesc, v[i], 0, | 180 | irq = xen_bind_pirq_msi_to_irq(dev, msidesc, v[i], |
| 181 | (type == PCI_CAP_ID_MSIX) ? | 181 | (type == PCI_CAP_ID_MSIX) ? |
| 182 | "pcifront-msi-x" : | 182 | "pcifront-msi-x" : |
| 183 | "pcifront-msi", | 183 | "pcifront-msi", |
| @@ -244,7 +244,7 @@ static int xen_hvm_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) | |||
| 244 | dev_dbg(&dev->dev, | 244 | dev_dbg(&dev->dev, |
| 245 | "xen: msi already bound to pirq=%d\n", pirq); | 245 | "xen: msi already bound to pirq=%d\n", pirq); |
| 246 | } | 246 | } |
| 247 | irq = xen_bind_pirq_msi_to_irq(dev, msidesc, pirq, 0, | 247 | irq = xen_bind_pirq_msi_to_irq(dev, msidesc, pirq, |
| 248 | (type == PCI_CAP_ID_MSIX) ? | 248 | (type == PCI_CAP_ID_MSIX) ? |
| 249 | "msi-x" : "msi", | 249 | "msi-x" : "msi", |
| 250 | DOMID_SELF); | 250 | DOMID_SELF); |
| @@ -326,7 +326,7 @@ static int xen_initdom_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) | |||
| 326 | } | 326 | } |
| 327 | 327 | ||
| 328 | ret = xen_bind_pirq_msi_to_irq(dev, msidesc, | 328 | ret = xen_bind_pirq_msi_to_irq(dev, msidesc, |
| 329 | map_irq.pirq, map_irq.index, | 329 | map_irq.pirq, |
| 330 | (type == PCI_CAP_ID_MSIX) ? | 330 | (type == PCI_CAP_ID_MSIX) ? |
| 331 | "msi-x" : "msi", | 331 | "msi-x" : "msi", |
| 332 | domid); | 332 | domid); |
diff --git a/drivers/xen/events.c b/drivers/xen/events.c index aa85881d17b2..bb65f75e40a5 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c | |||
| @@ -85,8 +85,7 @@ enum xen_irq_type { | |||
| 85 | * event channel - irq->event channel mapping | 85 | * event channel - irq->event channel mapping |
| 86 | * cpu - cpu this event channel is bound to | 86 | * cpu - cpu this event channel is bound to |
| 87 | * index - type-specific information: | 87 | * index - type-specific information: |
| 88 | * PIRQ - vector, with MSB being "needs EIO", or physical IRQ of the HVM | 88 | * PIRQ - physical IRQ, GSI, flags, and owner domain |
| 89 | * guest, or GSI (real passthrough IRQ) of the device. | ||
| 90 | * VIRQ - virq number | 89 | * VIRQ - virq number |
| 91 | * IPI - IPI vector | 90 | * IPI - IPI vector |
| 92 | * EVTCHN - | 91 | * EVTCHN - |
| @@ -105,7 +104,6 @@ struct irq_info { | |||
| 105 | struct { | 104 | struct { |
| 106 | unsigned short pirq; | 105 | unsigned short pirq; |
| 107 | unsigned short gsi; | 106 | unsigned short gsi; |
| 108 | unsigned char vector; | ||
| 109 | unsigned char flags; | 107 | unsigned char flags; |
| 110 | uint16_t domid; | 108 | uint16_t domid; |
| 111 | } pirq; | 109 | } pirq; |
| @@ -211,7 +209,6 @@ static void xen_irq_info_pirq_init(unsigned irq, | |||
| 211 | unsigned short evtchn, | 209 | unsigned short evtchn, |
| 212 | unsigned short pirq, | 210 | unsigned short pirq, |
| 213 | unsigned short gsi, | 211 | unsigned short gsi, |
| 214 | unsigned short vector, | ||
| 215 | uint16_t domid, | 212 | uint16_t domid, |
| 216 | unsigned char flags) | 213 | unsigned char flags) |
| 217 | { | 214 | { |
| @@ -221,7 +218,6 @@ static void xen_irq_info_pirq_init(unsigned irq, | |||
| 221 | 218 | ||
| 222 | info->u.pirq.pirq = pirq; | 219 | info->u.pirq.pirq = pirq; |
| 223 | info->u.pirq.gsi = gsi; | 220 | info->u.pirq.gsi = gsi; |
| 224 | info->u.pirq.vector = vector; | ||
| 225 | info->u.pirq.domid = domid; | 221 | info->u.pirq.domid = domid; |
| 226 | info->u.pirq.flags = flags; | 222 | info->u.pirq.flags = flags; |
| 227 | } | 223 | } |
| @@ -714,7 +710,7 @@ int xen_bind_pirq_gsi_to_irq(unsigned gsi, | |||
| 714 | goto out; | 710 | goto out; |
| 715 | } | 711 | } |
| 716 | 712 | ||
| 717 | xen_irq_info_pirq_init(irq, 0, pirq, gsi, irq_op.vector, DOMID_SELF, | 713 | xen_irq_info_pirq_init(irq, 0, pirq, gsi, DOMID_SELF, |
| 718 | shareable ? PIRQ_SHAREABLE : 0); | 714 | shareable ? PIRQ_SHAREABLE : 0); |
| 719 | 715 | ||
| 720 | pirq_query_unmask(irq); | 716 | pirq_query_unmask(irq); |
| @@ -762,8 +758,7 @@ int xen_allocate_pirq_msi(struct pci_dev *dev, struct msi_desc *msidesc) | |||
| 762 | } | 758 | } |
| 763 | 759 | ||
| 764 | int xen_bind_pirq_msi_to_irq(struct pci_dev *dev, struct msi_desc *msidesc, | 760 | int xen_bind_pirq_msi_to_irq(struct pci_dev *dev, struct msi_desc *msidesc, |
| 765 | int pirq, int vector, const char *name, | 761 | int pirq, const char *name, domid_t domid) |
| 766 | domid_t domid) | ||
| 767 | { | 762 | { |
| 768 | int irq, ret; | 763 | int irq, ret; |
| 769 | 764 | ||
| @@ -776,7 +771,7 @@ int xen_bind_pirq_msi_to_irq(struct pci_dev *dev, struct msi_desc *msidesc, | |||
| 776 | irq_set_chip_and_handler_name(irq, &xen_pirq_chip, handle_edge_irq, | 771 | irq_set_chip_and_handler_name(irq, &xen_pirq_chip, handle_edge_irq, |
| 777 | name); | 772 | name); |
| 778 | 773 | ||
| 779 | xen_irq_info_pirq_init(irq, 0, pirq, 0, vector, domid, 0); | 774 | xen_irq_info_pirq_init(irq, 0, pirq, 0, domid, 0); |
| 780 | ret = irq_set_msi_desc(irq, msidesc); | 775 | ret = irq_set_msi_desc(irq, msidesc); |
| 781 | if (ret < 0) | 776 | if (ret < 0) |
| 782 | goto error_irq; | 777 | goto error_irq; |
diff --git a/include/xen/events.h b/include/xen/events.h index c6bfe01acf6b..b2b27c6a0f7b 100644 --- a/include/xen/events.h +++ b/include/xen/events.h | |||
| @@ -90,8 +90,7 @@ int xen_bind_pirq_gsi_to_irq(unsigned gsi, | |||
| 90 | int xen_allocate_pirq_msi(struct pci_dev *dev, struct msi_desc *msidesc); | 90 | int xen_allocate_pirq_msi(struct pci_dev *dev, struct msi_desc *msidesc); |
| 91 | /* Bind an PSI pirq to an irq. */ | 91 | /* Bind an PSI pirq to an irq. */ |
| 92 | int xen_bind_pirq_msi_to_irq(struct pci_dev *dev, struct msi_desc *msidesc, | 92 | int xen_bind_pirq_msi_to_irq(struct pci_dev *dev, struct msi_desc *msidesc, |
| 93 | int pirq, int vector, const char *name, | 93 | int pirq, const char *name, domid_t domid); |
| 94 | domid_t domid); | ||
| 95 | #endif | 94 | #endif |
| 96 | 95 | ||
| 97 | /* De-allocates the above mentioned physical interrupt. */ | 96 | /* De-allocates the above mentioned physical interrupt. */ |
