Skip to content

[RFC] topology: add mux topology for apl and cml - #1316

Merged
lgirdwood merged 1 commit into
thesofproject:masterfrom
juimonen:mux_topology
May 14, 2019
Merged

lgirdwood merged 1 commit into
thesofproject:masterfrom
juimonen:mux_topology

Conversation

@juimonen

Copy link
Copy Markdown

This topology will add a capture branch back
from playback pipeline's mux component. It can
be used for example as echo cancellation reference
signal.

Signed-off-by: Jaska Uimonen jaska.uimonen@intel.com

@juimonen

Copy link
Copy Markdown
Author

this is to be used with @akloniex fw branch:
https://github.com/akloniex/sof/tree/tmp-mux

you also need:
thesofproject/linux#870

with these you can load the mux example topology in up2. Topology is pretty similar to sof-apl-pcm512x except for mux record branch.

@juimonen

Copy link
Copy Markdown
Author

@akloniex there's now mux topology for cml also if you guys want to give it a try...

@juimonen
juimonen force-pushed the mux_topology branch 2 times, most recently from 7a89b9f to 56fb99e Compare April 25, 2019 14:09
@juimonen

Copy link
Copy Markdown
Author

@akloniex updated for demux/mux in cml-004-drop-stable branch

Comment thread tools/topology/m4/mux.m4 Resolved
Comment thread tools/topology/sof-cml-demux-rt5682.m4 Resolved
@juimonen

Copy link
Copy Markdown
Author

@juimonen
juimonen requested a review from a team as a code owner April 26, 2019 13:45
@juimonen

Copy link
Copy Markdown
Author

@ranj063 updated with single muxdemux component. Also scheduler comp definition for pipeline now updated. Still missing comments cleaning from new files... can you check also the discussion above.

@juimonen

juimonen commented May 3, 2019

Copy link
Copy Markdown
Author

with this update I can playback and record to and from demux pipeline. As there is no volume components you have to use S32 or S24 format. See the discussion for detailed explanation...

@lgirdwood lgirdwood left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is the second time I've reviewed this PR and made the same comments, none of which were addressed first time around.

Comment thread src/audio/mux_generic.c Resolved
Comment thread src/audio/mux_generic.c Resolved
Comment thread src/audio/mux_generic.c Resolved
Comment thread src/audio/mux_generic.c Resolved
Comment thread src/audio/pipeline.c Resolved
Comment thread src/include/uapi/ipc/topology.h Resolved
Comment thread tools/topology/m4/demux_coef_default.m4 Resolved
@ranj063

ranj063 commented May 3, 2019

Copy link
Copy Markdown
Collaborator

@juimonen I think you should have separate PR's for the topology and pipeline patches.

Also, why do you include @akloniex 's patch here as well. There's a separate PR for that already.

@ranj063

ranj063 commented May 3, 2019 •

Copy link
Copy Markdown
Collaborator

@juimonen instead of duplicating all the pipelines in sof-apl-pcm512x and sof-cml-rt5682 to add the echo ref pipeline, can we just include sof-pcm-512x.m4/sof-cmlrt5682 and only add the echoref pipeline?
The other pipelines are already reviewed and upstream. So it will be easy to spot errors with just the new pipeline this way.

Have a look at sof-cml-rt5682-max*.m4 for reference. It does something similar to add just the speaker playback pipeline.

@juimonen

juimonen commented May 6, 2019

Copy link
Copy Markdown
Author

@ranjani I have separate patches for pipeline and topology. I see both you and @lgirdwood are commenting on @akloniex patch so I'll forward the changes to him... @akloniex patch was here just for ease the testing for others, but obviously it was a mistake

@juimonen

juimonen commented May 6, 2019

Copy link
Copy Markdown
Author

@ranjani, yes definitely can look into including the original pipelines. I was just trying to make this very clear and easy for myself, as I was fighting for one day with m4 after forgetting a include file :)

@juimonen juimonen changed the title [RFC][Do not merge] topology: add mux topology for apl [RFC] topology: add mux topology for apl May 6, 2019
@juimonen

juimonen commented May 6, 2019

Copy link
Copy Markdown
Author

@ranj063 now looking at the "include" -way, I'm replacing the main playback pipeline in CML and ALP with demux and connecting reference recording pipe to it. So it doesn't work very nicely with includes. So it is not just additional pipe/dai, but replacing/modifying the existing ones.

This topology will add a capture branch back from playback pipeline's
mux component. It can be used for example as a echo cancellation
reference signal.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
@juimonen juimonen changed the title [RFC] topology: add mux topology for apl [RFC] topology: add mux topology for apl and cml May 8, 2019
@juimonen

juimonen commented May 8, 2019

Copy link
Copy Markdown
Author

@ranj063 @lgirdwood updated topology with virtual widget connection to recording dai. This topology was working in APL (apl-demux) and WHL (cml-demux).

@lgirdwood

Copy link
Copy Markdown
Member

@akloniex is there anything pending on your side for demux that would break this ? Have you also tested this topology ?

@lgirdwood

Copy link
Copy Markdown
Member

@juimonen this graph looks complex from the text, can you paste the graph in image format here too.

@juimonen

juimonen commented May 9, 2019

Copy link
Copy Markdown
Author

@lgirdwood
apl:
image
cml
image

@lgirdwood

Copy link
Copy Markdown
Member

@plbossart is this graph aligned with your approval ?

@wenqingfu

Copy link
Copy Markdown

We will live with this in short term and redo the architecture in SOF 1.4

@lgirdwood lgirdwood left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approved, but we can rework in v1.4

@lgirdwood
lgirdwood merged commit 1d3b0cc into thesofproject:master May 14, 2019
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.

4 participants