External Interrupt fun on PPC823

Hoping someone can explain to me the frigged up things I'm seeing. I'm running 2.4.18 on a PPC823. I'm working with two drivers.

1) Interrrupt_latency from Craig Hollabaugh at embeddedlinuxinterfacing.com. When the driver is installed, catting /proc/interrupts shows that the interrupts is installed at IRQ*2; ie if the driver installed at irq2 it is reported to be at irq4. If you dump the IRQ mask, everything is cool. Craig notes that the reporting is incorrect, but I dug in a bit and it appears that the doubled value runs throughout the kernel internals. The interruppt is serviced correctly when pin IRQ2 is driven active low.

2) OCAN from Alessandro Rubini at ar.linux.it. Installing that driver at, for example, IRQ2, actually gets mapped physically to IRQ1, ie when the IRQ1 pin is active low, the handeler is invoked. When /proc/interrupts is catted, it indicates the handler is installed on IRQ2. Dumping the IRQ mask indicates that IRQ1 is been enabled.

I've dumped the vaules being passed too request8xx_IRQ in both drivers, no clues there. as mentioned I dug around a bit in the kernel and nothing jumps out.

What in the heck is going on here!!! My system is working but I'd sure like to know why!!

regards, John Miller

Reply to
John Miller
Loading thread data ...

...

...

Dig out the MPC823's User's manual and read the section about interrupt processiond and how internal and external interrupt sources are mapped into the SIMAKS / SIPEND / SIEL registers.

And have a look how the Linux kernel registers SIU and CPM interrupts. It's all in the sources.

Best regards,

Wolfgang Denk

--
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88   Web: www.denx.de
Conscious is when you are aware of something, and conscience is  when
you wish you weren't.
Reply to
Wolfgang Denk

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.