On Fri, 21 Jan 2005, Tony Lindgren wrote:

> > This doesn't seem to cover the local APIC timer, what do you do about the 
> > 1kHz tick which it's programmed to do?
> 
> Sorry for the delay in replaying. Thanks for pointing that out, I
> don't know yet what to do with the local APIC timer. Have to look at
> more.

Pavel does your test system have a Local APIC? If so that may also explain 
why you didn't see a difference.

Tony, something like the following for oneshot should work, untested of 
course. Perhaps you could use that for the wakeup interrupt instead?

void setup_oneshot_apic_timer(unsigned int count)
{
        unsigned int lvtt, tmp_value;
        unsigned long flags;

        count *= calibration_result;
        local_irq_save(flags);
        lvtt = ~APIC_LVT_TIMER_PERIODIC | LOCAL_TIMER_VECTOR;
        apic_write_around(APIC_LVTT, lvtt);
        tmp_value = apic_read(APIC_TDCR);
        apic_write_around(APIC_TDCR, (tmp_value
                        & ~(APIC_TDR_DIV_1 | APIC_TDR_DIV_TMBASE))
                        | APIC_TDR_DIV_16);

        apic_write_around(APIC_TMICT, count/APIC_DIVISOR);
        local_irq_restore(flags);
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to