[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v6 1/6] xen/arm: IRQ: Store IRQ type in arch_irq_desc



On Thu, 2014-05-15 at 18:03 +0100, Julien Grall wrote:
> On 05/15/2014 04:45 PM, Ian Campbell wrote:
> >> +int irq_set_type(unsigned int spi, unsigned int type)
> >> +{
> >> +    unsigned long flags;
> >> +    struct irq_desc *desc = irq_to_desc(spi);
> >> +    int ret = -EBUSY;
> >> +
> >> +    /* This function should not be used for other than SPIs */
> > 
> > Perhaps name the function irq_set_spi_type or something then?
> > 
> >> +    for_each_cpu( cpu, &cpu_online_map )
> >> +    {
> >> +        desc = &per_cpu(local_irq_desc, cpu)[irq];
> >> +        spin_lock_irqsave(&desc->lock, flags);
> >> +        desc->arch.type = type;
> > 
> > Don't you need to write ICFGR on each CPU?
> 
> This function will bail out if local_irqs_type[irq] == DT_IRQ_TYPE_INVALID.

Did you mean != ?

> This value means, the IRQ has not been configured and set up (see ASSERT
> in configure which prevent it).
> 
> The ICFGR will be configure when Xen set up an handler to this IRQ (see
> setup_irq).

OK.

> >> +#define DT_IRQ_TYPE_INVALID        0x00000010
> > 
> > 0xffffffff perhaps?
> 
> The value 0x010 will always return false for edge and level. This is not
> the case for 0xffffffff because edge/level use different bit.

OK.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.