Merge tag 'pm-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
[sfrench/cifs-2.6.git] / drivers / firmware / arm_scmi / protocols.h
index e683c26f24eb0cffac8a817c6d8162a61ae1d4c2..317d3fb32676a9197c4a55780d886f223cbbb417 100644 (file)
@@ -33,6 +33,7 @@ enum scmi_common_cmd {
        PROTOCOL_VERSION = 0x0,
        PROTOCOL_ATTRIBUTES = 0x1,
        PROTOCOL_MESSAGE_ATTRIBUTES = 0x2,
+       NEGOTIATE_PROTOCOL_VERSION = 0x10,
 };
 
 /**
@@ -234,6 +235,7 @@ struct scmi_fc_info {
        void __iomem *set_addr;
        void __iomem *get_addr;
        struct scmi_fc_db_info *set_db;
+       u32 rate_limit;
 };
 
 /**
@@ -251,6 +253,8 @@ struct scmi_fc_info {
  *                     provided in @ops.
  * @iter_response_run: A common helper to trigger the run of a previously
  *                    initialized iterator.
+ * @protocol_msg_check: A common helper to check is a specific protocol message
+ *                     is supported.
  * @fastchannel_init: A common helper used to initialize FC descriptors by
  *                   gathering FC descriptions from the SCMI platform server.
  * @fastchannel_db_ring: A common helper to ring a FC doorbell.
@@ -264,11 +268,14 @@ struct scmi_proto_helpers_ops {
                                    unsigned int max_resources, u8 msg_id,
                                    size_t tx_size, void *priv);
        int (*iter_response_run)(void *iter);
+       int (*protocol_msg_check)(const struct scmi_protocol_handle *ph,
+                                 u32 message_id, u32 *attributes);
        void (*fastchannel_init)(const struct scmi_protocol_handle *ph,
                                 u8 describe_id, u32 message_id,
                                 u32 valid_size, u32 domain,
                                 void __iomem **p_addr,
-                                struct scmi_fc_db_info **p_db);
+                                struct scmi_fc_db_info **p_db,
+                                u32 *rate_limit);
        void (*fastchannel_db_ring)(struct scmi_fc_db_info *db);
 };