Lines Matching refs:ipc4_msg
322 struct sof_ipc4_msg *ipc4_msg = msg->msg_data; in ipc4_wait_tx_done() local
331 ipc4_msg->primary, ipc4_msg->extension); in ipc4_wait_tx_done()
338 ipc4_msg->primary, ipc4_msg->extension); in ipc4_wait_tx_done()
356 sof_ipc4_log_header(sdev->dev, "ipc tx done ", ipc4_msg, true); in ipc4_wait_tx_done()
372 struct sof_ipc4_msg *ipc4_msg = msg_data; in ipc4_tx_msg_unlocked() local
385 __func__, ipc4_msg->primary, ipc4_msg->extension, ret); in ipc4_tx_msg_unlocked()
443 struct sof_ipc4_msg *ipc4_msg = data; in sof_ipc4_set_get_data() local
454 if ((ipc4_msg->primary & SOF_IPC4_MSG_TARGET_MASK) != in sof_ipc4_set_get_data()
458 ipc4_msg->primary &= ~SOF_IPC4_MSG_TYPE_MASK; in sof_ipc4_set_get_data()
459 tx.primary = ipc4_msg->primary; in sof_ipc4_set_get_data()
460 tx.extension = ipc4_msg->extension; in sof_ipc4_set_get_data()
499 tx.data_ptr = ipc4_msg->data_ptr + offset; in sof_ipc4_set_get_data()
507 rx.data_ptr = ipc4_msg->data_ptr + offset; in sof_ipc4_set_get_data()
548 ipc4_msg->data_size = offset; in sof_ipc4_set_get_data()
552 sof_ipc4_dump_payload(sdev, ipc4_msg->data_ptr, ipc4_msg->data_size); in sof_ipc4_set_get_data()
561 struct sof_ipc4_msg *ipc4_msg; in sof_ipc4_init_msg_memory() local
573 ipc4_msg = msg->reply_data; in sof_ipc4_init_msg_memory()
574 ipc4_msg->data_ptr = msg->reply_data + sizeof(struct sof_ipc4_msg); in sof_ipc4_init_msg_memory()
602 static int ipc4_fw_ready(struct snd_sof_dev *sdev, struct sof_ipc4_msg *ipc4_msg) in ipc4_fw_ready() argument
612 ipc4_data->libraries_restored = !!(ipc4_msg->primary & in ipc4_fw_ready()
624 struct sof_ipc4_msg *ipc4_msg) in sof_ipc4_module_notification_handler() argument
626 struct sof_ipc4_notify_module_data *data = ipc4_msg->data_ptr; in sof_ipc4_module_notification_handler()
637 ipc4_msg->data_size += data->event_data_size; in sof_ipc4_module_notification_handler()
639 new = krealloc(ipc4_msg->data_ptr, ipc4_msg->data_size, GFP_KERNEL); in sof_ipc4_module_notification_handler()
641 ipc4_msg->data_size -= data->event_data_size; in sof_ipc4_module_notification_handler()
646 ipc4_msg->data_ptr = new; in sof_ipc4_module_notification_handler()
647 ret = snd_sof_ipc_msg_data(sdev, NULL, ipc4_msg->data_ptr, in sof_ipc4_module_notification_handler()
648 ipc4_msg->data_size); in sof_ipc4_module_notification_handler()
655 data = ipc4_msg->data_ptr; in sof_ipc4_module_notification_handler()
664 tplg_ops->control->update(sdev, ipc4_msg); in sof_ipc4_module_notification_handler()
670 struct sof_ipc4_msg *ipc4_msg = sdev->ipc->msg.rx_data; in sof_ipc4_rx_msg() local
675 if (!ipc4_msg || !SOF_IPC4_MSG_IS_NOTIFICATION(ipc4_msg->primary)) in sof_ipc4_rx_msg()
678 ipc4_msg->data_ptr = NULL; in sof_ipc4_rx_msg()
679 ipc4_msg->data_size = 0; in sof_ipc4_rx_msg()
681 sof_ipc4_log_header(sdev->dev, "ipc rx ", ipc4_msg, false); in sof_ipc4_rx_msg()
683 switch (SOF_IPC4_NOTIFICATION_TYPE_GET(ipc4_msg->primary)) { in sof_ipc4_rx_msg()
687 err = ipc4_fw_ready(sdev, ipc4_msg); in sof_ipc4_rx_msg()
702 sof_ipc4_mtrace_update_pos(sdev, SOF_IPC4_LOG_CORE_GET(ipc4_msg->primary)); in sof_ipc4_rx_msg()
713 ipc4_msg->primary, ipc4_msg->extension); in sof_ipc4_rx_msg()
718 ipc4_msg->data_ptr = kmalloc(data_size, GFP_KERNEL); in sof_ipc4_rx_msg()
719 if (!ipc4_msg->data_ptr) in sof_ipc4_rx_msg()
722 ipc4_msg->data_size = data_size; in sof_ipc4_rx_msg()
723 err = snd_sof_ipc_msg_data(sdev, NULL, ipc4_msg->data_ptr, ipc4_msg->data_size); in sof_ipc4_rx_msg()
726 kfree(ipc4_msg->data_ptr); in sof_ipc4_rx_msg()
727 ipc4_msg->data_ptr = NULL; in sof_ipc4_rx_msg()
728 ipc4_msg->data_size = 0; in sof_ipc4_rx_msg()
735 handler_func(sdev, ipc4_msg); in sof_ipc4_rx_msg()
737 sof_ipc4_log_header(sdev->dev, "ipc rx done ", ipc4_msg, true); in sof_ipc4_rx_msg()
741 sof_ipc4_dump_payload(sdev, ipc4_msg->data_ptr, in sof_ipc4_rx_msg()
742 ipc4_msg->data_size); in sof_ipc4_rx_msg()
744 kfree(ipc4_msg->data_ptr); in sof_ipc4_rx_msg()
745 ipc4_msg->data_ptr = NULL; in sof_ipc4_rx_msg()
746 ipc4_msg->data_size = 0; in sof_ipc4_rx_msg()