[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:14:15 CET 2017



>-----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

>
>> +	.ops = &skl_link_dai_ops,
>> +	.playback = {
>> +		.stream_name = "Digital CPU Playback",
>> +		.channels_min = HDA_MONO,
>> +		.channels_max = HDA_STEREO,
>> +		.rates = SNDRV_PCM_RATE_48000,
>> +		.formats = SNDRV_PCM_FMTBIT_S16_LE |
>SNDRV_PCM_FMTBIT_S24_LE,
>> +	},
>> +	.capture = {
>> +		.stream_name = "Digital CPU Capture",
>> +		.channels_min = HDA_MONO,
>> +		.channels_max = HDA_STEREO,
>> +		.rates = SNDRV_PCM_RATE_48000,
>> +		.formats = SNDRV_PCM_FMTBIT_S16_LE |
>SNDRV_PCM_FMTBIT_S24_LE,
>>   	},
>>   },
>>   };
>>



More information about the Alsa-devel mailing list