aboutsummaryrefslogtreecommitdiffstats
path: root/include/xen/events.h
diff options
context:
space:
mode:
authorJuergen Gross <jgross@suse.com>2021-02-11 11:16:13 +0100
committerDavid S. Miller <davem@davemloft.net>2021-02-11 14:47:00 -0800
commitf2fa0e5e9f31dd90741f1151043ca1eaa4086690 (patch)
tree97860d5510496ed216877f4010e131f8a341e5cf /include/xen/events.h
parentxen/netback: fix spurious event detection for common event case (diff)
downloadlinux-dev-f2fa0e5e9f31dd90741f1151043ca1eaa4086690.tar.xz
linux-dev-f2fa0e5e9f31dd90741f1151043ca1eaa4086690.zip
xen/events: link interdomain events to associated xenbus device
In order to support the possibility of per-device event channel settings (e.g. lateeoi spurious event thresholds) add a xenbus device pointer to struct irq_info() and modify the related event channel binding interfaces to take the pointer to the xenbus device as a parameter instead of the domain id of the other side. While at it remove the stale prototype of bind_evtchn_to_irq_lateeoi(). Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Reviewed-by: Wei Liu <wei.liu@kernel.org> Reviewed-by: Paul Durrant <paul@xen.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/xen/events.h')
-rw-r--r--include/xen/events.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/xen/events.h b/include/xen/events.h
index 8ec418e30c7f..c204262d9fc2 100644
--- a/include/xen/events.h
+++ b/include/xen/events.h
@@ -12,10 +12,11 @@
#include <asm/xen/hypercall.h>
#include <asm/xen/events.h>
+struct xenbus_device;
+
unsigned xen_evtchn_nr_channels(void);
int bind_evtchn_to_irq(evtchn_port_t evtchn);
-int bind_evtchn_to_irq_lateeoi(evtchn_port_t evtchn);
int bind_evtchn_to_irqhandler(evtchn_port_t evtchn,
irq_handler_t handler,
unsigned long irqflags, const char *devname,
@@ -35,9 +36,9 @@ int bind_ipi_to_irqhandler(enum ipi_vector ipi,
unsigned long irqflags,
const char *devname,
void *dev_id);
-int bind_interdomain_evtchn_to_irq_lateeoi(unsigned int remote_domain,
+int bind_interdomain_evtchn_to_irq_lateeoi(struct xenbus_device *dev,
evtchn_port_t remote_port);
-int bind_interdomain_evtchn_to_irqhandler_lateeoi(unsigned int remote_domain,
+int bind_interdomain_evtchn_to_irqhandler_lateeoi(struct xenbus_device *dev,
evtchn_port_t remote_port,
irq_handler_t handler,
unsigned long irqflags,