-
Notifications
You must be signed in to change notification settings - Fork 322
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Topology: Use pipe-volume-switch-capture in nocodec topologies #3509
Conversation
@ranj063 @juimonen isn't the only way to enable a switch control that did not exist previously to make it 'on' by default in the topology? @singalsu I am also not sure if we want to expose these controls in UCM, we tend to only set controls in UCM when they differ from the defaults. Except for DMIC, I also see no benefits in doing a mute at the firmware level from userspace. |
This is a short term change to address testing needs. It's a lot harder to test Dmic0 and Dmic1 mute switch acoustically. Since the mute switch is missing from topologies need to add them to some. So I chose the nocodec topologies. I don't think CI uses the tools/test/topology pipelines (only testbench does) so there would be extra effort to load for CI some of them for loopback volume control tests. I'd like have modular pipe-processingX-capture.m4 macros so we can safely change any endpoint processing between e.g. volume, eqiir-volume, etc. without getting issues. If we should not expose mute switches for all capture pipeline PGAs they need to be controllable by a middle-level topology macro so we enable them only for DMIC. |
CI passed, I'll change this to ready. |
This patch replaces use of pipe-volume-capture macro or pipe-low-latency-capture to pipe-volume-switch-capture in nocodec topologies for APL, BDW, CHT, CNL, ICL, and TGL based platforms. It allows to test of volume component mute switch control in SSP loopback that is used by default in nocodec topologies. The testing of mute switch feature is simplest to do with loopback topologies. Nocodec topologies are not in mainstream usage so this is the safest option to enable testing. The mute switch add should be possible to all capture topologies but it can be done later once it is confirmed it is safe to do (avoid accidental muted audio or problems with UCM). Signed-off-by: Seppo Ingalsuo <[email protected]>
c5fd83d
to
5984236
Compare
@singalsu can you check CI "timeout" on BYT. Looks like a BAT fail but could be quality. If you need a WAV just rerun CI. |
Please always add the CI URL in the comments when discussing CI failures because they become incredibly hard to find after the next force-push: https://sof-ci.01.org/sofpr/PR3509/build7426/devicetest/
Is this long standing thesofproject/sof-test#379 ? |
@lgirdwood I could not find the wav files. I checked the alsabat script output print and it found sine wave frequencies so apparently it wasn't muted. Adding of the mute switch could cause muted audios if alsactl would restore previously unknown switch to "off". The test that I'm developing shows that on BYT the channels get swapped randomly. Maybe that causes the issue that CI step reported. Edit: Here's the part of the report:
|
SOFCI TEST |
I'm not able to repeat the timeout on my Minnowboard. Here's my run of the same test case with this PR included to topology:
I think I have an idea what happens with the test now. I get one sine wave detected while CI detects 997 Hz and harmonics. The audio is clipped likely. The tests those I have run on my Minnowboard have left the PGAs to 0 dB position. @aiChaoSONG @xiulipan @lgirdwood The pipe-volume-switch-capture.m4 has a wider volume scale than pipe-low-latency-capture.m4. The alsabat test should set the volume gains to 0 dB instead of maximum if it depends on unity gain. What do you think? |
Yep, this confirms. I think the alsabat test needs to be improved to set properly the volume.
|
The fix for the alsabat test step is under development in thesofproject/sof-test#437 . |
@singalsu great - please rerun CI here when CI fix is merged and ping me to merge this. |
This PR was created incorrectly from a SOF branch and not my own repo located branch. I'll close this and create new. |
This patch replaces use of pipe-volume-capture macro to
pipe-volume-switch-capture in nocodec topologies for APL, CNL, ICL,
and TGL based platforms. It allows to test of volume component
mute switch control in SSP loopback that is used by default in
nocodec topologies. The testing of mute switch feature is simplest
to do with loopback topologies. Nocodec topologies are not in
mainstream usage so this is the safest option to enable testing.
The mute switch add should be possible to all capture topologies but
it can be done later once it is confirmed it is safe to do (avoid
accidental muted audio or problems with UCM).
Signed-off-by: Seppo Ingalsuo [email protected]