From: Wolfgang Grandegger <wg@domain.hid>
To: rpm@xenomai.org
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 17:46:31 +0200 [thread overview]
Message-ID: <450584D7.6050009@domain.hid> (raw)
In-Reply-To: <1157988739.4991.11.camel@domain.hid>
Philippe Gerum wrote:
> On Mon, 2006-09-11 at 16:22 +0200, Jan Kiszka wrote:
>> Philippe Gerum wrote:
>>> On Mon, 2006-09-11 at 14:20 +0200, Wolfgang Grandegger wrote:
>>>> Matthias Fuchs wrote:
>>>>> Hello Philippe,
>>>>>
>>>>> that helps. I will do some further testing.
>>>>>
>>>>> Matthias
>>>>>
>>>>>
>>>>> On Monday 11 September 2006 12:20, Philippe Gerum wrote:
>>>>>> It's likely an Adeos issue. Could you try this patch? TIA,
>>>>>>
>>>>>> --- arch/ppc/syslib/ppc4xx_pic.c~ 2005-10-28 02:02:08.000000000 +0200
>>>>>> +++ arch/ppc/syslib/ppc4xx_pic.c 2006-09-11 12:18:14.000000000 +0200
>>>>>> @@ -72,7 +72,8 @@
>>>>>> mtdcr(DCRN_UIC_SR(UIC##n), mask); \
>>>>>> ACK_UIC##n##_PARENT \
>>>>>> } \
>>>>>> - if (!(status & (IRQ_DISABLED | IRQ_INPROGRESS))) { \
>>>>>> + if (!ipipe_root_domain_p || \
>>>>>> + !(status & (IRQ_DISABLED | IRQ_INPROGRESS))) { \
>>>>>> ppc_cached_irq_mask[n] |= mask; \
>>>>>> mtdcr(DCRN_UIC_ER(UIC##n), ppc_cached_irq_mask[n]); \
>>>>>> } \
>>>> Philippe, could you please explain the problem in more detail? And what
>>>> are the consequences for other PowerPC ARCs and PICs, also for Linux 2.4?
>>> The issue lies in the fact that PICs *_end() routines may be called over
>>> the Xenomai domain, and actually are, most of the time, since
>>> xnintr_irq_handler() -which invokes xnarch_end_irq()- is always called
>>> from the the Xenomai stage in the Adeos pipeline.
>>>
>>> In such a case, we must not check for the Linux-defined IRQ bits (e.g.
>>> IRQ_INPROGRESS), and always send the eoi, since those bits are not
>>> relevant to the Xenomai context. The patch above ensures this.
>>>
>>> And yes, the 2.4 patch has the very same problem, which should be fixed
>>> the same way for all supported ppc platforms in the various PIC
>>> management code. Oops.
>> And why didn't this render PPC-over-2.4 useless, i.e. what is special
>> about this 405-scenario?
>>
>
> 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.
next prev parent reply other threads:[~2006-09-11 15:46 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 [this message]
2006-09-11 17:04 ` Matthias Fuchs
2006-09-11 18:13 ` Wolfgang Grandegger
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=450584D7.6050009@domain.hid \
--to=wg@domain.hid \
--cc=jan.kiszka@domain.hid \
--cc=rpm@xenomai.org \
--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.