Lines Matching refs:ipc4_msg
297 struct sof_ipc4_msg *ipc4_msg = msg->msg_data; in ipc4_wait_tx_done() local
306 ipc4_msg->primary, ipc4_msg->extension); in ipc4_wait_tx_done()
313 ipc4_msg->primary, ipc4_msg->extension); in ipc4_wait_tx_done()
331 sof_ipc4_log_header(sdev->dev, "ipc tx done ", ipc4_msg, true); in ipc4_wait_tx_done()
347 struct sof_ipc4_msg *ipc4_msg = msg_data; in ipc4_tx_msg_unlocked() local
360 __func__, ipc4_msg->primary, ipc4_msg->extension, ret); in ipc4_tx_msg_unlocked()
418 struct sof_ipc4_msg *ipc4_msg = data; in sof_ipc4_set_get_data() local
429 if ((ipc4_msg->primary & SOF_IPC4_MSG_TARGET_MASK) != in sof_ipc4_set_get_data()
433 ipc4_msg->primary &= ~SOF_IPC4_MSG_TYPE_MASK; in sof_ipc4_set_get_data()
434 tx.primary = ipc4_msg->primary; in sof_ipc4_set_get_data()
435 tx.extension = ipc4_msg->extension; in sof_ipc4_set_get_data()
474 tx.data_ptr = ipc4_msg->data_ptr + offset; in sof_ipc4_set_get_data()
482 rx.data_ptr = ipc4_msg->data_ptr + offset; in sof_ipc4_set_get_data()
523 ipc4_msg->data_size = offset; in sof_ipc4_set_get_data()
527 sof_ipc4_dump_payload(sdev, ipc4_msg->data_ptr, ipc4_msg->data_size); in sof_ipc4_set_get_data()
536 struct sof_ipc4_msg *ipc4_msg; in sof_ipc4_init_msg_memory() local
548 ipc4_msg = msg->reply_data; in sof_ipc4_init_msg_memory()
549 ipc4_msg->data_ptr = msg->reply_data + sizeof(struct sof_ipc4_msg); in sof_ipc4_init_msg_memory()
577 static int ipc4_fw_ready(struct snd_sof_dev *sdev, struct sof_ipc4_msg *ipc4_msg) in ipc4_fw_ready() argument
589 struct sof_ipc4_msg *ipc4_msg) in sof_ipc4_module_notification_handler() argument
591 struct sof_ipc4_notify_module_data *data = ipc4_msg->data_ptr; in sof_ipc4_module_notification_handler()
602 ipc4_msg->data_size += data->event_data_size; in sof_ipc4_module_notification_handler()
604 new = krealloc(ipc4_msg->data_ptr, ipc4_msg->data_size, GFP_KERNEL); in sof_ipc4_module_notification_handler()
606 ipc4_msg->data_size -= data->event_data_size; in sof_ipc4_module_notification_handler()
611 ipc4_msg->data_ptr = new; in sof_ipc4_module_notification_handler()
612 ret = snd_sof_ipc_msg_data(sdev, NULL, ipc4_msg->data_ptr, in sof_ipc4_module_notification_handler()
613 ipc4_msg->data_size); in sof_ipc4_module_notification_handler()
620 data = ipc4_msg->data_ptr; in sof_ipc4_module_notification_handler()
629 tplg_ops->control->update(sdev, ipc4_msg); in sof_ipc4_module_notification_handler()
635 struct sof_ipc4_msg *ipc4_msg = sdev->ipc->msg.rx_data; in sof_ipc4_rx_msg() local
640 if (!ipc4_msg || !SOF_IPC4_MSG_IS_NOTIFICATION(ipc4_msg->primary)) in sof_ipc4_rx_msg()
643 ipc4_msg->data_ptr = NULL; in sof_ipc4_rx_msg()
644 ipc4_msg->data_size = 0; in sof_ipc4_rx_msg()
646 sof_ipc4_log_header(sdev->dev, "ipc rx ", ipc4_msg, false); in sof_ipc4_rx_msg()
648 switch (SOF_IPC4_NOTIFICATION_TYPE_GET(ipc4_msg->primary)) { in sof_ipc4_rx_msg()
652 err = ipc4_fw_ready(sdev, ipc4_msg); in sof_ipc4_rx_msg()
667 sof_ipc4_mtrace_update_pos(sdev, SOF_IPC4_LOG_CORE_GET(ipc4_msg->primary)); in sof_ipc4_rx_msg()
678 ipc4_msg->primary, ipc4_msg->extension); in sof_ipc4_rx_msg()
683 ipc4_msg->data_ptr = kmalloc(data_size, GFP_KERNEL); in sof_ipc4_rx_msg()
684 if (!ipc4_msg->data_ptr) in sof_ipc4_rx_msg()
687 ipc4_msg->data_size = data_size; in sof_ipc4_rx_msg()
688 err = snd_sof_ipc_msg_data(sdev, NULL, ipc4_msg->data_ptr, ipc4_msg->data_size); in sof_ipc4_rx_msg()
691 kfree(ipc4_msg->data_ptr); in sof_ipc4_rx_msg()
692 ipc4_msg->data_ptr = NULL; in sof_ipc4_rx_msg()
693 ipc4_msg->data_size = 0; in sof_ipc4_rx_msg()
700 handler_func(sdev, ipc4_msg); in sof_ipc4_rx_msg()
702 sof_ipc4_log_header(sdev->dev, "ipc rx done ", ipc4_msg, true); in sof_ipc4_rx_msg()
706 sof_ipc4_dump_payload(sdev, ipc4_msg->data_ptr, in sof_ipc4_rx_msg()
707 ipc4_msg->data_size); in sof_ipc4_rx_msg()
709 kfree(ipc4_msg->data_ptr); in sof_ipc4_rx_msg()
710 ipc4_msg->data_ptr = NULL; in sof_ipc4_rx_msg()
711 ipc4_msg->data_size = 0; in sof_ipc4_rx_msg()