Messages in this thread | | | Subject | Re: [PATCH] soundwire: stream: only change state if needed | From | Srinivas Kandagatla <> | Date | Tue, 17 Mar 2020 15:07:45 +0000 |
| |
On 17/03/2020 13:19, Pierre-Louis Bossart wrote: > > > On 3/17/20 8:04 AM, Srinivas Kandagatla wrote: >> >> >> On 17/03/2020 12:22, Pierre-Louis Bossart wrote: >>> >>> The change below would be an error case for Intel, so it's probably >>> better if we go with your suggestion. You have a very specific state >>> handling due to your power amps and it's probably better to keep it >>> platform-specific. >> >> Just trying to understand, why would it be error for Intel case? >> >> IMO, If stream state is SDW_STREAM_ENABLED that also implicit that its >> prepared too. Similar thing with SDW_STREAM_DEPREPARED. >> Isn't it? > > the stream state is a scalar value, not a mask. The state machine only > allows transition from CONFIGURED TO PREPARED or from DEPREPARED TO > PREPARED, or DISABLED to PREPARED. > There is no allowed transition from ENABLED TO PREPARED, you have to go > through the DISABLED state and make sure a bank switch occurred, and > re-do a bank switch to prepare again. I agree with you if are on single dai case. Am happy to move to stream handling to machine driver for now.
But this also means that in cases like multi-codec its not recommended to call sdw_prepare and sdw_enable in a single function from codec. Which might be worth documenting.
--srini
| |