Lines Matching refs:msg
97 static void report_version(struct scmi_msg *msg) in report_version() argument
104 if (msg->in_size != 0U) { in report_version()
105 scmi_status_response(msg, SCMI_PROTOCOL_ERROR); in report_version()
109 scmi_write_response(msg, &return_values, sizeof(return_values)); in report_version()
112 static void report_attributes(struct scmi_msg *msg) in report_attributes() argument
121 if (msg->in_size != 0U) { in report_attributes()
122 scmi_status_response(msg, SCMI_PROTOCOL_ERROR); in report_attributes()
126 return_values.num_sensors = plat_scmi_sensor_count(msg->agent_id); in report_attributes()
127 return_values.max_reqs = plat_scmi_sensor_max_requests(msg->agent_id); in report_attributes()
128 len = plat_scmi_sensor_reg(msg->agent_id, addr); in report_attributes()
135 scmi_write_response(msg, &return_values, sizeof(return_values)); in report_attributes()
138 static void report_message_attributes(struct scmi_msg *msg) in report_message_attributes() argument
140 struct scmi_protocol_message_attributes_a2p *in_args = (void *)msg->in; in report_message_attributes()
147 if (msg->in_size != sizeof(*in_args)) { in report_message_attributes()
148 scmi_status_response(msg, SCMI_PROTOCOL_ERROR); in report_message_attributes()
153 scmi_status_response(msg, SCMI_NOT_FOUND); in report_message_attributes()
157 scmi_write_response(msg, &return_values, sizeof(return_values)); in report_message_attributes()
160 static void scmi_sensor_description_get(struct scmi_msg *msg) in scmi_sensor_description_get() argument
162 const struct scmi_sensor_description_get_a2p *in_args = (void *)msg->in; in scmi_sensor_description_get()
170 if (msg->in_size != sizeof(*in_args)) { in scmi_sensor_description_get()
171 scmi_status_response(msg, SCMI_PROTOCOL_ERROR); in scmi_sensor_description_get()
177 num_sensor_flags = plat_scmi_sensor_description_get(msg->agent_id, desc_index, in scmi_sensor_description_get()
181 memcpy(msg->out, &return_values, sizeof(return_values)); in scmi_sensor_description_get()
182 memcpy(msg->out + sizeof(return_values), &desc, sizeof(desc)); in scmi_sensor_description_get()
183 msg->out_size_out = sizeof(return_values) + sizeof(struct scmi_sensor_desc); in scmi_sensor_description_get()
186 static void scmi_sensor_config_get(struct scmi_msg *msg) in scmi_sensor_config_get() argument
188 const struct scmi_sensor_config_get_a2p *in_args = (void *)msg->in; in scmi_sensor_config_get()
195 if (msg->in_size != sizeof(*in_args)) { in scmi_sensor_config_get()
196 scmi_status_response(msg, SCMI_PROTOCOL_ERROR); in scmi_sensor_config_get()
202 if (sensor_id >= plat_scmi_sensor_count(msg->agent_id)) { in scmi_sensor_config_get()
203 scmi_status_response(msg, SCMI_INVALID_PARAMETERS); in scmi_sensor_config_get()
207 update_interval = plat_scmi_sensor_update_interval(msg->agent_id, sensor_id); in scmi_sensor_config_get()
208 state = plat_scmi_sensor_state(msg->agent_id, sensor_id); in scmi_sensor_config_get()
209 timestamped = plat_scmi_sensor_timestamped(msg->agent_id, sensor_id); in scmi_sensor_config_get()
212 scmi_write_response(msg, &return_values, sizeof(return_values)); in scmi_sensor_config_get()
215 static void scmi_sensor_reading_get(struct scmi_msg *msg) in scmi_sensor_reading_get() argument
217 const struct scmi_sensor_reading_get_a2p *in_args = (void *)msg->in; in scmi_sensor_reading_get()
224 if (msg->in_size != sizeof(*in_args)) { in scmi_sensor_reading_get()
225 scmi_status_response(msg, SCMI_PROTOCOL_ERROR); in scmi_sensor_reading_get()
231 if (sensor_id >= plat_scmi_sensor_count(msg->agent_id)) { in scmi_sensor_reading_get()
232 scmi_status_response(msg, SCMI_INVALID_PARAMETERS); in scmi_sensor_reading_get()
236 ret = plat_scmi_sensor_reading_get(msg->agent_id, sensor_id, in scmi_sensor_reading_get()
239 scmi_status_response(msg, SCMI_HARDWARE_ERROR); in scmi_sensor_reading_get()
243 scmi_write_response(msg, &return_values, sizeof(return_values)); in scmi_sensor_reading_get()
246 static void scmi_sensor_list_update_intervals(struct scmi_msg *msg) in scmi_sensor_list_update_intervals() argument
249 scmi_status_response(msg, SCMI_NOT_SUPPORTED); in scmi_sensor_list_update_intervals()
267 scmi_msg_handler_t scmi_msg_get_sensor_handler(struct scmi_msg *msg) in scmi_msg_get_sensor_handler() argument
269 unsigned int message_id = SPECULATION_SAFE_VALUE(msg->message_id); in scmi_msg_get_sensor_handler()
272 VERBOSE("pd handle not found %u\n", msg->message_id); in scmi_msg_get_sensor_handler()