Lines Matching +full:ipc +full:- +full:3

1 /* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */
29 #define SOF_DBG_DYNAMIC_PIPELINES_OVERRIDE BIT(3) /* 0: use topology token
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
60 #define SOF_DBG_DUMP_PCI BIT(3)
95 u32 substate; /* platform-specific */
134 * struct snd_sof_platform_stream_params - platform dependent stream parameters
139 * @no_ipc_position: Disable position update IPC from firmware
150 * struct sof_firmware - Container struct for SOF firmware
217 /* ipc */
258 * instead from a host-accessible hardware counter.
331 /* IPC client ops */
352 #define sof_dsp_arch_ops(sdev) ((sdev)->pdata->desc->ops->dsp_arch_ops)
361 * memory -> DSP resource (memory, register etc) is always accessible
389 /* mailbox descriptor, used for host <-> DSP IPC */
395 /* IPC message descriptor for host <-> DSP IO */
412 * struct sof_ipc_fw_tracing_ops - IPC-specific firmware tracing ops
428 * struct sof_ipc_pm_ops - IPC-specific PM ops
442 * struct sof_ipc_fw_loader_ops - IPC/FW-specific loader ops
460 * struct sof_ipc_ops - IPC-specific ops
461 * @tplg: Pointer to IPC-specific topology ops
467 * @init: Optional pointer for IPC related initialization
468 * @exit: Optional pointer for IPC related cleanup
469 * @post_fw_boot: Optional pointer to execute IPC related tasks after firmware
472 * @tx_msg: Function pointer for sending a 'short' IPC message
473 * @set_get_data: Function pointer for set/get data ('large' IPC message). This
478 * sdev->ipc->msg.reply_data
505 /* SOF generic IPC data */
511 /* disables further sending of ipc's */
514 /* Maximum allowed size of a single IPC message/reply */
519 /* IPC ops based on version */
523 /* Helper to retrieve the IPC ops */
525 (((sdev)->ipc && (sdev)->ipc->ops) ? (sdev)->ipc->ops->ops_name : NULL)
532 spinlock_t ipc_lock; /* lock for IPC users */
541 * pdata->desc->dspless_mode_supported is true.
574 /* IPC */
575 struct snd_sof_ipc *ipc; member
577 struct snd_sof_mailbox dsp_box; /* DSP initiated IPC */
578 struct snd_sof_mailbox host_box; /* Host initiated IPC */
583 u32 next_comp_id; /* monotonic - reset during S3 */
585 /* memory bases for mmaped DSPs - set by dsp_init() */
618 /* IPC timeouts in ms */
641 * Used to keep track of registered IPC client devices so that they can
650 * Used for tracking the IPC client's RX registration for DSP initiated
656 * Used for tracking the IPC client's registration for DSP state change
705 * IPC low level APIs.
713 sdev->ipc->ops->rx_msg(sdev); in snd_sof_ipc_msgs_rx()
715 int sof_ipc_tx_message(struct snd_sof_ipc *ipc, void *msg_data, size_t msg_bytes,
717 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
720 return sof_ipc_tx_message(ipc, msg_data, msg_bytes, NULL, 0); in sof_ipc_tx_message_no_reply()
722 int sof_ipc_set_get_data(struct snd_sof_ipc *ipc, void *msg_data,
724 int sof_ipc_tx_message_no_pm(struct snd_sof_ipc *ipc, void *msg_data, size_t msg_bytes,
726 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
729 return sof_ipc_tx_message_no_pm(ipc, msg_data, msg_bytes, NULL, 0); in sof_ipc_tx_message_no_pm_no_reply()
770 sof_dsp_arch_ops(sdev)->dsp_stack(sdev, level, oops, stack, in sof_stack()
776 if (sof_dsp_arch_ops(sdev)->dsp_oops) in sof_oops()
777 sof_dsp_arch_ops(sdev)->dsp_oops(sdev, level, oops); in sof_oops()
868 /* Main ops for IPC implementations */