[RESEND PATCH v2 3/9] ASoC: qcom: q6asm: pass codec profile to q6asm_open_write

Srinivas Kandagatla srinivas.kandagatla at linaro.org
Fri Mar 13 13:15:19 CET 2020



On 13/03/2020 10:16, Vinod Koul wrote:
> Codec profile is required to be passed for WMA codecs so that we know
> the codec profile present and tell DSP accordingly, so update this API
> to pass the codec profile as argument
> 
> Signed-off-by: Vinod Koul <vkoul at kernel.org>

LGTM,

Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla at linaro.org>

> ---
>   sound/soc/qcom/qdsp6/q6asm-dai.c | 4 ++--
>   sound/soc/qcom/qdsp6/q6asm.c     | 2 +-
>   sound/soc/qcom/qdsp6/q6asm.h     | 2 +-
>   3 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/sound/soc/qcom/qdsp6/q6asm-dai.c b/sound/soc/qcom/qdsp6/q6asm-dai.c
> index c0d422d0ab94..8f245d03b6f5 100644
> --- a/sound/soc/qcom/qdsp6/q6asm-dai.c
> +++ b/sound/soc/qcom/qdsp6/q6asm-dai.c
> @@ -250,7 +250,7 @@ static int q6asm_dai_prepare(struct snd_soc_component *component,
>   
>   	if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
>   		ret = q6asm_open_write(prtd->audio_client, FORMAT_LINEAR_PCM,
> -				       prtd->bits_per_sample);
> +				       0, prtd->bits_per_sample);
>   	} else if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
>   		ret = q6asm_open_read(prtd->audio_client, FORMAT_LINEAR_PCM,
>   				       prtd->bits_per_sample);
> @@ -652,7 +652,7 @@ static int q6asm_dai_compr_set_params(struct snd_compr_stream *stream,
>   	prtd->bits_per_sample = 16;
>   	if (dir == SND_COMPRESS_PLAYBACK) {
>   		ret = q6asm_open_write(prtd->audio_client, params->codec.id,
> -					prtd->bits_per_sample);
> +				params->codec.profile, prtd->bits_per_sample);
>   
>   		if (ret < 0) {
>   			dev_err(dev, "q6asm_open_write failed\n");
> diff --git a/sound/soc/qcom/qdsp6/q6asm.c b/sound/soc/qcom/qdsp6/q6asm.c
> index 36e0eab13a98..64eb7b6ba305 100644
> --- a/sound/soc/qcom/qdsp6/q6asm.c
> +++ b/sound/soc/qcom/qdsp6/q6asm.c
> @@ -858,7 +858,7 @@ static int q6asm_ac_send_cmd_sync(struct audio_client *ac, struct apr_pkt *pkt)
>    * Return: Will be an negative value on error or zero on success
>    */
>   int q6asm_open_write(struct audio_client *ac, uint32_t format,
> -		     uint16_t bits_per_sample)
> +		     u32 codec_profile, uint16_t bits_per_sample)
>   {
>   	struct asm_stream_cmd_open_write_v3 *open;
>   	struct apr_pkt *pkt;
> diff --git a/sound/soc/qcom/qdsp6/q6asm.h b/sound/soc/qcom/qdsp6/q6asm.h
> index 6764f55f7078..1cff7f68b95d 100644
> --- a/sound/soc/qcom/qdsp6/q6asm.h
> +++ b/sound/soc/qcom/qdsp6/q6asm.h
> @@ -55,7 +55,7 @@ void q6asm_audio_client_free(struct audio_client *ac);
>   int q6asm_write_async(struct audio_client *ac, uint32_t len, uint32_t msw_ts,
>   		       uint32_t lsw_ts, uint32_t flags);
>   int q6asm_open_write(struct audio_client *ac, uint32_t format,
> -		     uint16_t bits_per_sample);
> +		     u32 codec_profile, uint16_t bits_per_sample);
>   
>   int q6asm_open_read(struct audio_client *ac, uint32_t format,
>   		     uint16_t bits_per_sample);
> 


More information about the Alsa-devel mailing list