ASoC: Intel: Move capture PCM pin to PCM0 for Broadwell
Subsystems (3)
PATCH 1/1 ASoC: Intel: Move capture PCM pin to PCM0 for Broadwell
Move capture PCM pin from PCM4 to PCM0 for Broadwell. This will allow us to integrate with pulseaudio better for usually default device is set to 0.
--- sound/soc/intel/broadwell.c | 15 ++------------- sound/soc/intel/sst-haswell-pcm.c | 34 ++++++++++++++++------------------ 2 files changed, 18 insertions(+), 31 deletions(-)
sound/soc/intel/broadwell.c +2 -13
@@ -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 */
sound/soc/intel/sst-haswell-pcm.c +16 -18
@@ -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);
@@ -779,6 +781,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 */
@@ -815,17 +824,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[] = {
Signature · 1 line
1.9.1
Mark Brown
maintainerQuoted 3 lines · Jie Yang
Move capture PCM pin from PCM4 to PCM0 for Broadwell. This will allow us to integrate with pulseaudio better for usually default device is set to 0.
This doesn't apply, please check and resend.
Hi Mark,
Thanks for reviewing. Seems it need to be applied after commit ' [PATCH] ASoC: Intel: Correct the xmax volume' is accepted. I can apply it base on the commit 1e2f1a5f8c4826e3d09fd67dec5f09e64b25c0d5.
Regards,
~Keyon
Quoted 13 lines
-----Original Message-----
From: Mark Brown [mailto:[email protected]]
Sent: Friday, November 28, 2014 7:40 PM
To: Jie, Yang
Cc: [email protected]; Girdwood, Liam R
Subject: Re: [PATCH] ASoC: Intel: Move capture PCM pin to PCM0 for BroadwellQuoted 3 lines · Jie Yang
Move capture PCM pin from PCM4 to PCM0 for Broadwell. This will allow us to integrate with pulseaudio better for usually default device is set to 0.
This doesn't apply, please check and resend.
Hi Mark,
Please ignore my previous mail. Liam comment that it's better to update the haswell machine driver at the same time.
Will resend v2 for the patch.
Thanks,
~Keyon
Quoted 33 lines
-----Original Message-----
From: Jie, Yang
Sent: Friday, November 28, 2014 8:00 PM
To: 'Mark Brown'
Cc: [email protected]; Girdwood, Liam R
Subject: RE: [PATCH] ASoC: Intel: Move capture PCM pin to PCM0 for BroadwellHi Mark,
Thanks for reviewing. Seems it need to be applied after commit ' [PATCH] ASoC:
Intel: Correct the xmax volume' is accepted.
I can apply it base on the commit1e2f1a5f8c4826e3d09fd67dec5f09e64b25c0d5.Regards,
~KeyonQuoted 14 lines
-----Original Message-----
From: Mark Brown [mailto:[email protected]]
Sent: Friday, November 28, 2014 7:40 PM
To: Jie, Yang
Cc: [email protected]; Girdwood, Liam R
Subject: Re: [PATCH] ASoC: Intel: Move capture PCM pin to PCM0 for BroadwellQuoted 3 lines · Jie Yang
Move capture PCM pin from PCM4 to PCM0 for Broadwell. This will allow us to integrate with pulseaudio better for usually default device is set to 0.
This doesn't apply, please check and resend.