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

topology2: set pipeline priority for google aec capture stream #8204

Merged
merged 1 commit into from
Oct 3, 2023

Conversation

RanderWang
Copy link
Collaborator

@RanderWang RanderWang commented Sep 15, 2023

Set non-zero priority for host pipeline of aec stream so that it has the highest priority then driver will first trigger this pipeline since ipc4 requires triggering pipeline from sink to source.

For feature: #8075
Kernel PR: thesofproject/linux#4593

Set the pipeline with host-copier.27 AIF_OUT
sof-mtl-max98357a-rt5682

@keqiaozhang
Copy link
Collaborator

SOFCI TEST

Set priority for aec stream so that driver can trigger pipeline based on
pipeline priority.

Signed-off-by: Rander Wang <[email protected]>
@RanderWang
Copy link
Collaborator Author

RanderWang commented Sep 18, 2023

@ranj063 thanks for review. Kernel PR: thesofproject/linux#4593

Tested with cavs-rt5682.conf which uses nocodec dai since the real usage uses ssp also.

@plbossart
Copy link
Member

This is really hard to review @RanderWang, can you please show which pipelines in the picture above are given what priority. Without knowledge of the topology files it's impossible to figure out what the order actually is. Thank you.

@RanderWang
Copy link
Collaborator Author

This is really hard to review @RanderWang, can you please show which pipelines in the picture above are gi
ven what priority. Without knowledge of the topology files it's impossible to figure out what the order actually is. Thank you.

@plbossart updated detail. Thanks!

host capture pipeline :   host-copier.27.capture  (priority 3)
google rtc aec pipeline:  module-copier.18.1 -> google-rtc-aec.18.1 -> module-copier.18.2 (priority 2)
dmic dai pipeline:        dai-copier.DMIC.Nocodec -> eqiir.14.1 ->module-copier.14.1 (priority 1)
echo-ref pipeline:        dai-coper.SSP.NoCodec-2.capture (priority 0)

Screenshot from 2023-09-20 05-34-41

@RDharageswari
Copy link

RDharageswari commented Sep 20, 2023

i am seeing I/O error with the DMIC AEC capture. Verified with the kernel PR

@RanderWang
Copy link
Collaborator Author

i am seeing I/O error with the DMIC AEC capture. Verified with the kernel PR

Did you apply the PR #8101 ? And can you share the dmesg and how to login the device in team? thanks!

@RanderWang
Copy link
Collaborator Author

RanderWang commented Sep 20, 2023

I checked the chrome device and found that the first two tests passed but was failed at the third try. It may be complex than adjusting pipeline order. Actually I can't reproduce on my device.

@RanderWang
Copy link
Collaborator Author

I can reproduce it on my device now. The secret is : you need to test AEC capture continuously without long time interval so that sof can't get into sleep

@kv2019i kv2019i merged commit 9e21d8b into thesofproject:main Oct 3, 2023
40 of 41 checks passed
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.

6 participants