/openbmc/linux/kernel/time/ |
H A D | tick-sched.h | 24 * struct tick_sched - sched tick emulation and no idle tick control/stats 26 * @inidle: Indicator that the CPU is in the tick idle mode 27 * @tick_stopped: Indicator that the idle tick has been stopped 28 * @idle_active: Indicator that the CPU is actively in the tick idle mode; 31 * @got_idle_tick: Tick timer function has run with @inidle set 33 * @last_tick_jiffies: Value of jiffies seen on last tick 34 * @sched_timer: hrtimer to schedule the periodic tick in high 36 * @last_tick: Store the last tick expiry time when the tick 38 * to resume the tick timer operation in the timeline 40 * @next_tick: Next tick to be fired when in dynticks mode. [all …]
|
H A D | tick-sched.c | 7 * No idle tick implementation for low and high resolution timers 32 #include "tick-internal.h" 168 * Ensure that the tick is aligned to a multiple of in tick_init_jiffy_update() 235 * When we are idle and the tick is stopped, we have to touch in tick_sched_handle() 247 * In case the current tick fired too early past its expected in tick_sched_handle() 327 /* Empty, the tick restart happens on tick_nohz_irq_exit() */ in nohz_full_kick_func() 335 * re-evaluate its dependency on the tick and restart it if necessary. 349 * re-evaluate its dependency on the tick and restart it if necessary. 380 * we guarantee it sees the new tick dependency upon in tick_nohz_kick_task() 401 * their dependency on the tick and restart it if necessary. [all …]
|
H A D | Makefile | 12 obj-$(CONFIG_GENERIC_CLOCKEVENTS) += clockevents.o tick-common.o 14 obj-y += tick-broadcast.o 15 obj-$(CONFIG_TICK_ONESHOT) += tick-broadcast-hrtimer.o 18 obj-$(CONFIG_TICK_ONESHOT) += tick-oneshot.o tick-sched.o 19 obj-$(CONFIG_LEGACY_TIMER_TICK) += tick-legacy.o
|
H A D | tick-common.c | 3 * This file contains the base functions to manage periodic tick 23 #include "tick-internal.h" 26 * Tick devices 30 * Tick next event: keeps track of the tick time. It's updated by the 31 * CPU which handles the tick and protected by jiffies_lock. There is 83 * Periodic tick 91 /* Keep track of the next tick event */ in tick_periodic() 150 * Setup the device for a periodic tick 183 * Setup the tick device 426 * tick_suspend_local - Suspend the local tick device [all …]
|
/openbmc/qemu/tests/qtest/ |
H A D | cmsdk-apb-watchdog-test.c | 42 int64_t tick; member 54 * which is 80ns per tick. 56 * IoTKit/ARMSSE dualtimer; driven at 25MHz in mps2-an385, so 40ns per tick 60 .tick = 80, 65 .tick = 40, 85 int64_t tick = args->tick; in test_watchdog() local 94 /* Step to just past the 500th tick */ in test_watchdog() 95 clock_step(500 * tick + 1); in test_watchdog() 99 /* Just past the 1000th tick: timer should have fired */ in test_watchdog() 100 clock_step(500 * tick); in test_watchdog() [all …]
|
H A D | cmsdk-apb-dualtimer-test.c | 20 /* IoTKit/ARMSSE dualtimer; driven at 25MHz in mps2-an385, so 40ns per tick */ 57 /* Step to just past the 500th tick and check VALUE */ in test_dualtimer() 62 /* Just past the 1000th tick: timer should have fired */ in test_dualtimer() 69 * tick VALUE should have wrapped round to 0xffff. in test_dualtimer() 92 /* Step to just past the 500th tick and check VALUE */ in test_prescale() 97 /* Just past the 1000th tick: timer should have fired */ in test_prescale() 102 /* In periodic mode the tick VALUE now reloads */ in test_prescale()
|
H A D | cmsdk-apb-timer-test.c | 20 /* IoTKit/ARMSSE-200 timer0; driven at 25MHz in mps2-an385, so 40ns per tick */ 36 /* Step to just past the 500th tick and check VALUE */ in test_timer() 41 /* Just past the 1000th tick: timer should have fired */ in test_timer() 46 /* VALUE reloads at the following tick */ in test_timer()
|
/openbmc/linux/sound/core/seq/ |
H A D | seq_timer.h | 13 snd_seq_tick_time_t cur_tick; /* current tick */ 14 unsigned long resolution; /* time per tick in nsec */ 15 unsigned long fraction; /* current time per tick in nsec */ 24 unsigned int tempo; /* current tempo, us/tick */ 28 struct snd_seq_timer_tick tick; /* current tick */ member 53 static inline void snd_seq_timer_update_tick(struct snd_seq_timer_tick *tick, in snd_seq_timer_update_tick() argument 56 if (tick->resolution > 0) { in snd_seq_timer_update_tick() 57 tick->fraction += resolution; in snd_seq_timer_update_tick() 58 tick->cur_tick += (unsigned int)(tick->fraction / tick->resolution); in snd_seq_timer_update_tick() 59 tick->fraction %= tick->resolution; in snd_seq_timer_update_tick()
|
H A D | seq_timer.c | 24 tmr->tick.resolution = (tmr->tempo * 1000) / tmr->ppq; in snd_seq_timer_set_tick_resolution() 30 tmr->tick.resolution = (tmr->tempo / tmr->ppq) * 1000; in snd_seq_timer_set_tick_resolution() 31 tmr->tick.resolution += s; in snd_seq_timer_set_tick_resolution() 33 if (tmr->tick.resolution <= 0) in snd_seq_timer_set_tick_resolution() 34 tmr->tick.resolution = 1; in snd_seq_timer_set_tick_resolution() 35 snd_seq_timer_update_tick(&tmr->tick, 0); in snd_seq_timer_set_tick_resolution() 105 tmr->tick.cur_tick = 0; in seq_timer_reset() 106 tmr->tick.fraction = 0; in seq_timer_reset() 149 /* calculate current tick */ in snd_seq_timer_interrupt() 150 snd_seq_timer_update_tick(&tmr->tick, resolution); in snd_seq_timer_interrupt() [all …]
|
H A D | seq_prioq.c | 91 return (snd_seq_compare_tick_time(&a->time.tick, &b->time.tick)); in compare_timestamp() 108 if (a->time.tick > b->time.tick) in compare_timestamp_rel() 110 else if (a->time.tick == b->time.tick) in compare_timestamp_rel() 206 return snd_seq_compare_tick_time(current_time, &ev->time.tick); in event_is_ready() 262 if (cell->event.time.tick) in prioq_match() 347 res = snd_seq_compare_tick_time(&ev->time.tick, &info->time.tick); in prioq_remove_match() 355 res = snd_seq_compare_tick_time(&ev->time.tick, &info->time.tick); in prioq_remove_match()
|
/openbmc/qemu/hw/nvram/ |
H A D | eeprom93xx.c | 77 uint8_t tick; member 135 VMSTATE_UINT8(tick, eeprom_t), 157 uint8_t tick = eeprom->tick; in eeprom93xx_write() local 162 logout("CS=%u SK=%u DI=%u DO=%u, tick = %u\n", in eeprom93xx_write() 163 eecs, eesk, eedi, eedo, tick); in eeprom93xx_write() 168 tick = 0; in eeprom93xx_write() 183 } else if (tick >= 2 + 2 + eeprom->addrbits + 16) { in eeprom93xx_write() 199 if (tick == 0) { in eeprom93xx_write() 203 tick++; in eeprom93xx_write() 206 tick = 2; in eeprom93xx_write() [all …]
|
/openbmc/u-boot/drivers/i2c/ |
H A D | mvtwsi.c | 94 uint tick; member 179 /* One tick = the duration of a period at the specified speed in ns (we in calc_tick() 266 uint tick) in twsi_wait() argument 282 ndelay(tick); /* One clock cycle */ in twsi_wait() 298 * @tick: The duration of a clock cycle at the current I2C speed. 303 uint tick) in twsi_start() argument 309 return twsi_wait(twsi, expected_status, tick); in twsi_start() 321 * @tick: The duration of a clock cycle at the current I2C speed. 326 int expected_status, uint tick) in twsi_send() argument 334 return twsi_wait(twsi, expected_status, tick); in twsi_send() [all …]
|
/openbmc/linux/tools/testing/selftests/timers/ |
H A D | adjtick.c | 1 /* adjtimex() tick adjustment test 128 tx1.tick = tickval; in check_tick_adj() 135 printf("Estimating tick (act: %ld usec, %lld ppm): ", tickval, ppm); in check_tick_adj() 144 if (tx1.offset || tx1.freq || tx1.tick != tickval) { in check_tick_adj() 153 * cannot match the HZ tick size accurately, so we have a in check_tick_adj() 171 long tick, max, interval, err; in main() local 189 for (tick = (systick - max); tick < (systick + max); tick += interval) { in main() 190 if (check_tick_adj(tick)) { in main() 203 tx1.tick = systick; in main()
|
/openbmc/u-boot/lib/ |
H A D | time.c | 22 /* Returns tick rate in ticks per second */ 117 static uint64_t notrace tick_to_time(uint64_t tick) in tick_to_time() argument 121 tick *= CONFIG_SYS_HZ; in tick_to_time() 122 do_div(tick, div); in tick_to_time() 123 return tick; in tick_to_time() 144 uint64_t tick = usec; in usec_to_tick() local 145 tick *= get_tbclk(); in usec_to_tick() 146 do_div(tick, 1000000); in usec_to_tick() 147 return tick; in usec_to_tick()
|
/openbmc/u-boot/arch/arm/cpu/arm926ejs/mx27/ |
H A D | timer.c | 36 * "tick" is internal timer period 40 static inline unsigned long long tick_to_time(unsigned long long tick) in tick_to_time() argument 42 tick *= CONFIG_SYS_HZ; in tick_to_time() 43 do_div(tick, CONFIG_MX27_CLK32); in tick_to_time() 44 return tick; in tick_to_time() 66 static inline unsigned long long tick_to_time(unsigned long long tick) in tick_to_time() argument 68 do_div(tick, TICK_PER_TIME); in tick_to_time() 69 return tick; in tick_to_time() 113 ulong now = readl(®s->gpt_tcn); /* current tick value */ in get_ticks()
|
/openbmc/linux/Documentation/timers/ |
H A D | highres.rst | 100 System-level global event devices are used for the Linux periodic tick. Per-CPU 107 - system global periodic tick (jiffies update) 132 utilize the high resolution and dynamic tick functionalities without any change 136 adding the dynamic tick specific calls to the idle routine (a total of 3 lines 186 Once a system has switched to high resolution mode, the periodic tick is 190 The periodic tick functionality is provided by an per-cpu hrtimer. The callback 193 based periodic tick is designed to be extended with dynamic tick functionality. 195 timer and periodic events (jiffies tick, profiling, process accounting) on UP 200 separated from the tick bound timer softirq to allow accurate delivery of high 211 Dynamic ticks are the logical consequence of the hrtimer based periodic tick [all …]
|
H A D | no_hz.rst | 128 adaptive-tick CPUs: At least one non-adaptive-tick CPU must remain 130 calls like gettimeofday() returns accurate values on adaptive-tick CPUs. 147 Just as with dyntick-idle mode, the benefits of adaptive-tick mode do 159 3. POSIX CPU timers prevent CPUs from entering adaptive-tick mode. 165 all of them over time. Adaptive-tick mode may prevent this 168 entering adaptive-tick mode. 170 5. Scheduler statistics for adaptive-tick CPUs may be computed 171 slightly differently than those for non-adaptive-tick CPUs. 184 enter either dyntick-idle mode or adaptive-tick mode, the most 196 or adaptive-tick mode. That said, note that it is up to userspace to [all …]
|
/openbmc/linux/Documentation/admin-guide/pm/ |
H A D | cpuidle.rst | 165 tick can be `stopped by the idle loop <idle-cpus-and-tick_>`_. Available 186 .. _idle-cpus-and-tick: 188 Idle CPUs and The Scheduler Tick 191 The scheduler tick is a timer that triggers periodically in order to implement 199 may not want to give the CPU away voluntarily, however, and the scheduler tick 201 tick, but it is the primary reason for using it. 203 The scheduler tick is problematic from the CPU idle time management perspective, 205 configuration, the length of the tick period is between 1 ms and 10 ms). 206 Thus, if the tick is allowed to trigger on idle CPUs, it will not make sense 208 the tick period length. Moreover, in that case the idle duration of any CPU [all …]
|
/openbmc/linux/arch/sparc/include/asm/ |
H A D | timer_64.h | 47 unsigned int tick[GET_TICK_NINSTR]; member 56 unsigned long tick, tmp1, tmp2; in get_tick() local 80 /* read tick 2 instructions and 11 skipped */ in get_tick() 82 " rd %%tick, %0\n" in get_tick() 92 : "=&r" (tick), "=&r" (tmp1), "=&r" (tmp2) in get_tick() 95 return tick; in get_tick()
|
/openbmc/openbmc/meta-openembedded/meta-networking/recipes-support/open-vm-tools/open-vm-tools/ |
H A D | 0014-timeSync-Portable-way-to-print-64bit-time_t.patch | 31 - "const %ld precision %ld tolerance %ld tick %ld\n", 33 - tx->status, tx->constant, tx->precision, tx->tolerance, tx->tick); 35 + "const %jd precision %jd tolerance %jd tick %jd\n", 37 …tus, (intmax_t)tx->constant, (intmax_t)tx->precision, (intmax_t)tx->tolerance, (intmax_t)tx->tick); 49 - g_debug("time slew start: %ld\n", tx.tick); 50 + g_debug("time slew start: %jd\n", (intmax_t)tx.tick);
|
/openbmc/qemu/hw/timer/ |
H A D | stellaris-gptm.c | 32 int64_t tick; in gptm_reload() local 34 tick = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); in gptm_reload() 36 tick = s->tick[n]; in gptm_reload() 43 tick += clock_ticks_to_ns(s->clk, count); in gptm_reload() 45 /* 32-bit RTC. 1Hz tick. */ in gptm_reload() 46 tick += NANOSECONDS_PER_SECOND; in gptm_reload() 55 s->tick[n] = tick; in gptm_reload() 56 timer_mod(s->timer[n], tick); in gptm_reload() 265 VMSTATE_INT64_ARRAY(tick, gptm_state, 2),
|
/openbmc/linux/arch/sparc/kernel/ |
H A D | time_64.c | 70 /* Set things up so user can access tick register for profiling in tick_disable_protection() 72 * read back of %tick after writing it. in tick_disable_protection() 78 "1: rd %%tick, %%g2\n" in tick_disable_protection() 81 " wrpr %%g2, 0, %%tick\n" in tick_disable_protection() 82 " rdpr %%tick, %%g0" in tick_disable_protection() 110 __asm__ __volatile__("rd %%tick, %0\n\t" in tick_get_tick() 121 __asm__ __volatile__("rd %%tick, %0" in tick_add_compare() 144 __asm__ __volatile__("rd %%tick, %0" in tick_add_compare() 156 __asm__ __volatile__("rd %%tick, %0\n\t" in tick_add_tick() 158 "wrpr %0, 0, %%tick\n\t" in tick_add_tick() [all …]
|
/openbmc/linux/drivers/net/wireless/ath/carl9170/ |
H A D | cmd.c | 173 unsigned int tick; in carl9170_collect_tally() local 181 tick = le32_to_cpu(tally.tick); in carl9170_collect_tally() 182 if (tick) { in carl9170_collect_tally() 183 ar->tally.active += le32_to_cpu(tally.active) / tick; in carl9170_collect_tally() 184 ar->tally.cca += le32_to_cpu(tally.cca) / tick; in carl9170_collect_tally() 185 ar->tally.tx_time += le32_to_cpu(tally.tx_time) / tick; in carl9170_collect_tally()
|
/openbmc/linux/drivers/cpuidle/governors/ |
H A D | menu.c | 16 #include <linux/tick.h> 53 * duration always was 50% of the next timer tick, the correction factor will 260 * @stop_tick: indication on whether or not to stop the tick 305 * in this case, assume that without the tick the closest timer in menu_select() 306 * will be in distant future and that the closest tick will occur in menu_select() 307 * after 1/2 of the tick period. in menu_select() 320 * it right away and keep the tick running if state[0] is a in menu_select() 329 * If the tick is already stopped, the cost of possible short in menu_select() 382 * tick in that case and let the governor run in menu_select() 411 * Don't stop the tick if the selected state is a polling one or if the in menu_select() [all …]
|
/openbmc/u-boot/arch/arm/cpu/armv7/vf610/ |
H A D | timer.c | 18 static inline unsigned long long tick_to_time(unsigned long long tick) in tick_to_time() argument 20 tick *= CONFIG_SYS_HZ; in tick_to_time() 21 do_div(tick, mxc_get_clock(MXC_IPG_CLK)); in tick_to_time() 23 return tick; in tick_to_time()
|