Re: [RFC PATCH v1 12/31] ARC: Interrupt Handling

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

 



On Wed, 7 Nov 2012, Vineet Gupta wrote:
> +void __init init_IRQ(void)
> +{
> +	const int irq = TIMER0_IRQ;
> +
> +	/*
> +	 * Each CPU needs to register irq of it's private TIMER0.
> +	 * The APIs request_percpu_irq()/enable_percpu_irq() will not be
> +	 * functional, if we don't "prep" the generic IRQ sub-system with
> +	 * the following:
> +	 * -Ensure that devid passed to request_percpu_irq() is indeed per cpu
> +	 * -disable NOAUTOEN, w/o which the device handler never gets called

What sets NOAUTOEN in the first place? The core code definitely does
not.

> +	 */
> +	irq_set_percpu_devid(irq);
> +	irq_modify_status(irq, IRQ_NOAUTOEN, 0);

Aside of that we have irq_clear_status_flags() for this.

> +	plat_init_IRQ();
> +}

> +int __init get_hw_config_num_irq(void)

How is that function used ?

> +{
> +	uint32_t val = read_aux_reg(ARC_REG_VECBASE_BCR);
> +
> +	switch (val & 0x03) {
> +	case 0:
> +		return 16;
> +	case 1:
> +		return 32;
> +	case 2:
> +		return 8;
> +	default:
> +		return 0;
> +	}
> +
> +	return 0;
> +}

Thanks,

	tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux