Home
last modified time | relevance | path

Searched full:clocksource (Results 1 – 25 of 793) sorted by relevance

12345678910>>...32

/kernel/linux/linux-5.10/include/linux/
Dclocksource.h2 /* 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 a rating
[all …]
/kernel/linux/linux-6.6/include/linux/
Dclocksource.h2 /* 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 a rating
[all …]
/kernel/linux/linux-6.6/kernel/time/
Dclocksource.c3 * This file contains the functions which manage clocksource drivers.
11 #include <linux/clocksource.h>
23 static noinline u64 cycles_to_nsec_safe(struct clocksource *cs, u64 start, u64 end) in cycles_to_nsec_safe()
88 /*[Clocksource internal variables]---------
90 * currently selected clocksource.
98 * Name of the user-specified clocksource.
100 static struct clocksource *curr_clocksource;
101 static struct clocksource *suspend_clocksource;
122 * clocksource surrounding a read of the clocksource being validated.
127 * If a clocksource is good enough for NTP, it is good enough for us!
[all …]
Djiffies.c3 * 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;
/kernel/linux/linux-5.10/kernel/time/
Dclocksource.c3 * This file contains the functions which manage clocksource drivers.
11 #include <linux/clocksource.h>
76 /*[Clocksource internal variables]---------
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 *cs, int rating);
[all …]
Djiffies.c3 * 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-5.10/drivers/clocksource/
DKconfig166 where TIMER0 serves as clockevent and TIMER1 serves as clocksource.
182 bool "Nomakdik clocksource driver" if COMPILE_TEST
191 bool "Clocksource PRCMU Timer" if COMPILE_TEST
194 Use the always on PRCMU Timer as clocksource.
248 bool "Clocksource for Energy Micro's EFM32 SoCs" if !ARCH_EFM32
257 bool "Clocksource for LPC32XX" if COMPILE_TEST
263 Support for the LPC32XX clocksource.
266 bool "Clocksource for Pistachio SoC" if COMPILE_TEST
270 Enables the clocksource for the Pistachio SoC.
273 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
[all …]
Dmmio.c3 * 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 …]
Dhyperv_timer.c4 * Clocksource driver for the synthetic counter and timers
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.
[all …]
Dtimer-vt8500.c17 #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.name); in vt8500_timer_init()
Dtimer-ti-dm-systimer.c3 #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 if we have counter32 */ in dmtimer_systimer_assign_alwon()
[all …]
Dh8300_timer16.c10 #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\n", irq); in h8300_16timer_init()
Dh8300_tpu.c12 #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()
Dtimer-pistachio.c2 * 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 usage */ in pistachio_clksrc_of_init()
Ddw_apb_timer.c44 clocksource_to_dw_apb_clocksource(struct clocksource *cs) in clocksource_to_dw_apb_clocksource()
320 * dw_apb_clocksource_start() - start the clocksource counting.
322 * @dw_cs: The clocksource to start.
324 * This is used to start the clocksource before registration and can be used
346 static u64 __apbt_read_clocksource(struct clocksource *cs) in __apbt_read_clocksource()
358 static void apbt_restart_clocksource(struct clocksource *cs) in apbt_restart_clocksource()
367 * dw_apb_clocksource_init() - use an APB timer as a clocksource.
369 * @rating: The rating to give the clocksource.
370 * @name: The name for the clocksource.
374 * This creates a clocksource using an APB timer but does not yet register it
[all …]
/kernel/linux/linux-6.6/drivers/clocksource/
Dmmio.c3 * 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 …]
DKconfig181 where TIMER0 serves as clockevent and TIMER1 serves as clocksource.
197 bool "Nomakdik clocksource driver" if COMPILE_TEST
206 bool "Clocksource PRCMU Timer" if COMPILE_TEST
209 Use the always on PRCMU Timer as clocksource.
244 bool "Clocksource for LPC32XX" if COMPILE_TEST
250 Support for the LPC32XX clocksource.
253 bool "Clocksource for Pistachio SoC"
258 Enables the clocksource for the Pistachio SoC.
261 bool "Texas Instruments 32.768 Hz Clocksource" if COMPILE_TEST
265 This option enables support for Texas Instruments 32.768 Hz clocksource
[all …]
Dtimer-vt8500.c17 #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.name); in vt8500_timer_init()
Dtimer-ti-dm-systimer.c3 #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 if we have counter32 */ in dmtimer_systimer_assign_alwon()
[all …]
Dtimer-pistachio.c3 * 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 usage */ in pistachio_clksrc_of_init()
Ddw_apb_timer.c44 clocksource_to_dw_apb_clocksource(struct clocksource *cs) in clocksource_to_dw_apb_clocksource()
320 * dw_apb_clocksource_start() - start the clocksource counting.
322 * @dw_cs: The clocksource to start.
324 * This is used to start the clocksource before registration and can be used
346 static u64 __apbt_read_clocksource(struct clocksource *cs) in __apbt_read_clocksource()
358 static void apbt_restart_clocksource(struct clocksource *cs) in apbt_restart_clocksource()
367 * dw_apb_clocksource_init() - use an APB timer as a clocksource.
369 * @rating: The rating to give the clocksource.
370 * @name: The name for the clocksource.
374 * This creates a clocksource using an APB timer but does not yet register it
[all …]
Dhyperv_timer.c4 * Clocksource driver for the synthetic counter and timers
17 #include <linux/clocksource.h>
25 #include <clocksource/hyperv_timer.h>
43 * interrupts are enabled for other clocksource drivers.
318 * clocksource driver just to set the sint in the legacy case. in hv_stimer_legacy_init()
427 static u64 notrace read_hv_clock_tsc_cs(struct clocksource *arg) in read_hv_clock_tsc_cs()
438 static void suspend_hv_clock_tsc(struct clocksource *arg) in suspend_hv_clock_tsc()
449 static void resume_hv_clock_tsc(struct clocksource *arg) in resume_hv_clock_tsc()
472 static int hv_cs_enable(struct clocksource *cs) in hv_cs_enable()
479 static struct clocksource hyperv_cs_tsc = {
[all …]
Dtimer-ti-32k.c7 * Update to use new clocksource/clockevent layers
31 #include <linux/clocksource.h>
36 * 32KHz clocksource ... always available, on pretty most chips except
50 struct clocksource cs;
53 static inline struct ti_32k *to_ti_32k(struct clocksource *cs) in to_ti_32k()
58 static u64 notrace ti_32k_read_cycles(struct clocksource *cs) in ti_32k_read_cycles()
152 pr_info("OMAP clocksource: 32k_counter at 32768 Hz\n"); in ti_32k_timer_init()
156 pr_err("32k_counter: can't register clocksource\n"); in ti_32k_timer_init()
/kernel/linux/linux-6.6/tools/testing/selftests/timers/
Dclocksource-switch.c1 /* Clocksource change test
6 * NOTE: This is a meta-test which quickly changes the clocksource and
12 * $ gcc clocksource-switch.c -o clocksource-switch -lrt
47 fd = open("/sys/devices/system/clocksource/clocksource0/available_clocksource", O_RDONLY); in get_clocksources()
79 fd = open("/sys/devices/system/clocksource/clocksource0/current_clocksource", O_RDONLY); in get_cur_clocksource()
86 int change_clocksource(char *clocksource) in change_clocksource() argument
91 fd = open("/sys/devices/system/clocksource/clocksource0/current_clocksource", O_WRONLY); in change_clocksource()
96 size = write(fd, clocksource, strlen(clocksource)); in change_clocksource()
159 ksft_print_msg("Validating clocksource %s\n", in main()
189 ksft_test_result(!status, "clocksource-switch\n"); in main()
/kernel/linux/linux-5.10/tools/testing/selftests/timers/
Dclocksource-switch.c1 /* Clocksource change test
12 * $ gcc clocksource-switch.c -o clocksource-switch -lrt
47 fd = open("/sys/devices/system/clocksource/clocksource0/available_clocksource", O_RDONLY); in get_clocksources()
79 fd = open("/sys/devices/system/clocksource/clocksource0/current_clocksource", O_RDONLY); in get_cur_clocksource()
86 int change_clocksource(char *clocksource) in change_clocksource() argument
91 fd = open("/sys/devices/system/clocksource/clocksource0/current_clocksource", O_WRONLY); in change_clocksource()
96 size = write(fd, clocksource, strlen(clocksource)); in change_clocksource()
139 printf("Validating clocksource %s\n", clocksource_list[i]); in main()

12345678910>>...32