From: Wolfgang Grandegger <wg@domain.hid>
To: Matthias Fuchs <matthias.fuchs@domain.hid>
Cc: Jan Kiszka <jan.kiszka@domain.hid>, xenomai@xenomai.org
Subject: Re: [Xenomai-core] No hardware interrupts with xenomai on ppc405
Date: Mon, 11 Sep 2006 20:13:47 +0200 [thread overview]
Message-ID: <4505A75B.8000601@domain.hid> (raw)
In-Reply-To: <200609111904.16512.matthias.fuchs@domain.hid>
[-- Attachment #1: Type: text/plain, Size: 1097 bytes --]
Matthias Fuchs wrote:
> On Monday 11 September 2006 17:46, Wolfgang Grandegger wrote:
>>> A possible explanation is that configurations only using the timer IRQ
>>> are not affected, since the decrementer is not subject to this issue
>>> (the tick handler returns XN_ISR_NOENABLE anyway).
>> I run RT-Socket-CAN on a CAN PCI Card on my MPC5200 without any
>> problems, so far (under Linux 2.4). Here the end function of the PIC:
>>
>> static void
>> mpc5xxx_ic_end(unsigned int irq)
>> {
>> if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
>> mpc5xxx_ic_enable(irq);
>> }
>>
>> Matthias, have you printed out the value of status? I'm just curious.
>>
>> Wolfgang.
>
> Here it comes:
> bash-3.00# ./bin/rtcansend rtcan0 -i 0 1 2 3 4
> _end: status=00000042
> bash-3.00# ./bin/rtcansend rtcan0 -i 0 1 2 3 4
> _end: status=00000042
> bash-3.00# ./bin/rtcansend rtcan0 -i 0 1 2 3 4
> _end: status=00000042
>
> So it's IRQ_DISABLED (=2).
In 2.6 the interrupts are disabled by default. Then the attached patch
for Xenomai should help.
Wolfgang.
[-- Attachment #2: xenomai-irqend.patch --]
[-- Type: text/x-patch, Size: 675 bytes --]
+ diff -u xenomai/ksrc/arch/powerpc/hal.c.IRQEND xenomai/ksrc/arch/powerpc/hal.c
--- xenomai/ksrc/arch/powerpc/hal.c.IRQEND 2006-08-23 22:12:17.000000000 +0200
+++ xenomai/ksrc/arch/powerpc/hal.c 2006-09-11 20:00:32.000000000 +0200
@@ -326,6 +326,7 @@
rthal_irq_descp(irq)->handler->enable == NULL)
return -ENODEV;
+ rthal_irq_descp(irq)->status &= ~IRQ_DISABLED;
rthal_irq_descp(irq)->handler->enable(irq);
return 0;
@@ -341,6 +342,7 @@
rthal_irq_descp(irq)->handler->disable == NULL)
return -ENODEV;
+ rthal_irq_descp(irq)->status |= IRQ_DISABLED;
rthal_irq_descp(irq)->handler->disable(irq);
return 0;
next prev parent reply other threads:[~2006-09-11 18:13 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-10 10:40 [Xenomai-core] No hardware interrupts with xenomai on ppc405 Matthias Fuchs
2006-09-10 11:02 ` Wolfgang Grandegger
2006-09-11 8:58 ` Matthias Fuchs
2006-09-11 10:00 ` Wolfgang Grandegger
2006-09-11 10:20 ` Philippe Gerum
2006-09-11 12:02 ` Matthias Fuchs
2006-09-11 12:20 ` Wolfgang Grandegger
2006-09-11 13:09 ` Philippe Gerum
2006-09-11 14:22 ` Jan Kiszka
2006-09-11 15:32 ` Philippe Gerum
2006-09-11 15:46 ` Wolfgang Grandegger
2006-09-11 17:04 ` Matthias Fuchs
2006-09-11 18:13 ` Wolfgang Grandegger [this message]
2006-09-12 7:32 ` Matthias Fuchs
2006-09-12 10:37 ` Wolfgang Grandegger
2006-09-13 10:06 ` Philippe Gerum
2006-09-13 10:34 ` Wolfgang Grandegger
2006-09-13 11:36 ` Philippe Gerum
2006-09-13 11:39 ` Philippe Gerum
2006-09-13 12:38 ` Wolfgang Grandegger
2006-09-13 12:45 ` Philippe Gerum
2006-09-13 12:50 ` Philippe Gerum
2006-09-15 14:18 ` Philippe Gerum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4505A75B.8000601@domain.hid \
--to=wg@domain.hid \
--cc=jan.kiszka@domain.hid \
--cc=matthias.fuchs@domain.hid \
--cc=xenomai@xenomai.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.