Sound Open Firmware
Loading...
Searching...
No Matches
component_ext.h File Reference

Component API for Infrastructure. More...

Include dependency graph for component_ext.h:

Go to the source code of this file.

Data Structures

struct  comp_driver_list
 Holds list of registered components' drivers. More...
 
struct  get_attribute_remote_payload
 Remote payload for component get_attribute IPC4 message. More...
 

Macros

#define comp_buffer_list(comp, dir)
 Retrieves the component device buffer list based on direction.
 

Functions

struct comp_dev * comp_new (struct sof_ipc_comp *comp)
 Instantiate a new component device from IPC3 descriptor.
 
static void comp_free (struct comp_dev *dev)
 Free component device via driver ops.
 
static int comp_params_remote (struct comp_dev *dev, struct sof_ipc_stream_params *params)
 Parameter initialization for component on remote core.
 
static int comp_params (struct comp_dev *dev, struct sof_ipc_stream_params *params)
 Configure audio stream parameters for component device.
 
static int comp_dai_get_hw_params (struct comp_dev *dev, struct sof_ipc_stream_params *params, int dir)
 Retrieve DAI hardware parameters from component device.
 
static int comp_cmd (struct comp_dev *dev, int cmd, void *data, int max_data_size)
 Dispatch IPC3 command to component device.
 
static int comp_trigger_remote (struct comp_dev *dev, int cmd)
 Run trigger command on remote core for target component.
 
static int comp_trigger_local (struct comp_dev *dev, int cmd)
 Run trigger command locally on current core for target component.
 
static int comp_trigger (struct comp_dev *dev, int cmd)
 Dispatch trigger command to component (local or remote).
 
static int comp_prepare_remote (struct comp_dev *dev)
 Run prepare command on remote core for target component.
 
static int comp_prepare (struct comp_dev *dev)
 Prepare component device for streaming (local or remote).
 
int comp_copy (struct comp_dev *dev)
 Process and copy audio data through component.
 
static int comp_ipc4_get_attribute_remote (struct comp_dev *dev, uint32_t type, void *value)
 Retrieve component attribute from a remote core (IPC4).
 
static int comp_get_attribute (struct comp_dev *dev, uint32_t type, void *value)
 Get component attribute.
 
static int comp_set_attribute (struct comp_dev *dev, uint32_t type, void *value)
 Set component attribute.
 
static int comp_reset_remote (struct comp_dev *dev)
 Run reset command on remote core for target component.
 
static int comp_reset (struct comp_dev *dev)
 Reset component and free runtime resources (local or remote).
 
static int comp_dai_config (struct comp_dev *dev, struct ipc_config_dai *config, const void *spec_config)
 Configure DAI component.
 
static int comp_position (struct comp_dev *dev, struct sof_ipc_stream_posn *posn)
 Retrieve stream position from component.
 
void sys_comp_init (struct sof *sof)
 Allocates and initializes audio component list.
 
static int comp_is_single_pipeline (struct comp_dev *current, struct comp_dev *previous)
 Checks if two component devices belong to the same parent pipeline.
 
static int comp_is_active (struct comp_dev *current)
 Checks if component device is active.
 
static int comp_get_requested_state (int cmd)
 Returns component state based on requested command.
 
static int comp_get_endpoint_type (struct comp_dev *dev)
 Returns endpoint type of given component.
 
static bool comp_is_scheduling_source (struct comp_dev *dev)
 Called to check whether component schedules its pipeline.
 
static void comp_make_shared (struct comp_dev *dev)
 Called to mark component as shared between cores.
 
static struct comp_driver_list * comp_drivers_get (void)
 Get the global component driver list.
 
static int comp_ipc4_bind_remote (struct comp_dev *dev, const struct bind_info *bind_data)
 Send bind message to component on remote core (IPC4).
 
static int comp_bind (struct comp_dev *dev, const struct bind_info *bind_data)
 Bind component to downstream/upstream component or buffer.
 
static int comp_ipc4_unbind_remote (struct comp_dev *dev, const struct bind_info *unbind_data)
 Send unbind message to component on remote core (IPC4).
 
static int comp_unbind (struct comp_dev *dev, const struct bind_info *unbind_data)
 Unbind component from downstream/upstream component or buffer.
 
static uint64_t comp_get_total_data_processed (struct comp_dev *dev, uint32_t stream_no, bool input)
 Retrieve total data processed by component.
 
static bool comp_same_dir (struct comp_dev *comp, enum sof_ipc_stream_direction dir)
 Returns true if the component's pipeline matches the specified direction.
 

Detailed Description