Re: Ask help about pre_init_apic_IRQ0()

From: Andy Shevchenko
Date: Thu Sep 11 2014 - 05:09:11 EST


On Thu, 2014-09-11 at 11:53 +0300, Mika Westerberg wrote:
> On Thu, Sep 11, 2014 at 04:44:54PM +0800, Jiang Liu wrote:
> > Hi Thomas,
> >
> > When converting IOAPIC to hierarchy irqdomain, I ran into trouble when
> > dealing with pre_init_apic_IRQ0(). Currently pre_init_apic_IRQ0() is
> > only used by intel-mid platform and is called before initializing of
> > IOAPIC irqdomains. That really causes headache when converting to
> > hierarchy irqdomain. So could we delay
> > io_apic_setup_irq_pin(0, 0, &attr);
> > irq_set_chip_and_handler_name(0, &ioapic_chip, handle_edge_irq,
> > "edge");
> > to the point of "check_timer()"?
> >
> > I have no MID hardware at handle so can't experiment with it. Could
> > you please refer someone for help?
>
> Andy (Cc'd) has some MID boards that he uses almost daily basis. Andy
> can you help Jiang here?

I'm not familiar with IRQ domains like people Cc'ed here, but I could
test any patch you provide to me. Just keep me in Cc list of those
patches you would like to be tested on Intel MID, though I have only
Intel Medfield based board. For newer stuff would be better to ask David
(Cc'ed).

>
> >
> > /* Enable IOAPIC early just for system timer */
> > void __init pre_init_apic_IRQ0(void)
> > {
> > struct io_apic_irq_attr attr = { 0, 0, 0, 0 };
> >
> > printk(KERN_INFO "Early APIC setup for system timer0\n");
> > #ifndef CONFIG_SMP
> > physid_set_mask_of_physid(boot_cpu_physical_apicid,
> > &phys_cpu_present_map);
> > #endif
> > setup_local_APIC();
> >
> > io_apic_setup_irq_pin(0, 0, &attr);
> > irq_set_chip_and_handler_name(0, &ioapic_chip, handle_edge_irq,
> > "edge");
> > }
> >
> > Regards!
> > Gerry


--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxx>
Intel Finland Oy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/