PCMCIA support for 860 -- lost interrupt

Shuangjun Zhu r44089 at email.sps.mot.com
Fri May 26 13:01:09 EST 2000


Hello, Magnus

I found a temp hacker to fix it.
Socket Driver and ATA/IDE driver share the same IRQ 13.
So I must modify the arch/ppc/kernel/irq.c: request_8xxirq(),
it only allow pci-ide share the irq.
It will not complain "lost interrupt".

BRs,
Shuangjun



>>From the code ide_cs.c in pcmcia package, the m8xx_pcmcia interrupt
>>handler will call the ide_event() in ide_cs.c, this function does
>>nothing with ide interrupt handler in the kernel.
>>
>>Here is Dan's ideas
>>>See, this is why I changed the function name in the first place.
>>>request_irq() assumes a PC-like interrupt structure, which doesn't work
>>>on the MPC8xx internal interrupt controller.  You need to add an
>>>indirect function call to the 'md' structure that will install the
>>>IDE interrupt handler.  When you use the PCMCIA for ATA/IDE, you should
>>>call a function that installs the PCMCIA interrupt vector.
>>
>>In drivers/block/ide-probe.c,
>>init_irq() function has installed the IDE interrupt handler of IRQ 9 as
>>ide_intr()
>>In m8xx_pcmcia.c from the pcmcia package, Damm has installed the PCMCIA
>>interrupt
>>IRQ 13 as m8xx_interrupt(), so problem is:
>>without 8259 controller in FADS board, how the m8xx_interrupt() route the
>>interrupt
>>event to the ide_intr(). No hardware triger the IRQ 9, no call ide_intr(),
>>so the
>>kernel think "lost interrupt", I guess.
>
>
>Here is the result:
>bash# cat /proc/inter*
>           CPU0
>  5:       2394   8xx SIU       cpm
>  9:          0   8xx SIU       ide0
> 13:          9   8xx SIU       m8xx_pcmcia
> 15:          0   8xx SIU       tbint
>BAD:          0


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list