15#ifndef __MODULE_MODULE_BASE__
16#define __MODULE_MODULE_BASE__
23#include "../ipc4/base-config.h"
25#ifdef SOF_MODULE_API_PRIVATE
29#define module_get_private_data(mod) ((mod)->priv.private)
30#define module_set_private_data(mod, data) ((mod)->priv.private = data)
80#ifdef SOF_MODULE_API_PRIVATE
95struct userspace_context;
112#ifdef SOF_MODULE_API_PRIVATE
124 uint32_t deep_buff_bytes;
125 uint32_t output_buffer_size;
128 uint32_t num_of_sources;
129 uint32_t num_of_sinks;
132 struct sof_sink *sinks[CONFIG_MODULE_MAX_CONNECTIONS];
133 struct sof_source *sources[CONFIG_MODULE_MAX_CONNECTIONS];
146 uint32_t verify_params_flags;
175 bool dp_startup_delay;
177#if CONFIG_IPC_MAJOR_3
186 bool skip_sink_buffer_writeback;
192 bool skip_src_buffer_invalidate;
199 bool stream_copy_single_to_single;
202 uint64_t total_data_consumed;
203 uint64_t total_data_produced;
206 uint32_t max_sources;
211 struct userspace_context *user_ctx;
212 struct k_mem_domain *mdom;
220 uint32_t runtime_params_size;
module_processing_type
Definition base.h:89
@ MODULE_PROCESS_TYPE_SOURCE_SINK
Definition base.h:90
@ MODULE_PROCESS_TYPE_STREAM
Definition base.h:91
@ MODULE_PROCESS_TYPE_RAW
Definition base.h:92
module_state
Module-specific states.
Definition generic.h:104
Dynamic module interface, lifecycle callbacks, and buffer contracts.
Audio component interconnect buffer connecting two pipeline components.
Definition buffer.h:150
Audio component base device "class" used by all other component types.
Definition component.h:587
Base module configuration parameters provided upon module instantiation.
Definition base-config.h:160
Memory requirements for Data Processing (DP) module threads.
Definition module.h:108
Module config container, used for both config types.
Definition base.h:50
struct ipc4_output_pin_format * output_pins
Definition base.h:60
struct module_ext_init_data * ext_data
IPC payload pointers, NULL after init()
Definition base.h:61
const void * init_data
Initial IPC configuration.
Definition base.h:54
void * data
tlv config, a pointer to memory where config is stored.
Definition base.h:53
size_t size
Specifies the size of whole config.
Definition base.h:51
uint8_t nb_output_pins
Definition base.h:58
struct ipc4_input_pin_format * input_pins
Definition base.h:59
bool avail
Marks config as available to use.
Definition base.h:52
uint8_t nb_input_pins
Definition base.h:57
struct ipc4_base_module_cfg base_cfg
Definition base.h:56
struct module_config cfg
module configuration data
Definition base.h:73
Container for found ext init object pointers This struct contains pointers that point to IPC payload ...
Definition base.h:40
size_t module_data_size
Definition base.h:43
const struct ipc4_module_init_ext_obj_dp_data * dp_data
Definition base.h:41
const void * module_data
Definition base.h:42
Processing data shared between particular module & module_adapter.
Definition generic.h:167
module resources block - used for module allocation records The allocations are recorded so that they...
Definition generic.h:135
Output stream buffer.
Definition interface.h:66
uint32_t period_bytes
Definition base.h:105
struct module_data priv
module private data
Definition base.h:104
internals of sink API.
Definition sink_api.h:141
internals of source API.
Definition source_api.h:137