1caa07a81SChangwoo Min# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 2caa07a81SChangwoo Min# 3caa07a81SChangwoo Min# Copyright (c) 2025 Valve Corporation. 4caa07a81SChangwoo Min# 5caa07a81SChangwoo Min--- 6caa07a81SChangwoo Minname: dev-energymodel 7caa07a81SChangwoo Min 8caa07a81SChangwoo Mindoc: | 9caa07a81SChangwoo Min Energy model netlink interface to notify its changes. 10caa07a81SChangwoo Min 11caa07a81SChangwoo Minprotocol: genetlink 12caa07a81SChangwoo Min 13caa07a81SChangwoo Minuapi-header: linux/dev_energymodel.h 14caa07a81SChangwoo Min 15caa07a81SChangwoo Mindefinitions: 16caa07a81SChangwoo Min - 17caa07a81SChangwoo Min type: flags 18caa07a81SChangwoo Min name: perf-state-flags 19caa07a81SChangwoo Min entries: 20caa07a81SChangwoo Min - 21caa07a81SChangwoo Min name: perf-state-inefficient 22caa07a81SChangwoo Min doc: >- 23caa07a81SChangwoo Min The performance state is inefficient. There is in this perf-domain, 24caa07a81SChangwoo Min another performance state with a higher frequency but a lower or 25caa07a81SChangwoo Min equal power cost. 26caa07a81SChangwoo Min - 27caa07a81SChangwoo Min type: flags 28caa07a81SChangwoo Min name: perf-domain-flags 29caa07a81SChangwoo Min entries: 30caa07a81SChangwoo Min - 31caa07a81SChangwoo Min name: perf-domain-microwatts 32caa07a81SChangwoo Min doc: >- 33caa07a81SChangwoo Min The power values are in micro-Watts or some other scale. 34caa07a81SChangwoo Min - 35caa07a81SChangwoo Min name: perf-domain-skip-inefficiencies 36caa07a81SChangwoo Min doc: >- 37caa07a81SChangwoo Min Skip inefficient states when estimating energy consumption. 38caa07a81SChangwoo Min - 39caa07a81SChangwoo Min name: perf-domain-artificial 40caa07a81SChangwoo Min doc: >- 41caa07a81SChangwoo Min The power values are artificial and might be created by platform 42caa07a81SChangwoo Min missing real power information. 43caa07a81SChangwoo Min 44caa07a81SChangwoo Minattribute-sets: 45caa07a81SChangwoo Min - 46caa07a81SChangwoo Min name: perf-domain 47caa07a81SChangwoo Min doc: >- 48caa07a81SChangwoo Min Information on a single performance domains. 49caa07a81SChangwoo Min attributes: 50caa07a81SChangwoo Min - 51caa07a81SChangwoo Min name: pad 52caa07a81SChangwoo Min type: pad 53caa07a81SChangwoo Min - 54caa07a81SChangwoo Min name: perf-domain-id 55caa07a81SChangwoo Min type: u32 56caa07a81SChangwoo Min doc: >- 57caa07a81SChangwoo Min A unique ID number for each performance domain. 58caa07a81SChangwoo Min - 59caa07a81SChangwoo Min name: flags 60caa07a81SChangwoo Min type: u64 61caa07a81SChangwoo Min doc: >- 62caa07a81SChangwoo Min Bitmask of performance domain flags. 63caa07a81SChangwoo Min enum: perf-domain-flags 64caa07a81SChangwoo Min - 65caa07a81SChangwoo Min name: cpus 66d29b900cSChangwoo Min type: u64 67d29b900cSChangwoo Min multi-attr: true 68caa07a81SChangwoo Min doc: >- 69caa07a81SChangwoo Min CPUs that belong to this performance domain. 70caa07a81SChangwoo Min - 71caa07a81SChangwoo Min name: perf-table 72caa07a81SChangwoo Min doc: >- 73caa07a81SChangwoo Min Performance states table. 74caa07a81SChangwoo Min attributes: 75caa07a81SChangwoo Min - 76caa07a81SChangwoo Min name: perf-domain-id 77caa07a81SChangwoo Min type: u32 78caa07a81SChangwoo Min doc: >- 79caa07a81SChangwoo Min A unique ID number for each performance domain. 80caa07a81SChangwoo Min - 81caa07a81SChangwoo Min name: perf-state 82caa07a81SChangwoo Min type: nest 83caa07a81SChangwoo Min nested-attributes: perf-state 84caa07a81SChangwoo Min multi-attr: true 85caa07a81SChangwoo Min - 86caa07a81SChangwoo Min name: perf-state 87caa07a81SChangwoo Min doc: >- 88caa07a81SChangwoo Min Performance state of a performance domain. 89caa07a81SChangwoo Min attributes: 90caa07a81SChangwoo Min - 91caa07a81SChangwoo Min name: pad 92caa07a81SChangwoo Min type: pad 93caa07a81SChangwoo Min - 94caa07a81SChangwoo Min name: performance 95caa07a81SChangwoo Min type: u64 96caa07a81SChangwoo Min doc: >- 97caa07a81SChangwoo Min CPU performance (capacity) at a given frequency. 98caa07a81SChangwoo Min - 99caa07a81SChangwoo Min name: frequency 100caa07a81SChangwoo Min type: u64 101caa07a81SChangwoo Min doc: >- 102caa07a81SChangwoo Min The frequency in KHz, for consistency with CPUFreq. 103caa07a81SChangwoo Min - 104caa07a81SChangwoo Min name: power 105caa07a81SChangwoo Min type: u64 106caa07a81SChangwoo Min doc: >- 107caa07a81SChangwoo Min The power consumed at this level (by 1 CPU or by a registered 108caa07a81SChangwoo Min device). It can be a total power: static and dynamic. 109caa07a81SChangwoo Min - 110caa07a81SChangwoo Min name: cost 111caa07a81SChangwoo Min type: u64 112caa07a81SChangwoo Min doc: >- 113caa07a81SChangwoo Min The cost coefficient associated with this level, used during energy 114caa07a81SChangwoo Min calculation. Equal to: power * max_frequency / frequency. 115caa07a81SChangwoo Min - 116caa07a81SChangwoo Min name: flags 117caa07a81SChangwoo Min type: u64 118caa07a81SChangwoo Min doc: >- 119caa07a81SChangwoo Min Bitmask of performance state flags. 120caa07a81SChangwoo Min enum: perf-state-flags 121caa07a81SChangwoo Min 122caa07a81SChangwoo Minoperations: 123caa07a81SChangwoo Min list: 124caa07a81SChangwoo Min - 125caa07a81SChangwoo Min name: get-perf-domains 126*380ff27aSChangwoo Min attribute-set: perf-domain 127caa07a81SChangwoo Min doc: Get the list of information for all performance domains. 128caa07a81SChangwoo Min do: 129*380ff27aSChangwoo Min request: 130caa07a81SChangwoo Min attributes: 131*380ff27aSChangwoo Min - perf-domain-id 132*380ff27aSChangwoo Min reply: 133*380ff27aSChangwoo Min attributes: &perf-domain-attrs 134*380ff27aSChangwoo Min - pad 135*380ff27aSChangwoo Min - perf-domain-id 136*380ff27aSChangwoo Min - flags 137*380ff27aSChangwoo Min - cpus 138*380ff27aSChangwoo Min dump: 139*380ff27aSChangwoo Min reply: 140*380ff27aSChangwoo Min attributes: *perf-domain-attrs 141caa07a81SChangwoo Min - 142caa07a81SChangwoo Min name: get-perf-table 143caa07a81SChangwoo Min attribute-set: perf-table 144caa07a81SChangwoo Min doc: Get the energy model table of a performance domain. 145caa07a81SChangwoo Min do: 146caa07a81SChangwoo Min request: 147caa07a81SChangwoo Min attributes: 148caa07a81SChangwoo Min - perf-domain-id 149caa07a81SChangwoo Min reply: 150caa07a81SChangwoo Min attributes: 151caa07a81SChangwoo Min - perf-domain-id 152caa07a81SChangwoo Min - perf-state 153caa07a81SChangwoo Min - 154caa07a81SChangwoo Min name: perf-domain-created 155caa07a81SChangwoo Min doc: A performance domain is created. 156caa07a81SChangwoo Min notify: get-perf-table 157caa07a81SChangwoo Min mcgrp: event 158caa07a81SChangwoo Min - 159caa07a81SChangwoo Min name: perf-domain-updated 160caa07a81SChangwoo Min doc: A performance domain is updated. 161caa07a81SChangwoo Min notify: get-perf-table 162caa07a81SChangwoo Min mcgrp: event 163caa07a81SChangwoo Min - 164caa07a81SChangwoo Min name: perf-domain-deleted 165caa07a81SChangwoo Min doc: A performance domain is deleted. 166caa07a81SChangwoo Min attribute-set: perf-table 167caa07a81SChangwoo Min event: 168caa07a81SChangwoo Min attributes: 169caa07a81SChangwoo Min - perf-domain-id 170caa07a81SChangwoo Min mcgrp: event 171caa07a81SChangwoo Min 172caa07a81SChangwoo Minmcast-groups: 173caa07a81SChangwoo Min list: 174caa07a81SChangwoo Min - 175caa07a81SChangwoo Min name: event 176