Commit 63fa58d9 authored by Mark Brown's avatar Mark Brown

Merge Intel catpt DSP fixes into asoc-5.10

parents bd6327fd 1072460a
...@@ -458,10 +458,6 @@ static int catpt_dai_prepare(struct snd_pcm_substream *substream, ...@@ -458,10 +458,6 @@ static int catpt_dai_prepare(struct snd_pcm_substream *substream,
if (ret) if (ret)
return CATPT_IPC_ERROR(ret); return CATPT_IPC_ERROR(ret);
ret = catpt_dsp_update_lpclock(cdev);
if (ret)
return ret;
ret = catpt_dai_apply_usettings(dai, stream); ret = catpt_dai_apply_usettings(dai, stream);
if (ret) if (ret)
return ret; return ret;
...@@ -500,6 +496,7 @@ static int catpt_dai_trigger(struct snd_pcm_substream *substream, int cmd, ...@@ -500,6 +496,7 @@ static int catpt_dai_trigger(struct snd_pcm_substream *substream, int cmd,
case SNDRV_PCM_TRIGGER_RESUME: case SNDRV_PCM_TRIGGER_RESUME:
case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
resume_stream: resume_stream:
catpt_dsp_update_lpclock(cdev);
ret = catpt_ipc_resume_stream(cdev, stream->info.stream_hw_id); ret = catpt_ipc_resume_stream(cdev, stream->info.stream_hw_id);
if (ret) if (ret)
return CATPT_IPC_ERROR(ret); return CATPT_IPC_ERROR(ret);
...@@ -507,11 +504,11 @@ static int catpt_dai_trigger(struct snd_pcm_substream *substream, int cmd, ...@@ -507,11 +504,11 @@ static int catpt_dai_trigger(struct snd_pcm_substream *substream, int cmd,
case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_STOP:
stream->prepared = false; stream->prepared = false;
catpt_dsp_update_lpclock(cdev);
fallthrough; fallthrough;
case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_SUSPEND:
case SNDRV_PCM_TRIGGER_PAUSE_PUSH: case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
ret = catpt_ipc_pause_stream(cdev, stream->info.stream_hw_id); ret = catpt_ipc_pause_stream(cdev, stream->info.stream_hw_id);
catpt_dsp_update_lpclock(cdev);
if (ret) if (ret)
return CATPT_IPC_ERROR(ret); return CATPT_IPC_ERROR(ret);
break; break;
...@@ -534,6 +531,8 @@ void catpt_stream_update_position(struct catpt_dev *cdev, ...@@ -534,6 +531,8 @@ void catpt_stream_update_position(struct catpt_dev *cdev,
dsppos = bytes_to_frames(r, pos->stream_position); dsppos = bytes_to_frames(r, pos->stream_position);
if (!stream->prepared)
goto exit;
/* only offload is set_write_pos driven */ /* only offload is set_write_pos driven */
if (stream->template->type != CATPT_STRM_TYPE_RENDER) if (stream->template->type != CATPT_STRM_TYPE_RENDER)
goto exit; goto exit;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment