Re: [PATCH] soundwire: stream: only change state if needed

From: Pierre-Louis Bossart
Date: Tue Mar 17 2020 - 10:24:50 EST




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.