| /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 54 static inline void snd_seq_timer_update_tick(struct snd_seq_timer_tick *tick, in snd_seq_timer_update_tick() argument 57 if (tick->resolution > 0) { in snd_seq_timer_update_tick() 58 tick->fraction += resolution; in snd_seq_timer_update_tick() 59 tick->cur_tick += (unsigned int)(tick->fraction / tick->resolution); in snd_seq_timer_update_tick() 60 tick->fraction %= tick->resolution; in snd_seq_timer_update_tick()
|
| H A D | seq_timer.c | 27 tmr->tick.resolution = (tmr->tempo * tmr->tempo_base) / tmr->ppq; in snd_seq_timer_set_tick_resolution() 33 tmr->tick.resolution = (tmr->tempo / tmr->ppq) * tmr->tempo_base; in snd_seq_timer_set_tick_resolution() 34 tmr->tick.resolution += s; in snd_seq_timer_set_tick_resolution() 36 if (tmr->tick.resolution <= 0) in snd_seq_timer_set_tick_resolution() 37 tmr->tick.resolution = 1; in snd_seq_timer_set_tick_resolution() 38 snd_seq_timer_update_tick(&tmr->tick, 0); in snd_seq_timer_set_tick_resolution() 117 tmr->tick.cur_tick = 0; in seq_timer_reset() 118 tmr->tick.fraction = 0; in seq_timer_reset() 156 /* calculate current tick */ in snd_seq_timer_interrupt() 157 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() 204 return snd_seq_compare_tick_time(current_time, &ev->time.tick); in event_is_ready() 310 if (cell->event.time.tick) in prioq_match() 359 res = snd_seq_compare_tick_time(&ev->time.tick, &info->time.tick); in prioq_remove_match() [all...] |
| H A D | seq_queue.c | 250 /* Process tick queue... */ in snd_seq_check_queue() 302 cell->event.time.tick += q->timer->tick.cur_tick; in snd_seq_enqueue_event() 577 sev.time.tick = q->timer->tick.cur_tick; in queue_broadcast_event() 620 if (snd_seq_timer_set_position_tick(q->timer, ev->data.queue.param.time.tick) == 0) { in snd_seq_queue_process_event() 698 snd_iprintf(buffer, "queued tick events : %d\n", snd_seq_prioq_avail(q->tickq)); in snd_seq_info_queues_read() 705 snd_iprintf(buffer, "current tick : %d\n", tmr->tick.cur_tick); in snd_seq_info_queues_read()
|
| /linux/kernel/time/ |
| H A D | tick-sched.c | 33 #include "tick-internal.h" 167 * Ensure that the tick is aligned to a multiple of in tick_init_jiffy_update() 206 * the timer tick. 278 * When we are idle and the tick is stopped, we have to touch in tick_sched_handle() 289 * In case the current tick fired too early past its expected in tick_sched_handle() 322 * In dynticks mode, tick reprogram is deferred: in tick_nohz_handler() 405 /* Empty, the tick restart happens on tick_nohz_irq_exit() */ in nohz_full_kick_func() 413 * re-evaluate its dependency on the tick and restart it if necessary. 427 * re-evaluate its dependency on the tick and restart it if necessary. 464 * we guarantee it sees the new tick dependenc in tick_nohz_kick_task() [all...] |
| H A D | tick-common.c | 3 * This file contains the base functions to manage periodic tick 24 #include "tick-internal.h" 27 * Tick devices 31 * Tick next event: keeps track of the tick time. It's updated by the 32 * CPU which handles the tick and protected by jiffies_lock. There is 84 * Periodic tick 92 /* Keep track of the next tick event */ in tick_periodic() 150 * Setup the device for a periodic tick 183 * Setup the tick device 392 * Stop the tick and transfer the timekeeping job away from a dying cpu. [all …]
|
| H A D | tick-oneshot.c | 3 * This file contains functions which manage high resolution tick 18 #include "tick-internal.h" 83 * @handler: function to call when an event occurs on the tick device 85 * Return: 0 on success, -EINVAL if the tick device is not present, 98 pr_cont(" no tick device\n"); in tick_switch_to_oneshot() 139 * Return: 0 on success, -EINVAL if the tick device cannot switch
|
| H A D | tick-legacy.c | 3 * Timer tick function for architectures that lack generic clockevents, 11 #include "tick-internal.h"
|
| /linux/tools/testing/selftests/timers/ |
| H A D | adjtick.c | 1 /* adjtimex() tick adjustment test 124 tx1.tick = tickval; in check_tick_adj() 131 printf("Estimating tick (act: %ld usec, %lld ppm): ", tickval, ppm); in check_tick_adj() 140 if (tx1.offset || tx1.freq || tx1.tick != tickval) { in check_tick_adj() 149 * cannot match the HZ tick size accurately, so we have a in check_tick_adj() 167 long tick, max, interval, err; in main() local 185 for (tick = (systick - max); tick < (systick + max); tick += interval) { in main() 186 if (check_tick_adj(tick)) { in main() [all...] |
| /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. 144 Just as with dyntick-idle mode, the benefits of adaptive-tick mode do 156 3. POSIX CPU timers prevent CPUs from entering adaptive-tick mode. 162 all of them over time. Adaptive-tick mode may prevent this 165 entering adaptive-tick mode. 167 5. Scheduler statistics for adaptive-tick CPUs may be computed 168 slightly differently than those for non-adaptive-tick CPUs. 181 enter either dyntick-idle mode or adaptive-tick mode, the most 193 or adaptive-tick mode. That said, note that it is up to userspace to [all …]
|
| /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()
|
| /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()
|
| /linux/drivers/watchdog/ |
| H A D | atcwdt200_wdt.c | 147 * given tick count 148 * @tick: The target tick count to match 153 * This function calculates the closest clock period to the given tick count 155 * minimizes the difference between the target tick count and the calculated 157 * and returns the difference between the target tick count and the selected 160 * Return: The difference between the target tick count and the selected 163 static long long atcwdt_get_clock_period(long long tick, in atcwdt_get_clock_period() 180 result = tick - (1LL << atcwdt_get_index(i, timer_type)); in atcwdt_get_clock_period() 222 long long tick; in atcwdt_get_timeout_params() 162 atcwdt_get_clock_period(long long tick,enum timer_type timer_type,unsigned char * index) atcwdt_get_clock_period() argument 221 long long tick; atcwdt_get_timeout_params() local [all...] |
| /linux/Documentation/admin-guide/ |
| H A D | cpu-isolation.rst | 67 replacement. E.g.: the timer tick is shut down on nohz_full 70 and a residual 1Hz scheduler tick is offloaded to housekeeping 139 Full dynticks extends the dynticks idle mode, which stops the tick when 141 the timer tick is stopped if the environment allows it. 154 the tick to maintain preemption. This is usually fine since the 181 kernel boundaries instead of periodically from the tick. 183 - Housekeeping CPUs must run a 1Hz residual remote scheduler tick 226 Set the following kernel boot parameters to disable SMT and setup tick 347 interesting to enable the tick_stop event to diagnose why the tick is
|
| /linux/drivers/clocksource/ |
| H A D | bcm_kona_timer.c | 37 * We use the peripheral timers for system tick, the cpu global timer for 38 * profile tick 112 /* Load the "next" event tick value */ in kona_timer_set_next_event() 180 "Kona Timer Tick", NULL)) in kona_timer_init() 181 pr_err("%s: request_irq() failed\n", "Kona Timer Tick"); in kona_timer_init()
|
| /linux/arch/openrisc/kernel/ |
| H A D | time.c | 62 /* This is the clock event device based on the OR1K tick timer. 64 * timers) we cannot enable the PERIODIC feature. The tick timer can run using 137 * This sets up the OpenRISC Tick Timer as a clock source. The tick timer 172 panic("Linux not supported on devices without tick timer"); in time_init()
|
| /linux/sound/firewire/motu/ |
| H A D | amdtp-motu.c | 314 unsigned int tick; in cache_event_offsets() local 316 tick = ((sph & CIP_SPH_CYCLE_MASK) >> CIP_SPH_CYCLE_SHIFT) * TICKS_PER_CYCLE + in cache_event_offsets() 319 if (tick < base_tick) in cache_event_offsets() 320 tick += TICKS_PER_SECOND; in cache_event_offsets() 321 event_offsets[cache_tail] = tick - base_tick; in cache_event_offsets() 383 unsigned int tick = (base_tick + event_offsets[cache_head]) % TICKS_PER_SECOND; in write_sph() local 384 u32 sph = ((tick / TICKS_PER_CYCLE) << CIP_SPH_CYCLE_SHIFT) | (tick % TICKS_PER_CYCLE); in write_sph()
|
| /linux/kernel/sched/ |
| H A D | idle.c | 208 * available. Possibly also suspend the local tick and the entire in cpuidle_idle_call() 236 * target residency above the tick period length. in cpuidle_idle_call() 338 * again to reprogram the tick. in do_idle() 347 * detected in the wakeup from idle path that the tick in do_idle() 416 * Only FIFO tasks can disable the tick since they don't need the forced in play_idle_precise() 534 * scheduler tick hitting a task of our scheduling class. 536 * NOTE: This function can be called remotely by the tick offload that
|
| /linux/include/xen/interface/hvm/ |
| H A D | params.h | 73 * internal tick alarm is not disabled if the VCPU is preempted during the 74 * next tick period. 76 * Missed interrupts are collapsed together and delivered as one 'late tick'.
|
| /linux/tools/testing/selftests/sched_ext/ |
| H A D | nohz_tick.c | 5 * Validate that a finite-slice EXT task restarts the scheduler tick when it 329 /* Let the target enter idle with its tick stopped. */ in run() 333 * The next EXT task receives a finite slice and must restart the tick. in cleanup() 357 * task must restart the tick even though the slice type is unchanged. 391 * A lazy local enqueue must restart the tick after clearing the slice 410 SCX_ERR("Tick did not stop before lazy enqueue"); 447 SCX_ERR("Tick did not stop before lazy kick"); 497 .description = "Verify finite EXT slices restart the NOHZ_FULL tick",
|
| /linux/Documentation/core-api/ |
| H A D | housekeeping.rst | 19 scheduler tick, etc...). 34 2. HK_TYPE_KERNEL_NOISE matches the work moved away by tick isolation 36 parameters. This includes remote scheduler tick, vmstat and lockup
|
| /linux/drivers/gpu/drm/panthor/ |
| H A D | panthor_sched.c | 75 * groups than there are slots, the periodic tick is disabled and we 154 * Used for the scheduler tick, group update or other kind of FW 170 /** @tick_work: Work executed on a scheduling tick. */ 182 * @resched_target: When the next tick should occur. 189 * @last_tick: When the last tick occurred. 195 /** @tick_period: Tick period in jiffies. */ 201 * Should be taken in the tick work, the irq handler, and anywhere the @groups 278 * This will force a tick, so other runnable groups can be scheduled if one 695 * the last ref is released in the tick work. 1428 sched_queue_delayed_work(sched, tick, in csg_slot_prog_locked() [all...] |
| /linux/arch/openrisc/include/asm/ |
| H A D | spr_defs.h | 129 /* Tick Timer group */ 167 #define SPR_UPR_TTP 0x00000400 /* Tick timer present */ 216 #define SPR_SR_TEE 0x00000002 /* Tick timer Exception Enable */ 481 #define SPR_DSR_TTE 0x00000010 /* Tick Timer exception */ 500 #define SPR_DRR_TTE 0x00000010 /* Tick Timer exception */ 561 * Bit definitions for Tick Timer Control Register 570 #define SPR_TTMR_RT 0x40000000 /* Restart tick */ 573 #define SPR_TTMR_M 0xc0000000 /* Tick mode */
|
| /linux/Documentation/admin-guide/pm/ |
| H A D | suspend-flows.rst | 99 4. Freezing the scheduler tick and suspending timekeeping. 103 "freezes" its own scheduler tick so that the timer events associated with 104 the tick do not occur until the CPU is woken up by another interrupt source. 126 1. Resuming timekeeping and unfreezing the scheduler tick. 131 by another CPU that woke up earlier) and the scheduler tick on that CPU is
|