Lines Matching defs:msg

9 #include <drivers/scmi-msg.h>
61 static void report_version(struct scmi_msg *msg)
68 if (msg->in_size != 0) {
69 scmi_status_response(msg, SCMI_PROTOCOL_ERROR);
73 scmi_write_response(msg, &return_values, sizeof(return_values));
76 static void report_attributes(struct scmi_msg *msg)
85 if (msg->in_size != 0) {
86 scmi_status_response(msg, SCMI_PROTOCOL_ERROR);
90 return_values.attributes = plat_scmi_pd_count(msg->agent_id);
91 len = plat_scmi_pd_statistics(msg->agent_id, &addr);
98 scmi_write_response(msg, &return_values, sizeof(return_values));
101 static void report_message_attributes(struct scmi_msg *msg)
103 struct scmi_protocol_message_attributes_a2p *in_args = (void *)msg->in;
110 if (msg->in_size != sizeof(*in_args)) {
111 scmi_status_response(msg, SCMI_PROTOCOL_ERROR);
116 scmi_status_response(msg, SCMI_NOT_FOUND);
120 scmi_write_response(msg, &return_values, sizeof(return_values));
123 static void scmi_pd_attributes(struct scmi_msg *msg)
125 const struct scmi_pd_attributes_a2p *in_args = (void *)msg->in;
132 if (msg->in_size != sizeof(*in_args)) {
133 scmi_status_response(msg, SCMI_PROTOCOL_ERROR);
139 if (pd_id >= plat_scmi_pd_count(msg->agent_id)) {
140 scmi_status_response(msg, SCMI_INVALID_PARAMETERS);
144 name = plat_scmi_pd_get_name(msg->agent_id, pd_id);
146 scmi_status_response(msg, SCMI_NOT_FOUND);
152 return_values.attributes = plat_scmi_pd_get_attributes(msg->agent_id, pd_id);
154 scmi_write_response(msg, &return_values, sizeof(return_values));
157 static void scmi_pd_state_get(struct scmi_msg *msg)
159 const struct scmi_pd_state_get_a2p *in_args = (void *)msg->in;
166 if (msg->in_size != sizeof(*in_args)) {
167 scmi_status_response(msg, SCMI_PROTOCOL_ERROR);
173 if (pd_id >= plat_scmi_pd_count(msg->agent_id)) {
174 scmi_status_response(msg, SCMI_INVALID_PARAMETERS);
178 state = plat_scmi_pd_get_state(msg->agent_id, pd_id);
182 scmi_write_response(msg, &return_values, sizeof(return_values));
185 static void scmi_pd_state_set(struct scmi_msg *msg)
187 const struct scmi_pd_state_set_a2p *in_args = (void *)msg->in;
193 if (msg->in_size != sizeof(*in_args)) {
194 scmi_status_response(msg, SCMI_PROTOCOL_ERROR);
200 if (pd_id >= plat_scmi_pd_count(msg->agent_id)) {
201 scmi_status_response(msg, SCMI_INVALID_PARAMETERS);
208 status = plat_scmi_pd_set_state(msg->agent_id, flags, pd_id, state);
210 scmi_status_response(msg, status);
228 scmi_msg_handler_t scmi_msg_get_pd_handler(struct scmi_msg *msg)
231 unsigned int message_id = SPECULATION_SAFE_VALUE(msg->message_id);
234 VERBOSE("pd handle not found %u", msg->message_id);