[alsa-devel] [PATCH v3 0/2] ALSA controls management using index/device/sub-devices fields
Takashi Sakamoto
o-takashi at sakamocchi.jp
Mon Nov 28 14:05:11 CET 2016
On Nov 28 2016 18:33, Arnaud Pouliquen wrote:
> V3:
> I changed "RFC" prefix to "PATCH", hoping that patchset is enough mature in term
> of code and discussions, to be considered as a potential patch...
>
> Previous discussions summary:
> - topic of the patchset:
> Patch concerns ASoc DAI drivers.
> Aim is to be able to instantiate PCM control using device field according
> to the associated PCM char device. For this, a relationship between DAIs PCM
> control and PCM char device needs to be establish.
> => Proposal is to add field in DAI driver struct to declare PCM controls that
> need to be linked to PCM character device on DAI link probing.
>
> - Limitation of the patchset:
> This patchset seems only a first step as 2 concerns are been highlighted:
> - Patch is limited to "static" DAI-link. This not responds to backend (no_pcm dai links) and
> some none-DAI codecs, that could register PCm controls.
> In theses cases it is not possible to establish relationship during probe.
> => No solution proposed for time beeing.
>
> - This patchset does not fix conflict of 2 "identical" PCM controls declared by 2 drivers.
> For instance, a conflict can exist between a PCM control created in DAI driver
> and the same control declared in a codec driver. As index field is forced to 0, prefix
> should be used in codec.
> => To discuss solution in a separate thread as issue already present without this patchset
> several approaches seem possible like using index field ( control auto indexation in
> ASoC) or prefix in Naming.
Enough information for reviewers, very nice ;)
> Changes:
> - [PATCH v3 1/2] ASoC: core: allow DAI PCM controls bound to PCM device
> Code optimization based on Takashi Sakamoto suggestion
> - [RFC V2 3/3] ASoC: hdmi-codec: Example of PCM control bound to PCM device for multi
> patch suppressed as it was send as example in previous version. Patch is valid but
> can have impact on existing drivers as control device field value is updated
> - [PATCH v3 2/2] ASoC: sti: bind pcm controls to pcm device.
> No change vs V2
>
> V2:
> http://www.spinics.net/lists/alsa-devel/msg57045.html
>
> Aim of this version is to continue discussion on DAI PCM control focused on ASoC drivers.
> In this V2 implementation in Soc-core is simplified to limit impact on existing code.
>
> Update of the RFC V1 based on discussions:
> - [RFC 4/4] iecset: allow to select control with device and sub-device numbers
> no more part of the RFC V2, will be discussed in a separate thread
> - [RFC 2/4] ALSA: control: increment index field for duplicated control.
> no more part of the RFC V2, no more need as RFC subject is PCM controls
>
> - [RFC V2 1/3] ASoC: core: allow DAI PCM controls bound to PCM device
> Patch reworked from V1 to simplify implementation
> - Binding is not done for Dai links tagged with no_pcm (DPCM).
> - no more possibility to add the controls after the DAI link probing.
>
> - [RFC V2 2/3] ASoC: sti: bind PCM controls to PCM device.
> - [RFC V2 3/3] ASoC: hdmi-codec: Example of PCM control bound to PCM device for multi
> Example of implementation in STI DAI driver and HDMI-codec drivers
>
> V1:
> http://www.spinics.net/lists/alsa-devel/msg56479.html
>
> 1) Alsa-utils patch
>
> - iecset: allow to select control with device and sub-device numbers
> This patch allows to access to 2 iec controls differentiated by
> device/sub-devices numbers
> => For me, this patch is mandatory to be able to address the ASoC IEC
> controls, in case of no fix is implemented to allows index field
> update in ASoC.
>
> 2) Alsa driver patches
> - ASoC: core: allow PCM control binding to PCM device
> Add relationship between DAIs PCM controls and PCM device.
>
> - ALSA: control: increment index field for duplicated control.
> Generic implementation of the patch proposed in HDA driver
> (http://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/commit/?id=ea9b43add)
>
> - ASoC: sti: use bind_pcm_ctl
> implementation of bind_pcm_ctl for sti driver.
>
> Arnaud Pouliquen (2):
> ASoC: core: allow DAI PCM controls bound to PCM device
> ASoC: sti: bind pcm controls to pcm device.
>
> include/sound/soc-dai.h | 4 ++++
> sound/soc/soc-core.c | 28 ++++++++++++++++++++++++++++
> sound/soc/sti/sti_uniperif.c | 33 ++++-----------------------------
> 3 files changed, 36 insertions(+), 29 deletions(-)
Regards
Takashi Sakamoto
More information about the Alsa-devel
mailing list