Skip to content

tools: pipeline filtering enhancement - #269

Merged
aiChaoSONG merged 6 commits into
thesofproject:masterfrom
aiChaoSONG:pipeline_filter
Jul 2, 2020
Merged

aiChaoSONG merged 6 commits into
thesofproject:masterfrom
aiChaoSONG:pipeline_filter

Conversation

@aiChaoSONG

@aiChaoSONG aiChaoSONG commented Jun 30, 2020 •

Copy link
Copy Markdown
  • enhance pipeline searching logic to support complex graph search
  • add support for filterg KWD pipeline
  • add support for filtering pipeline with ASRC

Usage:

  • get KWD pipeline: sof-tplgreader.py -f "kpbm" tplg-name
  • get all pipelines: sof-tplgreader.py tplg-name or sof-tplgreader.py -f "type:any" tplg-name
  • get pipelines with eq: sof-tplgreader.py -f "eq" tplg-name or sof-tplgreader.py -f "eq:any" tplg-name
  • get playback pipelines: sof-tplgreader.py -f "type:playback" tplg-name
  • get capture pipelines exclude KWD pipeline: sof-tplgreader.py -f "type:capture" tplg-name KWD pipeline is hidden, current test case cannot handle it.
  • get pipelines without eq: sof-tplgreader.py -f "~eq" tplg-name
  • get pipelines with PGA but without eq: sof-tplgreader.py -f "pga & ~eq" tplg-name
  • get pipelines with PGA or with eq: sof-tplgreader.py -f "pga | eq" tplg-name

@aiChaoSONG

Copy link
Copy Markdown
Author

@keyonjie @ClarexZhou Please give it a try, let me know if there is any issue.

@aiChaoSONG aiChaoSONG changed the title tools: pipeline filtering enhancement tools: pipeline filtering enhancement for KWD pipeline Jun 30, 2020
@marc-hb
marc-hb removed their request for review June 30, 2020 19:06
@aiChaoSONG aiChaoSONG changed the title tools: pipeline filtering enhancement for KWD pipeline tools: pipeline filtering enhancement Jul 1, 2020
@aiChaoSONG
aiChaoSONG force-pushed the pipeline_filter branch 2 times, most recently from 21e2fb6 to 7faab35 Compare July 1, 2020 06:35
Previously, we regard a pipeline as a linked list,
and search on widget connets to multiple widgets or
connetced by multiple widgets is ignored.

This patch enables search on complex widget graph.

Signed-off-by: Amery Song <chao.song@intel.com>
@aiChaoSONG
aiChaoSONG requested a review from xiulipan July 2, 2020 01:52
Amery Song added 4 commits July 2, 2020 10:01
Previously, DMIC16k pipeline is blocked, and no test
case will run on it, because it tends to be used for
keyword detection, and test cases cannot handle it.

This patch adds support for KWD pipeline filtering,
thus enables test on DMIC16k pipeline which is not
used for keyword detection.

Default KWD pipeline is hidden from other pipelines,
to acquire KWD pipeline, run:
    sof-tplgreader.py -f "kwd" tplg-path

Signed-off-by: Amery Song <chao.song@intel.com>
Previously, if we want to attach component info to
a pipeline, we need duplicated code for each component,
eg, PGA and EQ.

This patch adds a general function to attach component
info to pipeline, thus reduces duplicated code.

Signed-off-by: Amery Song <chao.song@intel.com>
Signed-off-by: Amery Song <chao.song@intel.com>
For most DAPM widgets, their names are stored
in widgets' name field, and sname field is left
empty.

It's useless to always do match check on empty
string.

If a PCM's widget sname contains componnet
special keyword, for example, in topology
sof-apl-asrc-pcm512x.tplg, PCM's sname is
"ASRC ...", we will get a wrong widget to
search with "ASRC".

Signed-off-by: Amery Song <chao.song@intel.com>
Signed-off-by: Amery Song <chao.song@intel.com>

