Lines Matching +full:power +full:- +full:on

1 .. SPDX-License-Identifier: GPL-2.0
4 Dynamic Thermal Power Management framework
7 On the embedded world, the complexity of the SoC leads to an
12 Another aspect is to sustain the performance for a given power budget,
15 reduce the battery charging because the dissipated power is too high
16 compared with the power consumed by other devices.
18 The user space is the most adequate place to dynamically act on the
19 different devices by limiting their power given an application
22 The Dynamic Thermal Power Management (DTPM) is a technique acting on
23 the device power by limiting and/or balancing a power budget among
26 The DTPM framework provides an unified interface to act on the
27 device power.
32 The DTPM framework relies on the powercap framework to create the
34 driver to do the connection with the power manageable device.
36 The DTPM is a tree representation describing the power constraints
39 The nodes of the tree are a virtual description aggregating the power
40 characteristics of the children nodes and their power limitations.
42 The leaves of the tree are the real power manageable devices.
48 `-- pkg
50 |-- pd0 (cpu0-3)
52 `-- pd1 (cpu4-5)
54 The pkg power will be the sum of pd0 and pd1 power numbers::
56 SoC (400mW - 3100mW)
58 `-- pkg (400mW - 3100mW)
60 |-- pd0 (100mW - 700mW)
62 `-- pd1 (300mW - 2400mW)
64 When the nodes are inserted in the tree, their power characteristics are propagated to the parents::
66 SoC (600mW - 5900mW)
68 |-- pkg (400mW - 3100mW)
70 | |-- pd0 (100mW - 700mW)
72 | `-- pd1 (300mW - 2400mW)
74 `-- pd2 (200mW - 2800mW)
76 Each node have a weight on a 2^10 basis reflecting the percentage of power consumption along the si…
80 |-- pkg (w=538)
82 | |-- pd0 (w=231)
84 | `-- pd1 (w=794)
86 `-- pd2 (w=486)
90 When a power limitation is applied to a node, then it is distributed along the children given their…
92 SoC (w=1024) <--- power_limit = 3200mW
94 |-- pkg (w=538) --> power_limit = 1681mW
96 | |-- pd0 (w=231) --> power_limit = 378mW
98 | `-- pd1 (w=794) --> power_limit = 1303mW
100 `-- pd2 (w=486) --> power_limit = 1519mW
104 ----------------
108 space a flat representation of all the devices supporting the power
109 limitation without any power limitation distribution.
112 ------------------------
114 The different devices supporting the power limitation are represented
119 The intermediate nodes aggregate the power information and allows to
120 set the power limit given the weight of the nodes.
125 As stated in the overview, the DTPM framework is built on top of the
129 * power_uw: Instantaneous power consumption. If the node is an
130 intermediate node, then the power consumption will be the sum of all
131 children power consumption.
133 * max_power_range_uw: The power range resulting of the maximum power
134 minus the minimum power.
142 * constraint_X_max_power_uw: The maximum power limit to be applicable
145 * constraint_X_power_limit_uw: The power limit to be applied to the
150 on the constraint number.
153 -----------
155 * Constraint 0: The power limitation is immediately applied, without
162 --------
164 The DTPM framework has no power limiting backend support. It is
166 implement the backend part for the power limitation and create the
167 power constraints tree.
187 steps to add a new power limitable device is done in three steps:
190 * Set the power number of the dtpm node
195 power and the limit.
200 If a device has its power characteristics changing, then the tree must
201 be updated with the new power numbers and weights.
204 ------------
212 * dtpm_update_power() : Update the power characteristics of the dtpm node