|
@@ -932,6 +932,16 @@ static int __init init_tsc_clocksource(void)
|
|
clocksource_tsc.rating = 0;
|
|
clocksource_tsc.rating = 0;
|
|
clocksource_tsc.flags &= ~CLOCK_SOURCE_IS_CONTINUOUS;
|
|
clocksource_tsc.flags &= ~CLOCK_SOURCE_IS_CONTINUOUS;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ * Trust the results of the earlier calibration on systems
|
|
|
|
+ * exporting a reliable TSC.
|
|
|
|
+ */
|
|
|
|
+ if (boot_cpu_has(X86_FEATURE_TSC_RELIABLE)) {
|
|
|
|
+ clocksource_register_khz(&clocksource_tsc, tsc_khz);
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
schedule_delayed_work(&tsc_irqwork, 0);
|
|
schedule_delayed_work(&tsc_irqwork, 0);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|