Vikram Narayanan | 9 Feb 16:45
Picon
Gravatar

Submitting patches for alsa-utils

Hello,

Is there a separate mailing list for alsa-lib and alsa-utils?
Or, Shall I submit patches to this list?

~Vikram
Liam Girdwood | 8 Feb 21:33
Picon
Favicon

[PATCH v2] ALSA: PCM - Add PCM creation API for internal PCMs.

The new ASoC dynamic PCM core needs to create PCMs and substreams that are
for use by internal ASoC drivers only and not visible to userspace for
direct IO. These new PCMs are similar to regular PCMs expect they have no
device nodes or procfs entries. The ASoC component drivers use them in exactly
the same way as regular PCMs for PCM and DAI operations.

The intention is that a dynamic PCM based driver will register both regular
PCMs and internal PCMs. The regular PCMs will be used for all IO with userspace
however the internal PCMs will be used by the driver to route digital audio
through numerous back end DAI links (with potentially a DSP providing different
hw_params, DAI formats based on the regular front end PCM params) to devices
like CODECs, MODEMs, Bluetooth, FM, DMICs, etc

This patch adds a new snd_pcm_new_internal() API call to create the internal PCM
without device nodes or procfs. It also adds adds a new internal flag to snd_pcm.

Signed-off-by: Liam Girdwood <lrg <at> ti.com>
---
Changes since V1
 - Renamed to Internal PCM instead of Dynamic PCM wrt ALSA.
 - Removed similar PCM creation code and use flag for procfs/device creation.

 include/sound/pcm.h |    4 ++
 sound/core/pcm.c    |  100 +++++++++++++++++++++++++++++++++++---------------
 2 files changed, 74 insertions(+), 30 deletions(-)

diff --git a/include/sound/pcm.h b/include/sound/pcm.h
index 0cf91b2..b33993f 100644
--- a/include/sound/pcm.h
+++ b/include/sound/pcm.h
(Continue reading)

Mark Brown | 8 Feb 21:15
Favicon
Gravatar

ASoC updates for 3.3

The following changes since commit 43b6cec27e1e50a1de3eff47e66e502f3fe7e66e:

  ASoC: wm_hubs: Correct line input to line output 2 paths (2012-02-01 23:55:56 +0000)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git asoc-3.3

for you to fetch changes up to a7c4183be2d6a7da8c97a9b671b5f3aed321127e:

  ASoC: wm8994: Disable line output discharge prior to ramping VMID (2012-02-08 19:52:00 +0000)

----------------------------------------------------------------
A few small WM8994 updates to go on top of the previous lot of things
that were sent.  They collide with some -next work so I'd really like to
get them into 3.3-rc3 if possible to merge back up into the -next code.
All driver specific and unexciting in the grand scheme of things.
----------------------------------------------------------------

Mark Brown (3):
      ASoC: wm8994: Enabling VMID should take a runtime PM reference
      ASoC: wm8994: Fix typo in VMID ramp setting
      ASoC: wm8994: Disable line output discharge prior to ramping VMID

 sound/soc/codecs/wm8994.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)
Mark Brown | 8 Feb 21:11
Favicon
Gravatar

[PATCH] ASoC: pcm: If pmdown_time is zero then shut down DAPM immediately

Since we've already got logic to special case immediate teardown of the
stream we may as well use it if the pmdown_time has been set to zero by
the application layer instead of scheduling a work item with zero delay.

Signed-off-by: Mark Brown <broonie <at> opensource.wolfsonmicro.com>
---
 sound/soc/soc-pcm.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/sound/soc/soc-pcm.c b/sound/soc/soc-pcm.c
index ef28dd5..d7bb268 100644
--- a/sound/soc/soc-pcm.c
+++ b/sound/soc/soc-pcm.c
@@ -369,7 +369,7 @@ static int soc_pcm_close(struct snd_pcm_substream *substream)
 	cpu_dai->runtime = NULL;

 	if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
