From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752599Ab2GSXjj (ORCPT ); Thu, 19 Jul 2012 19:39:39 -0400 Received: from rcsinet15.oracle.com ([148.87.113.117]:21160 "EHLO rcsinet15.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752461Ab2GSXjf (ORCPT ); Thu, 19 Jul 2012 19:39:35 -0400 Date: Thu, 19 Jul 2012 19:30:45 -0400 From: Konrad Rzeszutek Wilk To: Stefano Stabellini Cc: "linux-kernel@vger.kernel.org" , "xen-devel@lists.xensource.com" , Ian Campbell , "Tim (Xen.org)" Subject: Re: [PATCH WIP 6/6] xen/arm: enable evtchn irqs Message-ID: <20120719233045.GA944@phenom.dumpdata.com> References: <1340381685-22529-1-git-send-email-stefano.stabellini@eu.citrix.com> <1340381685-22529-6-git-send-email-stefano.stabellini@eu.citrix.com> <20120709144005.GA12102@phenom.dumpdata.com> <20120716145709.GB552@phenom.dumpdata.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Source-IP: ucsinet22.oracle.com [156.151.31.94] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > > OK, please include those questions/answers in the git commit and > > repost. I seem to be missing the rest of the patches. I see the drivers/xen/events also has the xen_init_IRQ_arm... is there a git tree with the base patches? > > --- > > xen/arm: enable evtchn irqs > > On ARM Linux irqs are not enabled by default: > > - call enable_percpu_irq for IRQ_EVTCHN_CALLBACK (drivers are supposed > to call enable_irq after request_irq); > > - set the IRQF_VALID flag for the other irqs bound to evtchns. It causes > IRQ_NOAUTOEN to be set and as a consequence irq_unmask is going to be > called when a xenbus driver calls request_irq. > This is needed because IRQ_NOAUTOEN is set by set_irq_flags on ARM. > If IRQ_NOAUTOEN is set __setup_irq doesn't call irq_startup that is > responsible for calling irq_unmask at startup time. > > Signed-off-by: Stefano Stabellini > > diff --git a/drivers/xen/events.c b/drivers/xen/events.c > index eae0d0b..ca92755 100644 > --- a/drivers/xen/events.c > +++ b/drivers/xen/events.c > @@ -53,6 +53,7 @@ > #include > #include > #include > +#include > > /* > * This lock protects updates to the following mapping and reference-count > @@ -824,6 +828,7 @@ int bind_evtchn_to_irq(unsigned int evtchn) > > xen_irq_info_evtchn_init(irq, evtchn); > } > + set_irq_flags(irq, IRQF_VALID); > > out: > mutex_unlock(&irq_mapping_update_lock); > @@ -1748,6 +1753,7 @@ int __init xen_init_IRQ_arm(void) > if (rc) { > printk(KERN_ERR "Error requesting IRQ %d\n", IRQ_EVTCHN_CALLBACK); > } > + enable_percpu_irq(IRQ_EVTCHN_CALLBACK, 0); > return rc; > } > core_initcall(xen_init_IRQ_arm);