diff options
Diffstat (limited to 'drivers/xen/events.c')
-rw-r--r-- | drivers/xen/events.c | 13 |
1 files changed, 4 insertions, 9 deletions
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; |