aboutsummaryrefslogtreecommitdiff
path: root/include/linux/scmi_protocol.h
diff options
context:
space:
mode:
authorGravatar Lukasz Luba <lukasz.luba@arm.com> 2022-07-07 08:15:54 +0100
committerGravatar Rafael J. Wysocki <rafael.j.wysocki@intel.com> 2022-07-15 19:17:30 +0200
commit5e0fd2026cdd474a85b3135c312912321e60f47a (patch)
treed4410844132a8ad5e6f55333a16c4980c41a254e /include/linux/scmi_protocol.h
parentDocumentation: EM: Switch to micro-Watts scale (diff)
downloadlinux-5e0fd2026cdd474a85b3135c312912321e60f47a.tar.gz
linux-5e0fd2026cdd474a85b3135c312912321e60f47a.tar.bz2
linux-5e0fd2026cdd474a85b3135c312912321e60f47a.zip
firmware: arm_scmi: Get detailed power scale from perf
In SCMI v3.1 the power scale can be in micro-Watts. The upper layers, e.g. cpufreq and EM should handle received power values properly (upscale when needed). Thus, provide an interface which allows to check what is the scale for power values. The old interface allowed to distinguish between bogo-Watts and milli-Watts only (which was good for older SCMI spec). Acked-by: Sudeep Holla <sudeep.holla@arm.com> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include/linux/scmi_protocol.h')
-rw-r--r--include/linux/scmi_protocol.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/scmi_protocol.h b/include/linux/scmi_protocol.h
index 704111f63993..a0a246310ba1 100644
--- a/include/linux/scmi_protocol.h
+++ b/include/linux/scmi_protocol.h
@@ -60,6 +60,12 @@ struct scmi_clock_info {
};
};
+enum scmi_power_scale {
+ SCMI_POWER_BOGOWATTS,
+ SCMI_POWER_MILLIWATTS,
+ SCMI_POWER_MICROWATTS
+};
+
struct scmi_handle;
struct scmi_device;
struct scmi_protocol_handle;
@@ -135,7 +141,7 @@ struct scmi_perf_proto_ops {
unsigned long *rate, unsigned long *power);
bool (*fast_switch_possible)(const struct scmi_protocol_handle *ph,
struct device *dev);
- bool (*power_scale_mw_get)(const struct scmi_protocol_handle *ph);
+ enum scmi_power_scale (*power_scale_get)(const struct scmi_protocol_handle *ph);
};
/**