| /linux/Documentation/ABI/testing/ |
| H A 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 …]
|
| /linux/Documentation/power/powercap/ |
| H A 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 …]
|
| /linux/include/linux/ |
| H A 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 …]
|
| H A D | energy_model.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 15 * struct em_perf_state - Performance state of a performance domain 43 * struct em_perf_table - Performance states table 55 * struct em_perf_domain - Performance domain 68 * must have the same micro-architecture. Performance domains often have 69 * a 1-to-1 mapping with CPUFreq policies. In case of other devices the @cpus 84 * EM_PERF_DOMAIN_MICROWATTS: The power values are in micro-Watts or some 97 #define em_span_cpus(em) (to_cpumask((em)->cpus)) 98 #define em_is_artificial(em) ((em)->flags & EM_PERF_DOMAIN_ARTIFICIAL) 102 * The max power value in micro-Watts. The limit of 64 Watts is set as [all …]
|
| /linux/tools/power/cpupower/utils/ |
| H A 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()
|
| /linux/Documentation/power/ |
| H A 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 …]
|
| /linux/Documentation/devicetree/bindings/iio/adc/ |
| H A 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 29 - enum: [all …]
|
| /linux/drivers/hwmon/ |
| H A 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 42 struct iio_channel *chan = &state->channels[sattr->index]; in iio_hwmon_read_label() 60 struct iio_channel *chan = &state->channels[sattr->index]; in iio_hwmon_read_val() 68 /* mili-Watts to micro-Watts conversion */ in iio_hwmon_read_val() 80 struct device *dev = &pdev->dev; in iio_hwmon_probe() 94 if (ret == -ENODEV) in iio_hwmon_probe() 95 ret = -EPROBE_DEFER; in iio_hwmon_probe() 103 return -ENOMEM; in iio_hwmon_probe() [all …]
|
| H A D | ibmpowernv.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 14 #include <linux/hwmon-sysfs.h> 46 #define INVALID_INDEX (-1U) 53 "ibm,opal-sensor-cooling-fan", 54 "ibm,opal-sensor-amb-temp", 55 "ibm,opal-sensor-power-supply", 56 "ibm,opal-sensor-power" 60 const char *name; /* matches property 'sensor-type' */ 105 if (sdata->sgrp_data && !sdata->sgrp_data->enable) in show_sensor() 106 return -ENODATA; in show_sensor() [all …]
|
| /linux/Documentation/hwmon/ |
| H A D | aquacomputer_d5next.rst | 1 .. SPDX-License-Identifier: GPL-2.0-or-later 3 Kernel driver aquacomputer-d5next 25 ----------- 37 available through debugfs are the serial number, firmware version and power-on 39 temperature curves directly from the pump. If it's not connected, the fan-related 65 filled with coolant. Pump RPM and flow can be set to enhance on-device calculations, 87 ----------- 93 ------------- 96 temp[1-20]_input Physical/virtual temperature sensors (in millidegrees Celsius) 97 temp[1-8]_offset Temperature sensor correction offset (in millidegrees Celsius) [all …]
|
| /linux/Documentation/devicetree/bindings/opp/ |
| H A 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 …]
|
| /linux/drivers/gpu/drm/amd/pm/swsmu/inc/pmfw_if/ |
| H A 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 …]
|
| H A 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 …]
|
| H A D | smu14_driver_if_v14_0.h | 2 * Copyright 2023 Advanced Micro Devices, Inc. 517 uint8_t SnapToDiscrete; // 0 - Fine grained DPM, 1 - Discrete DPM 520 LinearInt_t ConversionToAvfsClk; // Transfer function to AVFS Clock (GHz->GHz) 975 uint16_t Power[PPT_THROTTLER_COUNT][POWER_SOURCE_COUNT]; // Watts 1106 …uint16_t Vmin_Hot_T0[PMFW_VOLT_PLANE_COUNT]; //In mV(Q2) Initial (pre-aging) Vse… 1107 …uint16_t Vmin_Cold_T0[PMFW_VOLT_PLANE_COUNT]; //In mV(Q2) Initial (pre-aging) Vse… 1108 …uint16_t Vmin_Hot_Eol[PMFW_VOLT_PLANE_COUNT]; //In mV(Q2) End-of-life Vset to be … 1109 …uint16_t Vmin_Cold_Eol[PMFW_VOLT_PLANE_COUNT]; //In mV(Q2) End-of-life Vset to be … 1110 uint16_t Vmin_Aging_Offset[PMFW_VOLT_PLANE_COUNT]; //In mV(Q2) Worst-case aging margin 1116 …//Linear offset or GB term to account for mis-correlation between PSM and Vmin shift trends across… [all …]
|
| H A D | smu13_driver_if_aldebaran.h | 2 * Copyright 2020 Advanced Micro Devices, Inc. 268 LinearInt_t ConversionToAvfsClk; // Transfer function to AVFS Clock (GHz->GHz) 269 QuadraticInt_t SsCurve; // Slow-slow curve (GHz->V) 280 uint16_t PptLimit; // Watts 388 uint32_t ApccPlusResidencyLimit; //PCC residency % (0-100) 467 // Padding - ignore 502 // Padding - ignore
|
| H A D | smu11_driver_if_sienna_cichlid.h | 2 * Copyright 2020 Advanced Micro Devices, Inc. 53 #define MAX_GFXCLK_DPM_LEVEL (NUM_GFXCLK_DPM_LEVELS - 1) 54 #define MAX_SMNCLK_DPM_LEVEL (NUM_SMNCLK_DPM_LEVELS - 1) 55 #define MAX_SOCCLK_DPM_LEVEL (NUM_SOCCLK_DPM_LEVELS - 1) 56 #define MAX_MP0CLK_DPM_LEVEL (NUM_MP0CLK_DPM_LEVELS - 1) 57 #define MAX_DCLK_DPM_LEVEL (NUM_DCLK_DPM_LEVELS - 1) 58 #define MAX_VCLK_DPM_LEVEL (NUM_VCLK_DPM_LEVELS - 1) 59 #define MAX_DCEFCLK_DPM_LEVEL (NUM_DCEFCLK_DPM_LEVELS - 1) 60 #define MAX_DISPCLK_DPM_LEVEL (NUM_DISPCLK_DPM_LEVELS - 1) 61 #define MAX_PIXCLK_DPM_LEVEL (NUM_PIXCLK_DPM_LEVELS - 1) [all …]
|
| /linux/drivers/cpufreq/ |
| H A D | mediatek-cpufreq-hw.c | 1 // SPDX-License-Identifier: GPL-2.0 74 priv->fdvfs = devm_of_iomap(priv->dev, priv->dev->of_node, 0, NULL); in mtk_cpufreq_hw_mt8196_init() 75 if (IS_ERR(priv->fdvfs)) in mtk_cpufreq_hw_mt8196_init() 76 return dev_err_probe(priv->dev, PTR_ERR(priv->fdvfs), in mtk_cpufreq_hw_mt8196_init() 103 policy = cpufreq_cpu_get_raw(cpu_dev->id); in mtk_cpufreq_get_cpu_power() 105 return -EINVAL; in mtk_cpufreq_get_cpu_power() 107 data = policy->driver_data; in mtk_cpufreq_get_cpu_power() 109 for (i = 0; i < data->nr_opp; i++) { in mtk_cpufreq_get_cpu_power() 110 if (data->table[i].frequency < *KHz) in mtk_cpufreq_get_cpu_power() 113 i--; in mtk_cpufreq_get_cpu_power() [all …]
|
| /linux/drivers/gpu/drm/amd/pm/powerplay/inc/ |
| H A 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 …]
|
| /linux/kernel/power/ |
| H A D | energy_model.c | 1 // SPDX-License-Identifier: GPL-2.0 5 * Copyright (c) 2018-2021, Arm ltd. 34 return (dev->bus == &cpu_subsys); in _is_cpu_device() 48 struct em_dbg_info *em_dbg = s->private; \ 53 table = em_perf_state_from_pd(em_dbg->pd); \ 54 val = table[em_dbg->ps_id].name; \ 87 /* Create per-ps directory */ in em_debug_create_ps() 103 seq_printf(s, "%*pbl\n", cpumask_pr_args(to_cpumask(s->private))); in em_debug_cpus_show() 111 struct em_perf_domain *pd = s->private; in em_debug_flags_show() 113 seq_printf(s, "%#lx\n", pd->flags); in em_debug_flags_show() [all …]
|
| /linux/tools/perf/pmu-events/arch/x86/haswell/ |
| H A D | hsw-metrics.json | 4 "MetricExpr": "cstate_pkg@c2\\-residency@ / msr@tsc@", 11 "MetricExpr": "cstate_core@c3\\-residency@ / msr@tsc@", 18 "MetricExpr": "cstate_pkg@c3\\-residency@ / msr@tsc@", 25 "MetricExpr": "cstate_core@c6\\-residency@ / msr@tsc@", 32 "MetricExpr": "cstate_pkg@c6\\-residency@ / msr@tsc@", 39 "MetricExpr": "cstate_core@c7\\-residency@ / msr@tsc@", 46 "MetricExpr": "cstate_pkg@c7\\-residency@ / msr@tsc@", 59 "MetricExpr": "((msr@aperf@ - cycles) / msr@aperf@ if msr@smi@ > 0 else 0)", 78 …sible; which incur a few cycles load re-issue. However; the short re-issue duration is often hidde… 95 …er-cases for operations that cannot be handled natively by the execution pipeline. For example; wh… [all …]
|
| /linux/tools/perf/pmu-events/arch/x86/ivybridge/ |
| H A D | ivb-metrics.json | 4 "MetricExpr": "cstate_pkg@c2\\-residency@ / msr@tsc@", 11 "MetricExpr": "cstate_core@c3\\-residency@ / msr@tsc@", 18 "MetricExpr": "cstate_pkg@c3\\-residency@ / msr@tsc@", 25 "MetricExpr": "cstate_core@c6\\-residency@ / msr@tsc@", 32 "MetricExpr": "cstate_pkg@c6\\-residency@ / msr@tsc@", 39 "MetricExpr": "cstate_core@c7\\-residency@ / msr@tsc@", 46 "MetricExpr": "cstate_pkg@c7\\-residency@ / msr@tsc@", 59 "MetricExpr": "((msr@aperf@ - cycles) / msr@aperf@ if msr@smi@ > 0 else 0)", 78 …sible; which incur a few cycles load re-issue. However; the short re-issue duration is often hidde… 95 …er-cases for operations that cannot be handled natively by the execution pipeline. For example; wh… [all …]
|
| /linux/tools/perf/pmu-events/arch/x86/broadwell/ |
| H A D | bdw-metrics.json | 4 "MetricExpr": "cstate_pkg@c2\\-residency@ / msr@tsc@", 11 "MetricExpr": "cstate_core@c3\\-residency@ / msr@tsc@", 18 "MetricExpr": "cstate_pkg@c3\\-residency@ / msr@tsc@", 25 "MetricExpr": "cstate_core@c6\\-residency@ / msr@tsc@", 32 "MetricExpr": "cstate_pkg@c6\\-residency@ / msr@tsc@", 39 "MetricExpr": "cstate_core@c7\\-residency@ / msr@tsc@", 46 "MetricExpr": "cstate_pkg@c7\\-residency@ / msr@tsc@", 59 "MetricExpr": "((msr@aperf@ - cycles) / msr@aperf@ if msr@smi@ > 0 else 0)", 78 …sible; which incur a few cycles load re-issue. However; the short re-issue duration is often hidde… 95 …er-cases for operations that cannot be handled natively by the execution pipeline. For example; wh… [all …]
|
| /linux/tools/perf/pmu-events/arch/x86/broadwellde/ |
| H A D | bdwde-metrics.json | 4 "MetricExpr": "cstate_pkg@c2\\-residency@ / msr@tsc@", 11 "MetricExpr": "cstate_core@c3\\-residency@ / msr@tsc@", 18 "MetricExpr": "cstate_pkg@c3\\-residency@ / msr@tsc@", 25 "MetricExpr": "cstate_core@c6\\-residency@ / msr@tsc@", 32 "MetricExpr": "cstate_pkg@c6\\-residency@ / msr@tsc@", 39 "MetricExpr": "cstate_core@c7\\-residency@ / msr@tsc@", 46 "MetricExpr": "cstate_pkg@c7\\-residency@ / msr@tsc@", 59 "MetricExpr": "((msr@aperf@ - cycles) / msr@aperf@ if msr@smi@ > 0 else 0)", 78 …sible; which incur a few cycles load re-issue. However; the short re-issue duration is often hidde… 95 …er-cases for operations that cannot be handled natively by the execution pipeline. For example; wh… [all …]
|
| /linux/tools/perf/pmu-events/arch/x86/ivytown/ |
| H A D | ivt-metrics.json | 4 "MetricExpr": "cstate_pkg@c2\\-residency@ / msr@tsc@", 11 "MetricExpr": "cstate_core@c3\\-residency@ / msr@tsc@", 18 "MetricExpr": "cstate_pkg@c3\\-residency@ / msr@tsc@", 25 "MetricExpr": "cstate_core@c6\\-residency@ / msr@tsc@", 32 "MetricExpr": "cstate_pkg@c6\\-residency@ / msr@tsc@", 39 "MetricExpr": "cstate_core@c7\\-residency@ / msr@tsc@", 46 "MetricExpr": "cstate_pkg@c7\\-residency@ / msr@tsc@", 59 "MetricExpr": "((msr@aperf@ - cycles) / msr@aperf@ if msr@smi@ > 0 else 0)", 78 …sible; which incur a few cycles load re-issue. However; the short re-issue duration is often hidde… 95 …er-cases for operations that cannot be handled natively by the execution pipeline. For example; wh… [all …]
|
| /linux/tools/perf/pmu-events/arch/x86/haswellx/ |
| H A D | hsx-metrics.json | 4 "MetricExpr": "cstate_pkg@c2\\-residency@ / msr@tsc@", 11 "MetricExpr": "cstate_core@c3\\-residency@ / msr@tsc@", 18 "MetricExpr": "cstate_pkg@c3\\-residency@ / msr@tsc@", 25 "MetricExpr": "cstate_core@c6\\-residency@ / msr@tsc@", 32 "MetricExpr": "cstate_pkg@c6\\-residency@ / msr@tsc@", 39 "MetricExpr": "cstate_core@c7\\-residency@ / msr@tsc@", 46 "MetricExpr": "cstate_pkg@c7\\-residency@ / msr@tsc@", 230 …"BriefDescription": "Uops delivered from legacy decode pipeline (Micro-instruction Translation Eng… 237 … "MetricExpr": "(UOPS_ISSUED.ANY - IDQ.MITE_UOPS - IDQ.MS_UOPS - IDQ.DSB_UOPS) / UOPS_ISSUED.ANY", 255 "MetricExpr": "((msr@aperf@ - cycles) / msr@aperf@ if msr@smi@ > 0 else 0)", [all …]
|