lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 073/264] ASoC: qcom: lpass-cpu: fix concurrency issue
    Date
    From: Rohit kumar <rohitkr@codeaurora.org>

    [ Upstream commit 753a6e17942f6f425ca622e1610625998312ad89 ]

    i2sctl register value is set to 0 during hw_free(). This
    impacts any ongoing concurrent session on the same i2s
    port. As trigger() stop already resets enable bit to 0,
    there is no need of explicit hw_free. Removing it to
    fix the issue.

    Fixes: 80beab8e1d86 ("ASoC: qcom: Add LPASS CPU DAI driver")
    Signed-off-by: Rohit kumar <rohitkr@codeaurora.org>
    Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Link: https://lore.kernel.org/r/1597402388-14112-7-git-send-email-rohitkr@codeaurora.org
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    sound/soc/qcom/lpass-cpu.c | 16 ----------------
    1 file changed, 16 deletions(-)

    diff --git a/sound/soc/qcom/lpass-cpu.c b/sound/soc/qcom/lpass-cpu.c
    index 292b103abada9..475579a9830a3 100644
    --- a/sound/soc/qcom/lpass-cpu.c
    +++ b/sound/soc/qcom/lpass-cpu.c
    @@ -182,21 +182,6 @@ static int lpass_cpu_daiops_hw_params(struct snd_pcm_substream *substream,
    return 0;
    }

    -static int lpass_cpu_daiops_hw_free(struct snd_pcm_substream *substream,
    - struct snd_soc_dai *dai)
    -{
    - struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
    - int ret;
    -
    - ret = regmap_write(drvdata->lpaif_map,
    - LPAIF_I2SCTL_REG(drvdata->variant, dai->driver->id),
    - 0);
    - if (ret)
    - dev_err(dai->dev, "error writing to i2sctl reg: %d\n", ret);
    -
    - return ret;
    -}
    -
    static int lpass_cpu_daiops_prepare(struct snd_pcm_substream *substream,
    struct snd_soc_dai *dai)
    {
    @@ -277,7 +262,6 @@ const struct snd_soc_dai_ops asoc_qcom_lpass_cpu_dai_ops = {
    .startup = lpass_cpu_daiops_startup,
    .shutdown = lpass_cpu_daiops_shutdown,
    .hw_params = lpass_cpu_daiops_hw_params,
    - .hw_free = lpass_cpu_daiops_hw_free,
    .prepare = lpass_cpu_daiops_prepare,
    .trigger = lpass_cpu_daiops_trigger,
    };
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-10-27 18:57    [W:4.471 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site