using cpm interrupts on 8xx

2 messages, 2 authors, 2002-05-23 · open the first message on its own page

using cpm interrupts on 8xx

From: Nate Pletcher <hidden>
Date: 2002-05-22 14:58:47

Hello,

I'm trying to use IDMA CPM interrupts on custom MPC855t hardware similar
to an Embedded Planet CLLF or RPX Lite board.  We're using MontaVista's
Hard Hat Linux CDK 1.2 with the 2.2.14 kernel and included tools.

I'm writing a kernel module to control an onboard FPGA that must DMA
data.  I've read through the kernel source in arch/ppc/kernel/irq.c and
arch/ppc/8xx_io/commproc.c and searched the linuxppc-embedded archives,
but I'm still not clear on how to use request_8xxirq() and
cpm_install_handler().  Do I need to register a handler for the SIU
interrupt for the CPM and then another handler for the individual IDMA
interrupt from the CPM?  Perhaps someone could point me to some
documentation on how to register a CPM interrupt handler.

The interrupt hardware on the 8xx is multilevel (CPM interrupts
multiplexed into SIU) so it seems that both functions would be
necessary.  I have read all the MPC8xx documentation on the interrupt
hardware so I'm familiar with the structure, but I'm unsure how PPC
Linux is setup to handle this.  What do I need to do myself and what is
provided by the request_/free_irq interface?

This is my first Linux device driver so any help on registering
interrupt handlers on PPC 8xx would be appreciated.

Thanks,
Nate


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

Re: using cpm interrupts on 8xx

From: Dan Malek <hidden>
Date: 2002-05-23 03:20:57

Nate Pletcher wrote:

...  Do I need to register a handler for the SIU
interrupt for the CPM and then another handler for the individual IDMA
interrupt from the CPM?
All you need to do is use cpm_install_handler() for the IDMA interrupt.
The interrupt hardware on the 8xx is multilevel (CPM interrupts
multiplexed into SIU) so it seems that both functions would be
necessary.
The cpm initialization installs the SIU interrupt handler, so don't
worry about that one.
....  What do I need to do myself and what is
provided by the request_/free_irq interface?
For your IDMA device all you need to do is cpm_install_handler()/cpm_free_handler().


	-- Dan


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help