Re: [PATCH 0/3] ASoC: grace time for DPCM cleanup

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

 



Hi Jerome

Thank you for your reply

> >> If so, did you get below warning too ?
> >> 	 "both playback/capture are available, but not using playback_only flag (%s)\n",
> >>
> 
> I've checked. No such trace, no.

OK, thanks

> >> Card
> >> 	dpcm_playback = (0 or 1)
> >> 	dpcm_capture  = (0 or 1)
> >> 	playback_only = (0 or 1)
> >> 	capture_only  = (0 or 1)
> >> BE.CPU
> >> 	playback = (available, not available)
> >> 	capture  = (available, not available)
> >> BE.Codec
> >> 	playback = (available, not available)
> >> 	capture  = (available, not available)
> >> Expect
> >> 	playback = (available, not available)
> >> 	capture  = (available, not available)
> 
> I'm not too sure I undestand this. I'll try to illustrate the case
> raising the warning as precisely as possible bellow

Thanks

Because you got was

(A)	axg-sound-card sound: CPU capture is available but Codec capture is
	not (be.dai-link-6) Please update Codec driver

It is for BE. And validation check is for each rtd only, this means it checks
BE only, relationship with other rtd is not related here.

>     --------
>     |CPU BE|  This is the TDM interface. Capable of both Playback and
>     --------  Capture. Through routing it can be connected to Playback
>       ^       and/or Capture FE CPUs.
>       |
>       V
>     -------------
>     |BE Codec(s)| Possibly N codecs, supporting both direction, or a
>     ------------- Single one, or one direction each. In this particular case
>       |           it is Playback only C2C.

So, I think the warning happen here.
The validation check is checking this BE only.

As I mentioned above, you use this BE through playback only FE and/or C2C,
but that relationship is not related to here.

According to above explanation, this BE itself is available for both
playback and capture. And you didn't get below warning, I guess this BE
has both dpcm_playback/capture flag, and no xxx_only flag.

	 "both playback/capture are available, but not using playback_only
	  flag (%s)\n",

Before my patch, the validation check is checks CPU-BE only, but it also
checks BE-Codec after my patch, and you got the warning (A).

So, I guess your BE-Codec simply missing capture channels_min settings.
Please double check it, or please tell me which codec driver this BE is
using.

	static struct snd_soc_dai_driver xxx_dai = {
		...
		.playback = {
			...
			.channels_min	= x,
			...
		},
		.capture = {
			...
=>			.channels_min	= x,
			...
		},
	},

> But I noticed that we want to update below. I'm happy if it can solve your
> issue.
>
> -	if (has_playback && !has_playback_both)
> +	if (has_playback && !has_playback_both && !dai_link->capture_only)
> 		dev_warn(rtd->card->dev, ...)
>
> -	if (has_capture && !has_capture_both)
> +	if (has_capture && !has_capture_both && !dai_link->playback_only)
> 		dev_warn(rtd->card->dev, ...)
>
> Honestly I'm a bit lost in all these flag :/

Thanks, no problem, me too :9

Unfortunately and confusingly, there are many combination exist around here.
But because of your feedback, I noticed one missing pattern. Thanks


Thank you for your help !!

Best regards
---
Renesas Electronics
Ph.D. Kuninori Morimoto




[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux