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