firmware: arm_scmi: Extend perf protocol ops to get information of a domain
[platform/kernel/linux-starfive.git] / include / linux / scmi_protocol.h
index 71b39cb..71923ae 100644 (file)
@@ -97,11 +97,17 @@ struct scmi_clk_proto_ops {
                              u32 clk_id);
 };
 
+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
@@ -122,6 +128,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,