[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v4 06/16] xen/arm: segregate and split GIC low level functionality
On Mon, 26 May 2014, vijay.kilari@xxxxxxxxx wrote: > From: Vijaya Kumar K <Vijaya.Kumar@xxxxxxxxxxxxxxxxxx> > > GIC driver contains both generic and hardware specific low > level functionality in gic.c file. > > With this patch, low level functionality is moved to separate > file gic-v2.c and generic code is kept in gic.c file > > Callbacks are registered by low level driver with generic driver > and are called whereever required. > > The locking mechanism is not changed. > > This helps to separate generic and hardware functionality > and implement future hardware version drivers. > > Signed-off-by: Vijaya Kumar K <Vijaya.Kumar@xxxxxxxxxxxxxxxxxx> [...] > +static void gicv2_irq_enable(struct irq_desc *desc) > +{ > + unsigned long flags; > + > + spin_lock_irqsave(&desc->lock, flags); > + spin_lock(&gicv2.lock); > + desc->status &= ~IRQ_DISABLED; > + dsb(sy); > + /* Enable routing */ > + gicv2_enable_irq(desc); > + spin_unlock(&gicv2.lock); > + spin_unlock_irqrestore(&desc->lock, flags); > +} you say that you are not changing locking but the original function had: ASSERT(spin_is_locked(&desc->lock)); > +static void gicv2_irq_disable(struct irq_desc *desc) > +{ > + unsigned long flags; > + > + spin_lock_irqsave(&desc->lock, flags); > + spin_lock(&gicv2.lock); > + /* Disable routing */ > + gicv2_disable_irq(desc); > + desc->status |= IRQ_DISABLED; > + spin_unlock(&gicv2.lock); > + spin_unlock_irqrestore(&desc->lock, flags); > +} same here _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |