Re: [PATCH 1/2] ASoC: wcd9335: fix order of Slimbus unprepare/disable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 21/09/2022 17:25, Pierre-Louis Bossart wrote:
>>>>
>>>> Wait, no, this is correct. Please point to what is wrong in kernel doc.
>>>> I don't see it. :(
>>>
>>> the TRIGGER_STOP and TRIGGER_PAUSE_PUSH do the same thing. There is no
>>> specific mapping of disable() to TRIGGER_STOP and unprepare() to
>>> TRIGGER_PAUSE_PUSH as the documentation hints at.
>>
>> Which TRIGGER_STOP and TRIGGER_PAUSE_PUSH? In one specific codec driver?
>> If yes, I don't think Slimbus documentation should care how actual users
>> implement it (e.g. coalesce states).
> 
> In both of the patches you just modified :-)

Yeah, but this is just some implementation. How this implementation
calls, e.g. whether they split STOP from PAUSE is not the concern of
Slimbus.

> 
> diff --git a/sound/soc/codecs/wcd9335.c b/sound/soc/codecs/wcd9335.c
> index 06c6adbe5920..d2548fdf9ae5 100644
> --- a/sound/soc/codecs/wcd9335.c
> +++ b/sound/soc/codecs/wcd9335.c
> @@ -1972,8 +1972,8 @@ static int wcd9335_trigger(struct
> snd_pcm_substream *substream, int cmd,
>  	case SNDRV_PCM_TRIGGER_STOP:
>  	case SNDRV_PCM_TRIGGER_SUSPEND:
>  	case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
> -		slim_stream_unprepare(dai_data->sruntime);
>  		slim_stream_disable(dai_data->sruntime);
> +		slim_stream_unprepare(dai_data->sruntime);
>  		break;
>  	default:
> 
> diff --git a/sound/soc/codecs/wcd934x.c b/sound/soc/codecs/wcd934x.c
> index f56907d0942d..28175c746b9a 100644
> --- a/sound/soc/codecs/wcd934x.c
> +++ b/sound/soc/codecs/wcd934x.c
> @@ -1913,8 +1913,8 @@ static int wcd934x_trigger(struct
> snd_pcm_substream *substream, int cmd,
>  	case SNDRV_PCM_TRIGGER_STOP:
>  	case SNDRV_PCM_TRIGGER_SUSPEND:
>  	case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
> -		slim_stream_unprepare(dai_data->sruntime);
>  		slim_stream_disable(dai_data->sruntime);
> +		slim_stream_unprepare(dai_data->sruntime);
>  		break;
>  	default:
>  		break;
> 
> the bus provides helpers to be used in well-defined transitions. A codec
> driver doing whatever it wants whenever it wants would create chaos for
> the bus.

True, but it's the problem of the codec, not the Slimbus.

Best regards,
Krzysztof




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux