Skip to content
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

[FEATURE] Test IPC large message IO whilst playback and capture are active #847

Open
lgirdwood opened this issue Feb 1, 2022 · 8 comments
Labels
P2 Critical bugs or normal features type:test coverage gap This requires a new test case, not just fixing one

Comments

@lgirdwood
Copy link
Member

Is your feature request related to a problem? Please describe.
Intermittent issue when sending large config IPC data to component whilst playback and capture active. We are not testing large IPC messages in any test IIUC today. See thesofproject/sof#4769

Describe the solution you'd like
Test script for large config IPC. Dummy WOV or any other module that takes large config module could be IPC target. Also an option to stress the large IPC to send 1000s of messages.

@lgirdwood
Copy link
Member Author

@singalsu which common processing component accepts large IPC config data today ? This could be the test target as it wont require topology updates ?

@plbossart
Copy link
Member

@lgirdwood We don't have such components in most topologies used in CI, the only one I see is CML_HEL_RT5682

So before we come-up with a test we need to have something to test, maybe by adding a EQ to the nocodec topologies after the mixer?

@lgirdwood
Copy link
Member Author

I think IIR or FIR is one such component and IIUC we use it on some HDA pipes for pop removal ?

@plbossart
Copy link
Member

that's correct, we use EQIIR in all nocodec, HDAudio and SoundWire topologies on the input paths.

@singalsu
Copy link
Contributor

singalsu commented Feb 2, 2022

@singalsu which common processing component accepts large IPC config data today ? This could be the test target as it wont require topology updates ?

FIR component accepts large config, e.g. https://github.com/thesofproject/sof/blob/main/tools/ctl/eq_fir_loudness.txt or https://github.com/thesofproject/sof/blob/main/tools/topology/topology1/m4/eq_fir_coef_loudness.m4 .

From ready-made topologies sof-cml-rt1011-rt5682-eq.tplg contains FIR in the speaker path. Topology sof-cml-eq-fir-rt5682.tplg contains it in the capture path.

Beamformer topologies are by default large, e.g. sof-cml-rt1011-rt5682-tdfb_68mm_2ch.tplg, sof-apl-pcm512x-tdfb_28mm-4ch.tplg, sof-hda-generic-tdfb_50mm-2ch.tplg.

@plbossart
Copy link
Member

plbossart commented Feb 2, 2022

@singalsu does the component accept changes to the large config WHILE audio is streaming? I thought we had some restrictions.

@marc-hb
Copy link
Collaborator

marc-hb commented Feb 11, 2022

Note we already have a check-ipc-flood.sh test but I don't know what it does. It's skipped on Zephyr with "need a debug firmware"

@marc-hb
Copy link
Collaborator

marc-hb commented Jun 22, 2023

BTW I just noticed check-ipc-flood does not work with IPC4

@marc-hb marc-hb added P2 Critical bugs or normal features type:test coverage gap This requires a new test case, not just fixing one area:IPC4 labels Jun 22, 2023
@marc-hb marc-hb removed the area:IPC4 label Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P2 Critical bugs or normal features type:test coverage gap This requires a new test case, not just fixing one
Projects
None yet
Development

No branches or pull requests

4 participants