| /kernel/linux/linux-4.19/kernel/time/ |
| D | tick-common.c | 2 * linux/kernel/time/tick-common.c 4 * This file contains the base functions to manage periodic tick 7 * Copyright(C) 2005-2006, Thomas Gleixner <tglx@linutronix.de> 8 * Copyright(C) 2005-2007, Red Hat, Inc., Ingo Molnar 9 * Copyright(C) 2006-2007, Timesys Corp., Thomas Gleixner 12 * kernel-base/COPYING. 26 #include "tick-internal.h" 29 * Tick devices 33 * Tick next event: keeps track of the tick time 47 * 2) Hand off the duty in the NOHZ idle case by setting the value to [all …]
|
| D | clocksource.c | 13 * This program is distributed in the hope that it will be useful, 33 #include <linux/tick.h> 36 #include "tick-internal.h" 40 * clocks_calc_mult_shift - calculate mult/shift factors for scaled math of clocks 45 * @maxsec: guaranteed runtime conversion range in seconds 50 * @to and @from are frequency values in HZ. For clock sources @to is 54 * The @maxsec conversion range argument controls the time frame in 56 * calculated mult and shift factors. This guarantees that no 64bit 75 sftacc--; in clocks_calc_mult_shift() 82 for (sft = 32; sft > 0; sft--) { in clocks_calc_mult_shift() [all …]
|
| /kernel/linux/linux-5.10/kernel/time/ |
| D | tick-common.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * This file contains the base functions to manage periodic tick 6 * Copyright(C) 2005-2006, Thomas Gleixner <tglx@linutronix.de> 7 * Copyright(C) 2005-2007, Red Hat, Inc., Ingo Molnar 8 * Copyright(C) 2006-2007, Timesys Corp., Thomas Gleixner 23 #include "tick-internal.h" 26 * Tick devices 30 * Tick next event: keeps track of the tick time 44 * 2) Hand off the duty in the NOHZ idle case by setting the value to 56 static int tick_do_timer_boot_cpu __read_mostly = -1; [all …]
|
| D | clocksource.c | 1 // SPDX-License-Identifier: GPL-2.0+ 15 #include <linux/tick.h> 18 #include "tick-internal.h" 22 * clocks_calc_mult_shift - calculate mult/shift factors for scaled math of clocks 27 * @maxsec: guaranteed runtime conversion range in seconds 32 * @to and @from are frequency values in HZ. For clock sources @to is 36 * The @maxsec conversion range argument controls the time frame in 38 * calculated mult and shift factors. This guarantees that no 64bit 57 sftacc--; in clocks_calc_mult_shift() 64 for (sft = 32; sft > 0; sft--) { in clocks_calc_mult_shift() [all …]
|
| D | timekeeping.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * timer.c, moved in commit 8524070b7982. 20 #include <linux/tick.h> 26 #include "tick-internal.h" 35 /* Update timekeeper when a tick has passed */ 61 * struct tk_fast - NMI safe timekeeper 74 /* Suspend-time cycles value for halted fast timekeeper. */ 91 * returns nanoseconds already so no conversion is required, hence mult=1 117 while (tk->tkr_mono.xtime_nsec >= ((u64)NSEC_PER_SEC << tk->tkr_mono.shift)) { in tk_normalize_xtime() 118 tk->tkr_mono.xtime_nsec -= (u64)NSEC_PER_SEC << tk->tkr_mono.shift; in tk_normalize_xtime() [all …]
|
| /kernel/linux/linux-4.19/drivers/firmware/ |
| D | psci_checker.c | 6 * This program is distributed in the hope that it will be useful, 28 #include <linux/tick.h> 38 static int tos_resident_cpu = -1; 49 * "enable-method" property of each CPU in the DT, but given that there is no 50 * arch-specific way to check this, we assume that the DT is sensible. 54 int migrate_type = -1; in psci_ops_check() 59 return -EOPNOTSUPP; in psci_ops_check() 73 if (tos_resident_cpu == -1) in psci_ops_check() 74 pr_warn("UP Trusted OS resides on no online CPU\n"); in psci_ops_check() 92 /* Try to power down all CPUs in the mask. */ in down_and_up_cpus() [all …]
|
| /kernel/linux/linux-5.10/drivers/firmware/psci/ |
| D | psci_checker.c | 1 // SPDX-License-Identifier: GPL-2.0-only 21 #include <linux/tick.h> 31 static int tos_resident_cpu = -1; 42 * "enable-method" property of each CPU in the DT, but given that there is no 43 * arch-specific way to check this, we assume that the DT is sensible. 47 int migrate_type = -1; in psci_ops_check() 52 return -EOPNOTSUPP; in psci_ops_check() 66 if (tos_resident_cpu == -1) in psci_ops_check() 67 pr_warn("UP Trusted OS resides on no online CPU\n"); in psci_ops_check() 85 /* Try to power down all CPUs in the mask. */ in down_and_up_cpus() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/timer/ |
| D | arm,arch_timer.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Marc Zyngier <marc.zyngier@arm.com> 11 - Mark Rutland <mark.rutland@arm.com> 13 ARM cores may have a per-core architected timer, which provides per-cpu timers, 17 The per-core architected timer is attached to a GIC to deliver its 18 per-processor interrupts via PPIs. The memory mapped timer is attached to a GIC 24 - items: 25 - enum: [all …]
|
| D | arm,arch_timer_mmio.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Marc Zyngier <marc.zyngier@arm.com> 11 - Mark Rutland <mark.rutland@arm.com> 22 - enum: 23 - arm,armv7-timer-mem 29 '#address-cells': 32 '#size-cells': 37 clock-frequency: [all …]
|
| /kernel/linux/linux-5.10/drivers/cpuidle/ |
| D | cpuidle.c | 2 * cpuidle.c - core cpuidle infrastructure 4 * (C) 2006-2007 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> 23 #include <linux/suspend.h> 24 #include <linux/tick.h> 52 return off || !initialized || !drv || !dev || !dev->enabled; in cpuidle_not_available() 56 * cpuidle_play_dead - cpu off-lining 58 * Returns in case of an error or no driver 67 return -ENODEV; in cpuidle_play_dead() 69 /* Find lowest-power state that supports long-term idle */ in cpuidle_play_dead() 70 for (i = drv->state_count - 1; i >= 0; i--) in cpuidle_play_dead() [all …]
|
| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/timer/ |
| D | arm,arch_timer.txt | 3 ARM cores may have a per-core architected timer, which provides per-cpu timers, 7 The per-core architected timer is attached to a GIC to deliver its 8 per-processor interrupts via PPIs. The memory mapped timer is attached to a GIC 13 - compatible : Should at least contain one of 14 "arm,armv7-timer" 15 "arm,armv8-timer" 17 - interrupts : Interrupt list for secure, non-secure, virtual and 18 hypervisor timers, in that order. 20 - clock-frequency : The frequency of the main counter, in Hz. Should be present 25 - always-on : a boolean property. If present, the timer is powered through an [all …]
|
| /kernel/linux/linux-4.19/kernel/sched/ |
| D | idle.c | 6 * tasks which are handled in sched/fair.c ) 16 * sched_idle_set_state - Record idle state for the current CPU. 31 cpu_idle_force_poll--; in cpu_idle_poll_ctrl() 83 * default_idle_call - Default CPU idle routine. 103 * update no idle residency and return. in call_cpuidle() 106 dev->last_residency = 0; in call_cpuidle() 108 return -EBUSY; in call_cpuidle() 114 * care of re-enabling the local interrupts in call_cpuidle() 120 * cpuidle_idle_call - the main idle function 122 * NOTE: no locks or semaphores should be used here [all …]
|
| /kernel/linux/linux-5.10/kernel/sched/ |
| D | idle.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * tasks which are handled in sched/fair.c ) 17 * sched_idle_set_state - Record idle state for the current CPU. 32 cpu_idle_force_poll--; in cpu_idle_poll_ctrl() 85 * default_idle_call - Default CPU idle routine. 105 * last -- this is very similar to the entry code. in default_idle_call() 135 return -EBUSY; in call_cpuidle_s2idle() 145 * update no idle residency and return. in call_cpuidle() 148 dev->last_residency_ns = 0; in call_cpuidle() 150 return -EBUSY; in call_cpuidle() [all …]
|
| /kernel/linux/linux-5.10/arch/arm/mach-exynos/ |
| D | suspend.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Copyright (c) 2011-2014 Samsung Electronics Co., Ltd. 6 // Exynos - Suspend support 8 // Based on arch/arm/mach-s3c2410/pm.c 13 #include <linux/suspend.h> 23 #include <linux/soc/samsung/exynos-pmu.h> 24 #include <linux/soc/samsung/exynos-regs-pmu.h> 27 #include <asm/hardware/cache-l2x0.h> 31 #include <asm/suspend.h> 36 #define REG_TABLE_END (-1U) [all …]
|
| /kernel/linux/linux-4.19/include/linux/ |
| D | timekeeper_internal.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 15 * struct tk_read_base - base structure for timekeeping readout 46 * struct timekeeper - Structure holding internal timekeeping values. 49 * @xtime_sec: Current CLOCK_REALTIME time in seconds 50 * @ktime_sec: Current CLOCK_MONOTONIC time in seconds 52 * @offs_real: Offset clock monotonic -> clock realtime 53 * @offs_boot: Offset clock monotonic -> clock boottime 54 * @offs_tai: Offset clock monotonic -> clock tai 55 * @tai_offset: The current UTC to TAI offset in seconds 58 * @next_leap_ktime: CLOCK_MONOTONIC time value of a pending leap-second [all …]
|
| /kernel/linux/linux-4.19/arch/arm/mach-exynos/ |
| D | suspend.c | 1 // SPDX-License-Identifier: GPL-2.0 3 // Copyright (c) 2011-2014 Samsung Electronics Co., Ltd. 6 // EXYNOS - Suspend support 8 // Based on arch/arm/mach-s3c2410/pm.c 13 #include <linux/suspend.h> 23 #include <linux/soc/samsung/exynos-pmu.h> 24 #include <linux/soc/samsung/exynos-regs-pmu.h> 27 #include <asm/hardware/cache-l2x0.h> 31 #include <asm/suspend.h> 33 #include <plat/pm-common.h> [all …]
|
| /kernel/linux/linux-4.19/drivers/cpuidle/ |
| D | cpuidle.c | 2 * cpuidle.c - core cpuidle infrastructure 4 * (C) 2006-2007 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> 23 #include <linux/suspend.h> 24 #include <linux/tick.h> 51 return off || !initialized || !drv || !dev || !dev->enabled; in cpuidle_not_available() 55 * cpuidle_play_dead - cpu off-lining 57 * Returns in case of an error or no driver 66 return -ENODEV; in cpuidle_play_dead() 68 /* Find lowest-power state that supports long-term idle */ in cpuidle_play_dead() 69 for (i = drv->state_count - 1; i >= 0; i--) in cpuidle_play_dead() [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | timekeeper_internal.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 15 * struct tk_read_base - base structure for timekeeping readout 46 * struct timekeeper - Structure holding internal timekeeping values. 49 * @xtime_sec: Current CLOCK_REALTIME time in seconds 50 * @ktime_sec: Current CLOCK_MONOTONIC time in seconds 52 * @offs_real: Offset clock monotonic -> clock realtime 53 * @offs_boot: Offset clock monotonic -> clock boottime 54 * @offs_tai: Offset clock monotonic -> clock tai 55 * @tai_offset: The current UTC to TAI offset in seconds 58 * @next_leap_ktime: CLOCK_MONOTONIC time value of a pending leap-second [all …]
|
| /kernel/linux/linux-4.19/Documentation/timers/ |
| D | highres.txt | 2 ----------------------------------------------------- 4 Further information can be found in the paper of the OLS 2006 talk "hrtimers 7 https://www.kernel.org/doc/ols/2006/ols2006v1-pages-333-346.pdf 10 http://www.cs.columbia.edu/~nahum/w6998/papers/ols2006-hrtimers-slides.pdf 13 changes in the time(r) related Linux subsystems. Figure #1 (p. 2) shows the 18 switched to the name "clock event devices" in meantime. 22 - hrtimer base infrastructure 23 - timeofday and clock source management 24 - clock event management 25 - high resolution timer functionality [all …]
|
| /kernel/linux/linux-5.10/Documentation/timers/ |
| D | highres.rst | 5 Further information can be found in the paper of the OLS 2006 talk "hrtimers 8 https://www.kernel.org/doc/ols/2006/ols2006v1-pages-333-346.pdf 11 http://www.cs.columbia.edu/~nahum/w6998/papers/ols2006-hrtimers-slides.pdf 14 changes in the time(r) related Linux subsystems. Figure #1 (p. 2) shows the 19 switched to the name "clock event devices" in meantime. 23 - hrtimer base infrastructure 24 - timeofday and clock source management 25 - clock event management 26 - high resolution timer functionality 27 - dynamic ticks [all …]
|
| /kernel/linux/linux-5.10/drivers/net/ipa/ |
| D | ipa_endpoint.c | 1 // SPDX-License-Identifier: GPL-2.0 3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. 4 * Copyright (C) 2019-2020 Linaro Ltd. 12 #include <linux/dma-direction.h> 26 #define atomic_dec_not_zero(v) atomic_add_unless((v), -1, 0) 30 /* RX buffer is 1 page (or a power-of-2 contiguous pages) */ 34 #define IPA_RX_BUFFER_OVERHEAD (PAGE_SIZE - SKB_MAX_ORDER(NET_SKB_PAD, 0)) 36 /* Where to find the QMAP mux_id for a packet within modem-supplied metadata */ 42 /** enum ipa_status_opcode - status element opcode hardware values */ 50 /** enum ipa_status_exception - status element exception type */ [all …]
|
| /kernel/linux/linux-5.10/arch/mips/alchemy/devboards/ |
| D | pm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Alchemy Development Board example suspend userspace interface. 10 #include <linux/suspend.h> 12 #include <asm/mach-au1x00/au1000.h> 13 #include <asm/mach-au1x00/gpio-au1000.h> 14 #include <asm/mach-db1x00/bcsr.h> 17 * Generic suspend userspace interface for Alchemy development boards. 19 * can be used by userspace to en/disable all au1x-provided wakeup 54 /* setup 1Hz-timer-based wakeup: wait for reg access */ in db1x_pm_enter() 91 printk(KERN_ERR "db1x: no wakeup source activated!\n"); in db1x_pm_begin() [all …]
|
| /kernel/linux/linux-4.19/arch/mips/alchemy/devboards/ |
| D | pm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Alchemy Development Board example suspend userspace interface. 10 #include <linux/suspend.h> 12 #include <asm/mach-au1x00/au1000.h> 13 #include <asm/mach-au1x00/gpio-au1000.h> 14 #include <asm/mach-db1x00/bcsr.h> 17 * Generic suspend userspace interface for Alchemy development boards. 19 * can be used by userspace to en/disable all au1x-provided wakeup 54 /* setup 1Hz-timer-based wakeup: wait for reg access */ in db1x_pm_enter() 91 printk(KERN_ERR "db1x: no wakeup source activated!\n"); in db1x_pm_begin() [all …]
|
| /kernel/linux/linux-5.10/drivers/clocksource/ |
| D | timer-atlas7.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 81 ce->event_handler(ce); in sirfsoc_timer_interrupt() 86 /* read 64-bit timer counter */ 113 /* enable the tick */ in sirfsoc_timer_set_next_event() 119 /* Oneshot is enabled in set_next_event */ 138 for (i = 0; i < SIRFSOC_TIMER_REG_CNT - 2; i++) in sirfsoc_clocksource_resume() 141 writel_relaxed(sirfsoc_timer_reg_val[SIRFSOC_TIMER_REG_CNT - 2], in sirfsoc_clocksource_resume() 143 writel_relaxed(sirfsoc_timer_reg_val[SIRFSOC_TIMER_REG_CNT - 1], in sirfsoc_clocksource_resume() 158 .suspend = sirfsoc_clocksource_suspend, 178 ce->irq = irq; in sirfsoc_local_timer_starting_cpu() [all …]
|
| /kernel/linux/linux-4.19/drivers/clocksource/ |
| D | timer-atlas7.c | 82 ce->event_handler(ce); in sirfsoc_timer_interrupt() 87 /* read 64-bit timer counter */ 114 /* enable the tick */ in sirfsoc_timer_set_next_event() 120 /* Oneshot is enabled in set_next_event */ 139 for (i = 0; i < SIRFSOC_TIMER_REG_CNT - 2; i++) in sirfsoc_clocksource_resume() 142 writel_relaxed(sirfsoc_timer_reg_val[SIRFSOC_TIMER_REG_CNT - 2], in sirfsoc_clocksource_resume() 144 writel_relaxed(sirfsoc_timer_reg_val[SIRFSOC_TIMER_REG_CNT - 1], in sirfsoc_clocksource_resume() 159 .suspend = sirfsoc_clocksource_suspend, 185 ce->irq = action->irq; in sirfsoc_local_timer_starting_cpu() 186 ce->name = "local_timer"; in sirfsoc_local_timer_starting_cpu() [all …]
|