Home
last modified time | relevance | path

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

12345678910>>...13

/linux/drivers/clocksource/
H A 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 …]
H A 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()
H A 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 …]
H A 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()
H A Ddw_apb_timer.c44 clocksource_to_dw_apb_clocksource(struct clocksource *cs) in clocksource_to_dw_apb_clocksource()
280 * dw_apb_clocksource_start() - start the clocksource counting.
282 * @dw_cs: The clocksource to start.
284 * This is used to start the clocksource before registration and can be used
306 static u64 __apbt_read_clocksource(struct clocksource *cs) in __apbt_read_clocksource()
318 static void apbt_restart_clocksource(struct clocksource *cs) in apbt_restart_clocksource()
327 * dw_apb_clocksource_init() - use an APB timer as a clocksource.
329 * @rating: The rating to give the clocksource.
330 * @name: The name for the clocksource.
334 * This creates a clocksource using an APB timer but does not yet register it
[all …]
H A 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()
H A Dtimer-atmel-pit.c7 * Converted to ClockSource/ClockEvents by David Brownell.
40 struct clocksource clksrc;
49 static inline struct pit_data *clksrc_to_pit_data(struct clocksource *clksrc) in clksrc_to_pit_data()
70 * Clocksource: just a monotonic counter of MCK/16 cycles.
73 static u64 read_pit_clk(struct clocksource *cs) in read_pit_clk()
94 /* disable irq, leaving the clocksource active */ in pit_clkevt_shutdown()
106 /* update clocksource counter */ in pit_clkevt_set_periodic()
164 * Set up both clocksource and clockevent support.
217 * Register clocksource. The high order bits of PIV are unused, in at91sam926x_pit_dt_init()
229 pr_err("Failed to register clocksource\n"); in at91sam926x_pit_dt_init()
H A Dtimer-goldfish.c5 #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 Darc_timer.c9 * We've designated TIMER0 for clockevents and TIMER1 for clocksource
19 #include <linux/clocksource.h>
58 static u64 arc_read_gfrc(struct clocksource *cs) in arc_read_gfrc()
95 static struct clocksource arc_counter_gfrc = {
110 pr_warn("Global-64-bit-Ctr clocksource not detected\n"); in arc_cs_setup_gfrc()
128 static u64 arc_read_rtc(struct clocksource *cs) in arc_read_rtc()
153 static struct clocksource arc_counter_rtc = {
168 pr_warn("Local-64-bit-Ctr clocksource not detected\n"); in arc_cs_setup_rtc()
196 static u64 arc_read_timer1(struct clocksource *cs) in arc_read_timer1()
206 static struct clocksource arc_counter_timer1 = {
H A Dsh_tmu.c10 #include <linux/clocksource.h>
47 struct clocksource cs;
233 static struct sh_tmu_channel *cs_to_sh_tmu(struct clocksource *cs) in cs_to_sh_tmu()
238 static u64 sh_tmu_clocksource_read(struct clocksource *cs) in sh_tmu_clocksource_read()
245 static int sh_tmu_clocksource_enable(struct clocksource *cs) in sh_tmu_clocksource_enable()
260 static void sh_tmu_clocksource_disable(struct clocksource *cs) in sh_tmu_clocksource_disable()
271 static void sh_tmu_clocksource_suspend(struct clocksource *cs) in sh_tmu_clocksource_suspend()
284 static void sh_tmu_clocksource_resume(struct clocksource *cs) in sh_tmu_clocksource_resume()
300 struct clocksource *cs = &ch->cs; in sh_tmu_register_clocksource()
424 bool clockevent, bool clocksource) in sh_tmu_register() argument
[all …]
H A Dingenic-ost.c10 #include <linux/clocksource.h>
39 struct clocksource cs;
56 static u64 notrace ingenic_ost_clocksource_readl(struct clocksource *cs) in ingenic_ost_clocksource_readl()
61 static u64 notrace ingenic_ost_clocksource_readh(struct clocksource *cs) in ingenic_ost_clocksource_readh()
71 struct clocksource *cs; in ingenic_ost_probe()
127 dev_err(dev, "clocksource registration failed"); in ingenic_ost_probe()
H A Dscx200_hrt.c5 * This is a clocksource driver for the Geode SCx200's 1 or 27 MHz
15 #include <linux/clocksource.h>
42 static u64 read_hrt(struct clocksource *cs) in read_hrt()
48 static struct clocksource cs_hrt = {
89 MODULE_DESCRIPTION("clocksource on SCx200 HiRes Timer");
H A Dclksrc_st_lpc.c3 * Clocksource using the Low Power Timer found in the Low Power Controller (LPC)
12 #include <linux/clocksource.h>
58 pr_err("clksrc-st-lpc: Failed to register clocksource\n"); in st_clksrc_init()
102 /* LPC can either run as a Clocksource or in RTC or WDT mode */ in st_clksrc_of_register()
126 pr_info("clksrc-st-lpc: clocksource initialised - running @ %luHz\n", in st_clksrc_of_register()
H A Dem_sti.c18 #include <linux/clocksource.h>
33 struct clocksource cs;
181 static struct em_sti_priv *cs_to_em_sti(struct clocksource *cs) in cs_to_em_sti()
186 static u64 em_sti_clocksource_read(struct clocksource *cs) in em_sti_clocksource_read()
191 static int em_sti_clocksource_enable(struct clocksource *cs) in em_sti_clocksource_enable()
198 static void em_sti_clocksource_disable(struct clocksource *cs) in em_sti_clocksource_disable()
203 static void em_sti_clocksource_resume(struct clocksource *cs) in em_sti_clocksource_resume()
210 struct clocksource *cs = &p->cs; in em_sti_register_clocksource()
H A Dmps2-timer.c12 #include <linux/clocksource.h>
196 pr_err("failed to get clock for clocksource: %d\n", ret); in mps2_clocksource_init()
202 pr_err("failed to enable clock for clocksource: %d\n", ret); in mps2_clocksource_init()
212 pr_err("failed to map register for clocksource: %d\n", ret); in mps2_clocksource_init()
219 /* ... and set it up as free-running clocksource */ in mps2_clocksource_init()
229 pr_err("failed to init clocksource: %d\n", ret); in mps2_clocksource_init()
/linux/tools/testing/selftests/timers/
H A 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()
/linux/arch/mips/alchemy/common/
H A Dtime.c16 * Clocksource/event using the 32.768kHz-clocked Counter1 ('RTC' in the
18 * counter control register, otherwise the CP0 counter clocksource/event
23 #include <linux/clocksource.h>
35 static u64 au1x_counter1_read(struct clocksource *cs) in au1x_counter1_read()
40 static struct clocksource au1x_counter1_clocksource = {
83 * has been detected. If so install the rtcmatch2 clocksource, in alchemy_time_init()
116 /* register counter1 clocksource and event device */ in alchemy_time_init()
130 printk(KERN_INFO "Alchemy clocksource installed\n"); in alchemy_time_init()
/linux/kernel/time/
H A Dtimekeeping.c7 #include <linux/clocksource.h>
108 static u64 dummy_clock_read(struct clocksource *cs) in dummy_clock_read()
115 static struct clocksource dummy_clock = {
123 * and shift=0. When the first proper clocksource is installed then
280 * tk_clock_read - atomic clocksource read() helper
285 * the tkr's clocksource may change between the read reference, and the
287 * the wrong clocksource is passed to the wrong read function.
294 struct clocksource *clock = READ_ONCE(tkr->clock); in tk_clock_read()
314 struct clocksource *clock = READ_ONCE(tkr->clock); in tk_clock_read()
323 * tk_setup_internals - Set up internals to use clocksource clock.
[all …]
/linux/include/clocksource/
H A Dtimer-davinci.h3 * TI DaVinci clocksource driver
22 * struct davinci_timer_cfg - davinci clocksource driver configuration struct
24 * @irq: clockevent and clocksource interrupt resources
28 * clock half for both clocksource and clockevent and the compare register
/linux/arch/arm/mach-footbridge/
H A Ddc21285-timer.c9 #include <linux/clocksource.h>
23 static u64 cksrc_dc21285_read(struct clocksource *cs) in cksrc_dc21285_read()
28 static int cksrc_dc21285_enable(struct clocksource *cs) in cksrc_dc21285_enable()
36 static void cksrc_dc21285_disable(struct clocksource *cs) in cksrc_dc21285_disable()
41 static struct clocksource cksrc_dc21285 = {
/linux/arch/mips/kernel/
H A Dcsrc-bcm1480.c5 #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 Dcsrc-ioasic.c3 * DEC I/O ASIC's counter clocksource
7 #include <linux/clocksource.h>
16 static u64 dec_ioasic_hpt_read(struct clocksource *cs) in dec_ioasic_hpt_read()
21 static struct clocksource clocksource_dec = {
H A Dcsrc-sb1250.c5 #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()
/linux/arch/arm/mach-at91/
H A DKconfig175 comment "Clocksource driver selection"
183 Select this to get a clocksource based on the Atmel Periodic Interval
184 Timer. It has a relatively low resolution and the TC Block clocksource
192 Select this to get a high precision clocksource based on a
204 clocksource and clockevent (SAMA7G5) based on Microchip 64-bit
/linux/arch/openrisc/kernel/
H A Dtime.c19 #include <linux/clocksource.h>
135 * Clocksource: Based on OpenRISC timer/counter
140 static u64 openrisc_timer_read(struct clocksource *cs) in openrisc_timer_read()
145 static struct clocksource openrisc_timer = {
158 panic("failed to register clocksource"); in openrisc_timer_init()

12345678910>>...13