/linux/kernel/time/ |
H A 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 device [all...] |
H A 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 …]
|
H A 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 …]
|
/linux/drivers/firmware/psci/ |
H A 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/kernel/sched/ |
H A 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/Documentation/devicetree/bindings/timer/ |
H A 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 …]
|
H A 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/include/linux/ |
H A 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/Documentation/timers/ |
H A 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/arch/arm/mach-exynos/ |
H A 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/drivers/gpu/drm/panthor/ |
H A 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/drivers/net/ipa/ |
H A 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/arch/mips/alchemy/devboards/ |
H A 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/Documentation/driver-api/pm/ |
H A 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/drivers/usb/host/ |
H A 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/arch/arm/mach-omap1/ |
H A 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/arch/arm64/boot/dts/allwinner/ |
H A 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/drivers/net/phy/ |
H A 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/arch/arm64/boot/dts/freescale/ |
H A 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/drivers/remoteproc/ |
H A 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/drivers/idle/ |
H A 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/Documentation/admin-guide/ |
H A D | kernel-parameters.txt | 7 accepted. In most cases the overhead is negligible. 16 force -- enable ACPI if default was off 17 on -- enable ACPI but allow fallback to DT [arm64,riscv64] 18 off -- disable ACPI if default was on 19 noirq -- do not use ACPI for IRQ routing 20 strict -- Be less tolerant of platforms that are not 22 rsdt -- prefer RSDT over (default) XSDT 23 copy_dsdt -- copy DSDT to memory 24 nospcr -- disable console in ACPI SPCR table as 41 If set to vendor, prefer vendor-specific driver [all …]
|
/linux/arch/x86/kernel/apic/ |
H A 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 …]
|
/linux/drivers/platform/x86/intel/pmc/ |
H A D | core.c | 1 // SPDX-License-Identifier: GPL-2.0 22 #include <linux/suspend.h> 26 #include <asm/intel-family.h> 60 return readl(pmc->regbase + reg_offset); in pmc_core_reg_read() 66 writel(val, pmc->regbase + reg_offset); in pmc_core_reg_write() 73 * used as a workaround which uses 30.5 usec tick. All other client in pmc_core_adjust_slp_s0_step() 75 * usec tick. in pmc_core_adjust_slp_s0_step() 77 const int lpm_adj_x2 = pmc->map->lpm_res_counter_step_x2; in pmc_core_adjust_slp_s0_step() 79 if (pmc->map == &adl_reg_map) in pmc_core_adjust_slp_s0_step() 82 return (u64)value * pmc->map->slp_s0_res_counter_step; in pmc_core_adjust_slp_s0_step() [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-devices-system-cpu | 2 Date: pre-git history 3 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 7 Individual CPU attributes are contained in subdirectories 18 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 34 present: cpus that have been identified as being present in 37 See Documentation/admin-guide/cputopology.rst for more information. 43 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 58 Contact: Linux memory management mailing list <linux-mm@kvack.org> 65 in NUMA node 2: 67 /sys/devices/system/cpu/cpu42/node2 -> ../../node/node2 [all …]
|