/linux-6.12.1/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 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 33 * 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 …]
|
D | timekeeping.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * timer.c, moved in commit 8524070b7982. 21 #include <linux/tick.h> 28 #include "tick-internal.h" 37 /* Update timekeeper when a tick has passed */ 63 * struct tk_fast - NMI safe timekeeper 76 /* Suspend-time cycles value for halted fast timekeeper. */ 93 * returns nanoseconds already so no conversion is required, hence mult=1 119 while (tk->tkr_mono.xtime_nsec >= ((u64)NSEC_PER_SEC << tk->tkr_mono.shift)) { in tk_normalize_xtime() 120 tk->tkr_mono.xtime_nsec -= (u64)NSEC_PER_SEC << tk->tkr_mono.shift; in tk_normalize_xtime() [all …]
|
D | sched_clock.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * counters to full 64-bit ns values. 24 * struct clock_data - all data needed for sched_clock() (including 31 * @rate: Tick rate of the registered clock. 35 * performance. In particular 'seq' and 'read_data[0]' (combined) should fit 36 * into a single 64-byte cache line. 48 static int irqtime = -1; 55 * We don't need to use get_jiffies_64 on 32-bit arches here in jiffy_sched_clock_read() 58 return (u64)(jiffies - INITIAL_JIFFIES); in jiffy_sched_clock_read() 93 cyc = (rd->read_sched_clock() - rd->epoch_cyc) & in sched_clock_noinstr() [all …]
|
D | posix-timers.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * 2002-10-15 Posix Clocks & timers 7 * 2004-06-01 Fix CLOCK_REALTIME clock/timer TIMER_ABSTIME bug. 24 #include <linux/posix-clock.h> 25 #include <linux/posix-timers.h> 36 #include "posix-timers.h" 41 * Timers are managed in a hash table for lockless lookup. The hash key is 66 __cond_lock(&__timr->it_lock, __timr = __lock_timer(tid, flags)); \ 82 /* timer->it_signal can be set concurrently */ in __posix_timers_find() 83 if ((READ_ONCE(timer->it_signal) == sig) && (timer->it_id == id)) in __posix_timers_find() [all …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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() 104 * default_idle_call - Default CPU idle routine. 132 return -EBUSY; in call_cpuidle_s2idle() 142 * update no idle residency and return. in call_cpuidle() 145 dev->last_residency_ns = 0; in call_cpuidle() 147 return -EBUSY; in call_cpuidle() 153 * care of re-enabling the local interrupts in call_cpuidle() [all …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/drivers/gpu/drm/panthor/ |
D | panthor_sched.c | 1 // SPDX-License-Identifier: GPL-2.0 or MIT 14 #include <linux/dma-mapping.h> 15 #include <linux/dma-resv.h> 20 #include <linux/iosys-map.h> 38 * Mali CSF hardware adopts a firmware-assisted scheduling model, where 53 * The current implementation only supports with kernel-mode queues. 54 * In other terms, userspace doesn't have access to the ring-buffer. 56 * called from the queue ring-buffer by the kernel using a pre-defined 63 * FW-scheduler, we use the 1:1 entity:scheduler mode, such that each 66 * queue ring-buffer, and the group is scheduled for execution if it [all …]
|
/linux-6.12.1/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-2024 Linaro Ltd. 10 #include <linux/dma-direction.h> 30 #define IPA_REPLENISH_BATCH 16 /* Must be non-zero */ 33 #define IPA_RX_BUFFER_OVERHEAD (PAGE_SIZE - SKB_MAX_ORDER(NET_SKB_PAD, 0)) 35 /* Where to find the QMAP mux_id for a packet within modem-supplied metadata */ 40 /** enum ipa_status_opcode - IPA status opcode field hardware values */ 51 /** enum ipa_status_exception - IPA status exception field hardware values */ 53 /* 0 means no exception */ [all …]
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/Documentation/driver-api/pm/ |
D | cpuidle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 16 Every time one of the logical CPUs in the system (the entities that appear to 19 there are no tasks to run on it except for the special "idle" task associated 23 depended on by it into an idle state in which they will draw less power. 25 However, there may be multiple different idle states that can be used in such a 26 situation in principle, so it may be necessary to find the most suitable one 29 subsystem in the kernel, called ``CPUIdle``. 32 principle, so the generic code that in principle need not depend on the hardware 33 or platform design details in it is separate from the code that interacts with 44 one of the logical CPUs in the system turns out to be idle. Its role is to [all …]
|
/linux-6.12.1/drivers/usb/host/ |
D | ohci.h | 1 /* SPDX-License-Identifier: GPL-1.0+ */ 6 * (C) Copyright 2000-2002 David Brownell <dbrownell@users.sourceforge.net> 27 /* first fields are hardware-specified */ 41 __hc32 hwNextED; /* next ED in list */ 49 struct ed *ed_prev; /* for non-interrupt EDs */ 53 /* create --> IDLE --> OPER --> ... --> IDLE --> destroy 54 * usually: OPER --> UNLINK --> (IDLE | OPER) --> ... 69 /* HC may see EDs on rm_list until next frame (frame_no == tick) */ 70 u16 tick; member 76 ((int) (ohci->wdh_cnt - ed->takeback_wdh_cnt) >= 0) [all …]
|
/linux-6.12.1/arch/arm64/boot/dts/freescale/ |
D | s32g3.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 3 * Copyright 2021-2024 NXP 7 * Andra-Teodora Ilie <andra.ilie@nxp.com> 10 #include <dt-bindings/interrupt-controller/arm-gic.h> 14 interrupt-parent = <&gic>; 15 #address-cells = <0x02>; 16 #size-cells = <0x02>; 19 #address-cells = <1>; 20 #size-cells = <0>; 22 cpu-map { [all …]
|
/linux-6.12.1/arch/arm/mach-omap1/ |
D | pm.c | 2 * linux/arch/arm/mach-omap1/pm.c 24 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN 25 * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 29 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 38 #include <linux/suspend.h> 55 #include <linux/soc/ti/omap1-io.h> 57 #include <linux/omap-dma.h> 58 #include <clocksource/timer-ti-dm.h> 91 return -EINVAL; in idle_store() [all …]
|
/linux-6.12.1/arch/arm64/boot/dts/allwinner/ |
D | sun50i-h5.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 4 #include <arm/allwinner/sunxi-h3-h5.dtsi> 6 #include <dt-bindings/thermal/thermal.h> 10 #address-cells = <1>; 11 #size-cells = <0>; 14 compatible = "arm,cortex-a53"; 17 enable-method = "psci"; 19 clock-latency-ns = <244144>; /* 8 32k periods */ 20 #cooling-cells = <2>; 24 compatible = "arm,cortex-a53"; [all …]
|
/linux-6.12.1/drivers/net/phy/ |
D | bcm7xxx.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * Copyright (C) 2014-2017 Broadcom 11 #include "bcm-phy-lib.h" 58 /* AFE_RXCONFIG_2, set rCal offset for HT=0 code and LT=-2 code */ in bcm7xxx_28nm_d0_afe_config_init() 73 /* AFE_HPF_TRIM_OTHERS, set 100Tx/10BT to -4.5% swing and set rCal in bcm7xxx_28nm_d0_afe_config_init() 81 /* DSP_TAP10, adjust bias current trim (+0% swing, +0 tick) */ in bcm7xxx_28nm_d0_afe_config_init() 101 /* AFE_HPF_TRIM_OTHERS, set 100Tx/10BT to -4.5% swing and set rCal in bcm7xxx_28nm_e0_plus_afe_config_init() 109 /* DSP_TAP10, adjust bias current trim (+0% swing, +0 tick) */ in bcm7xxx_28nm_e0_plus_afe_config_init() 145 u8 rev = PHY_BRCM_7XXX_REV(phydev->dev_flags); in bcm7xxx_28nm_config_init() 146 u8 patch = PHY_BRCM_7XXX_PATCH(phydev->dev_flags); in bcm7xxx_28nm_config_init() [all …]
|
/linux-6.12.1/drivers/idle/ |
D | intel_idle.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * intel_idle.c - native hardware idle loop for modern Intel processors 5 * Copyright (c) 2013 - 2020, Intel Corporation. 12 * in lieu of the legacy ACPI processor_idle driver. The intent is to 23 * for preventing entry into deep C-states 25 * CPU will flush caches as needed when entering a C-state via MWAIT 26 * (in contrast to entering ACPI C3, in which case the WBINVD 33 * ACPI has a .suspend hack to turn off deep c-statees during suspend 35 * Have not seen issues with suspend, but may need same workaround here. 39 /* un-comment DEBUG to enable pr_debug() statements */ [all …]
|
/linux-6.12.1/drivers/remoteproc/ |
D | omap_remoteproc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * Copyright (C) 2011-2020 Texas Instruments Incorporated - http://www.ti.com/ 8 * Ohad Ben-Cohen <ohad@wizery.com> 12 * Suman Anna <s-anna@ti.com> 13 * Hari Kanigeri <h-kanigeri2@ti.com> 27 #include <linux/dma-mapping.h> 31 #include <linux/omap-iommu.h> 32 #include <linux/omap-mailbox.h> 36 #include <clocksource/timer-ti-dm.h> 38 #include <linux/platform_data/dmtimer-omap.h> [all …]
|
/linux-6.12.1/drivers/accel/ivpu/ |
D | vpu_jsm_api.h | 1 /* SPDX-License-Identifier: MIT */ 3 * Copyright (c) 2020-2024, Intel Corporation. 33 * Index in the API version table 75 /* Job status returned when the job was preempted mid-inference */ 79 * Host <-> VPU IPC channels. 80 * ASYNC commands use a high priority channel, other messages use low-priority ones. 93 * Sizes of the reserved areas in jobs, in bytes. 98 * Sizes of the reserved areas in job queues, in bytes. 111 * NOTE: 96 is used so that the size of 'struct vpu_ipc_msg' in the JSM API is 118 * same process with a relative in-process priority. Valid values for relative [all …]
|