Sound Open Firmware
Loading...
Searching...
No Matches
sof_static_module_ops Struct Reference

Static pipeline module driver operations. More...

#include <src/include/sof/audio/pipeline/static_pipeline.h>

Collaboration diagram for sof_static_module_ops:

Data Fields

const struct sof_uuid * uuid
 UUID of target audio component.
 
struct comp_dev *(* create )(const struct comp_driver *drv, struct comp_ipc_config *cfg, const struct sof_static_comp *cdesc, uint32_t period_us)
 Instantiate and initialize the module component.
 
int(* apply_volume )(struct comp_dev *dev, uint32_t channels, int32_t val)
 Apply linear volume gain to component.
 
int(* apply_volume_chan )(struct comp_dev *dev, uint32_t channel, int32_t val)
 Apply linear volume gain to a specific channel.
 
int(* apply_switch )(struct comp_dev *dev, uint32_t channels, int32_t val)
 Apply binary switch/mute state to component.
 
int(* apply_switch_chan )(struct comp_dev *dev, uint32_t channel, int32_t val)
 Apply binary switch/mute state to a specific channel.
 
int(* apply_enum )(struct comp_dev *dev, uint32_t channel, int32_t val)
 Apply enumerated route/value to component.
 
int(* apply_binary )(struct comp_dev *dev, const void *data, size_t size)
 Apply raw binary configuration or coefficient blob to component.
 
struct list_item list
 List node for registered ops.
 

Detailed Description

Static pipeline module driver operations.

Audio processing modules register these operations to handle static instantiation (synthesizing any module-specific IPC init configuration) and runtime kcontrol manipulation (volume, switch/mute, enum) without requiring the generic pipeline loader to contain module-specific logic.

Field Documentation

◆ apply_binary

int(* sof_static_module_ops::apply_binary) (struct comp_dev *dev, const void *data, size_t size)

Apply raw binary configuration or coefficient blob to component.

Parameters
[in]devComponent device pointer.
[in]dataPointer to binary data blob.
[in]sizeSize of binary data in bytes.
Returns
0 on success, negative error code on failure.

◆ apply_enum

int(* sof_static_module_ops::apply_enum) (struct comp_dev *dev, uint32_t channel, int32_t val)

Apply enumerated route/value to component.

Parameters
[in]devComponent device pointer.
[in]channelChannel index.
[in]valSelected enumeration value.
Returns
0 on success, negative error code on failure.

◆ apply_switch

int(* sof_static_module_ops::apply_switch) (struct comp_dev *dev, uint32_t channels, int32_t val)

Apply binary switch/mute state to component.

Parameters
[in]devComponent device pointer.
[in]channelsChannel count.
[in]valBinary switch value (0 = muted/bypass, 1 = unmuted/active).
Returns
0 on success, negative error code on failure.

◆ apply_switch_chan

int(* sof_static_module_ops::apply_switch_chan) (struct comp_dev *dev, uint32_t channel, int32_t val)

Apply binary switch/mute state to a specific channel.

Parameters
[in]devComponent device pointer.
[in]channelChannel index (0-based).
[in]valBinary switch value (0 = muted/bypass, 1 = unmuted/active).
Returns
0 on success, negative error code on failure.

◆ apply_volume

int(* sof_static_module_ops::apply_volume) (struct comp_dev *dev, uint32_t channels, int32_t val)

Apply linear volume gain to component.

Parameters
[in]devComponent device pointer.
[in]channelsChannel count to apply volume across.
[in]valLinear volume value (0 to INT32_MAX).
Returns
0 on success, negative error code on failure.

◆ apply_volume_chan

int(* sof_static_module_ops::apply_volume_chan) (struct comp_dev *dev, uint32_t channel, int32_t val)

Apply linear volume gain to a specific channel.

Parameters
[in]devComponent device pointer.
[in]channelChannel index (0-based).
[in]valLinear volume value (0 to INT32_MAX).
Returns
0 on success, negative error code on failure.

◆ create

struct comp_dev *(* sof_static_module_ops::create) (const struct comp_driver *drv, struct comp_ipc_config *cfg, const struct sof_static_comp *cdesc, uint32_t period_us)

Instantiate and initialize the module component.

Parameters
[in]drvSOF component driver.
[in]cfgIPC component configuration.
[in]cdescStatic component descriptor.
[in]period_usOwning pipeline scheduling period in microseconds.
Returns
Created component device pointer, or NULL on error.

◆ list

struct list_item sof_static_module_ops::list

List node for registered ops.

◆ uuid

const struct sof_uuid* sof_static_module_ops::uuid

UUID of target audio component.


The documentation for this struct was generated from the following file: