mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-26 12:34:41 +08:00
ASoC: Intel: Move capture PCM pin to PCM0 for Broadwell/Haswell
Move capture PCM pin from PCM4 to PCM0 for Broadwell/Haswell. This will allow us to integrate with pulseaudio better for usually default device is set to 0. Signed-off-by: Jie Yang <yang.jie@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
c5f0406bdc
commit
7bb73cbd07
@ -171,7 +171,7 @@ static struct snd_soc_dai_link broadwell_rt286_dais[] = {
|
||||
/* Front End DAI links */
|
||||
{
|
||||
.name = "System PCM",
|
||||
.stream_name = "System Playback",
|
||||
.stream_name = "System Playback/Capture",
|
||||
.cpu_dai_name = "System Pin",
|
||||
.platform_name = "haswell-pcm-audio",
|
||||
.dynamic = 1,
|
||||
@ -180,6 +180,7 @@ static struct snd_soc_dai_link broadwell_rt286_dais[] = {
|
||||
.init = broadwell_rtd_init,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
},
|
||||
{
|
||||
.name = "Offload0",
|
||||
@ -214,18 +215,6 @@ static struct snd_soc_dai_link broadwell_rt286_dais[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_capture = 1,
|
||||
},
|
||||
{
|
||||
.name = "Capture PCM",
|
||||
.stream_name = "Capture",
|
||||
.cpu_dai_name = "Capture Pin",
|
||||
.platform_name = "haswell-pcm-audio",
|
||||
.dynamic = 1,
|
||||
.codec_name = "snd-soc-dummy",
|
||||
.codec_dai_name = "snd-soc-dummy-dai",
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_capture = 1,
|
||||
},
|
||||
|
||||
/* Back End DAI links */
|
||||
{
|
||||
/* SSP0 - Codec */
|
||||
|
@ -109,7 +109,7 @@ static struct snd_soc_dai_link haswell_rt5640_dais[] = {
|
||||
/* Front End DAI links */
|
||||
{
|
||||
.name = "System",
|
||||
.stream_name = "System Playback",
|
||||
.stream_name = "System Playback/Capture",
|
||||
.cpu_dai_name = "System Pin",
|
||||
.platform_name = "haswell-pcm-audio",
|
||||
.dynamic = 1,
|
||||
@ -118,6 +118,7 @@ static struct snd_soc_dai_link haswell_rt5640_dais[] = {
|
||||
.init = haswell_rtd_init,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
},
|
||||
{
|
||||
.name = "Offload0",
|
||||
@ -152,17 +153,6 @@ static struct snd_soc_dai_link haswell_rt5640_dais[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_capture = 1,
|
||||
},
|
||||
{
|
||||
.name = "Capture",
|
||||
.stream_name = "Capture",
|
||||
.cpu_dai_name = "Capture Pin",
|
||||
.platform_name = "haswell-pcm-audio",
|
||||
.dynamic = 1,
|
||||
.codec_name = "snd-soc-dummy",
|
||||
.codec_dai_name = "snd-soc-dummy-dai",
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_capture = 1,
|
||||
},
|
||||
|
||||
/* Back End DAI links */
|
||||
{
|
||||
|
@ -309,7 +309,7 @@ static const struct snd_kcontrol_new hsw_volume_controls[] = {
|
||||
ARRAY_SIZE(volume_map) - 1, 0,
|
||||
hsw_stream_volume_get, hsw_stream_volume_put, hsw_vol_tlv),
|
||||
/* Mic Capture volume */
|
||||
SOC_DOUBLE_EXT_TLV("Mic Capture Volume", 4, 0, 8,
|
||||
SOC_DOUBLE_EXT_TLV("Mic Capture Volume", 0, 0, 8,
|
||||
ARRAY_SIZE(volume_map) - 1, 0,
|
||||
hsw_stream_volume_get, hsw_stream_volume_put, hsw_vol_tlv),
|
||||
};
|
||||
@ -396,8 +396,14 @@ static int hsw_pcm_hw_params(struct snd_pcm_substream *substream,
|
||||
/* DSP stream type depends on DAI ID */
|
||||
switch (rtd->cpu_dai->id) {
|
||||
case 0:
|
||||
stream_type = SST_HSW_STREAM_TYPE_SYSTEM;
|
||||
module_id = SST_HSW_MODULE_PCM_SYSTEM;
|
||||
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
|
||||
stream_type = SST_HSW_STREAM_TYPE_SYSTEM;
|
||||
module_id = SST_HSW_MODULE_PCM_SYSTEM;
|
||||
}
|
||||
else {
|
||||
stream_type = SST_HSW_STREAM_TYPE_CAPTURE;
|
||||
module_id = SST_HSW_MODULE_PCM_CAPTURE;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
@ -410,10 +416,6 @@ static int hsw_pcm_hw_params(struct snd_pcm_substream *substream,
|
||||
path_id = SST_HSW_STREAM_PATH_SSP0_OUT;
|
||||
module_id = SST_HSW_MODULE_PCM_REFERENCE;
|
||||
break;
|
||||
case 4:
|
||||
stream_type = SST_HSW_STREAM_TYPE_CAPTURE;
|
||||
module_id = SST_HSW_MODULE_PCM_CAPTURE;
|
||||
break;
|
||||
default:
|
||||
dev_err(rtd->dev, "error: invalid DAI ID %d\n",
|
||||
rtd->cpu_dai->id);
|
||||
@ -781,6 +783,13 @@ static struct snd_soc_dai_driver hsw_dais[] = {
|
||||
.rates = SNDRV_PCM_RATE_48000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S16_LE,
|
||||
},
|
||||
.capture = {
|
||||
.stream_name = "Analog Capture",
|
||||
.channels_min = 2,
|
||||
.channels_max = 4,
|
||||
.rates = SNDRV_PCM_RATE_48000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S16_LE,
|
||||
},
|
||||
},
|
||||
{
|
||||
/* PCM */
|
||||
@ -817,17 +826,6 @@ static struct snd_soc_dai_driver hsw_dais[] = {
|
||||
.formats = SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S16_LE,
|
||||
},
|
||||
},
|
||||
{
|
||||
.name = "Capture Pin",
|
||||
.id = HSW_PCM_DAI_ID_CAPTURE,
|
||||
.capture = {
|
||||
.stream_name = "Analog Capture",
|
||||
.channels_min = 2,
|
||||
.channels_max = 4,
|
||||
.rates = SNDRV_PCM_RATE_48000,
|
||||
.formats = SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S16_LE,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
static const struct snd_soc_dapm_widget widgets[] = {
|
||||
|
Loading…
Reference in New Issue
Block a user