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

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Mon Dec 4 17:51:17 CET 2017


On 12/4/17 10:44 AM, Ughreja, Rakesh A wrote:
> 
> 
>> -----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.

I meant the difference between pcm_analog_playback, 
pcm_analog_alt_playback and pcm_digital_playback in the hda_generic.c 
file you mentioned.

> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 



More information about the Alsa-devel mailing list