[alsa-devel] [RFC 03/10] ASoC: Intel: Skylake: add HDA BE DAIs

Ughreja, Rakesh A rakesh.a.ughreja at intel.com
Mon Dec 4 17:44:57 CET 2017



>-----Original Message-----
>From: Pierre-Louis Bossart [mailto:pierre-louis.bossart at linux.intel.com]
>Sent: Monday, December 4, 2017 10:11 PM
>To: Ughreja, Rakesh A <rakesh.a.ughreja at intel.com>; alsa-devel at alsa-
>project.org; broonie at kernel.org; tiwai at suse.de; liam.r.girdwood at linux.intel.com
>Cc: Koul, Vinod <vinod.koul at intel.com>; Patches Audio
><patches.audio at intel.com>
>Subject: Re: [alsa-devel] [RFC 03/10] ASoC: Intel: Skylake: add HDA BE DAIs
>
>On 12/4/17 10:14 AM, Ughreja, Rakesh A wrote:
>>
>>
>>> -----Original Message-----
>>> From: Pierre-Louis Bossart [mailto:pierre-louis.bossart at linux.intel.com]
>>> Sent: Friday, December 1, 2017 11:50 PM
>>> To: Ughreja, Rakesh A <rakesh.a.ughreja at intel.com>; alsa-devel at alsa-
>>> project.org; broonie at kernel.org; tiwai at suse.de;
>liam.r.girdwood at linux.intel.com
>>> Cc: Koul, Vinod <vinod.koul at intel.com>; Patches Audio
>>> <patches.audio at intel.com>
>>> Subject: Re: [alsa-devel] [RFC 03/10] ASoC: Intel: Skylake: add HDA BE DAIs
>>>
>>> On 12/1/17 3:14 AM, Rakesh Ughreja wrote:
>>>> Add support for HDA BE DAIs in SKL platform driver.
>>>>
>>>> Signed-off-by: Rakesh Ughreja <rakesh.a.ughreja at intel.com>
>>>> ---
>>>>    sound/soc/intel/skylake/skl-pcm.c | 32 +++++++++++++++++++++++++--
>----
>>> -
>>>>    1 file changed, 25 insertions(+), 7 deletions(-)
>>>>
>>>> diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-
>>> pcm.c
>>>> index e6fee7a..3dcb241 100644
>>>> --- a/sound/soc/intel/skylake/skl-pcm.c
>>>> +++ b/sound/soc/intel/skylake/skl-pcm.c
>>>> @@ -956,21 +956,39 @@ static struct snd_soc_dai_driver skl_platform_dai[]
>= {
>>>>    	},
>>>>    },
>>>>    {
>>>> -	.name = "HD-Codec Pin",
>>>> +	.name = "Analog CPU DAI",
>>>>    	.ops = &skl_link_dai_ops,
>>>>    	.playback = {
>>>> -		.stream_name = "HD-Codec Tx",
>>>> -		.channels_min = HDA_STEREO,
>>>> +		.stream_name = "Analog CPU Playback",
>>>> +		.channels_min = HDA_MONO,
>>>>    		.channels_max = HDA_STEREO,
>>>>    		.rates = SNDRV_PCM_RATE_48000,
>>>> -		.formats = SNDRV_PCM_FMTBIT_S16_LE,
>>>> +		.formats = SNDRV_PCM_FMTBIT_S16_LE |
>>> SNDRV_PCM_FMTBIT_S24_LE,
>>>>    	},
>>>>    	.capture = {
>>>> -		.stream_name = "HD-Codec Rx",
>>>> -		.channels_min = HDA_STEREO,
>>>> +		.stream_name = "Analog CPU Capture",
>>>> +		.channels_min = HDA_MONO,
>>>>    		.channels_max = HDA_STEREO,
>>>>    		.rates = SNDRV_PCM_RATE_48000,
>>>> -		.formats = SNDRV_PCM_FMTBIT_S16_LE,
>>>> +		.formats = SNDRV_PCM_FMTBIT_S16_LE |
>>> SNDRV_PCM_FMTBIT_S24_LE,
>>>> +	},
>>>> +},
>>>> +{
>>>> +	.name = "Digital CPU DAI",
>>>
>>> I am not sure I get the meaning of analog/digital.
>>>
>>> Did you mean external codec vs. iDisp codec?
>>>
>>> Or did you really mean analog? I don't think you can control this front
>>> the CPU side, e.g. if the codec has an S/PDIF output it remains digital.
>>
>> I was trying to map the BE CPU DAIs to hda_pcm_stream.
>> The way it is defined here.
>> https://elixir.free-electrons.com/linux/v4.15-
>rc2/source/sound/pci/hda/hda_generic.c#L5374
>
>ok, but I still don't know what those BEs are supposed to refer to or mean.

In the ASoC HDA codec driver it maps the hda_pcm_stream to codc DAI.
In the machine driver we map/bind the codec DAI to CPU BE DAI.



More information about the Alsa-devel mailing list