Skip to content

topology: enable eq pipeline when EQ is enabled in makefile - #2558

Merged
lgirdwood merged 1 commit into
thesofproject:masterfrom
fredoh9:fix/apl_eq_cleanup
Mar 26, 2020
Merged

lgirdwood merged 1 commit into
thesofproject:masterfrom
fredoh9:fix/apl_eq_cleanup

Conversation

@fredoh9

@fredoh9 fredoh9 commented Mar 16, 2020

Copy link
Copy Markdown
Contributor

Instead of making new files for audio equalizer topology, reuse existing
topology and replace only volume pipeline by macro replacement.

Signed-off-by: Fred Oh fred.oh@linux.intel.com

@fredoh9
fredoh9 requested a review from singalsu March 16, 2020 17:11
@fredoh9

fredoh9 commented Mar 16, 2020

Copy link
Copy Markdown
Contributor Author

@singalsu can you add your comment this too. Without creating new files, pipeline name is only replaced for maximum reuse.

@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.

@fredoh9 now that you are getting up to speed with topology and M4 it would be worthwhile expanding sof-docs with the layout of the files, the includes, how we differentiate etc. We should also include the latest topology pipelines as examples (and can generate the png images using the tool).
@deb-intel - we have a tool that converts topology files to images. Is there some way we can include this in sof-docs and build it from latest git. i.e. have a list of pipelines and images for each pipeline.

@juimonen

Copy link
Copy Markdown

@lgirdwood just as reminder, we can still do graphs with m4 (to dot files) and the docs are here:
https://thesofproject.github.io/latest/developer_guides/topology/topology.html#debugging-topology

@deb-intel

Copy link
Copy Markdown

@fredoh9 now that you are getting up to speed with topology and M4 it would be worthwhile expanding sof-docs with the layout of the files, the includes, how we differentiate etc. We should also include the latest topology pipelines as examples (and can generate the png images using the tool).
@deb-intel - we have a tool that converts topology files to images. Is there some way we can include this in sof-docs and build it from latest git. i.e. have a list of pipelines and images for each pipeline.
@lgirdwood I'm not sure how to do this. I will need to ask Kevin Putnam about this. @intelkevinputnam, can you answer this question?

@intelkevinputnam

Copy link
Copy Markdown

To be clear, are we talking about pulling a topology file (.dot) from the sof repo when building hte sof-docs repo or simply placing the file in the sof-docs repo as seen here: https://thesofproject.github.io/latest/developer_guides/debugability/traces/index.html ?

Here's a source .dot file: https://github.com/thesofproject/sof-docs/blob/master/developer_guides/debugability/traces/images/process-traces.dot

@lgirdwood

Copy link
Copy Markdown
Member

@intelkevinputnam my thinking here is that we process the topology pipeline library files (the building blocks used by all topologies) and some example pipelines into png files that can make up some of our docs. The tools needed for processing are all in the sof repos, so I'm guessing a script could be run as part of make html to generate the png files ?

@intelkevinputnam

Copy link
Copy Markdown

@lgirdwood we can definitely do that or something like it. As it is now, we have to run a few commands in the sof repo before we can build the docs, so it could happen then as well. Whether the script is included in the sof or sof-docs repo, we would need to include running it in the .travis.yml used to deploy the docs.

@xiulipan xiulipan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Some advance to make option more generic.

Comment thread tools/topology/CMakeLists.txt Outdated
@singalsu

singalsu commented Mar 17, 2020 •

Copy link
Copy Markdown
Collaborator

I made those topologies for testing new components, cleaning them up sounds like a good idea. Though now the topologies in sof/tools/test/topology work in UP2 so these apl topologies for single algorithm are no more needed. So deleting them is also an option.

The processing component pipeline macro names should contain their component names in downstream order like sof/pipe-comp1-comp2-comp3-playback.m4, where compN are e.g. "asrc", "eq-fir", "eq-iir", "src", "volume", etc. E.g. pipe-eq-iir-capture.m4 doesn't contain volume but pipe-eq-iir-volume-capture.m4 does. A pipeline for tuned speaker output could be pipe-eq-iir-eq-fir-volume-playback.m4.

