/kernel/linux/linux-6.6/include/linux/ |
H A D | clocksource.h | 2 /* linux/include/linux/clocksource.h 6 * If you are not a clocksource, or timekeeping code, you should 24 struct clocksource; 29 #include <asm/clocksource.h> 32 #include <vdso/clocksource.h> 35 * struct clocksource - hardware abstraction for a free running counter 39 * @read: Returns a cycle value, passes clocksource as argument 44 * @max_idle_ns: Maximum idle time permitted by the clocksource (nsecs) 51 * @name: Pointer to clocksource name 56 * to assign your clocksource 96 struct clocksource { global() struct [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | clocksource.h | 2 /* linux/include/linux/clocksource.h 6 * If you are not a clocksource, or timekeeping code, you should 23 struct clocksource; 28 #include <asm/clocksource.h> 31 #include <vdso/clocksource.h> 34 * struct clocksource - hardware abstraction for a free running counter 38 * @read: Returns a cycle value, passes clocksource as argument 43 * @max_idle_ns: Maximum idle time permitted by the clocksource (nsecs) 50 * @name: Pointer to clocksource name 55 * to assign your clocksource 91 struct clocksource { global() struct [all...] |
/kernel/linux/linux-5.10/kernel/time/ |
H A D | clocksource.c | 3 * This file contains the functions which manage clocksource drivers. 11 #include <linux/clocksource.h> 78 * currently selected clocksource. 86 * Name of the user-specified clocksource. 88 static struct clocksource *curr_clocksource; 89 static struct clocksource *suspend_clocksource; 104 * clocksource surrounding a read of the clocksource being validated. 115 static struct clocksource *watchdog; 134 static void __clocksource_change_rating(struct clocksource *c 1386 ATTRIBUTE_GROUPS(clocksource); global() variable [all...] |
H A D | jiffies.c | 3 * This file contains the jiffies based clocksource. 7 #include <linux/clocksource.h> 35 static u64 jiffies_read(struct clocksource *cs) in jiffies_read() 41 * The Jiffies based clocksource is the lowest common 51 static struct clocksource clocksource_jiffies = { 89 struct clocksource * __init __weak clocksource_default_clock(void) in clocksource_default_clock() 94 static struct clocksource refined_jiffies;
|
/kernel/linux/linux-6.6/kernel/time/ |
H A D | clocksource.c | 3 * This file contains the functions which manage clocksource drivers. 11 #include <linux/clocksource.h> 80 * currently selected clocksource. 88 * Name of the user-specified clocksource. 90 static struct clocksource *curr_clocksource; 91 static struct clocksource *suspend_clocksource; 112 * clocksource surrounding a read of the clocksource being validated. 117 * If a clocksource is good enough for NTP, it is good enough for us! 132 static struct clocksource *watchdo 1469 ATTRIBUTE_GROUPS(clocksource); global() variable [all...] |
H A D | jiffies.c | 3 * This file contains the jiffies based clocksource. 7 #include <linux/clocksource.h> 16 static u64 jiffies_read(struct clocksource *cs) in jiffies_read() 22 * The Jiffies based clocksource is the lowest common 32 static struct clocksource clocksource_jiffies = { 71 struct clocksource * __init __weak clocksource_default_clock(void) in clocksource_default_clock() 76 static struct clocksource refined_jiffies;
|
H A D | clocksource-wdtest.c | 3 * Unit test for the clocksource watchdog. 12 #include <linux/clocksource.h> 34 static u64 wdtest_jiffies_read(struct clocksource *cs) in wdtest_jiffies_read() 39 static struct clocksource clocksource_wdtest_jiffies = { 54 static u64 wdtest_ktime_read(struct clocksource *cs) in wdtest_ktime_read() 72 static void wdtest_ktime_cs_mark_unstable(struct clocksource *cs) in wdtest_ktime_cs_mark_unstable() 74 pr_info("--- Marking %s unstable due to clocksource watchdog.\n", cs->name); in wdtest_ktime_cs_mark_unstable() 82 static struct clocksource clocksource_wdtest_ktime = { 92 /* Reset the clocksource if needed. */
|
/kernel/linux/linux-5.10/drivers/clocksource/ |
H A D | timer-vt8500.c | 17 #include <linux/clocksource.h> 43 static u64 vt8500_timer_read(struct clocksource *cs) in vt8500_timer_read() 53 static struct clocksource clocksource = { variable 65 u64 alarm = clocksource.read(&clocksource) + cycles; in vt8500_timer_set_next_event() 71 if ((signed)(alarm - clocksource.read(&clocksource)) <= MIN_OSCR_DELTA) in vt8500_timer_set_next_event() 126 ret = clocksource_register_hz(&clocksource, VT8500_TIMER_HZ); in vt8500_timer_init() 129 __func__, clocksource in vt8500_timer_init() [all...] |
H A D | mmio.c | 3 * Generic MMIO clocksource support 5 #include <linux/clocksource.h> 12 struct clocksource clksrc; 15 static inline struct clocksource_mmio *to_mmio_clksrc(struct clocksource *c) in to_mmio_clksrc() 20 u64 clocksource_mmio_readl_up(struct clocksource *c) in clocksource_mmio_readl_up() 25 u64 clocksource_mmio_readl_down(struct clocksource *c) in clocksource_mmio_readl_down() 30 u64 clocksource_mmio_readw_up(struct clocksource *c) in clocksource_mmio_readw_up() 35 u64 clocksource_mmio_readw_down(struct clocksource *c) in clocksource_mmio_readw_down() 41 * clocksource_mmio_init - Initialize a simple mmio based clocksource 43 * @name: Name of the clocksource [all...] |
H A D | hyperv_timer.c | 17 #include <linux/clocksource.h> 21 #include <clocksource/hyperv_timer.h> 38 * interrupts are enabled for other clocksource drivers. 236 * clocksource driver just to set the sint in the legacy case. in hv_stimer_legacy_init() 306 * The Hyper-V clocksource ratings of 250 are chosen to be below the 307 * TSC clocksource rating of 300. In configurations where Hyper-V offers 308 * an InvariantTSC, the TSC is not marked "unstable", so the TSC clocksource 311 * "unstable", so no TSC clocksource is created and the selected Hyper-V 312 * clocksource will be the default. 339 static u64 notrace read_hv_clock_tsc_cs(struct clocksource *ar [all...] |
H A D | timer-pistachio.c | 2 * Pistachio clocksource based on general-purpose timers 14 #include <linux/clocksource.h> 51 struct clocksource cs; 71 pistachio_clocksource_read_cycles(struct clocksource *cs) in pistachio_clocksource_read_cycles() 95 static void pistachio_clksrc_set_mode(struct clocksource *cs, int timeridx, in pistachio_clksrc_set_mode() 110 static void pistachio_clksrc_enable(struct clocksource *cs, int timeridx) in pistachio_clksrc_enable() 120 static void pistachio_clksrc_disable(struct clocksource *cs, int timeridx) in pistachio_clksrc_disable() 126 static int pistachio_clocksource_enable(struct clocksource *cs) in pistachio_clocksource_enable() 132 static void pistachio_clocksource_disable(struct clocksource *cs) in pistachio_clocksource_disable() 204 /* Disable irq's for clocksource usag in pistachio_clksrc_of_init() [all...] |
H A D | h8300_timer16.c | 10 #include <linux/clocksource.h> 27 struct clocksource cs; 71 static inline struct timer16_priv *cs_to_priv(struct clocksource *cs) in cs_to_priv() 76 static u64 timer16_clocksource_read(struct clocksource *cs) in timer16_clocksource_read() 87 static int timer16_enable(struct clocksource *cs) in timer16_enable() 103 static void timer16_disable(struct clocksource *cs) in timer16_disable() 139 pr_err("failed to get clock for clocksource\n"); in h8300_16timer_init() 146 pr_err("failed to map registers for clocksource\n"); in h8300_16timer_init() 152 pr_err("failed to map registers for clocksource\n"); in h8300_16timer_init() 174 pr_err("failed to request irq %d of clocksource\ in h8300_16timer_init() [all...] |
H A D | h8300_tpu.c | 12 #include <linux/clocksource.h> 26 struct clocksource cs; 63 static inline struct tpu_priv *cs_to_priv(struct clocksource *cs) in cs_to_priv() 68 static u64 tpu_clocksource_read(struct clocksource *cs) in tpu_clocksource_read() 82 static int tpu_clocksource_enable(struct clocksource *cs) in tpu_clocksource_enable() 97 static void tpu_clocksource_disable(struct clocksource *cs) in tpu_clocksource_disable() 131 pr_err("failed to get clock for clocksource\n"); in h8300_tpu_init() 137 pr_err("failed to map registers for clocksource\n"); in h8300_tpu_init() 142 pr_err("failed to map registers for clocksource\n"); in h8300_tpu_init()
|
H A D | timer-ti-dm-systimer.c | 3 #include <linux/clocksource.h> 17 #include <clocksource/timer-ti-dm.h> 30 static u32 clocksource; variable 60 struct clocksource dev; 148 * typically no use for a dmtimer clocksource if the 32 KiHz counter is 223 * clockevent or clocksource depending if the counter_32k is available on the 231 * clock as the clocksource, and any available dmtimer as clockevent. 233 * For am437x, we are using am335x style dmtimer clocksource. It is unclear 249 /* Quirk am437x using am335x style dmtimer clocksource */ in dmtimer_systimer_assign_alwon() 274 /* Usually no need for dmtimer clocksource i in dmtimer_systimer_assign_alwon() [all...] |
/kernel/linux/linux-6.6/drivers/clocksource/ |
H A D | timer-vt8500.c | 17 #include <linux/clocksource.h> 43 static u64 vt8500_timer_read(struct clocksource *cs) in vt8500_timer_read() 53 static struct clocksource clocksource = { variable 65 u64 alarm = clocksource.read(&clocksource) + cycles; in vt8500_timer_set_next_event() 71 if ((signed)(alarm - clocksource.read(&clocksource)) <= MIN_OSCR_DELTA) in vt8500_timer_set_next_event() 126 ret = clocksource_register_hz(&clocksource, VT8500_TIMER_HZ); in vt8500_timer_init() 129 __func__, clocksource in vt8500_timer_init() [all...] |
H A D | mmio.c | 3 * Generic MMIO clocksource support 5 #include <linux/clocksource.h> 12 struct clocksource clksrc; 15 static inline struct clocksource_mmio *to_mmio_clksrc(struct clocksource *c) in to_mmio_clksrc() 20 u64 clocksource_mmio_readl_up(struct clocksource *c) in clocksource_mmio_readl_up() 25 u64 clocksource_mmio_readl_down(struct clocksource *c) in clocksource_mmio_readl_down() 30 u64 clocksource_mmio_readw_up(struct clocksource *c) in clocksource_mmio_readw_up() 35 u64 clocksource_mmio_readw_down(struct clocksource *c) in clocksource_mmio_readw_down() 41 * clocksource_mmio_init - Initialize a simple mmio based clocksource 43 * @name: Name of the clocksource [all...] |
H A D | timer-goldfish.c | 5 #include <linux/clocksource.h> 10 #include <clocksource/timer-goldfish.h> 13 struct clocksource cs; 24 static struct goldfish_timer *cs_to_gf(struct clocksource *cs) in cs_to_gf() 29 static u64 goldfish_timer_read(struct clocksource *cs) in goldfish_timer_read() 131 timerdrv->cs = (struct clocksource){ in goldfish_timer_init()
|
H A D | timer-pistachio.c | 3 * Pistachio clocksource based on general-purpose timers 11 #include <linux/clocksource.h> 48 struct clocksource cs; 68 pistachio_clocksource_read_cycles(struct clocksource *cs) in pistachio_clocksource_read_cycles() 93 static void pistachio_clksrc_set_mode(struct clocksource *cs, int timeridx, in pistachio_clksrc_set_mode() 108 static void pistachio_clksrc_enable(struct clocksource *cs, int timeridx) in pistachio_clksrc_enable() 118 static void pistachio_clksrc_disable(struct clocksource *cs, int timeridx) in pistachio_clksrc_disable() 124 static int pistachio_clocksource_enable(struct clocksource *cs) in pistachio_clocksource_enable() 130 static void pistachio_clocksource_disable(struct clocksource *cs) in pistachio_clocksource_disable() 202 /* Disable irq's for clocksource usag in pistachio_clksrc_of_init() [all...] |
H A D | timer-ti-dm-systimer.c | 3 #include <linux/clocksource.h> 17 #include <clocksource/timer-ti-dm.h> 30 static u32 clocksource; variable 60 struct clocksource dev; 148 * typically no use for a dmtimer clocksource if the 32 KiHz counter is 223 * clockevent or clocksource depending if the counter_32k is available on the 231 * clock as the clocksource, and any available dmtimer as clockevent. 233 * For am437x, we are using am335x style dmtimer clocksource. It is unclear 249 /* Quirk am437x using am335x style dmtimer clocksource */ in dmtimer_systimer_assign_alwon() 274 /* Usually no need for dmtimer clocksource i in dmtimer_systimer_assign_alwon() [all...] |
/kernel/linux/linux-5.10/arch/mips/kernel/ |
H A D | csrc-bcm1480.c | 5 #include <linux/clocksource.h> 19 static u64 bcm1480_hpt_read(struct clocksource *cs) in bcm1480_hpt_read() 24 struct clocksource bcm1480_clocksource = { 39 struct clocksource *cs = &bcm1480_clocksource; in sb1480_clocksource_init()
|
H A D | csrc-sb1250.c | 5 #include <linux/clocksource.h> 35 static u64 sb1250_hpt_read(struct clocksource *cs) in sb1250_hpt_read() 40 struct clocksource bcm1250_clocksource = { 55 struct clocksource *cs = &bcm1250_clocksource; in sb1250_clocksource_init()
|
/kernel/linux/linux-6.6/arch/mips/kernel/ |
H A D | csrc-bcm1480.c | 5 #include <linux/clocksource.h> 19 static u64 bcm1480_hpt_read(struct clocksource *cs) in bcm1480_hpt_read() 24 struct clocksource bcm1480_clocksource = { 39 struct clocksource *cs = &bcm1480_clocksource; in sb1480_clocksource_init()
|
H A D | csrc-sb1250.c | 5 #include <linux/clocksource.h> 35 static u64 sb1250_hpt_read(struct clocksource *cs) in sb1250_hpt_read() 40 struct clocksource bcm1250_clocksource = { 55 struct clocksource *cs = &bcm1250_clocksource; in sb1250_clocksource_init()
|
/kernel/linux/linux-5.10/arch/mips/sgi-ip30/ |
H A D | ip30-timer.c | 11 #include <linux/clocksource.h> 22 static u64 ip30_heart_counter_read(struct clocksource *cs) in ip30_heart_counter_read() 27 struct clocksource ip30_heart_clocksource = { 42 struct clocksource *cs = &ip30_heart_clocksource; in ip30_heart_clocksource_init()
|
/kernel/linux/linux-6.6/arch/mips/sgi-ip30/ |
H A D | ip30-timer.c | 11 #include <linux/clocksource.h> 22 static u64 ip30_heart_counter_read(struct clocksource *cs) in ip30_heart_counter_read() 27 struct clocksource ip30_heart_clocksource = { 42 struct clocksource *cs = &ip30_heart_clocksource; in ip30_heart_clocksource_init()
|