Repository navigation
Conversation
Now will directly stop dma and no wait for last period finish, may have some unfinished job to done even after the status is set. Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
Now will directly stop dma and no wait for last period finish, may have some unfinished job to done even after the status is set. No need to cancel the task or check the status of comp. Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
| switch (cmd) { | ||
| case COMP_TRIGGER_PAUSE: | ||
| case COMP_TRIGGER_STOP: | ||
| pipeline_schedule_cancel(p); |
There was a problem hiding this comment.
What stops this being (re)scheduled after STOP ?
|
|
||
| /* don't go upstream if this component is not connected */ | ||
| if (!buffer->connected || buffer->source->state != COMP_STATE_ACTIVE) | ||
| if (!buffer->connected) |
There was a problem hiding this comment.
This will breal pipelines with a mixer, where closing one source stream will probably stop the sink stream (even if other source streams are active )?
|
|
||
| tracev_host("cpy"); | ||
|
|
||
| if (dev->state != COMP_STATE_ACTIVE) |
There was a problem hiding this comment.
I dont see how this improve XRUN or pause release. This commit messages give no detail.
|
@lgirdwood
Then when we resume, then case a and case b will miss some pipeline copy and buffer is not full and cause the xrun. So in this case, I just let all case a and case b like the normal case that we make the pipeline copy unconditionally. |
|
0x364b870 [307.464319] delta [0.000522] ipc Nms // ipc comes |
|
closed via some new PR #360 |
Now FW will directly stop dma and no wait for last period to finish, FW may have some unfinished job that should be done even after the status is set to stop or pause. No need to cancel the task or check the status of comp.