ASoC: SOF: pcm: remove runtime PM calls during pcm open/close

pm_runtime_get_sync()/pm_runtime_put_autosuspend() calls are
already invoked by the ASoC core in soc_pcm_open() and
soc_pcm_close(). So the SOF component driver does not need
to call them again.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Ranjani Sridharan 2019-05-09 15:10:24 -05:00 committed by Mark Brown
parent 5160217ba6
commit 14a2212dd4
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
1 changed files with 2 additions and 27 deletions

View File

@ -416,7 +416,6 @@ static int sof_pcm_open(struct snd_pcm_substream *substream)
struct snd_sof_pcm *spcm;
struct snd_soc_tplg_stream_caps *caps;
int ret;
int err;
/* nothing to do for BE */
if (rtd->dai_link->no_pcm)
@ -434,14 +433,6 @@ static int sof_pcm_open(struct snd_pcm_substream *substream)
caps = &spcm->pcm.caps[substream->stream];
ret = pm_runtime_get_sync(sdev->dev);
if (ret < 0) {
dev_err(sdev->dev, "error: pcm open failed to resume %d\n",
ret);
pm_runtime_put_noidle(sdev->dev);
return ret;
}
/* set any runtime constraints based on topology */
snd_pcm_hw_constraint_step(substream->runtime, 0,
SNDRV_PCM_HW_PARAM_BUFFER_BYTES,
@ -485,17 +476,8 @@ static int sof_pcm_open(struct snd_pcm_substream *substream)
spcm->stream[substream->stream].substream = substream;
ret = snd_sof_pcm_platform_open(sdev, substream);
if (ret < 0) {
dev_err(sdev->dev, "error: pcm open failed %d\n",
ret);
pm_runtime_mark_last_busy(sdev->dev);
err = pm_runtime_put_autosuspend(sdev->dev);
if (err < 0)
dev_err(sdev->dev, "error: pcm close failed to idle %d\n",
err);
}
if (ret < 0)
dev_err(sdev->dev, "error: pcm open failed %d\n", ret);
return ret;
}
@ -530,13 +512,6 @@ static int sof_pcm_close(struct snd_pcm_substream *substream)
*/
}
pm_runtime_mark_last_busy(sdev->dev);
err = pm_runtime_put_autosuspend(sdev->dev);
if (err < 0)
dev_err(sdev->dev, "error: pcm close failed to idle %d\n",
err);
return 0;
}