/linux-6.14.4/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 <[email protected]> 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" 27 u64 delta = clocksource_delta(end, start, cs->mask, cs->max_raw_delta); in cycles_to_nsec_safe() 29 if (likely(delta < cs->max_cycles)) in cycles_to_nsec_safe() 30 return clocksource_cyc2ns(delta, cs->mult, cs->shift); in cycles_to_nsec_safe() 32 return mul_u64_u32_shr(delta, cs->mult, cs->shift); in cycles_to_nsec_safe() 36 * clocks_calc_mult_shift - calculate mult/shift factors for scaled math of clocks 41 * @maxsec: guaranteed runtime conversion range in seconds 46 * @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" 38 /* Update timekeeper when a tick has passed */ 62 * struct tk_fast - NMI safe timekeeper 75 /* Suspend-time cycles value for halted fast timekeeper. */ 92 * returns nanoseconds already so no conversion is required, hence mult=1 130 * Multigrain timestamps require tracking the latest fine-grained timestamp 131 * that has been issued, and never returning a coarse-grained timestamp that is [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() [all …]
|
/linux-6.14.4/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.14.4/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 <[email protected]> 11 - Mark Rutland <[email protected]> 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 <[email protected]> 11 - Mark Rutland <[email protected]> 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.14.4/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.14.4/drivers/cpuidle/ |
D | cpuidle.c | 2 * cpuidle.c - core cpuidle infrastructure 4 * (C) 2006-2007 Venkatesh Pallipadi <[email protected]> 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 for (i = drv->state_count - 1; i >= 0; i--) { in cpuidle_play_dead() [all …]
|
/linux-6.14.4/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. 48 * @xtime_sec: Current CLOCK_REALTIME time in seconds 49 * @ktime_sec: Current CLOCK_MONOTONIC time in seconds 51 * @offs_real: Offset clock monotonic -> clock realtime 52 * @offs_boot: Offset clock monotonic -> clock boottime 53 * @offs_tai: Offset clock monotonic -> clock tai 54 * @tai_offset: The current UTC to TAI offset in seconds 56 * @raw_sec: CLOCK_MONOTONIC_RAW time in seconds [all …]
|
/linux-6.14.4/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.14.4/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.14.4/drivers/gpu/drm/panthor/ |
D | panthor_sched.c | 1 // SPDX-License-Identifier: GPL-2.0 or MIT 15 #include <linux/dma-mapping.h> 16 #include <linux/dma-resv.h> 21 #include <linux/iosys-map.h> 39 * Mali CSF hardware adopts a firmware-assisted scheduling model, where 54 * The current implementation only supports with kernel-mode queues. 55 * In other terms, userspace doesn't have access to the ring-buffer. 57 * called from the queue ring-buffer by the kernel using a pre-defined 64 * FW-scheduler, we use the 1:1 entity:scheduler mode, such that each 67 * queue ring-buffer, and the group is scheduled for execution if it [all …]
|
/linux-6.14.4/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.14.4/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.14.4/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.14.4/drivers/usb/host/ |
D | ohci.h | 1 /* SPDX-License-Identifier: GPL-1.0+ */ 6 * (C) Copyright 2000-2002 David Brownell <[email protected]> 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.14.4/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.14.4/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.14.4/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.14.4/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 <[email protected]> 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.14.4/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 <[email protected]> 12 * Suman Anna <s-[email protected]> 13 * Hari Kanigeri <h-[email protected]> 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.14.4/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.14.4/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 */ 80 * Host <-> VPU IPC channels. 81 * ASYNC commands use a high priority channel, other messages use low-priority ones. 101 * When set, the object in job queue is an inline command (see struct vpu_inline_cmd below). 102 * When cleared, the object in job queue is a job (see struct vpu_job_queue_entry below). 118 * No job done notification mask. 119 * When set, indicates that no job done notification should be sent for any [all …]
|
/linux-6.14.4/arch/x86/kernel/apic/ |
D | apic.c | 1 // SPDX-License-Identifier: GPL-2.0-only 13 * Mikael Pettersson : Power Management for UP-APIC. 44 #include <asm/pc-conf-reg.h> 65 #include <asm/intel-family.h> 84 * Hypervisor supports 15 bits of APIC ID in MSI Extended Destination ID 124 * +1=force-enable 156 /* Local APIC timer works in C2 */ 214 * so apic->write/read doesn't do anything 242 * lapic_get_maxlvt - get the maximum number of local vector table entries 247 * - we always have APIC integrated on 64bit mode in lapic_get_maxlvt() [all …]
|