Lines Matching +full:ipc +full:-
1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
38 #define SOF_DBG_PRINT_ALL_DUMPS BIT(6) /* Print all ipc and dsp dumps */
45 #define SOF_DBG_PRINT_IPC_SUCCESS_LOGS BIT(9) /* print IPC success
48 #define SOF_DBG_FORCE_NOCODEC BIT(10) /* ignore all codec-related
51 #define SOF_DBG_DUMP_IPC_MESSAGE_PAYLOAD BIT(11) /* On top of the IPC message header
87 u32 substate; /* platform-specific */
126 * struct snd_sof_platform_stream_params - platform dependent stream parameters
131 * @no_ipc_position: Disable position update IPC from firmware
143 * struct sof_firmware - Container struct for SOF firmware
219 /* ipc */
345 /* IPC client ops */
368 #define sof_dsp_arch_ops(sdev) ((sdev)->pdata->desc->ops->dsp_arch_ops)
377 * memory -> DSP resource (memory, register etc) is always accessible
405 /* mailbox descriptor, used for host <-> DSP IPC */
411 /* IPC message descriptor for host <-> DSP IO */
429 * struct sof_ipc_fw_tracing_ops - IPC-specific firmware tracing ops
445 * struct sof_ipc_pm_ops - IPC-specific PM ops
459 * struct sof_ipc_fw_loader_ops - IPC/FW-specific loader ops
477 * struct sof_ipc_ops - IPC-specific ops
478 * @tplg: Pointer to IPC-specific topology ops
484 * @init: Optional pointer for IPC related initialization
485 * @exit: Optional pointer for IPC related cleanup
486 * @post_fw_boot: Optional pointer to execute IPC related tasks after firmware
489 * @tx_msg: Function pointer for sending a 'short' IPC message
490 * @set_get_data: Function pointer for set/get data ('large' IPC message). This
495 * sdev->ipc->msg.reply_data
522 /* SOF generic IPC data */
528 /* disables further sending of ipc's */
531 /* Maximum allowed size of a single IPC message/reply */
536 /* IPC ops based on version */
540 /* Helper to retrieve the IPC ops */
542 (((sdev)->ipc && (sdev)->ipc->ops) ? (sdev)->ipc->ops->ops_name : NULL)
549 spinlock_t ipc_lock; /* lock for IPC users */
558 * pdata->desc->dspless_mode_supported is true.
591 /* IPC */
592 struct snd_sof_ipc *ipc; member
594 struct snd_sof_mailbox dsp_box; /* DSP initiated IPC */
595 struct snd_sof_mailbox host_box; /* Host initiated IPC */
600 u32 next_comp_id; /* monotonic - reset during S3 */
602 /* memory bases for mmaped DSPs - set by dsp_init() */
636 /* IPC timeouts in ms */
659 * Used to keep track of registered IPC client devices so that they can
668 * Used for tracking the IPC client's RX registration for DSP initiated
674 * Used for tracking the IPC client's registration for DSP state change
730 * IPC low level APIs.
738 sdev->ipc->ops->rx_msg(sdev); in snd_sof_ipc_msgs_rx()
740 int sof_ipc_tx_message(struct snd_sof_ipc *ipc, void *msg_data, size_t msg_bytes,
742 static inline int sof_ipc_tx_message_no_reply(struct snd_sof_ipc *ipc, void *msg_data, in sof_ipc_tx_message_no_reply() argument
745 return sof_ipc_tx_message(ipc, msg_data, msg_bytes, NULL, 0); in sof_ipc_tx_message_no_reply()
747 int sof_ipc_set_get_data(struct snd_sof_ipc *ipc, void *msg_data,
749 int sof_ipc_tx_message_no_pm(struct snd_sof_ipc *ipc, void *msg_data, size_t msg_bytes,
751 static inline int sof_ipc_tx_message_no_pm_no_reply(struct snd_sof_ipc *ipc, void *msg_data, in sof_ipc_tx_message_no_pm_no_reply() argument
754 return sof_ipc_tx_message_no_pm(ipc, msg_data, msg_bytes, NULL, 0); in sof_ipc_tx_message_no_pm_no_reply()
795 sof_dsp_arch_ops(sdev)->dsp_stack(sdev, level, oops, stack, in sof_stack()
801 if (sof_dsp_arch_ops(sdev)->dsp_oops) in sof_oops()
802 sof_dsp_arch_ops(sdev)->dsp_oops(sdev, level, oops); in sof_oops()
891 /* Main ops for IPC implementations */