[Sound-open-firmware] Questions about the pause-release flow

Paul Olaru paul.olaru at nxp.com
Mon Sep 16 12:12:23 CEST 2019


Replies inline.

> > Shouldn't unpausing actually send COMP_TRIGGER_RELEASE?
> Yeah, it should do - it's designed to mirror the ALSA trigger commands.

Somehow something is weirded out as in the IPC I now see that the trigger
command does differ between pause and release. Funny enough,
dai_comp_trigger receives command 3 for resume but then, without any
extra error trace I get error -22. Will add more traces.

> > I am doing my own state checking but I suspect it may be wrong.
> The FW does check pipeline and component state here, so please make
> sure any DMA has stopped and set the correct state before the stream is
> restarted.

I believe one of those checks fails even though I didn't even interact with
the code in dai.c (AFAIK, I will check)

> > What should I look into, and is this actually correct behavior?
> There is a state transition diagram in component.h iirc, so best to
> make sure that pause puts your pipeline in the correct state. I guess
> that STOP and START work fine ?

STOP and START work fine, barring the occasional IPC timeout issue
which is caused by an unrelated problem on my platform.

Will do further checks and remove my manual state management
(I trust the state management made by component_set_state even
though it probably fails right there). Will reply if I uncover anything
else.


More information about the Sound-open-firmware mailing list