/linux-6.14.4/Documentation/ABI/testing/ |
D | sysfs-class-powercap | 4 Contact: linux-[email protected] 13 Contact: linux-[email protected] 22 Contact: linux-[email protected] 30 Contact: linux-[email protected] 35 E.g. intel-rapl:0:1:1. 40 Contact: linux-[email protected] 51 Contact: linux-[email protected] 58 Contact: linux-[email protected] 60 Current energy counter in micro-joules. Write "0" to reset. 62 read-only. [all …]
|
/linux-6.14.4/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 …]
|
/linux-6.14.4/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 */ 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-6.14.4/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 …]
|
/linux-6.14.4/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" 147 struct dfl_fpga_cdev *cdev = fdata->dfl_cdev; in fme_hdr_ioctl_release_port() 151 return -EFAULT; in fme_hdr_ioctl_release_port() 159 struct dfl_fpga_cdev *cdev = fdata->dfl_cdev; in fme_hdr_ioctl_assign_port() 163 return -EFAULT; in fme_hdr_ioctl_assign_port() 172 struct dfl_feature_dev_data *fdata = to_dfl_feature_dev_data(&pdev->dev); in fme_hdr_ioctl() [all …]
|
/linux-6.14.4/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()
|
/linux-6.14.4/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 <[email protected]> 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-6.14.4/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 …]
|
/linux-6.14.4/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 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 …]
|
D | corsair-psu.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * corsair-psu.c - Linux driver for Corsair power supplies with HID sensors interface 12 #include <linux/hwmon-sysfs.h> 29 * - commands are byte sized opcodes 30 * - length is the sum of all bytes of the commands/params 31 * - the micro-controller of most of these PSUs support concatenation in the request and reply, 33 * - the driver uses raw events to be accessible from userspace (though this is not really 35 * - a reply always starts with the length and command in the same order the request used it 36 * - length of the reply data is specific to the command used 37 * - some of the commands work on a rail and can be switched to a specific rail (0 = 12v, [all …]
|
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-6.14.4/Documentation/hwmon/ |
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-6.14.4/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 <[email protected]> 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-6.14.4/drivers/gpu/drm/amd/include/ |
D | kgd_pp_interface.h | 2 * Copyright 2017 Advanced Micro Devices, Inc. 167 PP_SMC_POWER_PROFILE_UNKNOWN = -1, 237 * APU power is managed to system-level requirements through the PPT 247 * enum pp_power_limit_level - Used to query the power limits 255 PP_PWR_LIMIT_MIN = -1, 262 * enum pp_power_type - Used to specify the type of the requested power 275 XGMI_PLPD_NONE = -1, 283 PP_PM_POLICY_NONE = -1, 760 /* Power (Watts) */ 768 /* Energy (15.259uJ (2^-16) units) */ [all …]
|
D | amd_acpi.h | 2 * Copyright 2012 Advanced Micro Devices, Inc. 48 u8 thermal_state; /* thermal state: state id (0: exit state, non-0: state) */ 52 u8 backlight_level; /* panel backlight level (0-255) */ 64 u8 ipnut_signal; /* input signal in range 0-255 */ 73 u8 min_input_signal; /* max input signal in range 0-255 */ 74 u8 max_input_signal; /* min input signal in range 0-255 */ 94 u16 client_id; /* client id (bit 2-0: func num, 7-3: dev num, 15-8: bus num) */ 108 u16 dgpu_id; /* client id (bit 2-0: func num, 7-3: dev num, 15-8: bus num) */ 154 * WORD - structure size in bytes (includes size field) 155 * WORD - version [all …]
|
/linux-6.14.4/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 …]
|
/linux-6.14.4/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 …]
|
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 …]
|
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
|
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-6.14.4/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 …]
|
/linux-6.14.4/kernel/power/ |
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-6.14.4/drivers/gpu/drm/amd/pm/swsmu/smu13/ |
D | yellow_carp_ppt.c | 2 * Copyright 2020 Advanced Micro Devices, Inc. 153 struct smu_table_context *smu_table = &smu->smu_table; in yellow_carp_init_smc_tables() 154 struct smu_table *tables = smu_table->tables; in yellow_carp_init_smc_tables() 163 smu_table->clocks_table = kzalloc(sizeof(DpmClocks_t), GFP_KERNEL); in yellow_carp_init_smc_tables() 164 if (!smu_table->clocks_table) in yellow_carp_init_smc_tables() 167 smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_t), GFP_KERNEL); in yellow_carp_init_smc_tables() 168 if (!smu_table->metrics_table) in yellow_carp_init_smc_tables() 170 smu_table->metrics_time = 0; in yellow_carp_init_smc_tables() 172 smu_table->watermarks_table = kzalloc(sizeof(Watermarks_t), GFP_KERNEL); in yellow_carp_init_smc_tables() 173 if (!smu_table->watermarks_table) in yellow_carp_init_smc_tables() [all …]
|