Skip to content

Conversation

@singalsu
Copy link
Collaborator

No description provided.

@marc-hb
Copy link
Collaborator

marc-hb commented Jun 21, 2023

Without firmware (due to the build failure) and combination of other serious CI issues, https://sof-ci.01.org/sofpr/PR7698/build9948/devicetest uselessly hogged 3 MTL devices for more than 200 minutes :-(

@singalsu
Copy link
Collaborator Author

Without firmware (due to the build failure) and combination of other serious CI issues, https://sof-ci.01.org/sofpr/PR7698/build9948/devicetest uselessly hogged 3 MTL devices for more than 200 minutes :-(

Sorry for that, would [SKIP CI] in this PR title or in commit message title prevent CI to run? I've been thinking sharing early and often is good - had no idea the tests continue after failed build. There's a problem with component dependencies to crossover and drc those don't build correctly in current git main.

@marc-hb marc-hb changed the title Audio: Multiband-DRC: Convert to module adapter [SKIP SOF-TEST] Audio: Multiband-DRC: Convert to module adapter Jun 22, 2023
@marc-hb
Copy link
Collaborator

marc-hb commented Jun 26, 2023

Sorry for that, would [SKIP CI] in this PR title or in commit message title prevent CI to run?

Yes, or the newer and clearer [SKIP SOF-TEST]. Both work the same.

I've been thinking sharing early and often is good

Yes and drafts are great for that.

had no idea the tests continue after failed build.

This is a CI design issue that is being worked on.

@singalsu singalsu force-pushed the multiband_drc_module_adapter branch 2 times, most recently from 1cfc34e to 63705e1 Compare August 14, 2023 16:07
@singalsu
Copy link
Collaborator Author

First working code version for IPC3, and IPC4.

@singalsu singalsu changed the title [SKIP SOF-TEST] Audio: Multiband-DRC: Convert to module adapter Audio: Multiband-DRC: Convert to module adapter Aug 14, 2023
@lgirdwood
Copy link
Member

First working code version for IPC3, and IPC4.

Still draft ?

@singalsu
Copy link
Collaborator Author

First working code version for IPC3, and IPC4.

Still draft ?

Need to wait for crossover merge to remove the duplicated patch. Also will split this into three PRs with topology and tools separately.

Topology part needs DRC topology PR merge. I think I will add a configuration macro to select for EFX topology DRC vs. multiband-DRC. Multiband-DRC is more versatile but also it has a much higher load. Optimizations would be useful for this component.

@singalsu singalsu force-pushed the multiband_drc_module_adapter branch from 63705e1 to 7e4dd98 Compare August 16, 2023 14:39
CONFIG_COMP_SRC_IPC4_FULL_MATRIX=y
CONFIG_COMP_DRC=y
CONFIG_COMP_CROSSOVER=y
CONFIG_COMP_MULTIBAND_DRC=y
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lgirdwood @kv2019i Do you have opinion about this? If we are not having issues with .text size this might be acceptable. But if we should be more compact these could be default no. DRC is essential as are the EQs, these are more like optional for more advanced speaker enhance. What do you think?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If left to default no, we should find a way to get them tested.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets have these in default Linux Kconfig.

@singalsu singalsu force-pushed the multiband_drc_module_adapter branch 3 times, most recently from 792468d to 77a4914 Compare August 22, 2023 07:43
static int crossover_process_audio_stream(struct processing_module *mod,
struct input_stream_buffer *input_buffers,
int num_input_buffers,
struct output_stream_buffer *output_buffers,
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add Fixes: 5bcbcf1 ("Audio: Crossover: Convert to module adapter") to commit message.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still not good,

/zep_workspace/sof/src/audio/crossover/crossover.c:656:58: warning: incorrect type in argument 2 (different address spaces)

Seems avoiding sparse errors needs a different approach

Copy link
Member

@lgirdwood lgirdwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this need the ALSA kcontrol updates ?

@singalsu
Copy link
Collaborator Author

Does this need the ALSA kcontrol updates ?

IPC3 version works as before, with IPC4 the control is not available. It now works with IPC4 specific addition in module to force internally the processing switch on. The processing can be controlled on/off with user space sent bytes control blob (in #8049). Currently there is no other way.

I plan to submit another PR to make the blob controlled on/off switch as MCPS consumption efficient as in IPC3. Currently even in bypass the band split filters remain running that is not happening with switch control in IPC3. The idea is to turn the processing switch off if all band filters and emphasis/de-emphasis are switched off in the blob. What do you think of this @google ?

@singalsu singalsu force-pushed the multiband_drc_module_adapter branch from 77a4914 to 1cf6c84 Compare August 23, 2023 14:25
Copy link
Member

@lgirdwood lgirdwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we trending for making v2.7 code freeze ?

comp_err(dev,
"crossover_assign_sinks(), multiple sinks from pipeline %d are assigned",
pipeline_id);
sink_id);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same string fix needed as previous PR ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, I need to rebase this and move the crossover fixes to other PR since they are no more critical for this component.

@singalsu singalsu force-pushed the multiband_drc_module_adapter branch 2 times, most recently from 6f73d92 to 7eb7b60 Compare August 24, 2023 12:59
@singalsu singalsu marked this pull request as ready for review August 24, 2023 14:28
@singalsu singalsu requested review from a team and ranj063 as code owners August 24, 2023 14:28
@singalsu
Copy link
Collaborator Author

singalsu commented Aug 24, 2023

The new error with sparse cache in crossover.c was caused by regression in my other PR. The error appears with this PR since the required crossover filter is enabled in kconfig by this component. The fix for sparse cache is addressed in #8088.

@cujomalainey
Copy link
Contributor

@singalsu i landed your other PR, please rebase this one.

This patch replaces legacy component API with new module adapter
API. There are no changes to functionality.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch enables for TGL and MTL platforms as default
to enable CI build tests, etc.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
@singalsu singalsu force-pushed the multiband_drc_module_adapter branch from 7eb7b60 to 63d8f39 Compare August 25, 2023 09:46
Copy link
Collaborator

@kv2019i kv2019i left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One typoe in log print, maybe you can fix this up in a follow-up. Otherwise looks good.

}

return ret;
comp_err(dev, "tdfb_cmd_get_value() error: invalid cdata->cmd");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tdfb, copy-paste?

@lgirdwood lgirdwood merged commit 8d01ad6 into thesofproject:main Aug 30, 2023
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.

5 participants