linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* MPC850 SIMASK Settings
@ 2000-10-21 14:17 Chris Hallinan
  2000-10-23  3:01 ` Dan Malek
  0 siblings, 1 reply; 2+ messages in thread
From: Chris Hallinan @ 2000-10-21 14:17 UTC (permalink / raw)
  To: linuxppc-embedded


I'm having trouble disabling an external interrupt (IRQ7).
I have the IRQ configured for edge detect ( SIEL[ED7] = 1 )
According to the MPC850 User's Manual, to enable this
interrupt to be presented to the core, I should set
SIMASK[IRM7] = 1, and to disable interrupts to the core, I
should clear SIMASK[IRM7] = 0.

Here is the code I'm using to enable it, which seems to
work.

immap->im_siu_conf.sc_siel |= 0x00020000;  // set for edge
detect
immap->im_siu_conf.sc_simask |= 0x00020000;	// unmask

Here is the code I've used to try to disable the interrupt,
which does not work:

immap->im_siu_conf.sc_siel &= ~0x00020000; // return to
level int
immap->im_siu_conf.sc_simask &= ~0x00020000;  // mask
immap->im_siu_conf_sc_sipend |= 0x00020000;  // clear if
pending (??)

If I write a 0x00000000 into the SIMASK, I am able to
disable the interrupt.  This, of course, is not acceptable
because it disables other internal and/or external interrupt
sources that may already have been configured.

Surely I'm overlooking something simple?  Can anyone shed
some light on this?

-Chris Hallinan


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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: MPC850 SIMASK Settings
  2000-10-21 14:17 MPC850 SIMASK Settings Chris Hallinan
@ 2000-10-23  3:01 ` Dan Malek
  0 siblings, 0 replies; 2+ messages in thread
From: Dan Malek @ 2000-10-23  3:01 UTC (permalink / raw)
  To: Chris Hallinan; +Cc: linuxppc-embedded


Chris Hallinan wrote:
>
> I'm having trouble disabling an external interrupt (IRQ7).

Why are you trying to do this directly instead of letting the
generic Linux functions do it for you?  All you should have to
do is set edge/level in SIEL.  The rest is already managed.

If an interrupt handler is installed for this interrupt, it
will be allowed to happen.  If the handler is removed, it will
be permanently masked.


	-- Dan

--

	I like MMUs because I don't have a real life.

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2000-10-23  3:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-10-21 14:17 MPC850 SIMASK Settings Chris Hallinan
2000-10-23  3:01 ` Dan Malek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).