| /kernel/linux/linux-5.10/Documentation/ABI/testing/ |
| D | sysfs-class-powercap | 4 Contact: linux-pm@vger.kernel.org 13 Contact: linux-pm@vger.kernel.org 22 Contact: linux-pm@vger.kernel.org 30 Contact: linux-pm@vger.kernel.org 35 E.g. intel-rapl:0:1:1. 40 Contact: linux-pm@vger.kernel.org 51 Contact: linux-pm@vger.kernel.org 58 Contact: linux-pm@vger.kernel.org 60 Current energy counter in micro-joules. Write "0" to reset. 62 read-only. [all …]
|
| /kernel/linux/linux-6.6/Documentation/ABI/testing/ |
| D | sysfs-class-powercap | 4 Contact: linux-pm@vger.kernel.org 13 Contact: linux-pm@vger.kernel.org 22 Contact: linux-pm@vger.kernel.org 30 Contact: linux-pm@vger.kernel.org 35 E.g. intel-rapl:0:1:1. 40 Contact: linux-pm@vger.kernel.org 51 Contact: linux-pm@vger.kernel.org 58 Contact: linux-pm@vger.kernel.org 60 Current energy counter in micro-joules. Write "0" to reset. 62 read-only. [all …]
|
| /kernel/linux/linux-6.6/Documentation/power/powercap/ |
| D | powercap.rst | 15 example, the intel-rapl control type represents the Intel "Running Average 16 Power Limit" (RAPL) technology, whereas the 'idle-injection' control type 35 └──intel-rapl 36 ├──intel-rapl:0 43 │ ├──device -> ../../intel-rapl 45 │ ├──intel-rapl:0:0 52 │ │ ├──device -> ../../intel-rapl:0 60 │ │ ├──subsystem -> ../../../../../../class/power_cap 62 │ ├──intel-rapl:0:1 69 │ │ ├──device -> ../../intel-rapl:0 [all …]
|
| /kernel/linux/linux-5.10/Documentation/power/powercap/ |
| D | powercap.rst | 15 example, the intel-rapl control type represents the Intel "Running Average 16 Power Limit" (RAPL) technology, whereas the 'idle-injection' control type 35 └──intel-rapl 36 ├──intel-rapl:0 43 │ ├──device -> ../../intel-rapl 45 │ ├──intel-rapl:0:0 52 │ │ ├──device -> ../../intel-rapl:0 60 │ │ ├──subsystem -> ../../../../../../class/power_cap 62 │ ├──intel-rapl:0:1 69 │ │ ├──device -> ../../intel-rapl:0 [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | powercap.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 24 * struct powercap_control_type_ops - Define control type callbacks 47 * struct powercap_control_type - Defines a powercap control_type 58 * @node: linked-list node 61 * zones, which use same method to control power. E.g. RAPL, RAPL-PCI etc. 75 * struct powercap_zone_ops - Define power zone callbacks 77 * micro-joules. 78 * @get_energy_uj: Get current energy counter in micro-joules. 79 * @reset_energy_uj: Reset micro-joules energy counter. 81 * micro-watts. [all …]
|
| D | energy_model.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 14 * struct em_perf_state - Performance state of a performance domain 40 * struct em_perf_domain - Performance domain 51 * must have the same micro-architecture. Performance domains often have 52 * a 1-to-1 mapping with CPUFreq policies. In case of other devices the @cpus 65 * EM_PERF_DOMAIN_MICROWATTS: The power values are in micro-Watts or some 78 #define em_span_cpus(em) (to_cpumask((em)->cpus)) 79 #define em_is_artificial(em) ((em)->flags & EM_PERF_DOMAIN_ARTIFICIAL) 83 * The max power value in micro-Watts. The limit of 64 Watts is set as 88 #define EM_MAX_POWER (64000000) /* 64 Watts */ [all …]
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | powercap.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 24 * struct powercap_control_type_ops - Define control type callbacks 47 * struct powercap_control_type - Defines a powercap control_type 58 * @node: linked-list node 61 * zones, which use same method to control power. E.g. RAPL, RAPL-PCI etc. 75 * struct powercap_zone_ops - Define power zone callbacks 77 * micro-joules. 78 * @get_energy_uj: Get current energy counter in micro-joules. 79 * @reset_energy_uj: Reset micro-joules energy counter. 81 * micro-watts. [all …]
|
| D | energy_model.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 14 * em_perf_state - Performance state of a performance domain 16 * @power: The power consumed at this level, in milli-watts (by 1 CPU or 29 * em_perf_domain - Performance domain 39 * must have the same micro-architecture. Performance domains often have 40 * a 1-to-1 mapping with CPUFreq policies. In case of other devices the @cpus 49 #define em_span_cpus(em) (to_cpumask((em)->cpus)) 55 * Increase resolution of energy estimation calculations for 64-bit 61 * resolution (i.e. 64-bit). The costs for increasing resolution when 32-bit 72 * active_power() - Provide power at the next performance state of [all …]
|
| /kernel/linux/linux-6.6/arch/x86/events/amd/ |
| D | power.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Performance events - AMD Processor Power Reporting Mechanism 5 * Copyright (C) 2016 Advanced Micro Devices, Inc. 16 /* Event code: LSB 8 bits, passed in attr->config any other bit is reserved. */ 45 struct hw_perf_event *hwc = &event->hw; in event_update() 49 prev_pwr_acc = hwc->pwr_acc; in event_update() 50 prev_ptsc = hwc->ptsc; in event_update() 56 * final value (delta) is micro-Watts. Then add it to the event count. in event_update() 60 delta -= prev_pwr_acc; in event_update() 62 delta = new_pwr_acc - prev_pwr_acc; in event_update() [all …]
|
| /kernel/linux/linux-5.10/arch/x86/events/amd/ |
| D | power.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Performance events - AMD Processor Power Reporting Mechanism 5 * Copyright (C) 2016 Advanced Micro Devices, Inc. 16 /* Event code: LSB 8 bits, passed in attr->config any other bit is reserved. */ 45 struct hw_perf_event *hwc = &event->hw; in event_update() 49 prev_pwr_acc = hwc->pwr_acc; in event_update() 50 prev_ptsc = hwc->ptsc; in event_update() 56 * final value (delta) is micro-Watts. Then add it to the event count. in event_update() 60 delta -= prev_pwr_acc; in event_update() 62 delta = new_pwr_acc - prev_pwr_acc; in event_update() [all …]
|
| /kernel/linux/linux-6.6/Documentation/power/ |
| D | energy-model.rst | 1 .. SPDX-License-Identifier: GPL-2.0 8 ----------- 12 subsystems willing to use that information to make energy-aware decisions. 18 each and every client subsystem to re-implement support for each and every 23 The power values might be expressed in micro-Watts or in an 'abstract scale'. 26 can be found in the Energy-Aware Scheduler documentation 27 Documentation/scheduler/sched-energy.rst. For some subsystems like thermal or 30 thus the real micro-Watts might be needed. An example of these requirements can 32 Documentation/driver-api/thermal/power_allocator.rst. 36 an 'abstract scale' deriving real energy in micro-Joules would not be possible. [all …]
|
| /kernel/linux/linux-6.6/drivers/fpga/ |
| D | dfl-fme-main.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (C) 2017-2018 Intel Corporation, Inc. 18 #include <linux/hwmon-sysfs.h> 23 #include <linux/fpga-dfl.h> 26 #include "dfl-fme.h" 141 struct dfl_fpga_cdev *cdev = pdata->dfl_cdev; in fme_hdr_ioctl_release_port() 145 return -EFAULT; in fme_hdr_ioctl_release_port() 153 struct dfl_fpga_cdev *cdev = pdata->dfl_cdev; in fme_hdr_ioctl_assign_port() 157 return -EFAULT; in fme_hdr_ioctl_assign_port() 166 struct dfl_feature_platform_data *pdata = dev_get_platdata(&pdev->dev); in fme_hdr_ioctl() [all …]
|
| /kernel/linux/linux-6.6/tools/power/cpupower/utils/ |
| D | powercap-info.c | 1 // SPDX-License-Identifier: GPL-2.0-only 31 for (i = 0; i < zone->tree_depth && i < POWERCAP_MAX_TREE_DEPTH; i++) in powercap_print_one_zone() 34 printf("%sZone: %s", pr_prefix, zone->name); in powercap_print_one_zone() 40 if (zone->has_power_uw) in powercap_print_one_zone() 41 printf(_("%sPower can be monitored in micro Jules\n"), in powercap_print_one_zone() 44 if (zone->has_energy_uj) in powercap_print_one_zone() 45 printf(_("%sPower can be monitored in micro Watts\n"), in powercap_print_one_zone() 73 return -1; in powercap_show() 103 case -1: in cmd_cap_info()
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/iio/adc/ |
| D | richtek,rtq6056.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: RTQ6056 Bi-Directional Current and Power Monitor with 16-bit ADC 10 - ChiYuan Huang <cy_huang@richtek.com> 13 The RTQ6056 is a high accuracy current-sense monitor with I2C and SMBus 18 voltage, converts into the current in amperes, and power in watts through 19 internal analog-to-digital converter ADC. The programmable calibration, 24 https://www.richtek.com/assets/product_file/RTQ6056/DSQ6056-00.pdf 33 "#io-channel-cells": [all …]
|
| /kernel/linux/linux-5.10/drivers/hwmon/ |
| D | iio_hwmon.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #include <linux/hwmon-sysfs.h> 19 * struct iio_hwmon_state - device instance state 47 struct iio_channel *chan = &state->channels[sattr->index]; in iio_hwmon_read_val() 59 result *= 1000; /* mili-Watts to micro-Watts conversion */ in iio_hwmon_read_val() 66 struct device *dev = &pdev->dev; in iio_hwmon_probe() 78 if (PTR_ERR(channels) == -ENODEV) in iio_hwmon_probe() 79 return -EPROBE_DEFER; in iio_hwmon_probe() 85 return -ENOMEM; in iio_hwmon_probe() 87 st->channels = channels; in iio_hwmon_probe() [all …]
|
| /kernel/linux/linux-6.6/drivers/hwmon/ |
| D | iio_hwmon.c | 1 // SPDX-License-Identifier: GPL-2.0-only 16 #include <linux/hwmon-sysfs.h> 21 * struct iio_hwmon_state - device instance state 49 struct iio_channel *chan = &state->channels[sattr->index]; in iio_hwmon_read_val() 61 result *= 1000; /* mili-Watts to micro-Watts conversion */ in iio_hwmon_read_val() 68 struct device *dev = &pdev->dev; in iio_hwmon_probe() 81 if (ret == -ENODEV) in iio_hwmon_probe() 82 ret = -EPROBE_DEFER; in iio_hwmon_probe() 89 return -ENOMEM; in iio_hwmon_probe() 91 st->channels = channels; in iio_hwmon_probe() [all …]
|
| /kernel/linux/linux-6.6/Documentation/hwmon/ |
| D | aquacomputer_d5next.rst | 1 .. SPDX-License-Identifier: GPL-2.0-or-later 3 Kernel driver aquacomputer-d5next 23 ----------- 35 available through debugfs are the serial number, firmware version and power-on 37 temperature curves directly from the pump. If it's not connected, the fan-related 63 filled with coolant. Pump RPM and flow can be set to enhance on-device calculations, 80 ----------- 86 ------------- 89 temp[1-20]_input Physical/virtual temperature sensors (in millidegrees Celsius) 90 temp[1-8]_offset Temperature sensor correction offset (in millidegrees Celsius) [all …]
|
| /kernel/linux/linux-6.6/kernel/power/ |
| D | energy_model.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (c) 2018-2021, Arm ltd. 28 return (dev->bus == &cpu_subsys); in _is_cpu_device() 39 snprintf(name, sizeof(name), "ps:%lu", ps->frequency); in em_debug_create_ps() 41 /* Create per-ps directory */ in em_debug_create_ps() 43 debugfs_create_ulong("frequency", 0444, d, &ps->frequency); in em_debug_create_ps() 44 debugfs_create_ulong("power", 0444, d, &ps->power); in em_debug_create_ps() 45 debugfs_create_ulong("cost", 0444, d, &ps->cost); in em_debug_create_ps() 46 debugfs_create_ulong("inefficient", 0444, d, &ps->flags); in em_debug_create_ps() 51 seq_printf(s, "%*pbl\n", cpumask_pr_args(to_cpumask(s->private))); in em_debug_cpus_show() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/opp/ |
| D | opp-v2-base.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/opp/opp-v2-base.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Viresh Kumar <viresh.kumar@linaro.org> 13 Devices work at voltage-current-frequency combinations and some implementations 25 pattern: '^opp-table(-[a-z0-9]+)?$' 27 opp-shared: 36 '^opp(-?[0-9]+)*$': 39 One or more OPP nodes describing voltage-current-frequency combinations. [all …]
|
| /kernel/linux/linux-6.6/drivers/cpufreq/ |
| D | mediatek-cpufreq-hw.c | 1 // SPDX-License-Identifier: GPL-2.0 63 policy = cpufreq_cpu_get_raw(cpu_dev->id); in mtk_cpufreq_get_cpu_power() 65 return -EINVAL; in mtk_cpufreq_get_cpu_power() 67 data = policy->driver_data; in mtk_cpufreq_get_cpu_power() 69 for (i = 0; i < data->nr_opp; i++) { in mtk_cpufreq_get_cpu_power() 70 if (data->table[i].frequency < *KHz) in mtk_cpufreq_get_cpu_power() 73 i--; in mtk_cpufreq_get_cpu_power() 75 *KHz = data->table[i].frequency; in mtk_cpufreq_get_cpu_power() 76 /* Provide micro-Watts value to the Energy Model */ in mtk_cpufreq_get_cpu_power() 77 *uW = readl_relaxed(data->reg_bases[REG_EM_POWER_TBL] + in mtk_cpufreq_get_cpu_power() [all …]
|
| /kernel/linux/linux-5.10/kernel/power/ |
| D | energy_model.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (c) 2018-2020, Arm ltd. 27 return (dev->bus == &cpu_subsys); in _is_cpu_device() 38 snprintf(name, sizeof(name), "ps:%lu", ps->frequency); in em_debug_create_ps() 40 /* Create per-ps directory */ in em_debug_create_ps() 42 debugfs_create_ulong("frequency", 0444, d, &ps->frequency); in em_debug_create_ps() 43 debugfs_create_ulong("power", 0444, d, &ps->power); in em_debug_create_ps() 44 debugfs_create_ulong("cost", 0444, d, &ps->cost); in em_debug_create_ps() 49 seq_printf(s, "%*pbl\n", cpumask_pr_args(to_cpumask(s->private))); in em_debug_cpus_show() 64 debugfs_create_file("cpus", 0444, d, dev->em_pd->cpus, in em_debug_create_pd() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/ |
| D | smu13_driver_if_v13_0_0.h | 2 * Copyright 2021 Advanced Micro Devices, Inc. 503 uint8_t SnapToDiscrete; // 0 - Fine grained DPM, 1 - Discrete DPM 506 LinearInt_t ConversionToAvfsClk; // Transfer function to AVFS Clock (GHz->GHz) 875 uint16_t Power[PPT_THROTTLER_COUNT][POWER_SOURCE_COUNT]; // Watts 953 …uint16_t SocketPowerLimitAc[PPT_THROTTLER_COUNT]; // In Watts. Power limit that PMFW attempts to c… 954 …uint16_t SocketPowerLimitDc[PPT_THROTTLER_COUNT]; // In Watts. Power limit that PMFW attempts to … 956 uint16_t SocketPowerLimitSmartShift2; // In Watts. Power limit used SmartShift 1007 …uint16_t Vmin_Hot_T0[PMFW_VOLT_PLANE_COUNT]; //In mV(Q2) Initial (pre-aging) Vse… 1008 …uint16_t Vmin_Cold_T0[PMFW_VOLT_PLANE_COUNT]; //In mV(Q2) Initial (pre-aging) Vse… 1009 …uint16_t Vmin_Hot_Eol[PMFW_VOLT_PLANE_COUNT]; //In mV(Q2) End-of-life Vset to be … [all …]
|
| D | smu13_driver_if_v13_0_7.h | 2 * Copyright 2022 Advanced Micro Devices, Inc. 504 uint8_t SnapToDiscrete; // 0 - Fine grained DPM, 1 - Discrete DPM 507 LinearInt_t ConversionToAvfsClk; // Transfer function to AVFS Clock (GHz->GHz) 884 uint16_t Power[PPT_THROTTLER_COUNT][POWER_SOURCE_COUNT]; // Watts 962 …uint16_t SocketPowerLimitAc[PPT_THROTTLER_COUNT]; // In Watts. Power limit that PMFW attempts to c… 963 …uint16_t SocketPowerLimitDc[PPT_THROTTLER_COUNT]; // In Watts. Power limit that PMFW attempts to … 965 uint16_t SocketPowerLimitSmartShift2; // In Watts. Power limit used SmartShift 1016 …uint16_t Vmin_Hot_T0[PMFW_VOLT_PLANE_COUNT]; //In mV(Q2) Initial (pre-aging) Vse… 1017 …uint16_t Vmin_Cold_T0[PMFW_VOLT_PLANE_COUNT]; //In mV(Q2) Initial (pre-aging) Vse… 1018 …uint16_t Vmin_Hot_Eol[PMFW_VOLT_PLANE_COUNT]; //In mV(Q2) End-of-life Vset to be … [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/amd/pm/inc/ |
| D | smu9_driver_if.h | 2 * Copyright 2016 Advanced Micro Devices, Inc. 46 #define MAX_GFXCLK_DPM_LEVEL (NUM_GFXCLK_DPM_LEVELS - 1) 47 #define MAX_UVD_DPM_LEVEL (NUM_UVD_DPM_LEVELS - 1) 48 #define MAX_VCE_DPM_LEVEL (NUM_VCE_DPM_LEVELS - 1) 49 #define MAX_MP0CLK_DPM_LEVEL (NUM_MP0CLK_DPM_LEVELS - 1) 50 #define MAX_UCLK_DPM_LEVEL (NUM_UCLK_DPM_LEVELS - 1) 51 #define MAX_SOCCLK_DPM_LEVEL (NUM_SOCCLK_DPM_LEVELS - 1) 52 #define MAX_DCEFCLK_DPM_LEVEL (NUM_DCEFCLK_DPM_LEVELS - 1) 53 #define MAX_LINK_DPM_LEVEL (NUM_LINK_LEVELS - 1) 65 #define MAX_EVV_VOLTAGE_LEVEL (NUM_EVV_VOLTAGE_LEVELS - 1) [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/amd/pm/powerplay/inc/ |
| D | smu9_driver_if.h | 2 * Copyright 2016 Advanced Micro Devices, Inc. 46 #define MAX_GFXCLK_DPM_LEVEL (NUM_GFXCLK_DPM_LEVELS - 1) 47 #define MAX_UVD_DPM_LEVEL (NUM_UVD_DPM_LEVELS - 1) 48 #define MAX_VCE_DPM_LEVEL (NUM_VCE_DPM_LEVELS - 1) 49 #define MAX_MP0CLK_DPM_LEVEL (NUM_MP0CLK_DPM_LEVELS - 1) 50 #define MAX_UCLK_DPM_LEVEL (NUM_UCLK_DPM_LEVELS - 1) 51 #define MAX_SOCCLK_DPM_LEVEL (NUM_SOCCLK_DPM_LEVELS - 1) 52 #define MAX_DCEFCLK_DPM_LEVEL (NUM_DCEFCLK_DPM_LEVELS - 1) 53 #define MAX_LINK_DPM_LEVEL (NUM_LINK_LEVELS - 1) 65 #define MAX_EVV_VOLTAGE_LEVEL (NUM_EVV_VOLTAGE_LEVELS - 1) [all …]
|