lkml.org 
[lkml]   [2022]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3 1/3] soundwire: qcom: add runtime pm support
From


> @@ -1017,6 +1032,15 @@ static int qcom_swrm_startup(struct snd_pcm_substream *substream,
> struct snd_soc_dai *codec_dai;
> int ret, i;
>
> + ret = pm_runtime_get_sync(ctrl->dev);
> + if (ret < 0 && ret != -EACCES) {
> + dev_err_ratelimited(ctrl->dev,
> + "pm_runtime_get_sync failed in %s, ret %d\n",
> + __func__, ret);
> + pm_runtime_put_noidle(ctrl->dev);
> + return ret;

here there's an error handling, but ...

> + }
> +
> sruntime = sdw_alloc_stream(dai->name);
> if (!sruntime)
> return -ENOMEM;
> @@ -1044,6 +1068,9 @@ static void qcom_swrm_shutdown(struct snd_pcm_substream *substream,
>
> sdw_release_stream(ctrl->sruntime[dai->id]);
> ctrl->sruntime[dai->id] = NULL;
> + pm_runtime_mark_last_busy(ctrl->dev);
> + pm_runtime_put_autosuspend(ctrl->dev);
> +
> }
>
> static const struct snd_soc_dai_ops qcom_swrm_pdm_dai_ops = {
> @@ -1197,12 +1224,23 @@ static int qcom_swrm_get_port_config(struct qcom_swrm_ctrl *ctrl)
> static int swrm_reg_show(struct seq_file *s_file, void *data)
> {
> struct qcom_swrm_ctrl *swrm = s_file->private;
> - int reg, reg_val;
> + int reg, reg_val, ret;
> +
> + ret = pm_runtime_get_sync(swrm->dev);
> + if (ret < 0 && ret != -EACCES) {
> + dev_err_ratelimited(swrm->dev,
> + "pm_runtime_get_sync failed in %s, ret %d\n",
> + __func__, ret);
> + pm_runtime_put_noidle(swrm->dev);

... here it's missing?

I have a fix ready but thought I would check first if this was intentional

https://github.com/thesofproject/linux/pull/3602/commits/6353eec8dc971c5f0fda0166ae1777f71784ea32

> + }
>
> for (reg = 0; reg <= SWR_MSTR_MAX_REG_ADDR; reg += 4) {
> swrm->reg_read(swrm, reg, &reg_val);
> seq_printf(s_file, "0x%.3x: 0x%.2x\n", reg, reg_val);
> }
> + pm_runtime_mark_last_busy(swrm->dev);
> + pm_runtime_put_autosuspend(swrm->dev);
> +
>
> return 0;

\
 
 \ /
  Last update: 2022-04-20 19:42    [W:0.190 / U:2.308 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site