-		if (codec->ignore_pmdown_time ||
+		if (!rtd->pmdown_time || codec->ignore_pmdown_time ||
 		    rtd->dai_link->ignore_pmdown_time) {
 			/* powered down playback stream now */
 			snd_soc_dapm_stream_event(rtd,
--

-- 
1.7.9.rc1

Mark Brown | 8 Feb 20:02
Favicon
Gravatar

[PATCH] ASoC: wm8962: Support mono playback and record

Make sure we generate enough BCLKs for I2S style modes by always having
a minimum of two channels worth of clocks for the BCLK.

Signed-off-by: Mark Brown <broonie <at> opensource.wolfsonmicro.com>
---
 sound/soc/codecs/wm8962.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index 0f6bd06..85f71a7 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -2536,6 +2536,9 @@ static int wm8962_hw_params(struct snd_pcm_substream *substream,
 	int adctl3 = 0;

 	wm8962->bclk = snd_soc_params_to_bclk(params);
+	if (params_channels(params) == 1)
+		wm8962->bclk *= 2;
+
 	wm8962->lrclk = params_rate(params);

 	for (i = 0; i < ARRAY_SIZE(sr_vals); i++) {
@@ -2913,14 +2916,14 @@ static struct snd_soc_dai_driver wm8962_dai = {
 	.name = "wm8962",
 	.playback = {
 		.stream_name = "Playback",
-		.channels_min = 2,
+		.channels_min = 1,
 		.channels_max = 2,
 		.rates = WM8962_RATES,
(Continue reading)

Mark Brown | 8 Feb 19:58
Favicon
Gravatar

[PATCH] ASoC: core: Convert single bit wide bitfields into bools

It's what they are, we've just been using these for historical reasons.

Signed-off-by: Mark Brown <broonie <at> opensource.wolfsonmicro.com>
---
 include/sound/soc-dai.h  |   12 ++++++------
 include/sound/soc-dapm.h |   26 +++++++++++++-------------
 include/sound/soc.h      |   32 ++++++++++++++++----------------
 3 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/include/sound/soc-dai.h b/include/sound/soc-dai.h
index 1a2b08c..53f9a1f 100644
--- a/include/sound/soc-dai.h
+++ b/include/sound/soc-dai.h
@@ -208,7 +208,7 @@ struct snd_soc_dai_driver {
 	/* DAI capabilities */
 	struct snd_soc_pcm_stream capture;
 	struct snd_soc_pcm_stream playback;
-	unsigned int symmetric_rates:1;
+	bool symmetric_rates;

 	/* probe ordering - for components with runtime dependencies */
 	int probe_order;
@@ -230,13 +230,13 @@ struct snd_soc_dai {
 	struct snd_soc_dai_driver *driver;

 	/* DAI runtime info */
-	unsigned int capture_active:1;		/* stream is in use */
-	unsigned int playback_active:1;		/* stream is in use */
-	unsigned int symmetric_rates:1;
+	bool capture_active;		/* stream is in use */
(Continue reading)

Mark Brown | 8 Feb 19:37
Favicon
Gravatar

[PATCH 1/3] ASoC: core: Allow CODECs to set ignore_pmdown_time in the driver struct

This is usually not a use case dependant flag anyway.

Signed-off-by: Mark Brown <broonie <at> opensource.wolfsonmicro.com>
---
 include/sound/soc.h  |    2 ++
 sound/soc/soc-core.c |    1 +
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/include/sound/soc.h b/include/sound/soc.h
index ecd5d72..d1e7a6a 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -657,6 +657,8 @@ struct snd_soc_codec_driver {
 	/* codec stream completion event */
 	int (*stream_event)(struct snd_soc_dapm_context *dapm, int event);

+	bool ignore_pmdown_time;  /* Doesn't benefit from pmdown delay */
+
 	/* probe ordering - for components with runtime dependencies */
 	int probe_order;
 	int remove_order;
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 3a3b487..0b9974f 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -3380,6 +3380,7 @@ int snd_soc_register_codec(struct device *dev,
 	codec->volatile_register = codec_drv->volatile_register;
 	codec->readable_register = codec_drv->readable_register;
 	codec->writable_register = codec_drv->writable_register;
+	codec->ignore_pmdown_time = codec_drv->ignore_pmdown_time;
(Continue reading)

Liam Girdwood | 8 Feb 12:55
Picon
Favicon

[RFC/PATCH] ALSA: PCM - Add PCM creation API for ASoC dynamic PCMs.

The new ASoC dynamic PCM core needs to create PCMs and substreams that are
for use by internal ASoC drivers only and not visible to userspace for
direct IO. These new PCMs are similar to regular PCMs expect they have no
device nodes or procfs entries. The ASoC component drivers use them in exactly
the same way as regular PCMs for PCM and DAI operations.

The intention is that a dynamic PCM based driver will register both regular
PCMs and dynamic PCMs. The regular PCMs will be used for all IO with userspace
however the dynamic PCMs will be used by the driver to route digital audio
through numerous back end DAI links (with potentially a DSP providing different
hw_params, DAI formats based on the regular front end PCM params) to devices
like CODECs, MODEMs, Bluetooth, FM, DMICs, etc

This patch adds a new snd_pcm_new_dynamic() API call to create the dynamic PCM
without device nodes or procfs. It also adds snd_pcm_new_stream_dynamic() and
snd_pcm_dev_register_dynamic() which are used to create the dynamic PCM.

Signed-off-by: Liam Girdwood <lrg <at> ti.com>
---
 include/sound/pcm.h |    3 +
 sound/core/pcm.c    |  145 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 148 insertions(+), 0 deletions(-)

diff --git a/include/sound/pcm.h b/include/sound/pcm.h
index 0cf91b2..1597f89 100644
--- a/include/sound/pcm.h
+++ b/include/sound/pcm.h
@@ -475,6 +475,9 @@ extern const struct file_operations snd_pcm_f_ops[2];
 int snd_pcm_new(struct snd_card *card, const char *id, int device,
 		int playback_count, int capture_count,
(Continue reading)

M R Swami Reddy | 8 Feb 10:10
Picon
Favicon

Re: FW: [PATCH v3] ASoC: Add support for TI LM49453 Audio codec


> -----Original Message-----
> From: Mark Brown [mailto:broonie <at> opensource.wolfsonmicro.com] 
> Sent: Tuesday, February 07, 2012 10:34 PM
> To: Reddy, MR Swami
> Cc: Girdwood, Liam; alsa-devel <at> alsa-project.org
> Subject: Re: [PATCH v3] ASoC: Add support for TI LM49453 Audio codec
> 
> On Mon, Feb 06, 2012 at 06:20:26AM -0800, Reddy, MR Swami wrote:
> 
>> Changes made in v3:
>> o Updated the lm49453_set_dai_pll() as per review comments in v2 patch.
>>     o Removed pll disable code in _set_dai_pll().
> 
> This doesn't really seem to address the issue at all - you still have the problems with the set_pll()
function not doing anything it's supposed to do with the input and output frequencies, and now there's no
way to disable the PLL.

OK. So its ideal to remove the _set_dai_pll(), as its not doing anything here.

Thanks
Swami

Vinod Koul | 8 Feb 10:05
Picon

concept of substream...

Hi,

I was trying to understand the concept of substream. So can we have a
device which can have support say 5 substreams and these are controlled
(start/stop) independent of each other.
At any instance we can have any number of substreams active and runtime
we should be able to activate/deactivate a particular substream. Is that
doable with this concept or should i look at something else? 

--
~Vinod 

Luke Yelavich | 8 Feb 05:09
Favicon

[PATCH] Add support for Echo3G devices. Thanks to unimatrix.

From: Luke Yelavich <luke.yelavich <at> canonical.com>

BugLink: https://bugs.launchpad.net/bugs/433573

Signed-off-by: Luke Yelavich <luke.yelavich <at> canonical.com>
---
 src/conf/cards/Echo_Echo3G.conf |  318 +++++++++++++++++++++++++++++++++++++++
 src/conf/cards/Makefile.am      |    1 +
 2 files changed, 319 insertions(+), 0 deletions(-)
 create mode 100644 src/conf/cards/Echo_Echo3G.conf

diff --git a/src/conf/cards/Echo_Echo3G.conf b/src/conf/cards/Echo_Echo3G.conf
new file mode 100644
index 0000000..766f13f
--- /dev/null
+++ b/src/conf/cards/Echo_Echo3G.conf
@@ -0,0 +1,318 @@
+#
+# Configuration for the Echo3G driver
+#
+
+<confdir:pcm/front.conf>
+Echo_Echo3G.pcm.front.0 {
+	@args [ CARD ]
+	@args.CARD {
+		type string
+	}
+	type hw
+	card $CARD
+	device 0
(Continue reading)


Gmane