On 9/21/22 17:19, Krzysztof Kozlowski wrote: > On 21/09/2022 17:11, Pierre-Louis Bossart wrote: >>>>> /** >>>>> * slim_stream_unprepare() - Un-prepare a SLIMbus Stream >>>>> * >>>>> * @stream: instance of slim stream runtime to unprepare >>>>> * >>>>> * This API will un allocate all the ports and channels associated with >>>>> * SLIMbus stream >>>> >>>> You mean this piece of doc? Indeed looks inaccurate. I'll update it. >>> >>> 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 :-) 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.