Thread (10 messages) flat view 10 messages, 2 authors, 2002-10-26

Re: PrPMC800 interrupt problem

From: Tom Rini <hidden>
Date: 2002-10-25 16:04:33

On Fri, Oct 25, 2002 at 05:50:35PM +0200, Anders Blomdell wrote:
On fredag, oktober 25, 2002, at 05:40 , Tom Rini wrote:
quoted
On Fri, Oct 25, 2002 at 05:15:46PM +0200, Anders Blomdell wrote:
quoted
The problem seems to be that the UART generates an Harrier internal
interrupt. This should be handled as any other MPIC interrupt, but it isn'
t. This lack of an appropriate handler (irq_desc[16].handler == 0) makes
the Harrier chip wait forever for an EOI.

A very hacky solution to this is to modify 'prpmc800_init_IRQ' to:
Did you update the initsenses table as well?  And are you sure you are
calling openpic_set_sources() correctly?  That only maps OpenPIC source
16 to be Linux interrupt 16, and doesn't catch any of the other sources
('tho I don't have the prpmc800 manual in front of me)
The initsenses table was correct already, but open_pic.c relies on the
number of interrupt sources returned from the feature reporting register,
that excludes the internal sources (in Harrier, Hawk and Raven chips at
least). Thus these interrupts are not correctly setup. I posted a possible
(==untested) solution a few minutes ago.
If they are correct, change them from '1' / '0' to IRQ_SENSE_LEVEL |
IRQ_POLARITY_NEGATIVE.  I think the problem is that you are not calling
openpic_set_sources(...) correctly, or enough times.  openpic_init() can
only be called without calling openpic_set_sources() if the default call
in openpic_init() will work correctly, as is.
BTW: Is there any documentation on the OpenPIC controllers, the AMD link
seems to have disappeared.
The MPC107 manual or the MPC8240 manual, iirc.
Regards

Anders Blomdell
--
Tom Rini (TR1265)
http://gate.crashing.org/~trini/

** 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