On Wed, 2007-04-18 at 21:59 +0200, Gilles Chanteperdrix wrote:
> Richard Cochran wrote:
> > Here is the corrected patch, based on Gilles' comments.
> >
> > I hope sending this as an attachment is ok. I am a former Mutt user,
> > now forced to use **tl**k, and I can never tell when this program
> -Original Message- From: Gilles Chanteperdrix
>
> The reason for not looping is that Adeos never looses interrupts. If
> we leave the loop and Linux gets delayed, then the lost ticks will
> be accounted for twice: one time because Xenomai will have posted
> the missed timer interrupts, o
Richard Cochran wrote:
> > -Original Message- From: Gilles Chanteperdrix
> >
> > For reasons explained on the wiki, I would rather see
> > ixp4xx_timer_interrupt implemented as:
> >
> >if (__ipipe_mach_timerstolen) {
> >/* If some other domain has taken over the tim
Richard Cochran wrote:
> > -Original Message- From: Gilles Chanteperdrix
> >> *IXP4XX_OSRT1 = LATCH | ONE_SHOT_ENABLE;
> >
> > In fact, should not this be:
> >
> > *IXP4XX_OSRT1 =
> > (last_jiffy_time + LATCH - *IXP4XX_OSTS) |
> ONE_SHO
> -Original Message- From: Gilles Chanteperdrix
>> *IXP4XX_OSRT1 = LATCH | ONE_SHOT_ENABLE;
>
> In fact, should not this be:
>
> *IXP4XX_OSRT1 =
> (last_jiffy_time + LATCH - *IXP4XX_OSTS) |
ONE_SHOT_ENABLE;
Nope, we are using GP Timer 1. It
> -Original Message- From: Gilles Chanteperdrix
>
> For reasons explained on the wiki, I would rather see
> ixp4xx_timer_interrupt implemented as:
>
> if (__ipipe_mach_timerstolen) {
> /* If some other domain has taken over the timer, then
>* do nothing
Gilles Chanteperdrix wrote:
> *IXP4XX_OSRT1 = LATCH | ONE_SHOT_ENABLE;
In fact, should not this be:
*IXP4XX_OSRT1 =
(last_jiffy_time + LATCH - *IXP4XX_OSTS) | ONE_SHOT_ENABLE;
?
--
Gilles Chanteperdr
Richard Cochran wrote:
> This patch adds Adeos support for the Intel IXP425 processor. It may
> also work on the IXP465, but I only tested it on the 425. The patch
> is against a vanilla 2.6.19 kernel.
Great.
> +static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id)
> +{
> +wr