firmware: arm_scmi: Extend perf protocol ops to get information of a domain
[linux-2.6-microblaze.git] / include / linux / scmi_protocol.h
index 14791dd..9108fe8 100644 (file)
@@ -106,11 +106,17 @@ struct scmi_clk_proto_ops {
                              u8 oem_type, u32 oem_val, bool atomic);
 };
 
+struct scmi_perf_domain_info {
+       char name[SCMI_MAX_STR_SIZE];
+       bool set_perf;
+};
+
 /**
  * struct scmi_perf_proto_ops - represents the various operations provided
  *     by SCMI Performance Protocol
  *
  * @num_domains_get: gets the number of supported performance domains
+ * @info_get: get the information of a performance domain
  * @limits_set: sets limits on the performance level of a domain
  * @limits_get: gets limits on the performance level of a domain
  * @level_set: sets the performance level of a domain
@@ -131,6 +137,8 @@ struct scmi_clk_proto_ops {
  */
 struct scmi_perf_proto_ops {
        int (*num_domains_get)(const struct scmi_protocol_handle *ph);
+       const struct scmi_perf_domain_info __must_check *(*info_get)
+               (const struct scmi_protocol_handle *ph, u32 domain);
        int (*limits_set)(const struct scmi_protocol_handle *ph, u32 domain,
                          u32 max_perf, u32 min_perf);
        int (*limits_get)(const struct scmi_protocol_handle *ph, u32 domain,