All of lore.kernel.org
 help / color / mirror / Atom feed
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.


  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.