mbox series

[0/2] ASoC: fixup topology dai_link remove issue

Message ID 87r226x8aq.wl-kuninori.morimoto.gx@renesas.com (mailing list archive)
Headers show
Series ASoC: fixup topology dai_link remove issue | expand

Message

Kuninori Morimoto Nov. 18, 2019, 1:49 a.m. UTC
Hi Mark
Cc Pierre-Louis, Takashi-san

Currently, I'm focusing to ASoC cleanup / balance-up.
But, it found more unbalance issue, and Intel noticed about it.
These patches fix dai_link remove issue on topology.

I want to get Acked-by or Reviewed-by from Takashi-san
for 2) patch if possible.

These are already tested by Intel CI, and all issues were solved.
(https://github.com/thesofproject/linux/pull/1504)
Extra Tested-by / Reviewed-by are very welcome from Intel

Kuninori Morimoto (2):
  1) ASoC: soc-component: tidyup snd_soc_pcm_component_new/free() parameter
  2) ASoC: soc-pcm: remove soc_pcm_private_free()

 include/sound/soc-component.h |  4 ++--
 sound/soc/soc-component.c     |  8 +++-----
 sound/soc/soc-core.c          | 19 +++++++++++--------
 sound/soc/soc-pcm.c           | 12 +-----------
 4 files changed, 17 insertions(+), 26 deletions(-)

Comments

Pierre-Louis Bossart Nov. 18, 2019, 3:25 p.m. UTC | #1
On 11/17/19 7:49 PM, Kuninori Morimoto wrote:
> 
> Hi Mark
> Cc Pierre-Louis, Takashi-san
> 
> Currently, I'm focusing to ASoC cleanup / balance-up.
> But, it found more unbalance issue, and Intel noticed about it.
> These patches fix dai_link remove issue on topology.
> 
> I want to get Acked-by or Reviewed-by from Takashi-san
> for 2) patch if possible.
> 
> These are already tested by Intel CI, and all issues were solved.
> (https://github.com/thesofproject/linux/pull/1504)
> Extra Tested-by / Reviewed-by are very welcome from Intel

if you don't mind I'd like to retest this new series, it's based on a 
different tip and is not exactly the same as before.

e.g. we tested this:

-	/* free the ALSA card at first; this syncs with pending operations */
-	if (card->snd_card) {
-		snd_card_free(card->snd_card);
-		card->snd_card = NULL;
-	}
+	if (card->snd_card)
+		snd_card_disconnect_sync(card->snd_card);

  	/* remove and free each DAI */
  	soc_remove_link_dais(card);
+	soc_remove_link_components(card);


and the new code shows this

-	/* free the ALSA card at first; this syncs with pending operations */
-	if (card->snd_card) {
-		snd_card_free(card->snd_card);
-		card->snd_card = NULL;
-	}
+	if (card->snd_card)
+		snd_card_disconnect_sync(card->snd_card);

  	snd_soc_dapm_shutdown(card); <<< not tested yet.

  	/* remove and free each DAI */
  	soc_remove_link_dais(card);
+	soc_remove_link_components(card);



> 
> Kuninori Morimoto (2):
>    1) ASoC: soc-component: tidyup snd_soc_pcm_component_new/free() parameter
>    2) ASoC: soc-pcm: remove soc_pcm_private_free()
> 
>   include/sound/soc-component.h |  4 ++--
>   sound/soc/soc-component.c     |  8 +++-----
>   sound/soc/soc-core.c          | 19 +++++++++++--------
>   sound/soc/soc-pcm.c           | 12 +-----------
>   4 files changed, 17 insertions(+), 26 deletions(-)
>
Kuninori Morimoto Nov. 19, 2019, 1:10 a.m. UTC | #2
Hi Pierre-Louis

> > These are already tested by Intel CI, and all issues were solved.
> > (https://github.com/thesofproject/linux/pull/1504)
> > Extra Tested-by / Reviewed-by are very welcome from Intel
> 
> if you don't mind I'd like to retest this new series, it's based on a
> different tip and is not exactly the same as before.

Yes, of course.
Sorry I didn't mention about it.

> -	/* free the ALSA card at first; this syncs with pending operations */
> -	if (card->snd_card) {
> -		snd_card_free(card->snd_card);
> -		card->snd_card = NULL;
> -	}
> +	if (card->snd_card)
> +		snd_card_disconnect_sync(card->snd_card);
> 
>  	snd_soc_dapm_shutdown(card); <<< not tested yet.
> 
>  	/* remove and free each DAI */
>  	soc_remove_link_dais(card);
> +	soc_remove_link_components(card);

Yes.
It is from

2a6f0892bda954dc2688b002060093ee0fe38528
("ASoC: soc-core: call snd_soc_dapm_shutdown() at soc_cleanup_card_resources()")


Thank you for your help !!
Best regards
---
Kuninori Morimoto
Pierre-Louis Bossart Nov. 19, 2019, 1:37 p.m. UTC | #3
On 11/18/19 7:10 PM, Kuninori Morimoto wrote:
> 
> Hi Pierre-Louis
> 
>>> These are already tested by Intel CI, and all issues were solved.
>>> (https://github.com/thesofproject/linux/pull/1504)
>>> Extra Tested-by / Reviewed-by are very welcome from Intel
>>
>> if you don't mind I'd like to retest this new series, it's based on a
>> different tip and is not exactly the same as before.
> 
> Yes, of course.
> Sorry I didn't mention about it.
> 
>> -	/* free the ALSA card at first; this syncs with pending operations */
>> -	if (card->snd_card) {
>> -		snd_card_free(card->snd_card);
>> -		card->snd_card = NULL;
>> -	}
>> +	if (card->snd_card)
>> +		snd_card_disconnect_sync(card->snd_card);
>>
>>   	snd_soc_dapm_shutdown(card); <<< not tested yet.
>>
>>   	/* remove and free each DAI */
>>   	soc_remove_link_dais(card);
>> +	soc_remove_link_components(card);
> 
> Yes.
> It is from
> 
> 2a6f0892bda954dc2688b002060093ee0fe38528
> ("ASoC: soc-core: call snd_soc_dapm_shutdown() at soc_cleanup_card_resources()")

No regression detected so from the Intel side we're good with this patchset.
Thanks Morimoto-san for this comprehensive analysis, really nice work!
Mark Brown Nov. 19, 2019, 6:20 p.m. UTC | #4
On Tue, Nov 19, 2019 at 07:37:09AM -0600, Pierre-Louis Bossart wrote:

> No regression detected so from the Intel side we're good with this patchset.
> Thanks Morimoto-san for this comprehensive analysis, really nice work!

Yes, thanks indeed for this - it's really great work.