Messages in this thread Patch in this message | | | Subject | [RFC][PATCH] x86_64: Fix collision between pmtimer and pit/hpet timekeeping | From | john stultz <> | Date | Tue, 06 Dec 2005 21:00:39 -0800 |
| |
Hello, I thought I had caught all the problems when the no-legacy HPET support landed close to the time that the ACPI PM timer support landed, but apparently not. :(
On systems that do not support the HPET legacy functions (basically the IBM x460, but there could be others), in time_init() we accidentally fall into a PM timer conditional and set the vxtime_hz value to the PM timer's frequency. We then use this value with the HPET for timekeeping.
This patch (which mimics the behavior in time_init_gtod) corrects the collision.
Andi, any objections or suggestions for a better way?
thanks -john
diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c index fdaddc4..fb389d2 100644 --- a/arch/x86_64/kernel/time.c +++ b/arch/x86_64/kernel/time.c @@ -913,7 +913,7 @@ void __init time_init(void) cpu_khz = hpet_calibrate_tsc(); timename = "HPET"; #ifdef CONFIG_X86_PM_TIMER - } else if (pmtmr_ioport) { + } else if (pmtmr_ioport && !vxtime.hpet_address) { vxtime_hz = PM_TIMER_FREQUENCY; timename = "PM"; pit_init();
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |