/openbmc/linux/drivers/cpuidle/ |
H A D | driver.c | 2 * driver.c - driver support 4 * (C) 2006-2007 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> 18 #include <linux/cpu.h> 30 * __cpuidle_get_cpu_driver - return the cpuidle driver tied to a CPU. 31 * @cpu: the CPU handled by the driver 33 * Returns a pointer to struct cpuidle_driver or NULL if no driver has been 34 * registered for @cpu. 36 static struct cpuidle_driver *__cpuidle_get_cpu_driver(int cpu) in __cpuidle_get_cpu_driver() argument 38 return per_cpu(cpuidle_drivers, cpu); in __cpuidle_get_cpu_driver() 42 * __cpuidle_unset_driver - unset per CPU driver variables. [all …]
|
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-arm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * ARM/ARM64 generic CPU idle driver. 25 * arm_enter_idle_state - Programs CPU to enter the specified state 28 * drv: cpuidle driver 39 * will call the CPU ops suspend protocol with idle index as a in arm_enter_idle_state() 66 { .compatible = "arm,idle-state", 74 * Registers the arm specific cpuidle driver with the cpuidle 76 * and initialize them using driver data structures accordingly. 78 static int __init arm_idle_init_cpu(int cpu) in arm_idle_init_cpu() argument 85 return -ENOMEM; in arm_idle_init_cpu() [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 …]
|
/openbmc/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.x86 | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # x86 CPU Frequency scaling drivers 14 This driver provides a P state for Intel core processors. 15 The driver implements an internal governor and will become 16 the scaling driver and governor for Sandy bridge processors. 18 When this driver is enabled it will become the preferred 19 scaling driver for Sandy bridge processors. 24 tristate "Processor Clocking Control interface driver" 27 This driver adds support for the PCC interface. 30 <file:Documentation/admin-guide/pm/cpufreq_drivers.rst>. [all …]
|
H A D | Kconfig.arm | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # ARM CPU Frequency scaling drivers 7 tristate "CPUFreq driver based on the ACPI CPPC spec" 11 This adds a CPUFreq driver which uses CPPC methods 14 is based on an abstract continuous scale of CPU 23 bool "Frequency Invariance support for CPPC cpufreq driver" 27 This extends frequency invariance support in the CPPC cpufreq driver, 33 tristate "Allwinner nvmem based SUN50I CPUFreq driver" 38 This adds the nvmem based CPUFreq driver for Allwinner 41 To compile this driver as a module, choose M here: the [all …]
|
H A D | cpufreq.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> 9 * Oct 2005 - Ashok Raj <ashok.raj@intel.com> 10 * Added handling for CPU hotplug 11 * Feb 2006 - Jacob Shin <jacob.shin@amd.com> 12 * Fix handling for CPU hotplug -- affected CPUs 17 #include <linux/cpu.h> 36 /* Macros to iterate over CPU policies */ 54 * The "cpufreq driver" - the arch- or hardware-dependent low 55 * level driver of CPUFreq support, and its spinlock. This lock [all …]
|
/openbmc/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 42 .. _intel-idle-enumeration-of-states: [all …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/linux/Documentation/mm/ |
H A D | hmm.rst | 5 Provide infrastructure and helpers to integrate non-conventional memory (device 12 the CPU meaning that any valid pointer on the CPU is also a valid pointer 21 CPU page-table mirroring works and the purpose of HMM in this context. The 32 have historically managed their memory through dedicated driver specific APIs. 34 driver and regular application memory (private anonymous, shared memory, or 47 share) and memory allocated through the device driver API (this still ends up 52 complex data set needs to re-map all the pointer relations between each of its 69 are only do-able with a shared address space. It is also more reasonable to use 78 coherency is often optional. Access to device memory from a CPU is even more 84 in the other direction: the CPU can only access a limited range of the device [all …]
|
/openbmc/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 …]
|
/openbmc/linux/Documentation/virt/hyperv/ |
H A D | vmbus.rst | 1 .. SPDX-License-Identifier: GPL-2.0 5 VMbus is a software construct provided by Hyper-V to guest VMs. It 7 devices that Hyper-V presents to guest VMs. The control path is 10 channels for communicating between the device driver in the guest VM 11 and the synthetic device implementation that is part of Hyper-V, and 12 signaling primitives to allow Hyper-V and the guest to interrupt 16 entry in a running Linux guest. The VMbus driver (drivers/hv/vmbus_drv.c) 17 establishes the VMbus control path with the Hyper-V host, then 18 registers itself as a Linux bus driver. It implements the standard 21 Most synthetic devices offered by Hyper-V have a corresponding Linux [all …]
|
/openbmc/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 …]
|
/openbmc/u-boot/board/freescale/m53017evb/ |
H A D | README | 4 TsiChung Liew(Tsi-Chung.Liew@freescale.com) 12 - board/freescale/m53017evb/m53017evb.c Dram setup 13 - board/freescale/m53017evb/mii.c Mii access 14 - board/freescale/m53017evb/Makefile Makefile 15 - board/freescale/m53017evb/config.mk config make 16 - board/freescale/m53017evb/u-boot.lds Linker description 18 - arch/m68k/cpu/mcf532x/cpu.c cpu specific code 19 - arch/m68k/cpu/mcf532x/cpu_init.c FBCS, Mux pins, icache and RTC extra regs 20 - arch/m68k/cpu/mcf532x/interrupts.c cpu specific interrupt support 21 - arch/m68k/cpu/mcf532x/speed.c system, flexbus, and cpu clock [all …]
|
/openbmc/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 …]
|
/openbmc/qemu/scripts/ |
H A D | compare-machine-types.py | 4 # compat_props are applied to the driver during initialization to change 10 # appropriate method will be used to obtain the default value of this driver 11 # property via qmp command (e.g. query-cpu-model-expansion for x86_64-cpu). 42 print("Try export PYTHONPATH=top-qemu-dir/python or run from top-qemu-dir") 46 default_qemu_args = '-enable-kvm -machine none' 47 default_qemu_binary = 'build/qemu-system-x86_64' 58 # 'x86_64-cpu', method of 'x86_64-cpu' will be used for '486-x86_64-cpu') 60 class Driver(): class 61 def __init__(self, vm: QEMUMachine, name: str, abstract: bool) -> None: 65 self.parent: Optional[Driver] = None [all …]
|
/openbmc/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 …]
|
/openbmc/u-boot/drivers/cpu/ |
H A D | Kconfig | 1 config CPU config 2 bool "Enable CPU drivers using Driver Model" 6 multiple CPUs, then normally have to be set up in U-Boot so that 11 bool "Enable MPC83xx CPU driver" 12 depends on CPU 15 Support CPU cores for SoCs of the MPC83xx series. 18 bool "Enable RISC-V CPU driver" 19 depends on CPU && RISCV 21 Support CPU cores for RISC-V architecture.
|
/openbmc/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 …]
|