[PATCH 2/3] ASoC: topology: Allow TLV control to be either read or write

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Tue Jan 11 17:48:23 CET 2022



On 1/11/22 1:05 PM, Amadeusz Sławiński wrote:
> There is no reason to force readwrite access on TLV controls. It can be
> either read, write or both. This is further evidenced in code where it
> performs following checks:
>                 if ((k->access & SNDRV_CTL_ELEM_ACCESS_TLV_READ) && !sbe->get)
>                         return -EINVAL;
>                 if ((k->access & SNDRV_CTL_ELEM_ACCESS_TLV_WRITE) && !sbe->put)
>                         return -EINVAL;
> 
> Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski at linux.intel.com>
> Reviewed-by: Cezary Rojewski <cezary.rojewski at intel.com>

Should there be a Fixes tag

Fixes: 1a3232d2f61d ("ASoC: topology: Add support for TLV bytes controls")

?

> ---
>  sound/soc/soc-topology.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/sound/soc/soc-topology.c b/sound/soc/soc-topology.c
> index e0f72ddd72c1..9d24184f85f9 100644
> --- a/sound/soc/soc-topology.c
> +++ b/sound/soc/soc-topology.c
> @@ -512,7 +512,8 @@ static int soc_tplg_kcontrol_bind_io(struct snd_soc_tplg_ctl_hdr *hdr,
>  
>  	if (le32_to_cpu(hdr->ops.info) == SND_SOC_TPLG_CTL_BYTES
>  		&& k->iface & SNDRV_CTL_ELEM_IFACE_MIXER
> -		&& k->access & SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE
> +		&& (k->access & SNDRV_CTL_ELEM_ACCESS_TLV_READ
> +		    || k->access & SNDRV_CTL_ELEM_ACCESS_TLV_WRITE)
>  		&& k->access & SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK) {
>  		struct soc_bytes_ext *sbe;
>  		struct snd_soc_tplg_bytes_control *be;
> 


More information about the Alsa-devel mailing list