[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <DD71KONODHKJ.15RI1DXF5T6PJ@linaro.org>
Date: Wed, 01 Oct 2025 15:06:11 +0100
From: "Alexey Klimov" <alexey.klimov@...aro.org>
To: "Mohammad Rafi Shaik" <mohammad.rafi.shaik@....qualcomm.com>
Cc: "Srinivas Kandagatla" <srini@...nel.org>, "Liam Girdwood"
<lgirdwood@...il.com>, "Mark Brown" <broonie@...nel.org>, "Jaroslav Kysela"
<perex@...ex.cz>, "Takashi Iwai" <tiwai@...e.com>,
<linux-sound@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <kernel@....qualcomm.com>,
<prasad.kumpatla@....qualcomm.com>
Subject: Re: [PATCH v2] ASoC: codecs: lpass-macro: Add support for channel
map mixer control
On Tue Sep 2, 2025 at 7:23 AM BST, Mohammad Rafi Shaik wrote:
> Introduce the channel map mixer control support for LPASS macro
> codec Digital Audio Interfaces (DAIs). The channel map mixer controls
> are required by APPS to configure usecase-specific audio routing and
What is APPS here? Will be good to have this abbreviation or acronym explained.
> channel mapping.
>
> Signed-off-by: Mohammad Rafi Shaik <mohammad.rafi.shaik@....qualcomm.com>
> ---
> Changes in v2:
> - Updated patch with improved commit description..
> - Link to v1: https://lore.kernel.org/linux-sound/20240930053111.3986838-1-quic_mohs@quicinc.com/
> ---
> sound/soc/codecs/lpass-macro-common.c | 55 +++++++++++++++++++++++++++
> sound/soc/codecs/lpass-macro-common.h | 2 +
> sound/soc/codecs/lpass-rx-macro.c | 12 ++++++
> sound/soc/codecs/lpass-tx-macro.c | 9 +++++
> sound/soc/codecs/lpass-va-macro.c | 9 +++++
> sound/soc/codecs/lpass-wsa-macro.c | 12 ++++++
> 6 files changed, 99 insertions(+)
>
> diff --git a/sound/soc/codecs/lpass-macro-common.c b/sound/soc/codecs/lpass-macro-common.c
> index 6e3b8d0897dd..777af4885245 100644
> --- a/sound/soc/codecs/lpass-macro-common.c
> +++ b/sound/soc/codecs/lpass-macro-common.c
> @@ -8,12 +8,67 @@
> #include <linux/platform_device.h>
> #include <linux/pm_domain.h>
> #include <linux/pm_runtime.h>
> +#include <sound/control.h>
> +#include <sound/pcm.h>
> +#include <sound/soc.h>
>
> #include "lpass-macro-common.h"
>
> static DEFINE_MUTEX(lpass_codec_mutex);
> static enum lpass_codec_version lpass_codec_version;
>
> +static int lpass_macro_chmap_ctl_get(struct snd_kcontrol *kcontrol,
> + struct snd_ctl_elem_value *ucontrol)
> +{
> + struct snd_pcm_chmap *info = snd_kcontrol_chip(kcontrol);
> + struct snd_soc_dai *dai = info->private_data;
> + u32 *chmap_data = NULL;
You probably don't need to set it to NULL here, if it will be overwritten
by kzalloc() call few lines below
> + u32 rx_ch_cnt = 0;
> + u32 tx_ch_cnt = 0;
> + u32 rx_ch, tx_ch;
> +
> + chmap_data = kzalloc(sizeof(u32) * 2, GFP_KERNEL);
here.
[..]
Thanks,
Alexey
Powered by blists - more mailing lists