[PATCH] soundwire: stream: only change state if needed
Srinivas Kandagatla
srinivas.kandagatla at linaro.org
Tue Mar 17 16:07:45 CET 2020
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
More information about the Alsa-devel
mailing list