@keyonjie keyonjie left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Looks good, this will be 1st subtask of the #270. Thanks @aiChaoSONG

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

Verified all works and no side effect

@aiChaoSONG
aiChaoSONG merged commit e75640f into thesofproject:master Jul 2, 2020
aiChaoSONG pushed a commit to aiChaoSONG/sof-test that referenced this pull request Jul 6, 2020
Previously, DMIC16k pipeline acts as KWD
pipeline, and it cannot be seperated from
other normal capture pipelines, so its
test is ignored.

After a enhancement in sof-tplgreader.py,
we can easily seperate DMIC16k from ohter
pipelines. So don't need to ignore its test
any more.

Enhancement PR: thesofproject#269

Signed-off-by: Amery Song <chao.song@intel.com>
aiChaoSONG pushed a commit to aiChaoSONG/sof-test that referenced this pull request Jul 6, 2020
Previously, DMIC16k pipeline acts as KWD
pipeline, and it cannot be seperated from
other normal capture pipelines, so DMIC16k
pipeline is not tested, even it doens't act
as KWD pipeline on some platforms.

After a enhancement in sof-tplgreader.py,
we can easily seperate KWD pipeline from ohter
pipelines. So don't need to ignore DMIC16k test
any more.

Enhancement PR: thesofproject#269

Signed-off-by: Amery Song <chao.song@intel.com>
aiChaoSONG pushed a commit to aiChaoSONG/sof-test that referenced this pull request Jul 6, 2020
DMIC16k pipeline mostly acts as KWD pipeline,
and it cannot be seperated from other normal
capture pipelines, so DMIC16k pipeline is not
tested, even it doens't act as KWD pipeline on
some platforms.

After a enhancement in sof-tplgreader.py,
we can easily seperate KWD pipeline from ohter
pipelines. So don't need to ignore DMIC16k test
any more.

Enhancement PR: thesofproject#269

Signed-off-by: Amery Song <chao.song@intel.com>
aiChaoSONG pushed a commit to aiChaoSONG/sof-test that referenced this pull request Jul 7, 2020
DMIC16k pipeline mostly acts as KWD pipeline,
and it cannot be seperated from other normal
capture pipelines, so DMIC16k pipeline is not
tested, even it doens't act as KWD pipeline on
some platforms.

After a enhancement in sof-tplgreader.py,
we can easily seperate KWD pipeline from ohter
pipelines. So don't need to ignore DMIC16k test
any more.

PR which block DMIC16k: thesofproject#74
Enhancement PR: thesofproject#269

Signed-off-by: Amery Song <chao.song@intel.com>
aiChaoSONG pushed a commit to aiChaoSONG/sof-test that referenced this pull request Jul 7, 2020
DMIC16k pipeline mostly acts as KWD pipeline,
and it cannot be seperated from other normal
capture pipelines, so DMIC16k pipeline is not
tested, even it doens't act as KWD pipeline on
some platforms.

After a enhancement in sof-tplgreader.py,
we can easily seperate KWD pipeline from ohter
pipelines. So don't need to ignore DMIC16k test
any more.

DMIC16k blocked by: thesofproject#74
Pipeline filter enhanced by: thesofproject#269

Signed-off-by: Amery Song <chao.song@intel.com>
aiChaoSONG pushed a commit that referenced this pull request Jul 27, 2020
DMIC16k pipeline mostly acts as KWD pipeline,
and it cannot be seperated from other normal
capture pipelines, so DMIC16k pipeline is not
tested, even it doens't act as KWD pipeline on
some platforms.

After a enhancement in sof-tplgreader.py,
we can easily seperate KWD pipeline from ohter
pipelines. So don't need to ignore DMIC16k test
any more.

DMIC16k blocked by: #74
Pipeline filter enhanced by: #269

Signed-off-by: Amery Song <chao.song@intel.com>
@aiChaoSONG
aiChaoSONG deleted the pipeline_filter branch October 24, 2022 08:27
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.

3 participants