| /kernel/linux/linux-6.6/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. It's updated by the 31 * CPU which handles the tick and protected by jiffies_lock. There is 32 * no requirement to write hold the jiffies seqcount for it. [all …]
|
| D | clocksource.c | 1 // SPDX-License-Identifier: GPL-2.0+ 15 #include <linux/tick.h> 20 #include "tick-internal.h" 25 u64 delta = clocksource_delta(end, start, cs->mask); in cycles_to_nsec_safe() 27 if (likely(delta < cs->max_cycles)) in cycles_to_nsec_safe() 28 return clocksource_cyc2ns(delta, cs->mult, cs->shift); in cycles_to_nsec_safe() 30 return mul_u64_u32_shr(delta, cs->mult, cs->shift); in cycles_to_nsec_safe() 34 * clocks_calc_mult_shift - calculate mult/shift factors for scaled math of clocks 39 * @maxsec: guaranteed runtime conversion range in seconds 44 * @to and @from are frequency values in HZ. For clock sources @to is [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 43 * 2) Hand off the duty in the NOHZ idle case by setting the value to 55 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 …]
|
| /kernel/linux/linux-6.6/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/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-6.6/Documentation/devicetree/bindings/timer/ |
| 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 …]
|
| 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 - const: arm,cortex-a15-timer [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-6.6/drivers/cpuidle/ |
| D | cpuidle.c | 2 * cpuidle.c - core cpuidle infrastructure 4 * (C) 2006-2007 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> 11 #include "linux/percpu-defs.h" 25 #include <linux/suspend.h> 26 #include <linux/tick.h> 55 return off || !initialized || !drv || !dev || !dev->enabled; in cpuidle_not_available() 59 * cpuidle_play_dead - cpu off-lining 61 * Returns in case of an error or no driver 70 return -ENODEV; in cpuidle_play_dead() 72 /* Find lowest-power state that supports long-term idle */ in cpuidle_play_dead() [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-6.6/kernel/sched/ |
| D | idle.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * tasks which are handled in sched/fair.c ) 14 * sched_idle_set_state - Record idle state for the current CPU. 29 cpu_idle_force_poll--; in cpu_idle_poll_ctrl() 85 * default_idle_call - Default CPU idle routine. 111 return -EBUSY; in call_cpuidle_s2idle() 121 * update no idle residency and return. in call_cpuidle() 124 dev->last_residency_ns = 0; in call_cpuidle() 126 return -EBUSY; in call_cpuidle() 132 * care of re-enabling the local interrupts 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-6.6/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-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-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-6.6/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-6.6/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/liteos_m/components/power/ |
| D | los_pm.c | 2 * Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved. 3 * Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. 5 * Redistribution and use in source and binary forms, with or without modification, 11 * 2. Redistributions in binary form must reproduce the above copyright notice, this list 12 * of conditions and the following disclaimer in the documentation and/or other materials 22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 27 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 28 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 48 typedef UINT32 (*Suspend)(UINT32 mode); typedef 97 LosPmTickTimer *tickTimer = pm->tickTimer; in OsPmTickTimerStart() [all …]
|
| /kernel/linux/linux-6.6/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-2023 Linaro Ltd. 12 #include <linux/dma-direction.h> 27 #define IPA_REPLENISH_BATCH 16 /* Must be non-zero */ 30 #define IPA_RX_BUFFER_OVERHEAD (PAGE_SIZE - SKB_MAX_ORDER(NET_SKB_PAD, 0)) 32 /* Where to find the QMAP mux_id for a packet within modem-supplied metadata */ 37 /** enum ipa_status_opcode - IPA status opcode field hardware values */ 48 /** enum ipa_status_exception - IPA status exception field hardware values */ 50 /* 0 means no exception */ [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-6.6/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/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 …]
|