• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/kernel/time/

Lines Matching refs:clocksource

2  * linux/kernel/time/clocksource.c
4 * This file contains the functions which manage clocksource drivers.
23 * o Allow clocksource drivers to be unregistered
26 #include <linux/clocksource.h>
165 * currently selected clocksource.
171 * Name of the user-specified clocksource.
173 static struct clocksource *curr_clocksource;
183 static struct clocksource *watchdog;
191 static void __clocksource_change_rating(struct clocksource *cs, int rating);
208 static void __clocksource_unstable(struct clocksource *cs)
216 static void clocksource_unstable(struct clocksource *cs, int64_t delta)
224 * clocksource_mark_unstable - mark clocksource unstable via watchdog
225 * @cs: clocksource to be marked unstable
228 * cpu hotplug code to avoid a deadlock between the clocksource mutex
229 * and the cpu hotplug mutex. It defers the update of the clocksource
232 void clocksource_mark_unstable(struct clocksource *cs)
247 struct clocksource *cs;
279 /* Check the deviation from the watchdog clocksource. */
293 * We just marked the clocksource as highres-capable,
336 struct clocksource *cs;
363 static void clocksource_enqueue_watchdog(struct clocksource *cs)
369 /* cs is a clocksource to be watched. */
388 static void clocksource_dequeue_watchdog(struct clocksource *cs)
390 struct clocksource *tmp;
395 /* cs is a watched clocksource. */
417 struct clocksource *cs, *tmp;
443 static void clocksource_enqueue_watchdog(struct clocksource *cs)
449 static inline void clocksource_dequeue_watchdog(struct clocksource *cs) { }
456 * clocksource_suspend - suspend the clocksource(s)
460 struct clocksource *cs;
468 * clocksource_resume - resume the clocksource(s)
472 struct clocksource *cs;
494 * clocksource_max_deferment - Returns max time the clocksource can be deferred
495 * @cs: Pointer to clocksource
498 static u64 clocksource_max_deferment(struct clocksource *cs)
519 * The actual maximum number of cycles we can defer the clocksource is
526 * To ensure that the clocksource does not wrap whilst we are idle,
527 * limit the time the clocksource can be deferred by 12.5%. Please
537 * clocksource_select - Select the best clocksource available
541 * Select the clocksource with the best rating, or the clocksource,
546 struct clocksource *best, *cs;
550 /* First clocksource on the list has the best rating. */
551 best = list_first_entry(&clocksource_list, struct clocksource, list);
552 /* Check for the override clocksource. */
558 * capable clocksource if the tick code is in oneshot
563 /* Override clocksource cannot be used. */
564 printk(KERN_WARNING "Override clocksource %s is not "
569 /* Override clocksource can be used. */
574 printk(KERN_INFO "Switching to clocksource %s\n", best->name);
589 * Hack to avoid lots of clocksource churn at boot time.
614 * Enqueue the clocksource sorted by rating
616 static void clocksource_enqueue(struct clocksource *cs)
619 struct clocksource *tmp;
642 * __clocksource_updatefreq_scale - Used update clocksource with new freq
643 * @t: clocksource to be registered
644 * @scale: Scale factor multiplied against freq to get clocksource hz
645 * @freq: clocksource frequency (cycles per second) divided by scale
647 * This should only be called from the clocksource->enable() method.
652 void __clocksource_updatefreq_scale(struct clocksource *cs, u32 scale, u32 freq)
669 * @t: clocksource to be registered
670 * @scale: Scale factor multiplied against freq to get clocksource hz
671 * @freq: clocksource frequency (cycles per second) divided by scale
678 int __clocksource_register_scale(struct clocksource *cs, u32 scale, u32 freq)
684 /* Add clocksource to the clcoksource list */
697 * @t: clocksource to be registered
701 int clocksource_register(struct clocksource *cs)
703 /* calculate max idle time permitted for this clocksource */
715 static void __clocksource_change_rating(struct clocksource *cs, int rating)
724 * clocksource_change_rating - Change the rating of a registered clocksource
726 void clocksource_change_rating(struct clocksource *cs, int rating)
735 * clocksource_unregister - remove a registered clocksource
737 void clocksource_unregister(struct clocksource *cs)
749 * sysfs_show_current_clocksources - sysfs interface for current clocksource
751 * @buf: char buffer to be filled with clocksource list
753 * Provides sysfs interface for listing current clocksource.
769 * sysfs_override_clocksource - interface for manually overriding clocksource
771 * @buf: name of override clocksource
775 * clocksource selection.
804 * sysfs_show_available_clocksources - sysfs interface for listing clocksource
806 * @buf: char buffer to be filled with clocksource list
815 struct clocksource *src;
821 * Don't show non-HRES clocksource if the tick code is
848 .name = "clocksource",
880 * Takes a clocksource= boot argument and uses it
881 * as the clocksource override name.
892 __setup("clocksource=", boot_override_clocksource);
899 * as the clocksource override name
905 "Use clocksource=acpi_pm.\n");
909 "Use clocksource=xyz\n");