[alsa-devel] [PATCH] 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.
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(-)
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[] = {
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.
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.
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.
participants (3)
-
Jie Yang
-
Jie, Yang
-
Mark Brown