diff mbox

ASoC: Intel: Move capture PCM pin to PCM0 for Broadwell

Message ID 1417173643-25331-1-git-send-email-yang.jie@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jie, Yang Nov. 28, 2014, 11:20 a.m. UTC
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.

Signed-off-by: Jie Yang <yang.jie@intel.com>
---
 sound/soc/intel/broadwell.c       | 15 ++-------------
 sound/soc/intel/sst-haswell-pcm.c | 34 ++++++++++++++++------------------
 2 files changed, 18 insertions(+), 31 deletions(-)

Comments

Mark Brown Nov. 28, 2014, 11:39 a.m. UTC | #1
On Fri, Nov 28, 2014 at 07:20:43PM +0800, Jie Yang wrote:
> 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.
Jie, Yang Nov. 28, 2014, noon UTC | #2
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


> -----Original Message-----
> From: Mark Brown [mailto:broonie@kernel.org]
> Sent: Friday, November 28, 2014 7:40 PM
> To: Jie, Yang
> Cc: alsa-devel@alsa-project.org; Girdwood, Liam R
> Subject: Re: [PATCH] ASoC: Intel: Move capture PCM pin to PCM0 for Broadwell
> 
> On Fri, Nov 28, 2014 at 07:20:43PM +0800, Jie Yang wrote:
> > 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.
Jie, Yang Nov. 28, 2014, 1:40 p.m. UTC | #3
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


> -----Original Message-----
> From: Jie, Yang
> Sent: Friday, November 28, 2014 8:00 PM
> To: 'Mark Brown'
> Cc: alsa-devel@alsa-project.org; Girdwood, Liam R
> Subject: RE: [PATCH] ASoC: Intel: Move capture PCM pin to PCM0 for Broadwell
> 
> 
> 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
> 
> 
> > -----Original Message-----
> > From: Mark Brown [mailto:broonie@kernel.org]
> > Sent: Friday, November 28, 2014 7:40 PM
> > To: Jie, Yang
> > Cc: alsa-devel@alsa-project.org; Girdwood, Liam R
> > Subject: Re: [PATCH] ASoC: Intel: Move capture PCM pin to PCM0 for
> > Broadwell
> >
> > On Fri, Nov 28, 2014 at 07:20:43PM +0800, Jie Yang wrote:
> > > 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.
diff mbox

Patch

diff --git a/sound/soc/intel/broadwell.c b/sound/soc/intel/broadwell.c
index 52cb764..c256764 100644
--- a/sound/soc/intel/broadwell.c
+++ b/sound/soc/intel/broadwell.c
@@ -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 */
diff --git a/sound/soc/intel/sst-haswell-pcm.c b/sound/soc/intel/sst-haswell-pcm.c
index 5f70d81..0180b38 100644
--- a/sound/soc/intel/sst-haswell-pcm.c
+++ b/sound/soc/intel/sst-haswell-pcm.c
@@ -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[] = {