Messages in this thread | | | Date | Tue, 24 Aug 2010 15:37:10 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH] x86, apic: Add apic calibration hook. |
| |
On Wed, 18 Aug 2010, Alok Kataria wrote: > > +static void __init initialize_lapic_clkevt(long delta) > +{ > + /* Calculate the scaled math multiplication factor */ > + lapic_clockevent.mult = div_sc(delta, TICK_NSEC * LAPIC_CAL_LOOPS, > + lapic_clockevent.shift); > + lapic_clockevent.max_delta_ns = > + clockevent_delta2ns(0x7FFFFF, &lapic_clockevent); > + lapic_clockevent.min_delta_ns = > + clockevent_delta2ns(0xF, &lapic_clockevent); > +} > + > static int __init calibrate_APIC_clock(void) > { > + apic_calibration_res = x86_init.timers.calibrate_apic(); > + if (apic_calibration_res) { > + struct clock_event_device *levt = &__get_cpu_var(lapic_events); > + long delta; > + > + if (lapic_clockevent.mult) > + return 0;
Why is this necessary ? calibrate_APIC_clock() is only called once.
Thanks,
tglx
| |