xen-devel
[Xen-devel] [PATCH 10/23] xen: Provide a variant of xen_poll_irq with ti
To: |
linux-kernel@xxxxxxxxxxxxxxx |
Subject: |
[Xen-devel] [PATCH 10/23] xen: Provide a variant of xen_poll_irq with timeout. |
From: |
Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> |
Date: |
Tue, 12 Oct 2010 11:44:18 -0400 |
Cc: |
Jeremy Fitzhardinge <jeremy@xxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>, Jan Beulich <JBeulich@xxxxxxxxxx>, Konrad Rzeszutek Wilk <konrad@xxxxxxxxxx>, Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> |
Delivery-date: |
Tue, 12 Oct 2010 09:18:57 -0700 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<1286898271-32018-1-git-send-email-konrad.wilk@xxxxxxxxxx> |
List-help: |
<mailto:xen-devel-request@lists.xensource.com?subject=help> |
List-id: |
Xen developer discussion <xen-devel.lists.xensource.com> |
List-post: |
<mailto:xen-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |
References: |
<1286898271-32018-1-git-send-email-konrad.wilk@xxxxxxxxxx> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
The 'xen_poll_irq_timeout' provides a method to pass in
the poll timeout for IRQs if requested. We also export
those two poll functions as Xen PCI fronted uses them.
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>
---
drivers/xen/events.c | 17 ++++++++++++-----
include/xen/events.h | 4 ++++
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index 8ae696f..427f2d8 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -1140,7 +1140,7 @@ void xen_clear_irq_pending(int irq)
if (VALID_EVTCHN(evtchn))
clear_evtchn(evtchn);
}
-
+EXPORT_SYMBOL(xen_clear_irq_pending);
void xen_set_irq_pending(int irq)
{
int evtchn = evtchn_from_irq(irq);
@@ -1160,9 +1160,9 @@ bool xen_test_irq_pending(int irq)
return ret;
}
-/* Poll waiting for an irq to become pending. In the usual case, the
- irq will be disabled so it won't deliver an interrupt. */
-void xen_poll_irq(int irq)
+/* Poll waiting for an irq to become pending with timeout. In the usual case,
+ * the irq will be disabled so it won't deliver an interrupt. */
+void xen_poll_irq_timeout(int irq, u64 timeout)
{
evtchn_port_t evtchn = evtchn_from_irq(irq);
@@ -1170,13 +1170,20 @@ void xen_poll_irq(int irq)
struct sched_poll poll;
poll.nr_ports = 1;
- poll.timeout = 0;
+ poll.timeout = timeout;
set_xen_guest_handle(poll.ports, &evtchn);
if (HYPERVISOR_sched_op(SCHEDOP_poll, &poll) != 0)
BUG();
}
}
+EXPORT_SYMBOL(xen_poll_irq_timeout);
+/* Poll waiting for an irq to become pending. In the usual case, the
+ * irq will be disabled so it won't deliver an interrupt. */
+void xen_poll_irq(int irq)
+{
+ xen_poll_irq_timeout(irq, 0 /* no timeout */);
+}
void xen_irq_resume(void)
{
diff --git a/include/xen/events.h b/include/xen/events.h
index 8227da8..2532f8b 100644
--- a/include/xen/events.h
+++ b/include/xen/events.h
@@ -53,6 +53,10 @@ bool xen_test_irq_pending(int irq);
irq will be disabled so it won't deliver an interrupt. */
void xen_poll_irq(int irq);
+/* Poll waiting for an irq to become pending with a timeout. In the usual
case,
+ * the irq will be disabled so it won't deliver an interrupt. */
+void xen_poll_irq_timeout(int irq, u64 timeout);
+
/* Determine the IRQ which is bound to an event channel */
unsigned irq_from_evtchn(unsigned int evtchn);
--
1.7.0.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH 19/23] xenbus: prevent warnings on unhandled enumeration values, (continued)
- [Xen-devel] [PATCH 19/23] xenbus: prevent warnings on unhandled enumeration values, Konrad Rzeszutek Wilk
- [Xen-devel] [PATCH 01/23] xen: Don't disable the I/O space, Konrad Rzeszutek Wilk
- [Xen-devel] [PATCH 12/23] x86/PCI: Clean up pci_cache_line_size, Konrad Rzeszutek Wilk
- [Xen-devel] [PATCH 11/23] xen: fix shared irq device passthrough, Konrad Rzeszutek Wilk
- [Xen-devel] [PATCH 17/23] xen/x86/PCI: Add support for the Xen PCI subsystem, Konrad Rzeszutek Wilk
- [Xen-devel] [PATCH 06/23] xen: dynamically allocate irq & event structures, Konrad Rzeszutek Wilk
- [Xen-devel] [PATCH 09/23] xen: Find an unbound irq number in reverse order (high to low)., Konrad Rzeszutek Wilk
- [Xen-devel] [PATCH 03/23] xen: implement pirq type event channels, Konrad Rzeszutek Wilk
- [Xen-devel] [PATCH 02/23] xen: define BIOVEC_PHYS_MERGEABLE(), Konrad Rzeszutek Wilk
- [Xen-devel] [PATCH 22/23] MAINTAINERS: Add myself for Xen PCI and Xen SWIOTLB maintainer., Konrad Rzeszutek Wilk
- [Xen-devel] [PATCH 10/23] xen: Provide a variant of xen_poll_irq with timeout.,
Konrad Rzeszutek Wilk <=
- [Xen-devel] [PATCH 23/23] swiotlb-xen: On x86-32 builts, select SWIOTLB instead of depending on it., Konrad Rzeszutek Wilk
- [Xen-devel] [PATCH 15/23] msi: Introduce default_[teardown|setup]_msi_irqs with fallback., Konrad Rzeszutek Wilk
- [Xen-devel] [PATCH 16/23] x86: Introduce x86_msi_ops, Konrad Rzeszutek Wilk
- [Xen-devel] [PATCH 20/23] xen-pcifront: Xen PCI frontend driver., Konrad Rzeszutek Wilk
[Xen-devel] [PATCH 18/23] xenbus: Xen paravirtualised PCI hotplug support., Konrad Rzeszutek Wilk
|
|
|