Lines Matching refs:msg
251 static void skl_ipc_tx_data_copy(struct ipc_message *msg, char *tx_data, in skl_ipc_tx_data_copy() argument
255 memcpy(msg->tx_data, tx_data, tx_size); in skl_ipc_tx_data_copy()
267 static void skl_ipc_tx_msg(struct sst_generic_ipc *ipc, struct ipc_message *msg) in skl_ipc_tx_msg() argument
269 struct skl_ipc_header *header = (struct skl_ipc_header *)(&msg->header); in skl_ipc_tx_msg()
271 if (msg->tx_size) in skl_ipc_tx_msg()
272 sst_dsp_outbox_write(ipc->dsp, msg->tx_data, msg->tx_size); in skl_ipc_tx_msg()
282 struct ipc_message *msg = NULL; in skl_ipc_reply_get_msg() local
291 msg = list_first_entry(&ipc->rx_list, struct ipc_message, list); in skl_ipc_reply_get_msg()
294 return msg; in skl_ipc_reply_get_msg()
333 struct ipc_message *msg; in skl_ipc_process_reply() local
337 msg = skl_ipc_reply_get_msg(ipc, *ipc_header); in skl_ipc_process_reply()
338 if (msg == NULL) { in skl_ipc_process_reply()
351 msg->errno = -ENOMEM; in skl_ipc_process_reply()
356 msg->errno = -EBUSY; in skl_ipc_process_reply()
361 msg->errno = -EINVAL; in skl_ipc_process_reply()
371 list_del(&msg->list); in skl_ipc_process_reply()
372 sst_ipc_tx_msg_reply_complete(ipc, msg); in skl_ipc_process_reply()
664 struct skl_ipc_init_instance_msg *msg, void *param_data) in skl_ipc_init_instance() argument
671 u16 param_block_size = msg->param_data_size / sizeof(u32); in skl_ipc_init_instance()
679 header.primary |= IPC_MOD_INSTANCE_ID(msg->instance_id); in skl_ipc_init_instance()
680 header.primary |= IPC_MOD_ID(msg->module_id); in skl_ipc_init_instance()
682 header.extension = IPC_CORE_ID(msg->core_id); in skl_ipc_init_instance()
683 header.extension |= IPC_PPL_INSTANCE_ID(msg->ppl_instance_id); in skl_ipc_init_instance()
689 msg->param_data_size, NULL, 0); in skl_ipc_init_instance()
701 struct skl_ipc_bind_unbind_msg *msg) in skl_ipc_bind_unbind() argument
705 u8 bind_unbind = msg->bind ? IPC_MOD_BIND : IPC_MOD_UNBIND; in skl_ipc_bind_unbind()
711 header.primary |= IPC_MOD_INSTANCE_ID(msg->instance_id); in skl_ipc_bind_unbind()
712 header.primary |= IPC_MOD_ID(msg->module_id); in skl_ipc_bind_unbind()
714 header.extension = IPC_DST_MOD_ID(msg->dst_module_id); in skl_ipc_bind_unbind()
715 header.extension |= IPC_DST_MOD_INSTANCE_ID(msg->dst_instance_id); in skl_ipc_bind_unbind()
716 header.extension |= IPC_DST_QUEUE(msg->dst_queue); in skl_ipc_bind_unbind()
717 header.extension |= IPC_SRC_QUEUE(msg->src_queue); in skl_ipc_bind_unbind()
732 struct skl_ipc_large_config_msg *msg, u32 *param) in skl_ipc_set_large_config() argument
742 header.primary |= IPC_MOD_INSTANCE_ID(msg->instance_id); in skl_ipc_set_large_config()
743 header.primary |= IPC_MOD_ID(msg->module_id); in skl_ipc_set_large_config()
745 header.extension = IPC_DATA_OFFSET_SZ(msg->param_data_size); in skl_ipc_set_large_config()
746 header.extension |= IPC_LARGE_PARAM_ID(msg->large_param_id); in skl_ipc_set_large_config()
750 sz_remaining = msg->param_data_size; in skl_ipc_set_large_config()
771 data_offset = msg->param_data_size - sz_remaining; in skl_ipc_set_large_config()