Re: m68k: Convert to genirq (WIP)

From: Geert Uytterhoeven
Date: Thu Jun 16 2011 - 15:31:06 EST


On Wed, Jun 15, 2011 at 21:44, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
> On Sat, Jun 4, 2011 at 19:56, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
>> On Sat, May 28, 2011 at 20:32, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote:
>>> Now sparc32 has beaten me, I pushed out my work in progress of converting m68k
>>> to use the generic hardirq framework:
>>>
>>> git://git.kernel.org:/pub/scm/linux/kernel/git/geert/linux-m68k.git m68k-genirq
>>> http://git.kernel.org/?p=linux/kernel/git/geert/linux-m68k.git;a=shortlog;h=refs/heads/m68k-genirq
>>
>>> Next on my list is Amiga, which will cover autovectored and chained interrupts.
>>
>> I rebased to 3.0-rc1 and added (not in that order):
>> Â[10] m68k/irq: Add m68k_setup_irq_controller()
>> Â[11] m68k/irq: Adding missing "irq" offset in m68k_setup_irq_controller()
>> Â[12] m68k/irq: Fix auto and user chips and handlers
>> Â[13] m68k/amiga: Refactor amiints.c
>> Â[14] m68k/amiga: Convert Amiga to genirq
>> Â[15] m68k/amiga: Optimize interrupts using chain handlers
>>
>> It works on Amiga now, too. It can still use some optimizations in the
>> irq_{enable,disable,ack,mask,mask_ack,unmask} area, as my BogoMIPS
>> rating dropped by ca 2.5% and is now under 16, for a 25 MHz 68040.
>
> Seems like everything (Atari/ARAnyM and Amiga) still works when using
> handle_simple_irq instead of handle_level_irq.
> As a bonus, BogoMIPS is above 16 again.

With handle_simple_irq(), we no longer need to define irq_{,un}mask() methods
in our irq_chips. Hence the "old" m68k platform interrupt code seems to be much
closer to genirq than I thought...

Does this make sense?

Gr{oetje,eeting}s,

            Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
             Â Â -- Linus Torvalds
--
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/