On Mon, Sep 25, 2023 at 10:11 AM Lukasz Luba <lukasz.luba@xxxxxxx> wrote:
The Energy Model (EM) is going to support runtime modifications. This
new callback would be used in the upcoming EM changes. The drivers
or frameworks which want to modify the EM have to implement the
update_power() callback.
Signed-off-by: Lukasz Luba <lukasz.luba@xxxxxxx>
---
include/linux/energy_model.h | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/include/linux/energy_model.h b/include/linux/energy_model.h
index d236e08e80dc..546dee90f716 100644
--- a/include/linux/energy_model.h
+++ b/include/linux/energy_model.h
@@ -168,6 +168,26 @@ struct em_data_callback {
*/
int (*get_cost)(struct device *dev, unsigned long freq,
unsigned long *cost);
+
+ /**
+ * update_power() - Provide new power at the given performance state of
+ * a device
The meaning of the above is unclear to me.
+ * @dev : Device for which we do this operation (can be a CPU)
It is unclear what "we" means in this context. Maybe say "Target
device (can be a CPU)"?
+ * @freq : Frequency at the performance state in kHz
What performance state does this refer to? And the frequency of what?
+ * @power : New power value at the performance state
+ * (modified)
Similarly unclear as the above.
+ * @priv : Pointer to private data useful for tracking context
+ * during runtime modifications of EM.
Who's going to set this pointer and use this data?
+ *
+ * The update_power() is used by runtime modifiable EM. It aims to
I would drop "The" from the above.
+ * provide updated power value for a given frequency, which is stored
+ * in the performance state.
A given frequency of what and the performance state of what does this refer to?