Skip to content

topology: fix dmic names (again) - #2942

Merged
lgirdwood merged 1 commit into
thesofproject:masterfrom
juimonen:rename_dmic2
Jun 23, 2020
Merged

lgirdwood merged 1 commit into
thesofproject:masterfrom
juimonen:rename_dmic2

Conversation

@juimonen

Copy link
Copy Markdown

We broke the upstream UCM configs by introducing pipeline id's to dmic
names. This differentiation is mandatory for reasons in alsaconf parsing
and ASoC layer combining the control names to pga's. However, the
differentiator can't be pipeline id as it can change depending on the
topology. So let Dmic0 have the old "Capture Volume" control name and
index Dmic1 control name with "1". This should not break the UCM's as
Dmic1 is not currently referenced.

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

This breaks the ALSA control name conventions. Add a prefix instead. Like '2nd Capture Volume' or so.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

ok

We broke the upstream UCM configs by introducing pipeline id's to dmic
names. This differentiation is mandatory for reasons in alsaconf parsing
and ASoC layer combining the control names to pga's. However, the
differentiator can't be pipeline id as it can change depending on the
topology. So let Dmic0 have the old "Capture Volume" control name and
prefix Dmic1 control name with "2nd". This should not break the UCM's as
Dmic1 is not currently referenced.

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

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

@juimonen so does this revert to the original name of does this make it unique ?
@kv2019i I'm thinking here we should try and align UCM and topology kcontrol names. Can we have a kcontrol name "header" in UCM that can be pre-processed either via M4 or gcc so that we can align UCM with topology. This would mean that the topologies would depend on alsa-ucm to build.

@juimonen

Copy link
Copy Markdown
Author

@lgirdwood This reverts the dmic0 to its original name and dmic1 has new identifier. Currently dmic0 is the only one referred in upstream UCM's so it will fix the problem.

There is a inherent problem in alsa-lib conf parsing and asoc control name composition. Currently we just can't have different pga with same named control (so from topology we just can't create "dmic0 capture volume" and "dmic1 capture volume" even though that would be the most logical naming). The "capture volume" needs always some extra identifier to separate it from the other control.

@Liviali155

Copy link
Copy Markdown

On matins with latest sof-dev+master
The controls named "Dmic0 10 Capture Volume" and "Dmic1 Capture Volume","Dmic0 10 Capture Volume" can not be controlled by pulseaudio
After applied PR #2942
The controls named "Dmic0 Capture Volume" and "Dmic1 2nd Capture Volume","Dmic0 Capture Volume" can be controlled by Pulseaudio

@libinyang

Copy link
Copy Markdown
Contributor

@perexg @lgirdwood We will merge this patch, right? I have a patch alsa-project/alsa-ucm-conf#35 based on it. Thanks.

@lgirdwood

Copy link
Copy Markdown
Member

@juimonen @singalsu can you confirm @libinyang question. Are we good to merge ?

@juimonen

Copy link
Copy Markdown
Author

@lgirdwood, yes I understand this is already in 1.5.1, so yes merge please.

@lgirdwood
lgirdwood merged commit d76622a into thesofproject:master Jun 23, 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.

5 participants