Confusing pipeline macro names like pipe-eq-capture.m4 or pipe-highpass-capture.m4 should be deleted. I'd like pass the processing configuration blobs to compN via PIPELINE_PCM_ADD() macro as shown in enhancement #2535. I tested it successfully in a PR that I closed for other reasons.

Also maybe the capture pipeline macros those are compatible with mute switch should have indication in their name. Or if all can be made compatible that's no more an issue.

There's also issue that we topology tokens and names conflicts for settings, see issue #2534. Changing the characteristic of a pipeline by editing volume tokens or processing blob does not always have impact.

Comment thread tools/topology/sof-apl-dmic.m4 Outdated

@singalsu singalsu left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'd like to combine this with other topology improvements I've been proposing. Could you include them to this work scope?

@lgirdwood

Copy link
Copy Markdown
Member

@singalsu ack - can you link your PR to this one then @fredoh9 can build on top.

@fredoh9

fredoh9 commented Mar 19, 2020

Copy link
Copy Markdown
Contributor Author

@singalsu As my understating is that
#2434 is the pr you mentioned. And I read throught #2535 , #2534 as well. Trying to include PIPELINE_PCM_ADD() update as well. I think I may need to break up some of your suggestions into different PR(s). If I include too much changes, it's hard to make sure no side effects nor hard to get reviewed.

@singalsu

Copy link
Copy Markdown
Collaborator

@fredoh9 Yep, that's the PR where I tested the idea. There's a lot of editing need so several commits or pull requests sound feasible to cover them. The _priv names in processing component blobs need to be aligned too and can be hand-edited. I'll then finally update the tools to produce the hand-edited compatible blob files.

@fredoh9
fredoh9 force-pushed the fix/apl_eq_cleanup branch from b8c73b8 to 661fc95 Compare March 21, 2020 23:37
@fredoh9

fredoh9 commented Mar 22, 2020

Copy link
Copy Markdown
Contributor Author

@singalsu @xiulipan I handled only PROC change, can you review again?
For additional points Seppo brought up, I plan to submit another PR(s). I have still some questions on them. I don't want to delay too much because of new directions.

@fredoh9 fredoh9 changed the title topology: enable eq pipeline when EQ is eanbled in makefile topology: enable eq pipeline when EQ is enabled in makefile Mar 22, 2020
@fredoh9
fredoh9 force-pushed the fix/apl_eq_cleanup branch from 661fc95 to ea7b1c8 Compare March 22, 2020 01:50
Instead of making new files for audio equalizer topology, reuse existing
topology and replace only volume pipeline by macro replacement.

Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
@lgirdwood

Copy link
Copy Markdown
Member

SOFCI TEST

@lgirdwood

Copy link
Copy Markdown
Member

@fredoh9 can you check CI

@fredoh9

fredoh9 commented Mar 23, 2020

Copy link
Copy Markdown
Contributor Author

@fredoh9 can you check CI

DEVICE_TEST results are pretty normal.
For Internal Intel CI System/merge/build, WHL failed. I couldn't see log file. But this change doesn't affect WHL.

@fredoh9

fredoh9 commented Mar 25, 2020

Copy link
Copy Markdown
Contributor Author

SOFCI TEST

@lgirdwood

Copy link
Copy Markdown
Member

@wwittbrx @lbetlej any comments on Internal CI

@fredoh9

fredoh9 commented Mar 25, 2020

Copy link
Copy Markdown
Contributor Author

Although Internal Intel CI System/merge/build show "Test failed", there is no error in details. DEVICE_TEST results also pretty normal.

@lgirdwood

Copy link
Copy Markdown
Member

Jenkins known issues.

@lgirdwood
lgirdwood merged commit f734991 into thesofproject:master Mar 26, 2020
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.

7 participants