All of lore.kernel.org
 help / color / mirror / Atom feed
From: b_lkasam@codeaurora.org
To: alsa-devel@alsa-project.org
Cc: c_spanic@qti.qualcomm.com, lkasam@qti.qualcomm.com,
	c_smanag@qti.qualcomm.com
Subject: Re: Async ops SOC compress issue
Date: Fri, 08 Feb 2019 11:43:39 +0530	[thread overview]
Message-ID: <8b55d9967bff13f1de90c22478ee9d5f@codeaurora.org> (raw)
In-Reply-To: <2c502243cbd2281fabea150cedb56dc1@codeaurora.org>

On 2019-01-29 12:55, b_lkasam@codeaurora.org wrote:
> Hi ALSA team,
> Need inputs wrt one issue seen with soc-compress code.
> 
> Please help check below issue seen in soc-compress file wrt handling
> multiple BEs
> with async ops ASYNC_DPCM_SND_SOC_HW_PARAMS set for given FE
> dailink/BE dailinks also.
> 
> Issue :
> pcm_prepare failure when 2 BE's on same FE enabled during compress 
> playback,
> seen only when both BE's have SOC_HW_PARAM defined as an async_op.
> 
> Analysis:
> - With SOC_HW_PARAMS defined as async_op on both BE's,
> hw_params api for both of these BE's are scheduled for asynchronous 
> execution.
> 
> - It is observed that dpcm_be_hw_params_prepare is getting invoked
> twice, but for the same BE.
> 
> Below are the issue logs taken for above scenario.
> 
> 12-21 16:38:32.074     0     0 D SDM660 Compress1: connected new DPCM
> playback path SDM660 Compress1 -> INT4_MI2S_RX
> 12-21 16:38:32.075     0     0 D SDM660 Compress1: connected new DPCM
> playback path SDM660 Compress1 -> INT0_MI2S_RX
> 
> 12-21 16:38:32.075     0     0 D INT0_MI2S_RX: ASoC: open playback BE
> INT0_MI2S_RX
> 12-21 16:38:32.076     0     0 D INT4_MI2S_RX: ASoC: open playback BE
> INT4_MI2S_RX
> 
> 12-21 16:38:32.077     0     0 E soc_compr_set_params_fe: : async
> schedule hw_params for be INT0_MI2S_RX
> 12-21 16:38:32.077     0     0 E soc_compr_set_params_fe: : async
> schedule hw_params for be INT4_MI2S_RX
> 
> 12-21 16:38:32.078     0     0 E dpcm_be_hw_params_prepare: : BE
> INT4_MI2S_RX -> dpcm_fe_dai_hw_params_be
> 12-21 16:38:32.079     0     0 E msm-dai-q6-mi2s soc:
> qcom,msm-dai-mi2s:qcom,msm-dai-q6-int-mi2s4:
> msm_dai_q6_mi2s_hw_params: dai id 11 dai_data->channels = 1
> 
> 12-21 16:38:32.143     0     0 E dpcm_be_hw_params_prepare: : BE
> INT4_MI2S_RX -> dpcm_fe_dai_hw_params_be
> 12-21 16:38:32.173     0     0 E msm-dai-q6-mi2s soc:
> qcom,msm-dai-mi2s:qcom,msm-dai-q6-int-mi2s4:
> msm_dai_q6_mi2s_hw_params: ERROR    dai id 11 dai_data->channels = 1
> 
> It is not clear why dpcm_be_hw_params_prepare is happening for same BE
> twice even though async schedule was done for both.
> 
> - With async_synchronize call after scheduling of hw_param, the
> behavior is as expected.
> hw_param for both BE's are success.
> 
> 
> diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c
> index ad3cc68..b0a1995 100644
> --- a/sound/soc/soc-compress.c
> +++ b/sound/soc/soc-compress.c
> @@ -535,6 +535,7 @@ static int soc_compr_set_params_fe(struct
> snd_compr_stream *cstream,
>                                 }
>                         }
>                 }
> +               async_synchronize_full_domain(&async_domain); - Adding
> this code fixing the issue, but looks not correct way, please suggest
>                 for (i = 0; i < j; i++) {
>                         cstream->be = be_list[i];
>                         dpcm_be_hw_params_prepare(cstream);
> 
> 
> 
> With regards
> Laxminath Kasam

HI ALSA team,
can you please help update on above query wrt soc compress issue.

Thanks
Laxminath Kasam

  reply	other threads:[~2019-02-08  6:13 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-29  7:25 Async ops SOC compress issue b_lkasam
2019-02-08  6:13 ` b_lkasam [this message]
2019-02-08 10:39   ` Charles Keepax

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8b55d9967bff13f1de90c22478ee9d5f@codeaurora.org \
    --to=b_lkasam@codeaurora.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=c_smanag@qti.qualcomm.com \
    --cc=c_spanic@qti.qualcomm.com \
    --cc=lkasam@qti.qualcomm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.