| /linux/drivers/cpufreq/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 2 menu "CPU Frequency scaling" 5 bool "CPU Frequency scaling" 7 CPU Frequency scaling allows you to change the clock speed of 9 the lower the CPU clock speed, the less power the CPU consumes. 11 Note that this driver doesn't automatically change the CPU 16 <file:Documentation/admin-guide/pm/cpufreq.rst>. 31 bool "CPU frequency transition statistics" 33 Export CPU frequency statistics information through sysfs. 53 the CPU. [all …]
|
| H A D | Kconfig.arm | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # ARM CPU Frequency scaling drivers 7 tristate "Allwinner nvmem based SUN50I CPUFreq driver" 12 This adds the nvmem based CPUFreq driver for Allwinner 15 To compile this driver as a module, choose M here: the 16 module will be called sun50i-cpufreq-nvmem. 25 This adds the CPUFreq driver for Airoha EN7581 SoCs. 32 This adds the CPUFreq driver for Apple Silicon machines 40 This adds the CPUFreq driver support for Marvell Armada 37xx SoCs. 44 tristate "Armada 8K CPUFreq driver" [all …]
|
| H A D | rcpufreq_dt.rs | 1 // SPDX-License-Identifier: GPL-2.0 3 //! Rust based implementation of the cpufreq-dt driver. 8 cpu, cpufreq, 20 fn find_supply_name_exact(dev: &Device, name: &str) -> Option<CString> { in find_supply_name_exact() 21 let prop_name = CString::try_from_fmt(fmt!("{name}-supply")).ok()?; in find_supply_name_exact() 28 /// Finds supply name for the CPU from DT. 29 fn find_supply_names(dev: &Device, cpu: cpu::CpuId) -> Option<KVec<CString>> { in find_supply_names() 30 // Try "cpu0" for older DTs, fallback to "cpu". in find_supply_names() 31 (cpu.as_u32() == 0) in find_supply_names() 34 .or_else(|| find_supply_name_exact(dev, "cpu")) in find_supply_names() [all …]
|
| /linux/drivers/cpuidle/ |
| H A D | Kconfig.arm | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # ARM CPU Idle drivers 6 bool "Generic ARM CPU idle Driver" 11 Select this to enable generic cpuidle driver for ARM. 12 It provides a generic idle driver whose idle states are configured 13 at run-time through DT nodes. The CPUidle suspend backend is 14 initialized by calling the CPU operations init idle hook 18 bool "PSCI CPU idle Driver" 23 Select this to enable PSCI firmware based CPUidle driver for ARM. 24 It provides an idle driver that is capable of detecting and [all …]
|
| H A D | cpuidle-tegra.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * CPU idle driver for Tegra CPUs 5 * Copyright (c) 2010-2013, NVIDIA Corporation. 12 * Tegra20/124 driver unification by Dmitry Osipenko <digetx@gmail.com> 15 #define pr_fmt(fmt) "tegra-cpuidle: " fmt 53 unsigned long cpu, lcpu, csr; in tegra_cpuidle_report_cpus_state() local 56 cpu = cpu_logical_map(lcpu); in tegra_cpuidle_report_cpus_state() 57 csr = flowctrl_read_cpu_csr(cpu); in tegra_cpuidle_report_cpus_state() 59 pr_err("cpu%lu: online=%d flowctrl_csr=0x%08lx\n", in tegra_cpuidle_report_cpus_state() 60 cpu, cpu_online(lcpu), csr); in tegra_cpuidle_report_cpus_state() [all …]
|
| /linux/Documentation/admin-guide/pm/ |
| H A D | cpufreq.rst | 1 .. SPDX-License-Identifier: GPL-2.0 7 CPU Performance Scaling 15 The Concept of CPU Performance Scaling 20 Operating Performance Points or P-states (in ACPI terminology). As a rule, 22 can be retired by the CPU over a unit of time, but also the higher the clock 24 time (or the more power is drawn) by the CPU in the given P-state. Therefore 25 there is a natural tradeoff between the CPU capacity (the number of instructions 26 that can be executed over a unit of time) and the power drawn by the CPU. 29 as possible and then there is no reason to use any P-states different from the 30 highest one (i.e. the highest-performance frequency/voltage configuration [all …]
|
| H A D | intel_pstate.rst | 1 .. SPDX-License-Identifier: GPL-2.0 5 ``intel_pstate`` CPU Performance Scaling Driver 17 :doc:`CPU performance scaling subsystem <cpufreq>` in the Linux kernel 18 (``CPUFreq``). It is a scaling driver for the Sandy Bridge and later 22 Documentation/admin-guide/pm/cpufreq.rst if you have not done that yet.] 24 For the processors supported by ``intel_pstate``, the P-state concept is broader 27 information about that). For this reason, the representation of P-states used 32 ``intel_pstate`` maps its internal representation of P-states to frequencies too 35 available frequencies due to the possible size of it, so the driver does not do 38 Since the hardware P-state selection interface used by ``intel_pstate`` is [all …]
|
| H A D | intel_idle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 5 ``intel_idle`` CPU Idle Time Management Driver 17 :doc:`CPU idle time management subsystem <cpuidle>` in the Linux kernel 18 (``CPUIdle``). It is the default CPU idle time management driver for the 24 Documentation/admin-guide/pm/cpuidle.rst if you have not done that yet.] 27 logical CPU executing it is idle and so it may be possible to put some of the 28 processor's functional blocks into low-power states. That instruction takes two 29 arguments (passed in the ``EAX`` and ``ECX`` registers of the target CPU), the 38 only way to pass early-configuration-time parameters to it is via the kernel 44 The ``intel_idle`` driver exposes the following ``sysfs`` attributes in [all …]
|
| /linux/drivers/bus/ |
| H A D | mips_cdmm.c | 2 * Bus driver for MIPS Common Device Memory Map (CDMM). 4 * Copyright (C) 2014-2015 Imagination Technologies Ltd. 13 #include <linux/cpu.h> 53 for (; table->type; ++table) { in mips_cdmm_lookup() 54 ret = (dev->type == table->type); in mips_cdmm_lookup() 67 return mips_cdmm_lookup(cdrv->id_table, cdev) != NULL; in mips_cdmm_match() 75 retval = add_uevent_var(env, "CDMM_CPU=%u", cdev->cpu); in mips_cdmm_uevent() 79 retval = add_uevent_var(env, "CDMM_TYPE=0x%02x", cdev->type); in mips_cdmm_uevent() 83 retval = add_uevent_var(env, "CDMM_REV=%u", cdev->rev); in mips_cdmm_uevent() 87 retval = add_uevent_var(env, "MODALIAS=mipscdmm:t%02X", cdev->type); in mips_cdmm_uevent() [all …]
|
| /linux/Documentation/trace/coresight/ |
| H A D | coresight-cpu-debug.rst | 2 Coresight CPU Debug Module 9 ------------ 11 Coresight CPU debug module is defined in ARMv8-a architecture reference manual 12 (ARM DDI 0487A.k) Chapter 'Part H: External debug', the CPU can integrate 13 debug module and it is mainly used for two modes: self-hosted debug and 16 explore debugging method which rely on self-hosted debug mode, this document 19 The debug module provides sample-based profiling extension, which can be used 20 to sample CPU program counter, secure state and exception level, etc; usually 21 every CPU has one dedicated debug module to be connected. Based on self-hosted 24 will dump related registers for every CPU; finally this is good for assistant [all …]
|
| /linux/Documentation/admin-guide/thermal/ |
| H A D | intel_powerclamp.rst | 2 Intel Powerclamp Driver 6 - Arjan van de Ven <arjan@linux.intel.com> 7 - Jacob Pan <jacob.jun.pan@linux.intel.com> 12 - Goals and Objectives 15 - Idle Injection 16 - Calibration 19 - Effectiveness and Limitations 20 - Power vs Performance 21 - Scalability 22 - Calibration [all …]
|
| /linux/Documentation/driver-api/pm/ |
| H A D | cpuidle.rst | 1 .. SPDX-License-Identifier: GPL-2.0 5 CPU Idle Time Management 13 CPU Idle Time Management Subsystem 21 belongs to. That can be done by making the idle logical CPU stop fetching 28 particular idle state. That is the role of the CPU idle time management 40 CPU Idle Time Governors 43 A CPU idle time (``CPUIdle``) governor is a bundle of policy code invoked when 81 (logical) CPU represented by the struct cpuidle_device object pointed 83 to by the ``drv`` argument represents the ``CPUIdle`` driver to be used 84 with that CPU (among other things, it should contain the list of [all …]
|
| /linux/drivers/platform/x86/ |
| H A D | intel_ips.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (c) 2009-2010 Intel Corporation 10 * Some Intel Ibex Peak based platforms support so-called "intelligent 11 * power sharing", which allows the CPU and GPU to cooperate to maximize 12 * performance within a given TDP (thermal design point). This driver 13 * performs the coordination between the CPU and GPU, monitors thermal and 16 * primary purpose is to safely allow CPU and GPU turbo modes to be enabled 18 * performance by allocating more power or thermal budget to the CPU or GPU 22 * thermal headroom is available, the CPU and/or GPU power clamps may be 30 * written to those registers and write them to the CPU, but we currently [all …]
|
| /linux/Documentation/cpu-freq/ |
| H A D | cpufreq-stats.rst | 1 .. SPDX-License-Identifier: GPL-2.0 16 3. Configuring cpufreq-stats 22 cpufreq-stats is a driver that provides CPU frequency statistics for each CPU. 25 in /sysfs (<sysfs root>/devices/system/cpu/cpuX/cpufreq/stats/) for each CPU. 28 This driver is designed to be independent of any particular cpufreq_driver 29 that may be running on your CPU. So, it will work with any cpufreq_driver. 37 - time_in_state 38 - total_trans 39 - trans_table 41 All the statistics will be from the time the stats driver has been inserted [all …]
|
| H A D | cpu-drivers.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 How to Implement a new CPUFreq Processor Driver 10 - Dominik Brodowski <linux@brodo.de> 11 - Rafael J. Wysocki <rafael.j.wysocki@intel.com> 12 - Viresh Kumar <viresh.kumar@linaro.org> 18 1.2 Per-CPU Initialization 31 So, you just got a brand-new CPU / chipset with datasheets and want to 32 add cpufreq support for this CPU / chipset? Great. Here are some hints 37 ------------------ 40 function check whether this kernel runs on the right CPU and the right [all …]
|
| /linux/rust/kernel/ |
| H A D | cpufreq.rs | 1 // SPDX-License-Identifier: GPL-2.0 3 //! CPU frequency scaling. 9 //! Reference: <https://docs.kernel.org/admin-guide/pm/cpufreq.html> 13 cpu::CpuId, 37 /// Maximum length of CPU frequency driver's name. 43 /// CPU frequency driver flags. 45 /// Driver needs to update internal limits even if frequency remains unchanged. 51 /// Register driver as a thermal cooling device automatically. 54 /// Supports multiple clock domains with per-policy governors in `cpu/cpuN/cpufreq/`. 57 /// Allows post-change notifications outside of the `target()` routine. [all …]
|
| /linux/Documentation/networking/device_drivers/ethernet/freescale/ |
| H A D | dpaa.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 The QorIQ DPAA Ethernet Driver 8 - Madalin Bucur <madalin.bucur@nxp.com> 9 - Camelia Groza <camelia.groza@nxp.com> 13 - DPAA Ethernet Overview 14 - DPAA Ethernet Supported SoCs 15 - Configuring DPAA Ethernet in your kernel 16 - DPAA Ethernet Frame Processing 17 - DPAA Ethernet Features 18 - DPAA IRQ Affinity and Receive Side Scaling [all …]
|
| /linux/drivers/crypto/caam/ |
| H A D | qi.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 5 * Copyright 2013-2016 Freescale Semiconductor, Inc. 6 * Copyright 2016-2017, 2020 NXP 19 /* Length of a single buffer in the QI driver memory cache */ 25 * This is the request structure the driver application should fill while 26 * submitting a job to driver. 31 * caam_qi_cbk - application's callback function invoked by the driver when the 34 * @status: completion status of request (0 - success, non-zero - error code) 45 * caam_drv_ctx - CAAM/QI backend driver context 47 * The jobs are processed by the driver against a driver context. [all …]
|
| /linux/drivers/tty/ |
| H A D | mips_ejtag_fdc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * TTY driver for MIPS EJTAG Fast Debug Channels. 5 * Copyright (C) 2007-2015 Imagination Technologies Ltd 87 * struct mips_ejtag_fdc_tty_port - Wrapper struct for FDC tty_port. 89 * @driver: TTY driver. 106 struct mips_ejtag_fdc_tty *driver; member 117 * struct mips_ejtag_fdc_tty - Driver data for FDC as a whole. 119 * @driver: TTY driver. 120 * @cpu: CPU number for this FDC. 122 * @driver_name: Base of driver name. [all …]
|
| /linux/drivers/tty/hvc/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 8 It will automatically be selected if one of the back-end console drivers 21 console. This driver allows each pSeries partition to have a console 25 bool "Old driver for pSeries serial port (/dev/hvsi*)" 35 PowerNV machines running under OPAL need that driver to get a console 42 IBM Console device driver which makes use of RTAS 51 This driver provides a Hypervisor console (HVC) back-end to access 61 Xen virtual console device driver 69 Xen driver for secondary virtual consoles 87 driver. This console is used through a JTAG only on ARM. If you don't have [all …]
|
| /linux/Documentation/driver-api/ |
| H A D | io_ordering.rst | 2 Ordering I/O writes to memory-mapped addresses 5 On some platforms, so-called memory-mapped I/O is weakly ordered. On such 6 platforms, driver writers are responsible for ensuring that I/O writes to 7 memory-mapped addresses on their device arrive in the order intended. This is 10 driver would usually use this technique immediately prior to the exit of a 15 A more concrete example from a hypothetical device driver:: 18 CPU A: spin_lock_irqsave(&dev_lock, flags) 19 CPU A: val = readl(my_status); 20 CPU A: ... 21 CPU A: writel(newval, ring_ptr); [all …]
|
| /linux/Documentation/networking/dsa/ |
| H A D | dsa.rst | 22 An Ethernet switch typically comprises multiple front-panel ports and one 23 or more CPU or management ports. The DSA subsystem currently relies on the 27 gateways, or even top-of-rack switches. This host Ethernet controller will 28 be later referred to as "conduit" and "cpu" in DSA terminology and code. 36 For each front-panel port, DSA creates specialized network devices which are 37 used as controlling and data-flowing endpoints for use by the Linux networking 46 - what port is this frame coming from 47 - what was the reason why this frame got forwarded 48 - how to send CPU originated traffic to specific ports 52 on Port-based VLAN IDs). [all …]
|
| /linux/Documentation/hwmon/ |
| H A D | asus_wmi_sensors.rst | 1 .. SPDX-License-Identifier: GPL-2.0-or-later 3 Kernel driver asus_wmi_sensors 7 * PRIME X399-A, 8 * PRIME X470-PRO, 11 * ROG CROSSHAIR VI HERO (WI-FI AC), 13 * ROG CROSSHAIR VII HERO (WI-FI), 14 * ROG STRIX B450-E GAMING, 15 * ROG STRIX B450-F GAMING, 16 * ROG STRIX B450-I GAMING, 17 * ROG STRIX X399-E GAMING, [all …]
|
| /linux/tools/power/cpupower/utils/ |
| H A D | cpufreq-info.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * (C) 2004-2009 Dominik Brodowski <linux@dominikbrodowski.de> 39 value[LINE_LEN - 1] = '\0'; in count_cpus() 40 if (strlen(value) < (LINE_LEN - 2)) in count_cpus() 42 if (strstr(value, "cpu ")) in count_cpus() 44 if (sscanf(value, "cpu%d ", &cpunr) != 1) in count_cpus() 51 /* cpu count starts from 0, on error return 1 (UP) */ in count_cpus() 58 unsigned int cpu, nr_cpus; in proc_cpufreq_output() local 64 printf(_(" minimum CPU frequency - maximum CPU frequency - governor\n")); in proc_cpufreq_output() 67 for (cpu = 0; cpu < nr_cpus; cpu++) { in proc_cpufreq_output() [all …]
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-devices-system-cpu | 1 What: /sys/devices/system/cpu/ 2 Date: pre-git history 3 Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> 5 A collection of both global and individual CPU attributes 7 Individual CPU attributes are contained in subdirectories 8 named by the kernel's logical CPU number, e.g.: 10 /sys/devices/system/cpu/cpuX/ 12 What: /sys/devices/system/cpu/kernel_max 13 /sys/devices/system/cpu/offline 14 /sys/devices/system/cpu/online [all …]
|