Skip to content

Conversation

@macchian
Copy link
Owner

No description provided.

No functional changes.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Change all functions to accept a pointer to struct processing_module
as a parameter and use mod->priv to access the module data.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Introduce a new macro to access the module's private data and use it.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Rename the menu option to "Processing modules"

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
And move the MAX_BLOB_SIZE macro to generic.h

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Module adapter can be used by components with types other than
SOF_COMP_MODULE_ADAPTER. So modify the create op to handle components
by type.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Define the set_large_config and get_large_config ops for the module
adapter component. These are mandatory ops needed to make the module
adapter compatible with IPC4.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
In preparation for modifying the volume component to use the new
module API, add support for SET_VALUE/GET_VALUE control commands.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Simplify the logic by removing the unnecessary consume label. This will
change the logic to loop through the local output buffers when return is
-ENODATA or -ENOSPC. But since there will be no produced samples, this
loop will do nothing. It is not intended to optimize the performance at
this point and in fact the first few cycles might even take the hit
because of the extra looping. But this will help with clubbling the
handling of output samples simpler in the following patches.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
…ction

Split the core for handling the processed output into a separate
function.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
And avoid looping through the buffers again.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
When the module produces only period_bytes every period, there's no need
to save the produced samples in the intermediate local buffer, instead
copy them directly to the sink buffer and save an extra copy.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
ca_copy_from_source_to_module() and ca_copy_from_module_to_sink() are
both invoked during every copy. So use memcpy() instead of memcpy_s() to
speed up the copies.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants