* ASoC updates for 2.6.31
@ 2009-04-14 12:32 Mark Brown
0 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-14 12:32 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 34e51ce60a210094bd66cf0a75dd8512247618ca:
Takashi Iwai (1):
Merge branch 'for-2.6.30' of git://git.kernel.org/.../broonie/sound-2.6 into topic/asoc
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Alexander Beregalov (1):
ASoC: n810: replace BUG() with BUG_ON()
Daniel Glöckner (3):
ASoC: Add driver for s6000 I2S interface
ASoC: s6105 IP camera machine specific ASoC code
ASoC: correct s6000 I2S clock polarity
Daniel Ribeiro (1):
ASoC: pxa-ssp.c fix clock/frame invert
Mark Brown (11):
ASoC: Display return code when failing to add a DAPM kcontrol
ASoC: Provide core support for symmetric sample rates
ASoC: Add WM8988 CODEC driver
Merge branch 's6000' into for-2.6.31
ASoC: WM9713 requires symmetric rates on the voice DAI
ASoC: Factor out application of power for generic widgets
ASoC: Support DAPM events for DACs and ADCs
ASoC: Move the WM9713 voice DAC powerdown to a DAPM event
ASoC: Add WM8960 CODEC driver
Merge branch 'for-2.6.30' into for-2.6.31
Merge branch 'for-2.6.30' into for-2.6.31
Peter Ujfalusi (1):
ASoC: tlv320aic23: add DSP_A format support
include/sound/soc-dai.h | 1 +
include/sound/soc-dapm.h | 10 +
include/sound/soc.h | 6 +
sound/soc/Kconfig | 1 +
sound/soc/Makefile | 1 +
sound/soc/codecs/Kconfig | 8 +
sound/soc/codecs/Makefile | 4 +
sound/soc/codecs/tlv320aic23.c | 2 +
sound/soc/codecs/wm8960.c | 969 +++++++++++++++++++++++++++++++++++
sound/soc/codecs/wm8960.h | 127 +++++
sound/soc/codecs/wm8988.c | 1097 ++++++++++++++++++++++++++++++++++++++++
sound/soc/codecs/wm8988.h | 60 +++
sound/soc/codecs/wm9713.c | 40 +-
sound/soc/omap/n810.c | 7 +-
sound/soc/pxa/pxa-ssp.c | 11 +-
sound/soc/s6000/Kconfig | 19 +
sound/soc/s6000/Makefile | 11 +
sound/soc/s6000/s6000-i2s.c | 629 +++++++++++++++++++++++
sound/soc/s6000/s6000-i2s.h | 25 +
sound/soc/s6000/s6000-pcm.c | 497 ++++++++++++++++++
sound/soc/s6000/s6000-pcm.h | 35 ++
sound/soc/s6000/s6105-ipcam.c | 244 +++++++++
sound/soc/soc-core.c | 38 ++
sound/soc/soc-dapm.c | 131 +++---
24 files changed, 3893 insertions(+), 80 deletions(-)
create mode 100644 sound/soc/codecs/wm8960.c
create mode 100644 sound/soc/codecs/wm8960.h
create mode 100644 sound/soc/codecs/wm8988.c
create mode 100644 sound/soc/codecs/wm8988.h
create mode 100644 sound/soc/s6000/Kconfig
create mode 100644 sound/soc/s6000/Makefile
create mode 100644 sound/soc/s6000/s6000-i2s.c
create mode 100644 sound/soc/s6000/s6000-i2s.h
create mode 100644 sound/soc/s6000/s6000-pcm.c
create mode 100644 sound/soc/s6000/s6000-pcm.h
create mode 100644 sound/soc/s6000/s6105-ipcam.c
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-04-16 13:50 Mark Brown
2009-04-16 14:06 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-04-16 13:50 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 6967963d6d5cac40a091d075326f0e3ccb95c58a:
Mark Brown (1):
Merge branch 'for-2.6.30' into for-2.6.31
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Ben Dooks (4):
ASoC: Fix jive_wm8750.c build problems
ASoC: s3c-i2s-v2.c fix for s3c_i2sv2_iis_calc_rate
ASoC: Fix s3c-i2s-v2.c snd_soc_dai changes
ASoC: Fix include build error in s3c2412-i2s.c
Daniel Mack (1):
ASoC: pxa-ssp: allow setting of dai format 0
Jarkko Nikula (2):
ASoC: OMAP: Fix DSP_B format in OMAP McBSP DAI driver
ASoC: OMAP: Fix FS polarity in OSK5912 machine driver
Mark Brown (4):
ASoC: Check we have DAI ops when calling via accessor functions
ASoC: Volume controls are never of boolean type
ASoC: Request shared rates for WM8903
Merge branch 'for-2.6.30' into for-2.6.31
Peter Ujfalusi (2):
ASoC: OMAP: Use single-phase for DSP mode
ASoC: OMAP: Add DSP_A mode support for mcbsp
sound/soc/codecs/wm8903.c | 1 +
sound/soc/omap/omap-mcbsp.c | 45 ++++++++++++++++++++++++++------------
sound/soc/omap/osk5912.c | 4 +-
sound/soc/pxa/pxa-ssp.c | 1 +
sound/soc/s3c24xx/jive_wm8750.c | 12 +++++-----
sound/soc/s3c24xx/s3c-i2s-v2.c | 18 ++++++++-------
sound/soc/s3c24xx/s3c2412-i2s.c | 2 +-
sound/soc/soc-core.c | 20 ++++++++--------
8 files changed, 62 insertions(+), 41 deletions(-)
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-04-16 13:50 Mark Brown
@ 2009-04-16 14:06 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-04-16 14:06 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Thu, 16 Apr 2009 14:50:27 +0100,
Mark Brown wrote:
>
> The following changes since commit 6967963d6d5cac40a091d075326f0e3ccb95c58a:
> Mark Brown (1):
> Merge branch 'for-2.6.30' into for-2.6.31
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Pulled to topic/asoc branch now. Thanks.
Takashi
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-04-20 11:58 Mark Brown
2009-04-20 12:05 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-04-20 11:58 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 8d98f2246d7c622198ae0b8ca66f1c82b8a25377:
Mark Brown (1):
Merge branch 'for-2.6.30' into for-2.6.31
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Jarkko Nikula (1):
ASoC: OMAP: Update contact addresses
Joonyoung Shim (1):
ASoC: TWL4030: Add support Voice DAI
Mark Brown (1):
Merge branch 'for-2.6.30' into for-2.6.31
Peter Ujfalusi (1):
ASoC: TWL4030: Fix for the constraint handling
Philipp Zabel (1):
ASoC: pxa-ssp: Don't use SSCR0_SerClkDiv and SSCR0_SCR
sound/soc/codecs/twl4030.c | 258 +++++++++++++++++++++++++++++++++++++----
sound/soc/codecs/twl4030.h | 18 +++-
sound/soc/omap/n810.c | 4 +-
sound/soc/omap/omap-mcbsp.c | 5 +-
sound/soc/omap/omap-mcbsp.h | 3 +-
sound/soc/omap/omap-pcm.c | 5 +-
sound/soc/omap/omap-pcm.h | 3 +-
sound/soc/omap/omap2evm.c | 2 +-
sound/soc/omap/omap3beagle.c | 2 +-
sound/soc/omap/omap3pandora.c | 4 +-
sound/soc/omap/overo.c | 2 +-
sound/soc/omap/sdp3430.c | 2 +-
sound/soc/pxa/pxa-ssp.c | 36 +++++--
13 files changed, 297 insertions(+), 47 deletions(-)
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-04-20 11:58 Mark Brown
@ 2009-04-20 12:05 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-04-20 12:05 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Mon, 20 Apr 2009 12:58:08 +0100,
Mark Brown wrote:
>
> The following changes since commit 8d98f2246d7c622198ae0b8ca66f1c82b8a25377:
> Mark Brown (1):
> Merge branch 'for-2.6.30' into for-2.6.31
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Pulled now. Thanks.
Takashi
> Jarkko Nikula (1):
> ASoC: OMAP: Update contact addresses
>
> Joonyoung Shim (1):
> ASoC: TWL4030: Add support Voice DAI
>
> Mark Brown (1):
> Merge branch 'for-2.6.30' into for-2.6.31
>
> Peter Ujfalusi (1):
> ASoC: TWL4030: Fix for the constraint handling
>
> Philipp Zabel (1):
> ASoC: pxa-ssp: Don't use SSCR0_SerClkDiv and SSCR0_SCR
>
> sound/soc/codecs/twl4030.c | 258 +++++++++++++++++++++++++++++++++++++----
> sound/soc/codecs/twl4030.h | 18 +++-
> sound/soc/omap/n810.c | 4 +-
> sound/soc/omap/omap-mcbsp.c | 5 +-
> sound/soc/omap/omap-mcbsp.h | 3 +-
> sound/soc/omap/omap-pcm.c | 5 +-
> sound/soc/omap/omap-pcm.h | 3 +-
> sound/soc/omap/omap2evm.c | 2 +-
> sound/soc/omap/omap3beagle.c | 2 +-
> sound/soc/omap/omap3pandora.c | 4 +-
> sound/soc/omap/overo.c | 2 +-
> sound/soc/omap/sdp3430.c | 2 +-
> sound/soc/pxa/pxa-ssp.c | 36 +++++--
> 13 files changed, 297 insertions(+), 47 deletions(-)
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-04-23 19:54 Mark Brown
2009-04-23 19:55 ` [PATCH 01/21] ASoC: Fix warning in wm9705 Mark Brown
` (21 more replies)
0 siblings, 22 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:54 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 9b5b0c01598f9782690b09ce6c49f4ba116dde44:
Mark Brown (1):
Merge branch 'for-2.6.30' into for-2.6.31
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Eric Miao (2):
ASoC: simplify the SSP DMA parameters settings by run-time generation
ASoC: change stereo/mono to 32-bit/16-bit for pxa-ssp
Joonyoung Shim (2):
ASoC: OMAP: Add checking to detect bufferless pcms
ASoC: TWL4030: Add VDL path support
Mark Brown (16):
ASoC: Factor out generic widget power checks
ASoC: Factor out DAPM power checks for DACs and ADCs
ASoC: Make the DAPM power check an operation on the widget
ASoC: Fix offset of freqmode in WM8580 PLL configuration
ASoC: Fix WM8580 volume update handling for large register changes
ASoC: Add power supply widget to DAPM
ASoC: Use DAPM supply widget for WM8903 charge pump
ASoC: Support CLK_DSP in WM8903
ASoC: Optimise configuration of WM8903 DC servo
ASoC: Actively manage the DC servo for WM8903
ASoC: Remove redundant rate constraint for WM8903
ASoC: Implement WM8903 digital sidetone support
Merge commit 'takashi/fix/asoc' into for-2.6.30
Merge branch 'for-2.6.30' into for-2.6.31
ASoC: s3c-i2s-v2 needs to declare a license for modular builds
Merge branch 'for-2.6.30' into for-2.6.31
Peter Ujfalusi (2):
ASoC: OMAP: Add 4 channel support to mcbsp
ASoC: TWL4030: Add 4 channel TDM support
Russell King - ARM Linux (1):
ASoC: Fix warning in wm9705
Takashi Iwai (1):
ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991
Documentation/sound/alsa/soc/dapm.txt | 1 +
include/sound/soc-dapm.h | 9 +-
sound/soc/codecs/Makefile | 1 -
sound/soc/codecs/twl4030.c | 308 +++++++++++++++++++--------------
sound/soc/codecs/twl4030.h | 11 ++
sound/soc/codecs/wm8580.c | 16 +-
sound/soc/codecs/wm8903.c | 118 ++++++++-----
sound/soc/codecs/wm9705.c | 2 +-
sound/soc/omap/omap-mcbsp.c | 5 +-
sound/soc/omap/omap-pcm.c | 9 +-
sound/soc/pxa/pxa-ssp.c | 203 +++++-----------------
sound/soc/s3c24xx/s3c-i2s-v2.c | 3 +-
sound/soc/soc-dapm.c | 139 +++++++++++-----
13 files changed, 438 insertions(+), 387 deletions(-)
^ permalink raw reply [flat|nested] 61+ messages in thread
* [PATCH 01/21] ASoC: Fix warning in wm9705
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 02/21] ASoC: Factor out generic widget power checks Mark Brown
` (20 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai
Cc: Russell King, alsa-devel, Mark Brown, Russell King - ARM Linux
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
I notice that the fixes were merged, minus one:
sound/soc/codecs/wm9705.c: At top level:
sound/soc/codecs/wm9705.c:445: warning: initialization from incompatible pointer type
so you might find this trivial patch useful.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/wm9705.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/wm9705.c b/sound/soc/codecs/wm9705.c
index 6e23a81..c2d1a7a 100644
--- a/sound/soc/codecs/wm9705.c
+++ b/sound/soc/codecs/wm9705.c
@@ -318,7 +318,7 @@ static int wm9705_reset(struct snd_soc_codec *codec)
}
#ifdef CONFIG_PM
-static int wm9705_soc_suspend(struct platform_device *pdev)
+static int wm9705_soc_suspend(struct platform_device *pdev, pm_message_t msg)
{
struct snd_soc_device *socdev = platform_get_drvdata(pdev);
struct snd_soc_codec *codec = socdev->card->codec;
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 02/21] ASoC: Factor out generic widget power checks
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
2009-04-23 19:55 ` [PATCH 01/21] ASoC: Fix warning in wm9705 Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 03/21] ASoC: Factor out DAPM power checks for DACs and ADCs Mark Brown
` (19 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
This will form a basis for further power check refactoring: the overall
goal of these changes is to allow us to check power separately to
applying it, allowing improvements in the power sequencing algorithms.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/soc-dapm.c | 19 ++++++++++++++-----
1 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index a6d7337..28e6e32 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -581,6 +581,19 @@ static int dapm_generic_apply_power(struct snd_soc_dapm_widget *w)
return 0;
}
+/* Generic check to see if a widget should be powered.
+ */
+static int dapm_generic_check_power(struct snd_soc_dapm_widget *w)
+{
+ int in, out;
+
+ in = is_connected_input_ep(w);
+ dapm_clear_walk(w->codec);
+ out = is_connected_output_ep(w);
+ dapm_clear_walk(w->codec);
+ return out != 0 && in != 0;
+}
+
/*
* Scan a single DAPM widget for a complete audio path and update the
* power status appropriately.
@@ -653,11 +666,7 @@ static int dapm_power_widget(struct snd_soc_codec *codec, int event,
}
/* all other widgets */
- in = is_connected_input_ep(w);
- dapm_clear_walk(w->codec);
- out = is_connected_output_ep(w);
- dapm_clear_walk(w->codec);
- power = (out != 0 && in != 0) ? 1 : 0;
+ power = dapm_generic_check_power(w);
power_change = (w->power == power) ? 0 : 1;
w->power = power;
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 03/21] ASoC: Factor out DAPM power checks for DACs and ADCs
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
2009-04-23 19:55 ` [PATCH 01/21] ASoC: Fix warning in wm9705 Mark Brown
2009-04-23 19:55 ` [PATCH 02/21] ASoC: Factor out generic widget power checks Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 04/21] ASoC: Make the DAPM power check an operation on the widget Mark Brown
` (18 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
This also switches us to using a switch statement for the widget type
in dapm_power_widget().
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/soc-dapm.c | 81 +++++++++++++++++++++++++++++--------------------
1 files changed, 48 insertions(+), 33 deletions(-)
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 28e6e32..22522e2 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -594,6 +594,34 @@ static int dapm_generic_check_power(struct snd_soc_dapm_widget *w)
return out != 0 && in != 0;
}
+/* Check to see if an ADC has power */
+static int dapm_adc_check_power(struct snd_soc_dapm_widget *w)
+{
+ int in;
+
+ if (w->active) {
+ in = is_connected_input_ep(w);
+ dapm_clear_walk(w->codec);
+ return in != 0;
+ } else {
+ return dapm_generic_check_power(w);
+ }
+}
+
+/* Check to see if a DAC has power */
+static int dapm_dac_check_power(struct snd_soc_dapm_widget *w)
+{
+ int out;
+
+ if (w->active) {
+ out = is_connected_output_ep(w);
+ dapm_clear_walk(w->codec);
+ return out != 0;
+ } else {
+ return dapm_generic_check_power(w);
+ }
+}
+
/*
* Scan a single DAPM widget for a complete audio path and update the
* power status appropriately.
@@ -601,36 +629,23 @@ static int dapm_generic_check_power(struct snd_soc_dapm_widget *w)
static int dapm_power_widget(struct snd_soc_codec *codec, int event,
struct snd_soc_dapm_widget *w)
{
- int in, out, power_change, power, ret;
+ int power, ret;
- /* vmid - no action */
- if (w->id == snd_soc_dapm_vmid)
+ /* Work out the new power state */
+ switch (w->id) {
+ case snd_soc_dapm_vmid:
+ /* No action required */
return 0;
- /* active ADC */
- if (w->id == snd_soc_dapm_adc && w->active) {
- in = is_connected_input_ep(w);
- dapm_clear_walk(w->codec);
- power = (in != 0) ? 1 : 0;
- if (power == w->power)
- return 0;
- w->power = power;
- return dapm_generic_apply_power(w);
- }
+ case snd_soc_dapm_adc:
+ power = dapm_adc_check_power(w);
+ break;
- /* active DAC */
- if (w->id == snd_soc_dapm_dac && w->active) {
- out = is_connected_output_ep(w);
- dapm_clear_walk(w->codec);
- power = (out != 0) ? 1 : 0;
- if (power == w->power)
- return 0;
- w->power = power;
- return dapm_generic_apply_power(w);
- }
+ case snd_soc_dapm_dac:
+ power = dapm_dac_check_power(w);
+ break;
- /* pre and post event widgets */
- if (w->id == snd_soc_dapm_pre) {
+ case snd_soc_dapm_pre:
if (!w->event)
return 0;
@@ -646,8 +661,8 @@ static int dapm_power_widget(struct snd_soc_codec *codec, int event,
return ret;
}
return 0;
- }
- if (w->id == snd_soc_dapm_post) {
+
+ case snd_soc_dapm_post:
if (!w->event)
return 0;
@@ -663,15 +678,15 @@ static int dapm_power_widget(struct snd_soc_codec *codec, int event,
return ret;
}
return 0;
- }
- /* all other widgets */
- power = dapm_generic_check_power(w);
- power_change = (w->power == power) ? 0 : 1;
- w->power = power;
+ default:
+ power = dapm_generic_check_power(w);
+ break;
+ }
- if (!power_change)
+ if (w->power == power)
return 0;
+ w->power = power;
return dapm_generic_apply_power(w);
}
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 04/21] ASoC: Make the DAPM power check an operation on the widget
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (2 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 03/21] ASoC: Factor out DAPM power checks for DACs and ADCs Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 05/21] ASoC: Fix offset of freqmode in WM8580 PLL configuration Mark Brown
` (17 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
Rather than having switch statements at point of use make the DAPM
power check a member of the widget structure and set it when we
instantiate the widget.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
include/sound/soc-dapm.h | 2 ++
sound/soc/soc-dapm.c | 27 +++++++++++++--------------
2 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index fcc929d..839a97b 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -367,6 +367,8 @@ struct snd_soc_dapm_widget {
unsigned char suspend:1; /* was active before suspend */
unsigned char pmdown:1; /* waiting for timeout */
+ int (*power_check)(struct snd_soc_dapm_widget *w);
+
/* external events */
unsigned short event_flags; /* flags to specify event types */
int (*event)(struct snd_soc_dapm_widget*, struct snd_kcontrol *, int);
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 22522e2..d3d1735 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -631,20 +631,7 @@ static int dapm_power_widget(struct snd_soc_codec *codec, int event,
{
int power, ret;
- /* Work out the new power state */
switch (w->id) {
- case snd_soc_dapm_vmid:
- /* No action required */
- return 0;
-
- case snd_soc_dapm_adc:
- power = dapm_adc_check_power(w);
- break;
-
- case snd_soc_dapm_dac:
- power = dapm_dac_check_power(w);
- break;
-
case snd_soc_dapm_pre:
if (!w->event)
return 0;
@@ -680,10 +667,13 @@ static int dapm_power_widget(struct snd_soc_codec *codec, int event,
return 0;
default:
- power = dapm_generic_check_power(w);
break;
}
+ if (!w->power_check)
+ return 0;
+
+ power = w->power_check(w);
if (w->power == power)
return 0;
w->power = power;
@@ -1147,15 +1137,22 @@ int snd_soc_dapm_new_widgets(struct snd_soc_codec *codec)
case snd_soc_dapm_switch:
case snd_soc_dapm_mixer:
case snd_soc_dapm_mixer_named_ctl:
+ w->power_check = dapm_generic_check_power;
dapm_new_mixer(codec, w);
break;
case snd_soc_dapm_mux:
case snd_soc_dapm_value_mux:
+ w->power_check = dapm_generic_check_power;
dapm_new_mux(codec, w);
break;
case snd_soc_dapm_adc:
+ w->power_check = dapm_adc_check_power;
+ break;
case snd_soc_dapm_dac:
+ w->power_check = dapm_dac_check_power;
+ break;
case snd_soc_dapm_pga:
+ w->power_check = dapm_generic_check_power;
dapm_new_pga(codec, w);
break;
case snd_soc_dapm_input:
@@ -1165,6 +1162,8 @@ int snd_soc_dapm_new_widgets(struct snd_soc_codec *codec)
case snd_soc_dapm_hp:
case snd_soc_dapm_mic:
case snd_soc_dapm_line:
+ w->power_check = dapm_generic_check_power;
+ break;
case snd_soc_dapm_vmid:
case snd_soc_dapm_pre:
case snd_soc_dapm_post:
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 05/21] ASoC: Fix offset of freqmode in WM8580 PLL configuration
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (3 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 04/21] ASoC: Make the DAPM power check an operation on the widget Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 06/21] ASoC: Fix WM8580 volume update handling for large register changes Mark Brown
` (16 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown, stable
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
---
sound/soc/codecs/wm8580.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c
index 442ea6f..41aab4a 100644
--- a/sound/soc/codecs/wm8580.c
+++ b/sound/soc/codecs/wm8580.c
@@ -522,7 +522,7 @@ static int wm8580_set_dai_pll(struct snd_soc_dai *codec_dai,
reg = wm8580_read(codec, WM8580_PLLA4 + offset);
reg &= ~0x3f;
reg |= pll_div.prescale | pll_div.postscale << 1 |
- pll_div.freqmode << 4;
+ pll_div.freqmode << 3;
wm8580_write(codec, WM8580_PLLA4 + offset, reg);
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 06/21] ASoC: Fix WM8580 volume update handling for large register changes
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (4 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 05/21] ASoC: Fix offset of freqmode in WM8580 PLL configuration Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 07/21] ASoC: OMAP: Add checking to detect bufferless pcms Mark Brown
` (15 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
The driver is out of sync with the core functions it is using.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/wm8580.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c
index 41aab4a..9f6be3d 100644
--- a/sound/soc/codecs/wm8580.c
+++ b/sound/soc/codecs/wm8580.c
@@ -268,9 +268,11 @@ static const DECLARE_TLV_DB_SCALE(dac_tlv, -12750, 50, 1);
static int wm8580_out_vu(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
{
+ struct soc_mixer_control *mc =
+ (struct soc_mixer_control *)kcontrol->private_value;
struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
- int reg = kcontrol->private_value & 0xff;
- int reg2 = (kcontrol->private_value >> 24) & 0xff;
+ unsigned int reg = mc->reg;
+ unsigned int reg2 = mc->rreg;
int ret;
u16 val;
@@ -292,15 +294,17 @@ static int wm8580_out_vu(struct snd_kcontrol *kcontrol,
return 0;
}
-#define SOC_WM8580_OUT_DOUBLE_R_TLV(xname, reg_left, reg_right, shift, max, invert, tlv_array) \
+#define SOC_WM8580_OUT_DOUBLE_R_TLV(xname, reg_left, reg_right, xshift, xmax, \
+ xinvert, tlv_array) \
{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \
.access = SNDRV_CTL_ELEM_ACCESS_TLV_READ |\
SNDRV_CTL_ELEM_ACCESS_READWRITE, \
.tlv.p = (tlv_array), \
.info = snd_soc_info_volsw_2r, \
.get = snd_soc_get_volsw_2r, .put = wm8580_out_vu, \
- .private_value = (reg_left) | ((shift) << 8) | \
- ((max) << 12) | ((invert) << 20) | ((reg_right) << 24) }
+ .private_value = (unsigned long)&(struct soc_mixer_control) \
+ {.reg = reg_left, .rreg = reg_right, .shift = xshift, \
+ .max = xmax, .invert = xinvert} }
static const struct snd_kcontrol_new wm8580_snd_controls[] = {
SOC_WM8580_OUT_DOUBLE_R_TLV("DAC1 Playback Volume",
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 07/21] ASoC: OMAP: Add checking to detect bufferless pcms
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (5 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 06/21] ASoC: Fix WM8580 volume update handling for large register changes Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 08/21] ASoC: Add power supply widget to DAPM Mark Brown
` (14 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown, Joonyoung Shim
From: Joonyoung Shim <jy0922.shim@samsung.com>
Add checking in hw_params and prepare to detect bufferless pcms(i.e. BT
<--> codec).
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/omap/omap-pcm.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/sound/soc/omap/omap-pcm.c b/sound/soc/omap/omap-pcm.c
index 07cf7f4..6454e15 100644
--- a/sound/soc/omap/omap-pcm.c
+++ b/sound/soc/omap/omap-pcm.c
@@ -87,8 +87,10 @@ static int omap_pcm_hw_params(struct snd_pcm_substream *substream,
struct omap_pcm_dma_data *dma_data = rtd->dai->cpu_dai->dma_data;
int err = 0;
+ /* return if this is a bufferless transfer e.g.
+ * codec <--> BT codec or GSM modem -- lg FIXME */
if (!dma_data)
- return -ENODEV;
+ return 0;
snd_pcm_set_runtime_buffer(substream, &substream->dma_buffer);
runtime->dma_bytes = params_buffer_bytes(params);
@@ -134,6 +136,11 @@ static int omap_pcm_prepare(struct snd_pcm_substream *substream)
struct omap_pcm_dma_data *dma_data = prtd->dma_data;
struct omap_dma_channel_params dma_params;
+ /* return if this is a bufferless transfer e.g.
+ * codec <--> BT codec or GSM modem -- lg FIXME */
+ if (!prtd->dma_data)
+ return 0;
+
memset(&dma_params, 0, sizeof(dma_params));
/*
* Note: Regardless of interface data formats supported by OMAP McBSP
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 08/21] ASoC: Add power supply widget to DAPM
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (6 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 07/21] ASoC: OMAP: Add checking to detect bufferless pcms Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 09/21] ASoC: Use DAPM supply widget for WM8903 charge pump Mark Brown
` (13 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
Many modern CODECs have shared resources on chip which must be enabled
for portions of the chip to work but which can be disabled at other times
in order to achieve power savings. Examples of such resources include
power supplies and some internal clocks.
Since these widgets are dependencies for the audio path but do not carry
audio signals they require slightly different handling to most widgets -
they do not contribute to the audio path and so should not be counted as
either inputs or outputs during path walks.
Cases where one supply provides a supply for another will require
additional work. There is also room for more optimisation of the graph
walking to avoid repeated checks for the same thing.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
Documentation/sound/alsa/soc/dapm.txt | 1 +
include/sound/soc-dapm.h | 7 ++++-
sound/soc/soc-dapm.c | 44 +++++++++++++++++++++++++++++---
3 files changed, 46 insertions(+), 6 deletions(-)
diff --git a/Documentation/sound/alsa/soc/dapm.txt b/Documentation/sound/alsa/soc/dapm.txt
index 9e67632..9ac842b 100644
--- a/Documentation/sound/alsa/soc/dapm.txt
+++ b/Documentation/sound/alsa/soc/dapm.txt
@@ -62,6 +62,7 @@ Audio DAPM widgets fall into a number of types:-
o Mic - Mic (and optional Jack)
o Line - Line Input/Output (and optional Jack)
o Speaker - Speaker
+ o Supply - Power or clock supply widget used by other widgets.
o Pre - Special PRE widget (exec before all others)
o Post - Special POST widget (exec after all others)
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h
index 839a97b..533f9f2 100644
--- a/include/sound/soc-dapm.h
+++ b/include/sound/soc-dapm.h
@@ -154,12 +154,16 @@
.shift = wshift, .invert = winvert, \
.event = wevent, .event_flags = wflags}
-/* generic register modifier widget */
+/* generic widgets */
#define SND_SOC_DAPM_REG(wid, wname, wreg, wshift, wmask, won_val, woff_val) \
{ .id = wid, .name = wname, .kcontrols = NULL, .num_kcontrols = 0, \
.reg = -((wreg) + 1), .shift = wshift, .mask = wmask, \
.on_val = won_val, .off_val = woff_val, .event = dapm_reg_event, \
.event_flags = SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD}
+#define SND_SOC_DAPM_SUPPLY(wname, wreg, wshift, winvert, wevent, wflags) \
+{ .id = snd_soc_dapm_supply, .name = wname, .reg = wreg, \
+ .shift = wshift, .invert = winvert, .event = wevent, \
+ .event_flags = wflags}
/* dapm kcontrol types */
#define SOC_DAPM_SINGLE(xname, reg, shift, max, invert) \
@@ -308,6 +312,7 @@ enum snd_soc_dapm_type {
snd_soc_dapm_vmid, /* codec bias/vmid - to minimise pops */
snd_soc_dapm_pre, /* machine specific pre widget - exec first */
snd_soc_dapm_post, /* machine specific post widget - exec last */
+ snd_soc_dapm_supply, /* power/clock supply */
};
/*
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index d3d1735..7847f80 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -52,17 +52,19 @@
/* dapm power sequences - make this per codec in the future */
static int dapm_up_seq[] = {
- snd_soc_dapm_pre, snd_soc_dapm_micbias, snd_soc_dapm_mic,
- snd_soc_dapm_mux, snd_soc_dapm_value_mux, snd_soc_dapm_dac,
- snd_soc_dapm_mixer, snd_soc_dapm_mixer_named_ctl, snd_soc_dapm_pga,
- snd_soc_dapm_adc, snd_soc_dapm_hp, snd_soc_dapm_spk, snd_soc_dapm_post
+ snd_soc_dapm_pre, snd_soc_dapm_supply, snd_soc_dapm_micbias,
+ snd_soc_dapm_mic, snd_soc_dapm_mux, snd_soc_dapm_value_mux,
+ snd_soc_dapm_dac, snd_soc_dapm_mixer, snd_soc_dapm_mixer_named_ctl,
+ snd_soc_dapm_pga, snd_soc_dapm_adc, snd_soc_dapm_hp, snd_soc_dapm_spk,
+ snd_soc_dapm_post
};
static int dapm_down_seq[] = {
snd_soc_dapm_pre, snd_soc_dapm_adc, snd_soc_dapm_hp, snd_soc_dapm_spk,
snd_soc_dapm_pga, snd_soc_dapm_mixer_named_ctl, snd_soc_dapm_mixer,
snd_soc_dapm_dac, snd_soc_dapm_mic, snd_soc_dapm_micbias,
- snd_soc_dapm_mux, snd_soc_dapm_value_mux, snd_soc_dapm_post
+ snd_soc_dapm_mux, snd_soc_dapm_value_mux, snd_soc_dapm_supply,
+ snd_soc_dapm_post
};
static int dapm_status = 1;
@@ -165,6 +167,7 @@ static void dapm_set_path_status(struct snd_soc_dapm_widget *w,
case snd_soc_dapm_dac:
case snd_soc_dapm_micbias:
case snd_soc_dapm_vmid:
+ case snd_soc_dapm_supply:
p->connect = 1;
break;
/* does effect routing - dynamically connected */
@@ -435,6 +438,9 @@ static int is_connected_output_ep(struct snd_soc_dapm_widget *widget)
struct snd_soc_dapm_path *path;
int con = 0;
+ if (widget->id == snd_soc_dapm_supply)
+ return 0;
+
if (widget->id == snd_soc_dapm_adc && widget->active)
return 1;
@@ -471,6 +477,9 @@ static int is_connected_input_ep(struct snd_soc_dapm_widget *widget)
struct snd_soc_dapm_path *path;
int con = 0;
+ if (widget->id == snd_soc_dapm_supply)
+ return 0;
+
/* active stream ? */
if (widget->id == snd_soc_dapm_dac && widget->active)
return 1;
@@ -622,6 +631,26 @@ static int dapm_dac_check_power(struct snd_soc_dapm_widget *w)
}
}
+/* Check to see if a power supply is needed */
+static int dapm_supply_check_power(struct snd_soc_dapm_widget *w)
+{
+ struct snd_soc_dapm_path *path;
+ int power = 0;
+
+ /* Check if one of our outputs is connected */
+ list_for_each_entry(path, &w->sinks, list_source) {
+ if (path->sink && path->sink->power_check &&
+ path->sink->power_check(path->sink)) {
+ power = 1;
+ break;
+ }
+ }
+
+ dapm_clear_walk(w->codec);
+
+ return power;
+}
+
/*
* Scan a single DAPM widget for a complete audio path and update the
* power status appropriately.
@@ -752,6 +781,7 @@ static void dbg_dump_dapm(struct snd_soc_codec* codec, const char *action)
case snd_soc_dapm_pga:
case snd_soc_dapm_mixer:
case snd_soc_dapm_mixer_named_ctl:
+ case snd_soc_dapm_supply:
if (w->name) {
in = is_connected_input_ep(w);
dapm_clear_walk(w->codec);
@@ -880,6 +910,7 @@ static ssize_t dapm_widget_show(struct device *dev,
case snd_soc_dapm_pga:
case snd_soc_dapm_mixer:
case snd_soc_dapm_mixer_named_ctl:
+ case snd_soc_dapm_supply:
if (w->name)
count += sprintf(buf + count, "%s: %s\n",
w->name, w->power ? "On":"Off");
@@ -1044,6 +1075,7 @@ static int snd_soc_dapm_add_route(struct snd_soc_codec *codec,
case snd_soc_dapm_vmid:
case snd_soc_dapm_pre:
case snd_soc_dapm_post:
+ case snd_soc_dapm_supply:
list_add(&path->list, &codec->dapm_paths);
list_add(&path->list_sink, &wsink->sources);
list_add(&path->list_source, &wsource->sinks);
@@ -1164,6 +1196,8 @@ int snd_soc_dapm_new_widgets(struct snd_soc_codec *codec)
case snd_soc_dapm_line:
w->power_check = dapm_generic_check_power;
break;
+ case snd_soc_dapm_supply:
+ w->power_check = dapm_supply_check_power;
case snd_soc_dapm_vmid:
case snd_soc_dapm_pre:
case snd_soc_dapm_post:
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 09/21] ASoC: Use DAPM supply widget for WM8903 charge pump
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (7 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 08/21] ASoC: Add power supply widget to DAPM Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 10/21] ASoC: Support CLK_DSP in WM8903 Mark Brown
` (12 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/wm8903.c | 53 +++++++++++++++++----------------------------
1 files changed, 20 insertions(+), 33 deletions(-)
diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c
index c539184..a3a489d 100644
--- a/sound/soc/codecs/wm8903.c
+++ b/sound/soc/codecs/wm8903.c
@@ -217,7 +217,6 @@ struct wm8903_priv {
int sysclk;
/* Reference counts */
- int charge_pump_users;
int class_w_users;
int playback_active;
int capture_active;
@@ -373,6 +372,15 @@ static void wm8903_reset(struct snd_soc_codec *codec)
#define WM8903_OUTPUT_INT 0x2
#define WM8903_OUTPUT_IN 0x1
+static int wm8903_cp_event(struct snd_soc_dapm_widget *w,
+ struct snd_kcontrol *kcontrol, int event)
+{
+ WARN_ON(event != SND_SOC_DAPM_POST_PMU);
+ mdelay(4);
+
+ return 0;
+}
+
/*
* Event for headphone and line out amplifier power changes. Special
* power up/down sequences are required in order to maximise pop/click
@@ -382,12 +390,9 @@ static int wm8903_output_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event)
{
struct snd_soc_codec *codec = w->codec;
- struct wm8903_priv *wm8903 = codec->private_data;
- struct i2c_client *i2c = codec->control_data;
u16 val;
u16 reg;
int shift;
- u16 cp_reg = wm8903_read(codec, WM8903_CHARGE_PUMP_0);
switch (w->reg) {
case WM8903_POWER_MANAGEMENT_2:
@@ -419,18 +424,6 @@ static int wm8903_output_event(struct snd_soc_dapm_widget *w,
/* Short the output */
val &= ~(WM8903_OUTPUT_SHORT << shift);
wm8903_write(codec, reg, val);
-
- wm8903->charge_pump_users++;
-
- dev_dbg(&i2c->dev, "Charge pump use count now %d\n",
- wm8903->charge_pump_users);
-
- if (wm8903->charge_pump_users == 1) {
- dev_dbg(&i2c->dev, "Enabling charge pump\n");
- wm8903_write(codec, WM8903_CHARGE_PUMP_0,
- cp_reg | WM8903_CP_ENA);
- mdelay(4);
- }
}
if (event & SND_SOC_DAPM_POST_PMU) {
@@ -464,19 +457,6 @@ static int wm8903_output_event(struct snd_soc_dapm_widget *w,
wm8903_write(codec, reg, val);
}
- if (event & SND_SOC_DAPM_POST_PMD) {
- wm8903->charge_pump_users--;
-
- dev_dbg(&i2c->dev, "Charge pump use count now %d\n",
- wm8903->charge_pump_users);
-
- if (wm8903->charge_pump_users == 0) {
- dev_dbg(&i2c->dev, "Disabling charge pump\n");
- wm8903_write(codec, WM8903_CHARGE_PUMP_0,
- cp_reg & ~WM8903_CP_ENA);
- }
- }
-
return 0;
}
@@ -844,26 +824,28 @@ SND_SOC_DAPM_MIXER("Right Speaker Mixer", WM8903_POWER_MANAGEMENT_4, 0, 0,
SND_SOC_DAPM_PGA_E("Left Headphone Output PGA", WM8903_POWER_MANAGEMENT_2,
1, 0, NULL, 0, wm8903_output_event,
SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU |
- SND_SOC_DAPM_PRE_PMD | SND_SOC_DAPM_POST_PMD),
+ SND_SOC_DAPM_PRE_PMD),
SND_SOC_DAPM_PGA_E("Right Headphone Output PGA", WM8903_POWER_MANAGEMENT_2,
0, 0, NULL, 0, wm8903_output_event,
SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU |
- SND_SOC_DAPM_PRE_PMD | SND_SOC_DAPM_POST_PMD),
+ SND_SOC_DAPM_PRE_PMD),
SND_SOC_DAPM_PGA_E("Left Line Output PGA", WM8903_POWER_MANAGEMENT_3, 1, 0,
NULL, 0, wm8903_output_event,
SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU |
- SND_SOC_DAPM_PRE_PMD | SND_SOC_DAPM_POST_PMD),
+ SND_SOC_DAPM_PRE_PMD),
SND_SOC_DAPM_PGA_E("Right Line Output PGA", WM8903_POWER_MANAGEMENT_3, 0, 0,
NULL, 0, wm8903_output_event,
SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMU |
- SND_SOC_DAPM_PRE_PMD | SND_SOC_DAPM_POST_PMD),
+ SND_SOC_DAPM_PRE_PMD),
SND_SOC_DAPM_PGA("Left Speaker PGA", WM8903_POWER_MANAGEMENT_5, 1, 0,
NULL, 0),
SND_SOC_DAPM_PGA("Right Speaker PGA", WM8903_POWER_MANAGEMENT_5, 0, 0,
NULL, 0),
+SND_SOC_DAPM_SUPPLY("Charge Pump", WM8903_CHARGE_PUMP_0, 0, 0,
+ wm8903_cp_event, SND_SOC_DAPM_POST_PMU),
};
static const struct snd_soc_dapm_route intercon[] = {
@@ -951,6 +933,11 @@ static const struct snd_soc_dapm_route intercon[] = {
{ "ROP", NULL, "Right Speaker PGA" },
{ "RON", NULL, "Right Speaker PGA" },
+
+ { "Left Headphone Output PGA", NULL, "Charge Pump" },
+ { "Right Headphone Output PGA", NULL, "Charge Pump" },
+ { "Left Line Output PGA", NULL, "Charge Pump" },
+ { "Right Line Output PGA", NULL, "Charge Pump" },
};
static int wm8903_add_widgets(struct snd_soc_codec *codec)
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 10/21] ASoC: Support CLK_DSP in WM8903
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (8 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 09/21] ASoC: Use DAPM supply widget for WM8903 charge pump Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 11/21] ASoC: Optimise configuration of WM8903 DC servo Mark Brown
` (11 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
CLK_DSP provides a master clock for the DAC and ADC related functionality
on the device.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/wm8903.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c
index a3a489d..27c8b94 100644
--- a/sound/soc/codecs/wm8903.c
+++ b/sound/soc/codecs/wm8903.c
@@ -846,6 +846,7 @@ SND_SOC_DAPM_PGA("Right Speaker PGA", WM8903_POWER_MANAGEMENT_5, 0, 0,
SND_SOC_DAPM_SUPPLY("Charge Pump", WM8903_CHARGE_PUMP_0, 0, 0,
wm8903_cp_event, SND_SOC_DAPM_POST_PMU),
+SND_SOC_DAPM_SUPPLY("CLK_DSP", WM8903_CLOCK_RATES_2, 1, 0, NULL, 0),
};
static const struct snd_soc_dapm_route intercon[] = {
@@ -891,7 +892,12 @@ static const struct snd_soc_dapm_route intercon[] = {
{ "Right Input PGA", NULL, "Right Input Mode Mux" },
{ "ADCL", NULL, "Left Input PGA" },
+ { "ADCL", NULL, "CLK_DSP" },
{ "ADCR", NULL, "Right Input PGA" },
+ { "ADCR", NULL, "CLK_DSP" },
+
+ { "DACL", NULL, "CLK_DSP" },
+ { "DACR", NULL, "CLK_DSP" },
{ "Left Output Mixer", "Left Bypass Switch", "Left Input PGA" },
{ "Left Output Mixer", "Right Bypass Switch", "Right Input PGA" },
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 11/21] ASoC: Optimise configuration of WM8903 DC servo
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (9 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 10/21] ASoC: Support CLK_DSP in WM8903 Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 12/21] ASoC: Actively manage the DC servo for WM8903 Mark Brown
` (10 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
Modify the default startup sequence in the chip to set the DC servo
dither level for optimal performance.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/wm8903.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c
index 27c8b94..de0a585 100644
--- a/sound/soc/codecs/wm8903.c
+++ b/sound/soc/codecs/wm8903.c
@@ -978,6 +978,11 @@ static int wm8903_set_bias_level(struct snd_soc_codec *codec,
wm8903_write(codec, WM8903_CLOCK_RATES_2,
WM8903_CLK_SYS_ENA);
+ /* Change DC servo dither level in startup sequence */
+ wm8903_write(codec, WM8903_WRITE_SEQUENCER_0, 0x11);
+ wm8903_write(codec, WM8903_WRITE_SEQUENCER_1, 0x1257);
+ wm8903_write(codec, WM8903_WRITE_SEQUENCER_2, 0x2);
+
wm8903_run_sequence(codec, 0);
wm8903_sync_reg_cache(codec, codec->reg_cache);
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 12/21] ASoC: Actively manage the DC servo for WM8903
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (10 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 11/21] ASoC: Optimise configuration of WM8903 DC servo Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 13/21] ASoC: Remove redundant rate constraint " Mark Brown
` (9 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
Save a little extra power by enabling the DC servo offset correction
for the output channels only when the relevant channels are enabled.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/wm8903.c | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c
index de0a585..0bab5c6 100644
--- a/sound/soc/codecs/wm8903.c
+++ b/sound/soc/codecs/wm8903.c
@@ -392,14 +392,18 @@ static int wm8903_output_event(struct snd_soc_dapm_widget *w,
struct snd_soc_codec *codec = w->codec;
u16 val;
u16 reg;
+ u16 dcs_reg;
+ u16 dcs_bit;
int shift;
switch (w->reg) {
case WM8903_POWER_MANAGEMENT_2:
reg = WM8903_ANALOGUE_HP_0;
+ dcs_bit = 0 + w->shift;
break;
case WM8903_POWER_MANAGEMENT_3:
reg = WM8903_ANALOGUE_LINEOUT_0;
+ dcs_bit = 2 + w->shift;
break;
default:
BUG();
@@ -439,6 +443,11 @@ static int wm8903_output_event(struct snd_soc_dapm_widget *w,
val |= (WM8903_OUTPUT_OUT << shift);
wm8903_write(codec, reg, val);
+ /* Enable the DC servo */
+ dcs_reg = wm8903_read(codec, WM8903_DC_SERVO_0);
+ dcs_reg |= dcs_bit;
+ wm8903_write(codec, WM8903_DC_SERVO_0, dcs_reg);
+
/* Remove the short */
val |= (WM8903_OUTPUT_SHORT << shift);
wm8903_write(codec, reg, val);
@@ -451,6 +460,11 @@ static int wm8903_output_event(struct snd_soc_dapm_widget *w,
val &= ~(WM8903_OUTPUT_SHORT << shift);
wm8903_write(codec, reg, val);
+ /* Disable the DC servo */
+ dcs_reg = wm8903_read(codec, WM8903_DC_SERVO_0);
+ dcs_reg &= ~dcs_bit;
+ wm8903_write(codec, WM8903_DC_SERVO_0, dcs_reg);
+
/* Then disable the intermediate and output stages */
val &= ~((WM8903_OUTPUT_OUT | WM8903_OUTPUT_INT |
WM8903_OUTPUT_IN) << shift);
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 13/21] ASoC: Remove redundant rate constraint for WM8903
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (11 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 12/21] ASoC: Actively manage the DC servo for WM8903 Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 14/21] ASoC: Implement WM8903 digital sidetone support Mark Brown
` (8 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
This is now handled by symmetric_rates.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/wm8903.c | 10 ++--------
1 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c
index 0bab5c6..bec418a 100644
--- a/sound/soc/codecs/wm8903.c
+++ b/sound/soc/codecs/wm8903.c
@@ -1289,14 +1289,8 @@ static int wm8903_startup(struct snd_pcm_substream *substream,
if (wm8903->master_substream) {
master_runtime = wm8903->master_substream->runtime;
- dev_dbg(&i2c->dev, "Constraining to %d bits at %dHz\n",
- master_runtime->sample_bits,
- master_runtime->rate);
-
- snd_pcm_hw_constraint_minmax(substream->runtime,
- SNDRV_PCM_HW_PARAM_RATE,
- master_runtime->rate,
- master_runtime->rate);
+ dev_dbg(&i2c->dev, "Constraining to %d bits\n",
+ master_runtime->sample_bits);
snd_pcm_hw_constraint_minmax(substream->runtime,
SNDRV_PCM_HW_PARAM_SAMPLE_BITS,
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 14/21] ASoC: Implement WM8903 digital sidetone support
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (12 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 13/21] ASoC: Remove redundant rate constraint " Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 15/21] ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991 Mark Brown
` (7 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/wm8903.c | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c
index bec418a..d8a9222 100644
--- a/sound/soc/codecs/wm8903.c
+++ b/sound/soc/codecs/wm8903.c
@@ -533,6 +533,7 @@ static int wm8903_class_w_put(struct snd_kcontrol *kcontrol,
/* ALSA can only do steps of .01dB */
static const DECLARE_TLV_DB_SCALE(digital_tlv, -7200, 75, 1);
+static const DECLARE_TLV_DB_SCALE(digital_sidetone_tlv, -3600, 300, 0);
static const DECLARE_TLV_DB_SCALE(out_tlv, -5700, 100, 0);
static const DECLARE_TLV_DB_SCALE(drc_tlv_thresh, 0, 75, 0);
@@ -651,6 +652,16 @@ static const struct soc_enum rinput_inv_enum =
SOC_ENUM_SINGLE(WM8903_ANALOGUE_RIGHT_INPUT_1, 4, 3, rinput_mux_text);
+static const char *sidetone_text[] = {
+ "None", "Left", "Right"
+};
+
+static const struct soc_enum lsidetone_enum =
+ SOC_ENUM_SINGLE(WM8903_DAC_DIGITAL_0, 2, 3, sidetone_text);
+
+static const struct soc_enum rsidetone_enum =
+ SOC_ENUM_SINGLE(WM8903_DAC_DIGITAL_0, 0, 3, sidetone_text);
+
static const struct snd_kcontrol_new wm8903_snd_controls[] = {
/* Input PGAs - No TLV since the scale depends on PGA mode */
@@ -694,6 +705,9 @@ SOC_DOUBLE_R_TLV("Digital Capture Volume", WM8903_ADC_DIGITAL_VOLUME_LEFT,
SOC_ENUM("ADC Companding Mode", adc_companding),
SOC_SINGLE("ADC Companding Switch", WM8903_AUDIO_INTERFACE_0, 3, 1, 0),
+SOC_DOUBLE_TLV("Digital Sidetone Volume", WM8903_DAC_DIGITAL_0, 4, 8,
+ 12, 0, digital_sidetone_tlv),
+
/* DAC */
SOC_DOUBLE_R_TLV("Digital Playback Volume", WM8903_DAC_DIGITAL_VOLUME_LEFT,
WM8903_DAC_DIGITAL_VOLUME_RIGHT, 1, 120, 0, digital_tlv),
@@ -756,6 +770,12 @@ static const struct snd_kcontrol_new rinput_mux =
static const struct snd_kcontrol_new rinput_inv_mux =
SOC_DAPM_ENUM("Right Inverting Input Mux", rinput_inv_enum);
+static const struct snd_kcontrol_new lsidetone_mux =
+ SOC_DAPM_ENUM("DACL Sidetone Mux", lsidetone_enum);
+
+static const struct snd_kcontrol_new rsidetone_mux =
+ SOC_DAPM_ENUM("DACR Sidetone Mux", rsidetone_enum);
+
static const struct snd_kcontrol_new left_output_mixer[] = {
SOC_DAPM_SINGLE("DACL Switch", WM8903_ANALOGUE_LEFT_MIX_0, 3, 1, 0),
SOC_DAPM_SINGLE("DACR Switch", WM8903_ANALOGUE_LEFT_MIX_0, 2, 1, 0),
@@ -822,6 +842,9 @@ SND_SOC_DAPM_PGA("Right Input PGA", WM8903_POWER_MANAGEMENT_0, 0, 0, NULL, 0),
SND_SOC_DAPM_ADC("ADCL", "Left HiFi Capture", WM8903_POWER_MANAGEMENT_6, 1, 0),
SND_SOC_DAPM_ADC("ADCR", "Right HiFi Capture", WM8903_POWER_MANAGEMENT_6, 0, 0),
+SND_SOC_DAPM_MUX("DACL Sidetone", SND_SOC_NOPM, 0, 0, &lsidetone_mux),
+SND_SOC_DAPM_MUX("DACR Sidetone", SND_SOC_NOPM, 0, 0, &rsidetone_mux),
+
SND_SOC_DAPM_DAC("DACL", "Left Playback", WM8903_POWER_MANAGEMENT_6, 3, 0),
SND_SOC_DAPM_DAC("DACR", "Right Playback", WM8903_POWER_MANAGEMENT_6, 2, 0),
@@ -910,7 +933,14 @@ static const struct snd_soc_dapm_route intercon[] = {
{ "ADCR", NULL, "Right Input PGA" },
{ "ADCR", NULL, "CLK_DSP" },
+ { "DACL Sidetone", "Left", "ADCL" },
+ { "DACL Sidetone", "Right", "ADCR" },
+ { "DACR Sidetone", "Left", "ADCL" },
+ { "DACR Sidetone", "Right", "ADCR" },
+
+ { "DACL", NULL, "DACL Sidetone" },
{ "DACL", NULL, "CLK_DSP" },
+ { "DACR", NULL, "DACR Sidetone" },
{ "DACR", NULL, "CLK_DSP" },
{ "Left Output Mixer", "Left Bypass Switch", "Left Input PGA" },
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 15/21] ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (13 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 14/21] ASoC: Implement WM8903 digital sidetone support Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 16/21] ASoC: TWL4030: Add VDL path support Mark Brown
` (6 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
Cc: Takashi Iwai, alsa-devel
From: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/soc/codecs/Makefile | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile
index 030d245..f265380 100644
--- a/sound/soc/codecs/Makefile
+++ b/sound/soc/codecs/Makefile
@@ -56,7 +56,6 @@ obj-$(CONFIG_SND_SOC_WM8900) += snd-soc-wm8900.o
obj-$(CONFIG_SND_SOC_WM8903) += snd-soc-wm8903.o
obj-$(CONFIG_SND_SOC_WM8971) += snd-soc-wm8971.o
obj-$(CONFIG_SND_SOC_WM8990) += snd-soc-wm8990.o
-obj-$(CONFIG_SND_SOC_WM8991) += snd-soc-wm8991.o
obj-$(CONFIG_SND_SOC_WM9705) += snd-soc-wm9705.o
obj-$(CONFIG_SND_SOC_WM9712) += snd-soc-wm9712.o
obj-$(CONFIG_SND_SOC_WM9713) += snd-soc-wm9713.o
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 16/21] ASoC: TWL4030: Add VDL path support
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (14 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 15/21] ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991 Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 17/21] ASoC: simplify the SSP DMA parameters settings by run-time generation Mark Brown
` (5 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown, Joonyoung Shim
From: Joonyoung Shim <jy0922.shim@samsung.com>
Add DAPMs for VDL(Voice Down Link) path. To support VDL path, we have
to change DAPMs of outputs(Earpiece, PreDrive Left/Right, Headset
Left/Right, Carkit Left/Right) from mux to mixer.
Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/twl4030.c | 256 ++++++++++++++++++++++----------------------
1 files changed, 126 insertions(+), 130 deletions(-)
diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c
index cc2968c..fdf88df 100644
--- a/sound/soc/codecs/twl4030.c
+++ b/sound/soc/codecs/twl4030.c
@@ -321,104 +321,60 @@ static void twl4030_power_down(struct snd_soc_codec *codec)
}
/* Earpiece */
-static const char *twl4030_earpiece_texts[] =
- {"Off", "DACL1", "DACL2", "DACR1"};
-
-static const unsigned int twl4030_earpiece_values[] =
- {0x0, 0x1, 0x2, 0x4};
-
-static const struct soc_enum twl4030_earpiece_enum =
- SOC_VALUE_ENUM_SINGLE(TWL4030_REG_EAR_CTL, 1, 0x7,
- ARRAY_SIZE(twl4030_earpiece_texts),
- twl4030_earpiece_texts,
- twl4030_earpiece_values);
-
-static const struct snd_kcontrol_new twl4030_dapm_earpiece_control =
-SOC_DAPM_VALUE_ENUM("Route", twl4030_earpiece_enum);
+static const struct snd_kcontrol_new twl4030_dapm_earpiece_controls[] = {
+ SOC_DAPM_SINGLE("Voice", TWL4030_REG_EAR_CTL, 0, 1, 0),
+ SOC_DAPM_SINGLE("AudioL1", TWL4030_REG_EAR_CTL, 1, 1, 0),
+ SOC_DAPM_SINGLE("AudioL2", TWL4030_REG_EAR_CTL, 2, 1, 0),
+ SOC_DAPM_SINGLE("AudioR1", TWL4030_REG_EAR_CTL, 3, 1, 0),
+};
/* PreDrive Left */
-static const char *twl4030_predrivel_texts[] =
- {"Off", "DACL1", "DACL2", "DACR2"};
-
-static const unsigned int twl4030_predrivel_values[] =
- {0x0, 0x1, 0x2, 0x4};
-
-static const struct soc_enum twl4030_predrivel_enum =
- SOC_VALUE_ENUM_SINGLE(TWL4030_REG_PREDL_CTL, 1, 0x7,
- ARRAY_SIZE(twl4030_predrivel_texts),
- twl4030_predrivel_texts,
- twl4030_predrivel_values);
-
-static const struct snd_kcontrol_new twl4030_dapm_predrivel_control =
-SOC_DAPM_VALUE_ENUM("Route", twl4030_predrivel_enum);
+static const struct snd_kcontrol_new twl4030_dapm_predrivel_controls[] = {
+ SOC_DAPM_SINGLE("Voice", TWL4030_REG_PREDL_CTL, 0, 1, 0),
+ SOC_DAPM_SINGLE("AudioL1", TWL4030_REG_PREDL_CTL, 1, 1, 0),
+ SOC_DAPM_SINGLE("AudioL2", TWL4030_REG_PREDL_CTL, 2, 1, 0),
+ SOC_DAPM_SINGLE("AudioR2", TWL4030_REG_PREDL_CTL, 3, 1, 0),
+};
/* PreDrive Right */
-static const char *twl4030_predriver_texts[] =
- {"Off", "DACR1", "DACR2", "DACL2"};
-
-static const unsigned int twl4030_predriver_values[] =
- {0x0, 0x1, 0x2, 0x4};
-
-static const struct soc_enum twl4030_predriver_enum =
- SOC_VALUE_ENUM_SINGLE(TWL4030_REG_PREDR_CTL, 1, 0x7,
- ARRAY_SIZE(twl4030_predriver_texts),
- twl4030_predriver_texts,
- twl4030_predriver_values);
-
-static const struct snd_kcontrol_new twl4030_dapm_predriver_control =
-SOC_DAPM_VALUE_ENUM("Route", twl4030_predriver_enum);
+static const struct snd_kcontrol_new twl4030_dapm_predriver_controls[] = {
+ SOC_DAPM_SINGLE("Voice", TWL4030_REG_PREDR_CTL, 0, 1, 0),
+ SOC_DAPM_SINGLE("AudioR1", TWL4030_REG_PREDR_CTL, 1, 1, 0),
+ SOC_DAPM_SINGLE("AudioR2", TWL4030_REG_PREDR_CTL, 2, 1, 0),
+ SOC_DAPM_SINGLE("AudioL2", TWL4030_REG_PREDR_CTL, 3, 1, 0),
+};
/* Headset Left */
-static const char *twl4030_hsol_texts[] =
- {"Off", "DACL1", "DACL2"};
-
-static const struct soc_enum twl4030_hsol_enum =
- SOC_ENUM_SINGLE(TWL4030_REG_HS_SEL, 1,
- ARRAY_SIZE(twl4030_hsol_texts),
- twl4030_hsol_texts);
-
-static const struct snd_kcontrol_new twl4030_dapm_hsol_control =
-SOC_DAPM_ENUM("Route", twl4030_hsol_enum);
+static const struct snd_kcontrol_new twl4030_dapm_hsol_controls[] = {
+ SOC_DAPM_SINGLE("Voice", TWL4030_REG_HS_SEL, 0, 1, 0),
+ SOC_DAPM_SINGLE("AudioL1", TWL4030_REG_HS_SEL, 1, 1, 0),
+ SOC_DAPM_SINGLE("AudioL2", TWL4030_REG_HS_SEL, 2, 1, 0),
+};
/* Headset Right */
-static const char *twl4030_hsor_texts[] =
- {"Off", "DACR1", "DACR2"};
-
-static const struct soc_enum twl4030_hsor_enum =
- SOC_ENUM_SINGLE(TWL4030_REG_HS_SEL, 4,
- ARRAY_SIZE(twl4030_hsor_texts),
- twl4030_hsor_texts);
-
-static const struct snd_kcontrol_new twl4030_dapm_hsor_control =
-SOC_DAPM_ENUM("Route", twl4030_hsor_enum);
+static const struct snd_kcontrol_new twl4030_dapm_hsor_controls[] = {
+ SOC_DAPM_SINGLE("Voice", TWL4030_REG_HS_SEL, 3, 1, 0),
+ SOC_DAPM_SINGLE("AudioR1", TWL4030_REG_HS_SEL, 4, 1, 0),
+ SOC_DAPM_SINGLE("AudioR2", TWL4030_REG_HS_SEL, 5, 1, 0),
+};
/* Carkit Left */
-static const char *twl4030_carkitl_texts[] =
- {"Off", "DACL1", "DACL2"};
-
-static const struct soc_enum twl4030_carkitl_enum =
- SOC_ENUM_SINGLE(TWL4030_REG_PRECKL_CTL, 1,
- ARRAY_SIZE(twl4030_carkitl_texts),
- twl4030_carkitl_texts);
-
-static const struct snd_kcontrol_new twl4030_dapm_carkitl_control =
-SOC_DAPM_ENUM("Route", twl4030_carkitl_enum);
+static const struct snd_kcontrol_new twl4030_dapm_carkitl_controls[] = {
+ SOC_DAPM_SINGLE("Voice", TWL4030_REG_PRECKL_CTL, 0, 1, 0),
+ SOC_DAPM_SINGLE("AudioL1", TWL4030_REG_PRECKL_CTL, 1, 1, 0),
+ SOC_DAPM_SINGLE("AudioL2", TWL4030_REG_PRECKL_CTL, 2, 1, 0),
+};
/* Carkit Right */
-static const char *twl4030_carkitr_texts[] =
- {"Off", "DACR1", "DACR2"};
-
-static const struct soc_enum twl4030_carkitr_enum =
- SOC_ENUM_SINGLE(TWL4030_REG_PRECKR_CTL, 1,
- ARRAY_SIZE(twl4030_carkitr_texts),
- twl4030_carkitr_texts);
-
-static const struct snd_kcontrol_new twl4030_dapm_carkitr_control =
-SOC_DAPM_ENUM("Route", twl4030_carkitr_enum);
+static const struct snd_kcontrol_new twl4030_dapm_carkitr_controls[] = {
+ SOC_DAPM_SINGLE("Voice", TWL4030_REG_PRECKR_CTL, 0, 1, 0),
+ SOC_DAPM_SINGLE("AudioR1", TWL4030_REG_PRECKR_CTL, 1, 1, 0),
+ SOC_DAPM_SINGLE("AudioR2", TWL4030_REG_PRECKR_CTL, 2, 1, 0),
+};
/* Handsfree Left */
static const char *twl4030_handsfreel_texts[] =
- {"Voice", "DACL1", "DACL2", "DACR2"};
+ {"Voice", "AudioL1", "AudioL2", "AudioR2"};
static const struct soc_enum twl4030_handsfreel_enum =
SOC_ENUM_SINGLE(TWL4030_REG_HFL_CTL, 0,
@@ -430,7 +386,7 @@ SOC_DAPM_ENUM("Route", twl4030_handsfreel_enum);
/* Handsfree Right */
static const char *twl4030_handsfreer_texts[] =
- {"Voice", "DACR1", "DACR2", "DACL2"};
+ {"Voice", "AudioR1", "AudioR2", "AudioL2"};
static const struct soc_enum twl4030_handsfreer_enum =
SOC_ENUM_SINGLE(TWL4030_REG_HFR_CTL, 0,
@@ -829,6 +785,12 @@ static DECLARE_TLV_DB_SCALE(digital_fine_tlv, -6300, 100, 1);
static DECLARE_TLV_DB_SCALE(digital_coarse_tlv, 0, 600, 0);
/*
+ * Voice Downlink GAIN volume control:
+ * from -37 to 12 dB in 1 dB steps (mute instead of -37 dB)
+ */
+static DECLARE_TLV_DB_SCALE(digital_voice_downlink_tlv, -3700, 100, 1);
+
+/*
* Analog playback gain
* -24 dB to 12 dB in 2 dB steps
*/
@@ -892,6 +854,16 @@ static const struct snd_kcontrol_new twl4030_snd_controls[] = {
TWL4030_REG_ARXL2_APGA_CTL, TWL4030_REG_ARXR2_APGA_CTL,
1, 1, 0),
+ /* Common voice downlink gain controls */
+ SOC_SINGLE_TLV("DAC Voice Digital Downlink Volume",
+ TWL4030_REG_VRXPGA, 0, 0x31, 0, digital_voice_downlink_tlv),
+
+ SOC_SINGLE_TLV("DAC Voice Analog Downlink Volume",
+ TWL4030_REG_VDL_APGA_CTL, 3, 0x12, 1, analog_tlv),
+
+ SOC_SINGLE("DAC Voice Analog Downlink Switch",
+ TWL4030_REG_VDL_APGA_CTL, 1, 1, 0),
+
/* Separate output gain controls */
SOC_DOUBLE_R_TLV_TWL4030("PreDriv Playback Volume",
TWL4030_REG_PREDL_CTL, TWL4030_REG_PREDR_CTL,
@@ -956,6 +928,8 @@ static const struct snd_soc_dapm_widget twl4030_dapm_widgets[] = {
SND_SOC_NOPM, 0, 0),
SND_SOC_DAPM_DAC("DAC Left2", "Left Rear Playback",
SND_SOC_NOPM, 0, 0),
+ SND_SOC_DAPM_DAC("DAC Voice", "Voice Playback",
+ TWL4030_REG_AVDAC_CTL, 4, 0),
/* Analog PGAs */
SND_SOC_DAPM_PGA("ARXR1_APGA", TWL4030_REG_ARXR1_APGA_CTL,
@@ -966,6 +940,8 @@ static const struct snd_soc_dapm_widget twl4030_dapm_widgets[] = {
0, 0, NULL, 0),
SND_SOC_DAPM_PGA("ARXL2_APGA", TWL4030_REG_ARXL2_APGA_CTL,
0, 0, NULL, 0),
+ SND_SOC_DAPM_PGA("VDL_APGA", TWL4030_REG_VDL_APGA_CTL,
+ 0, 0, NULL, 0),
/* Analog bypasses */
SND_SOC_DAPM_SWITCH_E("Right1 Analog Loopback", SND_SOC_NOPM, 0, 0,
@@ -998,26 +974,35 @@ static const struct snd_soc_dapm_widget twl4030_dapm_widgets[] = {
SND_SOC_DAPM_MIXER("Analog L2 Playback Mixer", TWL4030_REG_AVDAC_CTL,
3, 0, NULL, 0),
- /* Output MUX controls */
+ /* Output MIXER controls */
/* Earpiece */
- SND_SOC_DAPM_VALUE_MUX("Earpiece Mux", SND_SOC_NOPM, 0, 0,
- &twl4030_dapm_earpiece_control),
+ SND_SOC_DAPM_MIXER("Earpiece Mixer", SND_SOC_NOPM, 0, 0,
+ &twl4030_dapm_earpiece_controls[0],
+ ARRAY_SIZE(twl4030_dapm_earpiece_controls)),
/* PreDrivL/R */
- SND_SOC_DAPM_VALUE_MUX("PredriveL Mux", SND_SOC_NOPM, 0, 0,
- &twl4030_dapm_predrivel_control),
- SND_SOC_DAPM_VALUE_MUX("PredriveR Mux", SND_SOC_NOPM, 0, 0,
- &twl4030_dapm_predriver_control),
+ SND_SOC_DAPM_MIXER("PredriveL Mixer", SND_SOC_NOPM, 0, 0,
+ &twl4030_dapm_predrivel_controls[0],
+ ARRAY_SIZE(twl4030_dapm_predrivel_controls)),
+ SND_SOC_DAPM_MIXER("PredriveR Mixer", SND_SOC_NOPM, 0, 0,
+ &twl4030_dapm_predriver_controls[0],
+ ARRAY_SIZE(twl4030_dapm_predriver_controls)),
/* HeadsetL/R */
- SND_SOC_DAPM_MUX_E("HeadsetL Mux", SND_SOC_NOPM, 0, 0,
- &twl4030_dapm_hsol_control, headsetl_event,
- SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD),
- SND_SOC_DAPM_MUX("HeadsetR Mux", SND_SOC_NOPM, 0, 0,
- &twl4030_dapm_hsor_control),
+ SND_SOC_DAPM_MIXER_E("HeadsetL Mixer", SND_SOC_NOPM, 0, 0,
+ &twl4030_dapm_hsol_controls[0],
+ ARRAY_SIZE(twl4030_dapm_hsol_controls), headsetl_event,
+ SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD),
+ SND_SOC_DAPM_MIXER("HeadsetR Mixer", SND_SOC_NOPM, 0, 0,
+ &twl4030_dapm_hsor_controls[0],
+ ARRAY_SIZE(twl4030_dapm_hsor_controls)),
/* CarkitL/R */
- SND_SOC_DAPM_MUX("CarkitL Mux", SND_SOC_NOPM, 0, 0,
- &twl4030_dapm_carkitl_control),
- SND_SOC_DAPM_MUX("CarkitR Mux", SND_SOC_NOPM, 0, 0,
- &twl4030_dapm_carkitr_control),
+ SND_SOC_DAPM_MIXER("CarkitL Mixer", SND_SOC_NOPM, 0, 0,
+ &twl4030_dapm_carkitl_controls[0],
+ ARRAY_SIZE(twl4030_dapm_carkitl_controls)),
+ SND_SOC_DAPM_MIXER("CarkitR Mixer", SND_SOC_NOPM, 0, 0,
+ &twl4030_dapm_carkitr_controls[0],
+ ARRAY_SIZE(twl4030_dapm_carkitr_controls)),
+
+ /* Output MUX controls */
/* HandsfreeL/R */
SND_SOC_DAPM_MUX_E("HandsfreeL Mux", TWL4030_REG_HFL_CTL, 5, 0,
&twl4030_dapm_handsfreel_control, handsfree_event,
@@ -1082,50 +1067,61 @@ static const struct snd_soc_dapm_route intercon[] = {
{"ARXL2_APGA", NULL, "Analog L2 Playback Mixer"},
{"ARXR2_APGA", NULL, "Analog R2 Playback Mixer"},
+ {"VDL_APGA", NULL, "DAC Voice"},
+
/* Internal playback routings */
/* Earpiece */
- {"Earpiece Mux", "DACL1", "ARXL1_APGA"},
- {"Earpiece Mux", "DACL2", "ARXL2_APGA"},
- {"Earpiece Mux", "DACR1", "ARXR1_APGA"},
+ {"Earpiece Mixer", "Voice", "VDL_APGA"},
+ {"Earpiece Mixer", "AudioL1", "ARXL1_APGA"},
+ {"Earpiece Mixer", "AudioL2", "ARXL2_APGA"},
+ {"Earpiece Mixer", "AudioR1", "ARXR1_APGA"},
/* PreDrivL */
- {"PredriveL Mux", "DACL1", "ARXL1_APGA"},
- {"PredriveL Mux", "DACL2", "ARXL2_APGA"},
- {"PredriveL Mux", "DACR2", "ARXR2_APGA"},
+ {"PredriveL Mixer", "Voice", "VDL_APGA"},
+ {"PredriveL Mixer", "AudioL1", "ARXL1_APGA"},
+ {"PredriveL Mixer", "AudioL2", "ARXL2_APGA"},
+ {"PredriveL Mixer", "AudioR2", "ARXR2_APGA"},
/* PreDrivR */
- {"PredriveR Mux", "DACR1", "ARXR1_APGA"},
- {"PredriveR Mux", "DACR2", "ARXR2_APGA"},
- {"PredriveR Mux", "DACL2", "ARXL2_APGA"},
+ {"PredriveR Mixer", "Voice", "VDL_APGA"},
+ {"PredriveR Mixer", "AudioR1", "ARXR1_APGA"},
+ {"PredriveR Mixer", "AudioR2", "ARXR2_APGA"},
+ {"PredriveR Mixer", "AudioL2", "ARXL2_APGA"},
/* HeadsetL */
- {"HeadsetL Mux", "DACL1", "ARXL1_APGA"},
- {"HeadsetL Mux", "DACL2", "ARXL2_APGA"},
+ {"HeadsetL Mixer", "Voice", "VDL_APGA"},
+ {"HeadsetL Mixer", "AudioL1", "ARXL1_APGA"},
+ {"HeadsetL Mixer", "AudioL2", "ARXL2_APGA"},
/* HeadsetR */
- {"HeadsetR Mux", "DACR1", "ARXR1_APGA"},
- {"HeadsetR Mux", "DACR2", "ARXR2_APGA"},
+ {"HeadsetR Mixer", "Voice", "VDL_APGA"},
+ {"HeadsetR Mixer", "AudioR1", "ARXR1_APGA"},
+ {"HeadsetR Mixer", "AudioR2", "ARXR2_APGA"},
/* CarkitL */
- {"CarkitL Mux", "DACL1", "ARXL1_APGA"},
- {"CarkitL Mux", "DACL2", "ARXL2_APGA"},
+ {"CarkitL Mixer", "Voice", "VDL_APGA"},
+ {"CarkitL Mixer", "AudioL1", "ARXL1_APGA"},
+ {"CarkitL Mixer", "AudioL2", "ARXL2_APGA"},
/* CarkitR */
- {"CarkitR Mux", "DACR1", "ARXR1_APGA"},
- {"CarkitR Mux", "DACR2", "ARXR2_APGA"},
+ {"CarkitR Mixer", "Voice", "VDL_APGA"},
+ {"CarkitR Mixer", "AudioR1", "ARXR1_APGA"},
+ {"CarkitR Mixer", "AudioR2", "ARXR2_APGA"},
/* HandsfreeL */
- {"HandsfreeL Mux", "DACL1", "ARXL1_APGA"},
- {"HandsfreeL Mux", "DACL2", "ARXL2_APGA"},
- {"HandsfreeL Mux", "DACR2", "ARXR2_APGA"},
+ {"HandsfreeL Mux", "Voice", "VDL_APGA"},
+ {"HandsfreeL Mux", "AudioL1", "ARXL1_APGA"},
+ {"HandsfreeL Mux", "AudioL2", "ARXL2_APGA"},
+ {"HandsfreeL Mux", "AudioR2", "ARXR2_APGA"},
/* HandsfreeR */
- {"HandsfreeR Mux", "DACR1", "ARXR1_APGA"},
- {"HandsfreeR Mux", "DACR2", "ARXR2_APGA"},
- {"HandsfreeR Mux", "DACL2", "ARXL2_APGA"},
+ {"HandsfreeR Mux", "Voice", "VDL_APGA"},
+ {"HandsfreeR Mux", "AudioR1", "ARXR1_APGA"},
+ {"HandsfreeR Mux", "AudioR2", "ARXR2_APGA"},
+ {"HandsfreeR Mux", "AudioL2", "ARXL2_APGA"},
/* outputs */
{"OUTL", NULL, "ARXL2_APGA"},
{"OUTR", NULL, "ARXR2_APGA"},
- {"EARPIECE", NULL, "Earpiece Mux"},
- {"PREDRIVEL", NULL, "PredriveL Mux"},
- {"PREDRIVER", NULL, "PredriveR Mux"},
- {"HSOL", NULL, "HeadsetL Mux"},
- {"HSOR", NULL, "HeadsetR Mux"},
- {"CARKITL", NULL, "CarkitL Mux"},
- {"CARKITR", NULL, "CarkitR Mux"},
+ {"EARPIECE", NULL, "Earpiece Mixer"},
+ {"PREDRIVEL", NULL, "PredriveL Mixer"},
+ {"PREDRIVER", NULL, "PredriveR Mixer"},
+ {"HSOL", NULL, "HeadsetL Mixer"},
+ {"HSOR", NULL, "HeadsetR Mixer"},
+ {"CARKITL", NULL, "CarkitL Mixer"},
+ {"CARKITR", NULL, "CarkitR Mixer"},
{"HFL", NULL, "HandsfreeL Mux"},
{"HFR", NULL, "HandsfreeR Mux"},
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 17/21] ASoC: simplify the SSP DMA parameters settings by run-time generation
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (15 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 16/21] ASoC: TWL4030: Add VDL path support Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 18/21] ASoC: change stereo/mono to 32-bit/16-bit for pxa-ssp Mark Brown
` (4 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown, Eric Miao
From: Eric Miao <eric.miao@marvell.com>
The SSP DMA parameters can actually be easily generated at run-time since
they are almost similar except for the FIFO width and direction. Another
benefit is the re-use of information from 'struct ssp_device', like SSDR
physical FIFO address and DRCMR register index for both directions.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Reviewed-by: pHilipp Zabel <philipp.zabel@gmail.com>
---
sound/soc/pxa/pxa-ssp.c | 203 ++++++++++-------------------------------------
1 files changed, 43 insertions(+), 160 deletions(-)
diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c
index b9b61dd..fb8cacc 100644
--- a/sound/soc/pxa/pxa-ssp.c
+++ b/sound/soc/pxa/pxa-ssp.c
@@ -50,139 +50,6 @@ struct ssp_priv {
#endif
};
-#define PXA2xx_SSP1_BASE 0x41000000
-#define PXA27x_SSP2_BASE 0x41700000
-#define PXA27x_SSP3_BASE 0x41900000
-#define PXA3xx_SSP4_BASE 0x41a00000
-
-static struct pxa2xx_pcm_dma_params pxa_ssp1_pcm_mono_out = {
- .name = "SSP1 PCM Mono out",
- .dev_addr = PXA2xx_SSP1_BASE + SSDR,
- .drcmr = &DRCMR(14),
- .dcmd = DCMD_INCSRCADDR | DCMD_FLOWTRG |
- DCMD_BURST16 | DCMD_WIDTH2,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp1_pcm_mono_in = {
- .name = "SSP1 PCM Mono in",
- .dev_addr = PXA2xx_SSP1_BASE + SSDR,
- .drcmr = &DRCMR(13),
- .dcmd = DCMD_INCTRGADDR | DCMD_FLOWSRC |
- DCMD_BURST16 | DCMD_WIDTH2,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp1_pcm_stereo_out = {
- .name = "SSP1 PCM Stereo out",
- .dev_addr = PXA2xx_SSP1_BASE + SSDR,
- .drcmr = &DRCMR(14),
- .dcmd = DCMD_INCSRCADDR | DCMD_FLOWTRG |
- DCMD_BURST16 | DCMD_WIDTH4,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp1_pcm_stereo_in = {
- .name = "SSP1 PCM Stereo in",
- .dev_addr = PXA2xx_SSP1_BASE + SSDR,
- .drcmr = &DRCMR(13),
- .dcmd = DCMD_INCTRGADDR | DCMD_FLOWSRC |
- DCMD_BURST16 | DCMD_WIDTH4,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp2_pcm_mono_out = {
- .name = "SSP2 PCM Mono out",
- .dev_addr = PXA27x_SSP2_BASE + SSDR,
- .drcmr = &DRCMR(16),
- .dcmd = DCMD_INCSRCADDR | DCMD_FLOWTRG |
- DCMD_BURST16 | DCMD_WIDTH2,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp2_pcm_mono_in = {
- .name = "SSP2 PCM Mono in",
- .dev_addr = PXA27x_SSP2_BASE + SSDR,
- .drcmr = &DRCMR(15),
- .dcmd = DCMD_INCTRGADDR | DCMD_FLOWSRC |
- DCMD_BURST16 | DCMD_WIDTH2,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp2_pcm_stereo_out = {
- .name = "SSP2 PCM Stereo out",
- .dev_addr = PXA27x_SSP2_BASE + SSDR,
- .drcmr = &DRCMR(16),
- .dcmd = DCMD_INCSRCADDR | DCMD_FLOWTRG |
- DCMD_BURST16 | DCMD_WIDTH4,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp2_pcm_stereo_in = {
- .name = "SSP2 PCM Stereo in",
- .dev_addr = PXA27x_SSP2_BASE + SSDR,
- .drcmr = &DRCMR(15),
- .dcmd = DCMD_INCTRGADDR | DCMD_FLOWSRC |
- DCMD_BURST16 | DCMD_WIDTH4,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp3_pcm_mono_out = {
- .name = "SSP3 PCM Mono out",
- .dev_addr = PXA27x_SSP3_BASE + SSDR,
- .drcmr = &DRCMR(67),
- .dcmd = DCMD_INCSRCADDR | DCMD_FLOWTRG |
- DCMD_BURST16 | DCMD_WIDTH2,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp3_pcm_mono_in = {
- .name = "SSP3 PCM Mono in",
- .dev_addr = PXA27x_SSP3_BASE + SSDR,
- .drcmr = &DRCMR(66),
- .dcmd = DCMD_INCTRGADDR | DCMD_FLOWSRC |
- DCMD_BURST16 | DCMD_WIDTH2,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp3_pcm_stereo_out = {
- .name = "SSP3 PCM Stereo out",
- .dev_addr = PXA27x_SSP3_BASE + SSDR,
- .drcmr = &DRCMR(67),
- .dcmd = DCMD_INCSRCADDR | DCMD_FLOWTRG |
- DCMD_BURST16 | DCMD_WIDTH4,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp3_pcm_stereo_in = {
- .name = "SSP3 PCM Stereo in",
- .dev_addr = PXA27x_SSP3_BASE + SSDR,
- .drcmr = &DRCMR(66),
- .dcmd = DCMD_INCTRGADDR | DCMD_FLOWSRC |
- DCMD_BURST16 | DCMD_WIDTH4,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp4_pcm_mono_out = {
- .name = "SSP4 PCM Mono out",
- .dev_addr = PXA3xx_SSP4_BASE + SSDR,
- .drcmr = &DRCMR(67),
- .dcmd = DCMD_INCSRCADDR | DCMD_FLOWTRG |
- DCMD_BURST16 | DCMD_WIDTH2,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp4_pcm_mono_in = {
- .name = "SSP4 PCM Mono in",
- .dev_addr = PXA3xx_SSP4_BASE + SSDR,
- .drcmr = &DRCMR(66),
- .dcmd = DCMD_INCTRGADDR | DCMD_FLOWSRC |
- DCMD_BURST16 | DCMD_WIDTH2,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp4_pcm_stereo_out = {
- .name = "SSP4 PCM Stereo out",
- .dev_addr = PXA3xx_SSP4_BASE + SSDR,
- .drcmr = &DRCMR(67),
- .dcmd = DCMD_INCSRCADDR | DCMD_FLOWTRG |
- DCMD_BURST16 | DCMD_WIDTH4,
-};
-
-static struct pxa2xx_pcm_dma_params pxa_ssp4_pcm_stereo_in = {
- .name = "SSP4 PCM Stereo in",
- .dev_addr = PXA3xx_SSP4_BASE + SSDR,
- .drcmr = &DRCMR(66),
- .dcmd = DCMD_INCTRGADDR | DCMD_FLOWSRC |
- DCMD_BURST16 | DCMD_WIDTH4,
-};
-
static void dump_registers(struct ssp_device *ssp)
{
dev_dbg(&ssp->pdev->dev, "SSCR0 0x%08x SSCR1 0x%08x SSTO 0x%08x\n",
@@ -194,25 +61,33 @@ static void dump_registers(struct ssp_device *ssp)
ssp_read_reg(ssp, SSACD));
}
-static struct pxa2xx_pcm_dma_params *ssp_dma_params[4][4] = {
- {
- &pxa_ssp1_pcm_mono_out, &pxa_ssp1_pcm_mono_in,
- &pxa_ssp1_pcm_stereo_out, &pxa_ssp1_pcm_stereo_in,
- },
- {
- &pxa_ssp2_pcm_mono_out, &pxa_ssp2_pcm_mono_in,
- &pxa_ssp2_pcm_stereo_out, &pxa_ssp2_pcm_stereo_in,
- },
- {
- &pxa_ssp3_pcm_mono_out, &pxa_ssp3_pcm_mono_in,
- &pxa_ssp3_pcm_stereo_out, &pxa_ssp3_pcm_stereo_in,
- },
- {
- &pxa_ssp4_pcm_mono_out, &pxa_ssp4_pcm_mono_in,
- &pxa_ssp4_pcm_stereo_out, &pxa_ssp4_pcm_stereo_in,
- },
+struct pxa2xx_pcm_dma_data {
+ struct pxa2xx_pcm_dma_params params;
+ char name[20];
};
+static struct pxa2xx_pcm_dma_params *
+ssp_get_dma_params(struct ssp_device *ssp, int stereo, int out)
+{
+ struct pxa2xx_pcm_dma_data *dma;
+
+ dma = kzalloc(sizeof(struct pxa2xx_pcm_dma_data), GFP_KERNEL);
+ if (dma == NULL)
+ return NULL;
+
+ snprintf(dma->name, 20, "SSP%d PCM %s %s", ssp->port_id,
+ stereo ? "Stereo" : "Mono", out ? "out" : "in");
+
+ dma->params.name = dma->name;
+ dma->params.drcmr = &DRCMR(out ? ssp->drcmr_tx : ssp->drcmr_rx);
+ dma->params.dcmd = (out ? (DCMD_INCSRCADDR | DCMD_FLOWTRG) :
+ (DCMD_INCTRGADDR | DCMD_FLOWSRC)) |
+ (stereo ? DCMD_WIDTH4 : DCMD_WIDTH2) | DCMD_BURST16;
+ dma->params.dev_addr = ssp->phys_base + SSDR;
+
+ return &dma->params;
+}
+
static int pxa_ssp_startup(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{
@@ -227,6 +102,11 @@ static int pxa_ssp_startup(struct snd_pcm_substream *substream,
clk_enable(priv->dev.ssp->clk);
ssp_disable(&priv->dev);
}
+
+ if (cpu_dai->dma_data) {
+ kfree(cpu_dai->dma_data);
+ cpu_dai->dma_data = NULL;
+ }
return ret;
}
@@ -241,6 +121,11 @@ static void pxa_ssp_shutdown(struct snd_pcm_substream *substream,
ssp_disable(&priv->dev);
clk_disable(priv->dev.ssp->clk);
}
+
+ if (cpu_dai->dma_data) {
+ kfree(cpu_dai->dma_data);
+ cpu_dai->dma_data = NULL;
+ }
}
#ifdef CONFIG_PM
@@ -653,25 +538,23 @@ static int pxa_ssp_hw_params(struct snd_pcm_substream *substream,
struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;
struct ssp_priv *priv = cpu_dai->private_data;
struct ssp_device *ssp = priv->dev.ssp;
- int dma = 0, chn = params_channels(params);
+ int chn = params_channels(params);
u32 sscr0;
u32 sspsp;
int width = snd_pcm_format_physical_width(params_format(params));
int ttsa = ssp_read_reg(ssp, SSTSA) & 0xf;
- /* select correct DMA params */
- if (substream->stream != SNDRV_PCM_STREAM_PLAYBACK)
- dma = 1; /* capture DMA offset is 1,3 */
+ /* generate correct DMA params */
+ if (cpu_dai->dma_data)
+ kfree(cpu_dai->dma_data);
+
/* Network mode with one active slot (ttsa == 1) can be used
* to force 16-bit frame width on the wire (for S16_LE), even
* with two channels. Use 16-bit DMA transfers for this case.
*/
- if (((chn == 2) && (ttsa != 1)) || (width == 32))
- dma += 2; /* 32-bit DMA offset is 2, 16-bit is 0 */
-
- cpu_dai->dma_data = ssp_dma_params[cpu_dai->id][dma];
-
- dev_dbg(&ssp->pdev->dev, "pxa_ssp_hw_params: dma %d\n", dma);
+ cpu_dai->dma_data = ssp_get_dma_params(ssp,
+ ((chn == 2) && (ttsa != 1)) || (width == 32),
+ substream->stream == SNDRV_PCM_STREAM_PLAYBACK);
/* we can only change the settings if the port is not in use */
if (ssp_read_reg(ssp, SSCR0) & SSCR0_SSE)
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 18/21] ASoC: change stereo/mono to 32-bit/16-bit for pxa-ssp
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (16 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 17/21] ASoC: simplify the SSP DMA parameters settings by run-time generation Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 19/21] ASoC: s3c-i2s-v2 needs to declare a license for modular builds Mark Brown
` (3 subsequent siblings)
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown, Eric Miao
From: Eric Miao <eric.miao@marvell.com>
The original idea came from pHilipp, and this makes the code looks
more consistent.
Signed-off-by: Eric Miao <eric.miao@marvell.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/pxa/pxa-ssp.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c
index fb8cacc..6fc7876 100644
--- a/sound/soc/pxa/pxa-ssp.c
+++ b/sound/soc/pxa/pxa-ssp.c
@@ -67,7 +67,7 @@ struct pxa2xx_pcm_dma_data {
};
static struct pxa2xx_pcm_dma_params *
-ssp_get_dma_params(struct ssp_device *ssp, int stereo, int out)
+ssp_get_dma_params(struct ssp_device *ssp, int width4, int out)
{
struct pxa2xx_pcm_dma_data *dma;
@@ -76,13 +76,13 @@ ssp_get_dma_params(struct ssp_device *ssp, int stereo, int out)
return NULL;
snprintf(dma->name, 20, "SSP%d PCM %s %s", ssp->port_id,
- stereo ? "Stereo" : "Mono", out ? "out" : "in");
+ width4 ? "32-bit" : "16-bit", out ? "out" : "in");
dma->params.name = dma->name;
dma->params.drcmr = &DRCMR(out ? ssp->drcmr_tx : ssp->drcmr_rx);
dma->params.dcmd = (out ? (DCMD_INCSRCADDR | DCMD_FLOWTRG) :
(DCMD_INCTRGADDR | DCMD_FLOWSRC)) |
- (stereo ? DCMD_WIDTH4 : DCMD_WIDTH2) | DCMD_BURST16;
+ (width4 ? DCMD_WIDTH4 : DCMD_WIDTH2) | DCMD_BURST16;
dma->params.dev_addr = ssp->phys_base + SSDR;
return &dma->params;
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 19/21] ASoC: s3c-i2s-v2 needs to declare a license for modular builds
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (17 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 18/21] ASoC: change stereo/mono to 32-bit/16-bit for pxa-ssp Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 20:53 ` Ben Dooks
2009-04-23 19:55 ` [PATCH 20/21] ASoC: OMAP: Add 4 channel support to mcbsp Mark Brown
` (2 subsequent siblings)
21 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
It relies on EXPORT_SYMBOL_GPL() symbols.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/s3c24xx/s3c-i2s-v2.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/sound/soc/s3c24xx/s3c-i2s-v2.c b/sound/soc/s3c24xx/s3c-i2s-v2.c
index 689ffcd..ab680aa 100644
--- a/sound/soc/s3c24xx/s3c-i2s-v2.c
+++ b/sound/soc/s3c24xx/s3c-i2s-v2.c
@@ -636,5 +636,6 @@ int s3c_i2sv2_register_dai(struct snd_soc_dai *dai)
return snd_soc_register_dai(dai);
}
-
EXPORT_SYMBOL_GPL(s3c_i2sv2_register_dai);
+
+MODULE_LICENSE("GPL");
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 20/21] ASoC: OMAP: Add 4 channel support to mcbsp
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (18 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 19/21] ASoC: s3c-i2s-v2 needs to declare a license for modular builds Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-23 19:55 ` [PATCH 21/21] ASoC: TWL4030: Add 4 channel TDM support Mark Brown
2009-04-24 6:10 ` ASoC updates for 2.6.31 Takashi Iwai
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown, Peter Ujfalusi
From: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Add 4 channel support to omap-mcbsp.
This mode is going to be used by the twl4030 codec, when it
is configured in Option1 mode.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/omap/omap-mcbsp.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c
index 495192a..a5d46a7 100644
--- a/sound/soc/omap/omap-mcbsp.c
+++ b/sound/soc/omap/omap-mcbsp.c
@@ -259,6 +259,7 @@ static int omap_mcbsp_dai_hw_params(struct snd_pcm_substream *substream,
regs->xcr2 |= XFRLEN2(wpf - 1);
}
case 1:
+ case 4:
/* Set word per (McBSP) frame for phase1 */
regs->rcr1 |= RFRLEN1(wpf - 1);
regs->xcr1 |= XFRLEN1(wpf - 1);
@@ -506,13 +507,13 @@ static struct snd_soc_dai_ops omap_mcbsp_dai_ops = {
.id = (link_id), \
.playback = { \
.channels_min = 1, \
- .channels_max = 2, \
+ .channels_max = 4, \
.rates = OMAP_MCBSP_RATES, \
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
}, \
.capture = { \
.channels_min = 1, \
- .channels_max = 2, \
+ .channels_max = 4, \
.rates = OMAP_MCBSP_RATES, \
.formats = SNDRV_PCM_FMTBIT_S16_LE, \
}, \
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* [PATCH 21/21] ASoC: TWL4030: Add 4 channel TDM support
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (19 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 20/21] ASoC: OMAP: Add 4 channel support to mcbsp Mark Brown
@ 2009-04-23 19:55 ` Mark Brown
2009-04-24 6:10 ` ASoC updates for 2.6.31 Takashi Iwai
21 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-23 19:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown, Peter Ujfalusi
From: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Support for 4 channel TDM (SND_SOC_DAIFMT_DSP_A) for twl4030
codec.
The channel allocations are:
Playback:
TDM i2s TWL RX
Channel 1 Left SDRL2
Channel 3 Right SDRR2
Channel 2 -- SDRL1
Channel 4 -- SDRR1
Capture:
TDM i2s TWL TX
Channel 1 Left TXL1
Channel 3 Right TXR1
Channel 2 -- TXL2
Channel 4 -- TXR2
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/twl4030.c | 52 ++++++++++++++++++++++++++++++++++++++++++-
sound/soc/codecs/twl4030.h | 11 +++++++++
2 files changed, 61 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c
index fdf88df..e23c20c 100644
--- a/sound/soc/codecs/twl4030.c
+++ b/sound/soc/codecs/twl4030.c
@@ -1251,6 +1251,28 @@ static void twl4030_constraints(struct twl4030_priv *twl4030,
twl4030->channels);
}
+/* In case of 4 channel mode, the RX1 L/R for playback and the TX2 L/R for
+ * capture has to be enabled/disabled. */
+static void twl4030_tdm_enable(struct snd_soc_codec *codec, int direction,
+ int enable)
+{
+ u8 reg, mask;
+
+ reg = twl4030_read_reg_cache(codec, TWL4030_REG_OPTION);
+
+ if (direction == SNDRV_PCM_STREAM_PLAYBACK)
+ mask = TWL4030_ARXL1_VRX_EN | TWL4030_ARXR1_EN;
+ else
+ mask = TWL4030_ATXL2_VTXL_EN | TWL4030_ATXR2_VTXR_EN;
+
+ if (enable)
+ reg |= mask;
+ else
+ reg &= ~mask;
+
+ twl4030_write(codec, TWL4030_REG_OPTION, reg);
+}
+
static int twl4030_startup(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{
@@ -1267,6 +1289,15 @@ static int twl4030_startup(struct snd_pcm_substream *substream,
if (twl4030->configured)
twl4030_constraints(twl4030, twl4030->master_substream);
} else {
+ if (!(twl4030_read_reg_cache(codec, TWL4030_REG_CODEC_MODE) &
+ TWL4030_OPTION_1)) {
+ /* In option2 4 channel is not supported, set the
+ * constraint for the first stream for channels, the
+ * second stream will 'inherit' this cosntraint */
+ snd_pcm_hw_constraint_minmax(substream->runtime,
+ SNDRV_PCM_HW_PARAM_CHANNELS,
+ 2, 2);
+ }
twl4030->master_substream = substream;
}
@@ -1292,6 +1323,10 @@ static void twl4030_shutdown(struct snd_pcm_substream *substream,
twl4030->configured = 0;
else if (!twl4030->master_substream->runtime->channels)
twl4030->configured = 0;
+
+ /* If the closing substream had 4 channel, do the necessary cleanup */
+ if (substream->runtime->channels == 4)
+ twl4030_tdm_enable(codec, substream->stream, 0);
}
static int twl4030_hw_params(struct snd_pcm_substream *substream,
@@ -1304,6 +1339,16 @@ static int twl4030_hw_params(struct snd_pcm_substream *substream,
struct twl4030_priv *twl4030 = codec->private_data;
u8 mode, old_mode, format, old_format;
+ /* If the substream has 4 channel, do the necessary setup */
+ if (params_channels(params) == 4) {
+ /* Safety check: are we in the correct operating mode? */
+ if ((twl4030_read_reg_cache(codec, TWL4030_REG_CODEC_MODE) &
+ TWL4030_OPTION_1))
+ twl4030_tdm_enable(codec, substream->stream, 1);
+ else
+ return -EINVAL;
+ }
+
if (twl4030->configured)
/* Ignoring hw_params for already configured DAI */
return 0;
@@ -1461,6 +1506,9 @@ static int twl4030_set_dai_fmt(struct snd_soc_dai *codec_dai,
case SND_SOC_DAIFMT_I2S:
format |= TWL4030_AIF_FORMAT_CODEC;
break;
+ case SND_SOC_DAIFMT_DSP_A:
+ format |= TWL4030_AIF_FORMAT_TDM;
+ break;
default:
return -EINVAL;
}
@@ -1642,13 +1690,13 @@ struct snd_soc_dai twl4030_dai[] = {
.playback = {
.stream_name = "Playback",
.channels_min = 2,
- .channels_max = 2,
+ .channels_max = 4,
.rates = TWL4030_RATES | SNDRV_PCM_RATE_96000,
.formats = TWL4030_FORMATS,},
.capture = {
.stream_name = "Capture",
.channels_min = 2,
- .channels_max = 2,
+ .channels_max = 4,
.rates = TWL4030_RATES,
.formats = TWL4030_FORMATS,},
.ops = &twl4030_dai_ops,
diff --git a/sound/soc/codecs/twl4030.h b/sound/soc/codecs/twl4030.h
index 981ec60..3441115 100644
--- a/sound/soc/codecs/twl4030.h
+++ b/sound/soc/codecs/twl4030.h
@@ -116,6 +116,17 @@
#define TWL4030_OPTION_1 (1 << 0)
#define TWL4030_OPTION_2 (0 << 0)
+/* TWL4030_OPTION (0x02) Fields */
+
+#define TWL4030_ATXL1_EN (1 << 0)
+#define TWL4030_ATXR1_EN (1 << 1)
+#define TWL4030_ATXL2_VTXL_EN (1 << 2)
+#define TWL4030_ATXR2_VTXR_EN (1 << 3)
+#define TWL4030_ARXL1_VRX_EN (1 << 4)
+#define TWL4030_ARXR1_EN (1 << 5)
+#define TWL4030_ARXL2_EN (1 << 6)
+#define TWL4030_ARXR2_EN (1 << 7)
+
/* TWL4030_REG_MICBIAS_CTL (0x04) Fields */
#define TWL4030_MICBIAS2_CTL 0x40
--
1.5.6.3
^ permalink raw reply related [flat|nested] 61+ messages in thread
* Re: [PATCH 19/21] ASoC: s3c-i2s-v2 needs to declare a license for modular builds
2009-04-23 19:55 ` [PATCH 19/21] ASoC: s3c-i2s-v2 needs to declare a license for modular builds Mark Brown
@ 2009-04-23 20:53 ` Ben Dooks
2009-04-24 9:43 ` Mark Brown
0 siblings, 1 reply; 61+ messages in thread
From: Ben Dooks @ 2009-04-23 20:53 UTC (permalink / raw)
To: Mark Brown; +Cc: Takashi Iwai, alsa-devel
On Thu, Apr 23, 2009 at 08:55:53PM +0100, Mark Brown wrote:
> It relies on EXPORT_SYMBOL_GPL() symbols.
>
> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
> ---
> sound/soc/s3c24xx/s3c-i2s-v2.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/sound/soc/s3c24xx/s3c-i2s-v2.c b/sound/soc/s3c24xx/s3c-i2s-v2.c
> index 689ffcd..ab680aa 100644
> --- a/sound/soc/s3c24xx/s3c-i2s-v2.c
> +++ b/sound/soc/s3c24xx/s3c-i2s-v2.c
> @@ -636,5 +636,6 @@ int s3c_i2sv2_register_dai(struct snd_soc_dai *dai)
>
> return snd_soc_register_dai(dai);
> }
> -
> EXPORT_SYMBOL_GPL(s3c_i2sv2_register_dai);
> +
> +MODULE_LICENSE("GPL");
A MODULE_DESCRIPTION and MODULE_AUTHOUR tag woudln't go amiss either,
if this is available on a branch i'll look at adding these.
--
Ben
Q: What's a light-year?
A: One-third less calories than a regular year.
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
` (20 preceding siblings ...)
2009-04-23 19:55 ` [PATCH 21/21] ASoC: TWL4030: Add 4 channel TDM support Mark Brown
@ 2009-04-24 6:10 ` Takashi Iwai
21 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-04-24 6:10 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Thu, 23 Apr 2009 20:54:20 +0100,
Mark Brown wrote:
>
> The following changes since commit 9b5b0c01598f9782690b09ce6c49f4ba116dde44:
> Mark Brown (1):
> Merge branch 'for-2.6.30' into for-2.6.31
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Pulled now to topic/asoc branch. Thanks.
Takashi
>
> Eric Miao (2):
> ASoC: simplify the SSP DMA parameters settings by run-time generation
> ASoC: change stereo/mono to 32-bit/16-bit for pxa-ssp
>
> Joonyoung Shim (2):
> ASoC: OMAP: Add checking to detect bufferless pcms
> ASoC: TWL4030: Add VDL path support
>
> Mark Brown (16):
> ASoC: Factor out generic widget power checks
> ASoC: Factor out DAPM power checks for DACs and ADCs
> ASoC: Make the DAPM power check an operation on the widget
> ASoC: Fix offset of freqmode in WM8580 PLL configuration
> ASoC: Fix WM8580 volume update handling for large register changes
> ASoC: Add power supply widget to DAPM
> ASoC: Use DAPM supply widget for WM8903 charge pump
> ASoC: Support CLK_DSP in WM8903
> ASoC: Optimise configuration of WM8903 DC servo
> ASoC: Actively manage the DC servo for WM8903
> ASoC: Remove redundant rate constraint for WM8903
> ASoC: Implement WM8903 digital sidetone support
> Merge commit 'takashi/fix/asoc' into for-2.6.30
> Merge branch 'for-2.6.30' into for-2.6.31
> ASoC: s3c-i2s-v2 needs to declare a license for modular builds
> Merge branch 'for-2.6.30' into for-2.6.31
>
> Peter Ujfalusi (2):
> ASoC: OMAP: Add 4 channel support to mcbsp
> ASoC: TWL4030: Add 4 channel TDM support
>
> Russell King - ARM Linux (1):
> ASoC: Fix warning in wm9705
>
> Takashi Iwai (1):
> ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991
>
> Documentation/sound/alsa/soc/dapm.txt | 1 +
> include/sound/soc-dapm.h | 9 +-
> sound/soc/codecs/Makefile | 1 -
> sound/soc/codecs/twl4030.c | 308 +++++++++++++++++++--------------
> sound/soc/codecs/twl4030.h | 11 ++
> sound/soc/codecs/wm8580.c | 16 +-
> sound/soc/codecs/wm8903.c | 118 ++++++++-----
> sound/soc/codecs/wm9705.c | 2 +-
> sound/soc/omap/omap-mcbsp.c | 5 +-
> sound/soc/omap/omap-pcm.c | 9 +-
> sound/soc/pxa/pxa-ssp.c | 203 +++++-----------------
> sound/soc/s3c24xx/s3c-i2s-v2.c | 3 +-
> sound/soc/soc-dapm.c | 139 +++++++++++-----
> 13 files changed, 438 insertions(+), 387 deletions(-)
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: [PATCH 19/21] ASoC: s3c-i2s-v2 needs to declare a license for modular builds
2009-04-23 20:53 ` Ben Dooks
@ 2009-04-24 9:43 ` Mark Brown
0 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-24 9:43 UTC (permalink / raw)
To: Ben Dooks; +Cc: Takashi Iwai, alsa-devel
On Thu, Apr 23, 2009 at 09:53:34PM +0100, Ben Dooks wrote:
> A MODULE_DESCRIPTION and MODULE_AUTHOUR tag woudln't go amiss either,
> if this is available on a branch i'll look at adding these.
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-04-28 15:22 Mark Brown
0 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-04-28 15:22 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 8a1f936acdfd53cb0a981f3f80483863dcd84fa9:
Peter Ujfalusi (1):
ASoC: TWL4030: Add 4 channel TDM support
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Daniel Mack (3):
ASoC: add SOC_DOUBLE_EXT macro
ASoC: cs4270: fix Master Capture Switch polarity
ASoC: cs4270: add Master Playback Switch
Jon Smirl (3):
ASoC: Set the MPC5200 i2s driver to BROKEN status.
ASoC: Basic split of mpc5200 DMA code out from mpc5200_psc_i2s
ASoC: Rename the PSC functions to DMA
Jonathan Cameron (1):
ASoC WM8940 Driver
Joonyoung Shim (1):
ASoC: TWL4030: Fix gain control for earpiece amplifier
Mark Brown (10):
ASoC: Fix S3C64xx IIS device registration and support both ports
ASoC: S3C2412: Failing to get the I2S clock is an error
ASoC: Enforce symmetric rates for S3C64xx I2S interface
ASoC: Include WM8350 register definitions in CODEC header
ASoC: s3c-i2s-v2 diagnostic improvements
ASoC: Use our registration function for S3C64xx
ASoC: Fix logic in WM8350 master clocking check
Merge branch 'for-2.6.30' into for-2.6.31
ASoC: Staticise TLV values in WM8940
Merge branch 'for-2.6.30' into for-2.6.31
Peter Ujfalusi (1):
ASoC: Beagle: Add support for 4 channel
include/sound/soc.h | 8 +
sound/soc/codecs/Kconfig | 4 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/cs4270.c | 44 ++-
sound/soc/codecs/twl4030.c | 8 +-
sound/soc/codecs/wm8350.c | 2 +-
sound/soc/codecs/wm8350.h | 1 +
sound/soc/codecs/wm8940.c | 955 +++++++++++++++++++++++++++++++++++++++
sound/soc/codecs/wm8940.h | 104 +++++
sound/soc/fsl/Kconfig | 6 +-
sound/soc/fsl/Makefile | 2 +
sound/soc/fsl/mpc5200_dma.c | 457 +++++++++++++++++++
sound/soc/fsl/mpc5200_dma.h | 81 ++++
sound/soc/fsl/mpc5200_psc_i2s.c | 644 ++++-----------------------
sound/soc/omap/omap3beagle.c | 26 +-
sound/soc/s3c24xx/s3c2412-i2s.c | 2 +-
sound/soc/s3c24xx/s3c64xx-i2s.c | 148 ++++--
sound/soc/s3c24xx/s3c64xx-i2s.h | 2 +-
18 files changed, 1867 insertions(+), 629 deletions(-)
create mode 100644 sound/soc/codecs/wm8940.c
create mode 100644 sound/soc/codecs/wm8940.h
create mode 100644 sound/soc/fsl/mpc5200_dma.c
create mode 100644 sound/soc/fsl/mpc5200_dma.h
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-05-05 10:01 Mark Brown
2009-05-05 10:45 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-05-05 10:01 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 8560b9321f9050968f393ce1ec67e47c1a0bd5cf:
Takashi Iwai (1):
Merge branch 'fix/asoc' into topic/asoc
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Jinyoung Park (1):
ASoC: Fix errors in WM8990
Jonathan Cameron (1):
ASoC: IMote2 ASoC Support
Lopez Cruz, Misael (2):
ASoC: TWL4030: Add VDL analog bypass
ASoC: TWL4030: Add voice digital loopback: sidetone
Mark Brown (15):
ASoC: Fix error message formatting in s3c64xx-i2s driver
ASoC: Check for supported CPUs when building s3c-i2s-v2
ASoC: Make S3C64xx clock export function to return struct clk
ASoC: Fix data format configuration for S3C64xx IISv2 and add 24 bit
ASoC: Fix boot warnings from S3C IISv2
ASoC: Allow use of resource from the platform device for S3C IISv2
ASoC: Display the clock rate used as the basis for rate calculation
ASoC: Display S3C IISv2 mode and MS errors by default
ASoC: Staticise txctrl and rxctrl for S3C IISv2
ASoC: Use platform device resource for S3C64xx IISv2
ASoC: Use a shared define for AC97 CODEC data formats
ASoC: Remove unused DAI format defines
Merge commit 'takashi/topic/asoc' into for-2.6.31
Merge branch 'for-2.6.30' into for-2.6.31
ASoC: Remove redundant codec pointer from DAIs
Peter Ujfalusi (1):
ASoC: TWL4030: Add VIBRA output
include/sound/soc-dai.h | 28 ++-------
sound/soc/codecs/ac97.c | 4 +-
sound/soc/codecs/ad1980.c | 4 +-
sound/soc/codecs/twl4030.c | 121 +++++++++++++++++++++++++++++++++++++--
sound/soc/codecs/wm8990.c | 40 +++++++-------
sound/soc/codecs/wm9705.c | 4 +-
sound/soc/codecs/wm9712.c | 6 +-
sound/soc/codecs/wm9713.c | 6 +-
sound/soc/pxa/Kconfig | 9 +++
sound/soc/pxa/Makefile | 2 +
sound/soc/pxa/imote2.c | 114 ++++++++++++++++++++++++++++++++++++
sound/soc/s3c24xx/s3c-i2s-v2.c | 87 ++++++++++++++++++++++++----
sound/soc/s3c24xx/s3c64xx-i2s.c | 15 ++---
sound/soc/s3c24xx/s3c64xx-i2s.h | 4 +-
14 files changed, 362 insertions(+), 82 deletions(-)
create mode 100644 sound/soc/pxa/imote2.c
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-05-05 10:01 Mark Brown
@ 2009-05-05 10:45 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-05-05 10:45 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Tue, 5 May 2009 11:01:23 +0100,
Mark Brown wrote:
>
> The following changes since commit 8560b9321f9050968f393ce1ec67e47c1a0bd5cf:
> Takashi Iwai (1):
> Merge branch 'fix/asoc' into topic/asoc
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Pulled this one, too. Thanks.
Takashi
> Jinyoung Park (1):
> ASoC: Fix errors in WM8990
>
> Jonathan Cameron (1):
> ASoC: IMote2 ASoC Support
>
> Lopez Cruz, Misael (2):
> ASoC: TWL4030: Add VDL analog bypass
> ASoC: TWL4030: Add voice digital loopback: sidetone
>
> Mark Brown (15):
> ASoC: Fix error message formatting in s3c64xx-i2s driver
> ASoC: Check for supported CPUs when building s3c-i2s-v2
> ASoC: Make S3C64xx clock export function to return struct clk
> ASoC: Fix data format configuration for S3C64xx IISv2 and add 24 bit
> ASoC: Fix boot warnings from S3C IISv2
> ASoC: Allow use of resource from the platform device for S3C IISv2
> ASoC: Display the clock rate used as the basis for rate calculation
> ASoC: Display S3C IISv2 mode and MS errors by default
> ASoC: Staticise txctrl and rxctrl for S3C IISv2
> ASoC: Use platform device resource for S3C64xx IISv2
> ASoC: Use a shared define for AC97 CODEC data formats
> ASoC: Remove unused DAI format defines
> Merge commit 'takashi/topic/asoc' into for-2.6.31
> Merge branch 'for-2.6.30' into for-2.6.31
> ASoC: Remove redundant codec pointer from DAIs
>
> Peter Ujfalusi (1):
> ASoC: TWL4030: Add VIBRA output
>
> include/sound/soc-dai.h | 28 ++-------
> sound/soc/codecs/ac97.c | 4 +-
> sound/soc/codecs/ad1980.c | 4 +-
> sound/soc/codecs/twl4030.c | 121 +++++++++++++++++++++++++++++++++++++--
> sound/soc/codecs/wm8990.c | 40 +++++++-------
> sound/soc/codecs/wm9705.c | 4 +-
> sound/soc/codecs/wm9712.c | 6 +-
> sound/soc/codecs/wm9713.c | 6 +-
> sound/soc/pxa/Kconfig | 9 +++
> sound/soc/pxa/Makefile | 2 +
> sound/soc/pxa/imote2.c | 114 ++++++++++++++++++++++++++++++++++++
> sound/soc/s3c24xx/s3c-i2s-v2.c | 87 ++++++++++++++++++++++++----
> sound/soc/s3c24xx/s3c64xx-i2s.c | 15 ++---
> sound/soc/s3c24xx/s3c64xx-i2s.h | 4 +-
> 14 files changed, 362 insertions(+), 82 deletions(-)
> create mode 100644 sound/soc/pxa/imote2.c
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-05-08 12:57 Mark Brown
2009-05-08 14:37 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-05-08 12:57 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit bbd993077d788589a86a718ba7a7895ba5e71a17:
Mark Brown (1):
ASoC: Remove redundant codec pointer from DAIs
are available in the git repository at:
ssh://master.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
(git:// doesn't seem to be updating so...).
Daniel Mack (2):
ASoC: cs4270: introduce CS4270_I2C_INCR
ASoC: cs4270: add power management support
Mark Brown (2):
ASoC: Add headers to match patterns in MAINTAINERS
ASoC: Fix file patterns for PXA sound drivers
Peter Ujfalusi (1):
ASoC: TWL4030: Fix typo in twl4030_codec_mute function
MAINTAINERS | 4 ++-
sound/soc/codecs/cs4270.c | 61 ++++++++++++++++++++++++++++++++++++++++++-
sound/soc/codecs/twl4030.c | 2 +-
3 files changed, 63 insertions(+), 4 deletions(-)
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-05-08 12:57 Mark Brown
@ 2009-05-08 14:37 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-05-08 14:37 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Fri, 8 May 2009 13:57:11 +0100,
Mark Brown wrote:
>
> The following changes since commit bbd993077d788589a86a718ba7a7895ba5e71a17:
> Mark Brown (1):
> ASoC: Remove redundant codec pointer from DAIs
>
> are available in the git repository at:
>
> ssh://master.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
>
> (git:// doesn't seem to be updating so...).
It appears now. Thanks, pulled now.
Takashi
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-05-12 10:25 Mark Brown
0 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-05-12 10:25 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit bec4c99e8637b5b8bd4b0513eacb51da25885e3b:
Mark Brown (1):
ASoC: Fix file patterns for PXA sound drivers
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Joonyoung Shim (1):
ASoC: TWL4030: change DAPM for analog microphone selection
Mark Brown (3):
ASoC: Fix up CODEC DAI formats for big endian CPUs
ASoC: Enforce symmetric rates for PXA2xx I2S
Merge branch 'for-2.6.30' into for-2.6.31
Mike Rapoport (3):
ASoC: soc-core: fix crash when removing not instantiated card
pxa2xx-ac97: fix reset gpio mode setting
ASoC: em-x270: make the driver support also eXeda and CM-X300 machines
Roel Kluin (1):
ASoC: remove driver_data direct access of struct device
Sergey Lapin (1):
ASoC: AFEB9260 driver
sound/arm/pxa2xx-ac97-lib.c | 2 +-
sound/soc/atmel/Kconfig | 8 ++
sound/soc/atmel/Makefile | 1 +
sound/soc/atmel/snd-soc-afeb9260.c | 203 ++++++++++++++++++++++++++++++++++++
sound/soc/codecs/twl4030.c | 52 ++++------
sound/soc/codecs/wm8400.c | 4 +-
sound/soc/codecs/wm8731.c | 4 +-
sound/soc/codecs/wm8753.c | 4 +-
sound/soc/pxa/Kconfig | 4 +-
sound/soc/pxa/em-x270.c | 9 +-
sound/soc/pxa/pxa2xx-i2s.c | 1 +
sound/soc/soc-core.c | 43 ++++++++
12 files changed, 289 insertions(+), 46 deletions(-)
create mode 100644 sound/soc/atmel/snd-soc-afeb9260.c
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
2009-05-15 8:23 ASoC updates for 2.6.30 Mark Brown
@ 2009-05-15 8:26 ` Mark Brown
2009-05-15 8:34 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-05-15 8:26 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit dd4a416442a2fb4bd761163277d37ab6ce75ee4e:
Takashi Iwai (1):
Merge branch 'for-2.6.31' of git://git.kernel.org/.../broonie/sound-2.6 into topic/asoc
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Anuj Aggarwal (1):
ASoC: Added OMAP3 EVM support in ASoC.
David Brownell (3):
ASoC: davinci-pcm buildfixes
ASoC: DaVinci I2S updates
ASoC: DaVinci EVM board support buildfixes
Jon Smirl (1):
ASoC: Add SNDRV_PCM_FMTBIT_S32_BE as a valid AC97 format
Karl Beldan (5):
ASoC: pxa2xx-i2s: Proper initialization
ASoC: pxa2xx-i2s: Proper hw initialization
ASoC: pxa2xx-i2s: Handle SACR1_DRPL and SACR1_DREC separately
ASoC: pxa2xx-i2s: Fix inappropriate release of i2s clock
ASoC: pxa2xx-i2s: Fix suspend/resume
Marek Vasut (1):
ASoC: Support AC97 link off by default on WM9712
Mark Brown (3):
ASoC: Point at kernel.org git
Merge branch 'pxa2xx-i2s' into for-2.6.31
Merge branch 'for-2.6.30' into for-2.6.31
MAINTAINERS | 2 +-
arch/arm/mach-davinci/include/mach/asp.h | 25 +++++
include/sound/soc-dai.h | 3 +-
sound/soc/codecs/wm9712.c | 2 +
sound/soc/davinci/Kconfig | 7 +-
sound/soc/davinci/davinci-evm.c | 63 +++++++++++--
sound/soc/davinci/davinci-i2s.c | 26 +++++-
sound/soc/davinci/davinci-pcm.c | 71 +++++++++------
sound/soc/omap/Kconfig | 8 ++
sound/soc/omap/Makefile | 2 +
sound/soc/omap/omap3evm.c | 147 ++++++++++++++++++++++++++++++
sound/soc/pxa/pxa2xx-i2s.c | 38 +++++---
12 files changed, 330 insertions(+), 64 deletions(-)
create mode 100644 arch/arm/mach-davinci/include/mach/asp.h
create mode 100644 sound/soc/omap/omap3evm.c
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-05-15 8:26 ` ASoC updates for 2.6.31 Mark Brown
@ 2009-05-15 8:34 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-05-15 8:34 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Fri, 15 May 2009 09:26:31 +0100,
Mark Brown wrote:
>
> The following changes since commit dd4a416442a2fb4bd761163277d37ab6ce75ee4e:
> Takashi Iwai (1):
> Merge branch 'for-2.6.31' of git://git.kernel.org/.../broonie/sound-2.6 into topic/asoc
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Pulled now. Thanks.
Takashi
> Anuj Aggarwal (1):
> ASoC: Added OMAP3 EVM support in ASoC.
>
> David Brownell (3):
> ASoC: davinci-pcm buildfixes
> ASoC: DaVinci I2S updates
> ASoC: DaVinci EVM board support buildfixes
>
> Jon Smirl (1):
> ASoC: Add SNDRV_PCM_FMTBIT_S32_BE as a valid AC97 format
>
> Karl Beldan (5):
> ASoC: pxa2xx-i2s: Proper initialization
> ASoC: pxa2xx-i2s: Proper hw initialization
> ASoC: pxa2xx-i2s: Handle SACR1_DRPL and SACR1_DREC separately
> ASoC: pxa2xx-i2s: Fix inappropriate release of i2s clock
> ASoC: pxa2xx-i2s: Fix suspend/resume
>
> Marek Vasut (1):
> ASoC: Support AC97 link off by default on WM9712
>
> Mark Brown (3):
> ASoC: Point at kernel.org git
> Merge branch 'pxa2xx-i2s' into for-2.6.31
> Merge branch 'for-2.6.30' into for-2.6.31
>
> MAINTAINERS | 2 +-
> arch/arm/mach-davinci/include/mach/asp.h | 25 +++++
> include/sound/soc-dai.h | 3 +-
> sound/soc/codecs/wm9712.c | 2 +
> sound/soc/davinci/Kconfig | 7 +-
> sound/soc/davinci/davinci-evm.c | 63 +++++++++++--
> sound/soc/davinci/davinci-i2s.c | 26 +++++-
> sound/soc/davinci/davinci-pcm.c | 71 +++++++++------
> sound/soc/omap/Kconfig | 8 ++
> sound/soc/omap/Makefile | 2 +
> sound/soc/omap/omap3evm.c | 147 ++++++++++++++++++++++++++++++
> sound/soc/pxa/pxa2xx-i2s.c | 38 +++++---
> 12 files changed, 330 insertions(+), 64 deletions(-)
> create mode 100644 arch/arm/mach-davinci/include/mach/asp.h
> create mode 100644 sound/soc/omap/omap3evm.c
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-05-18 15:04 Mark Brown
2009-05-18 15:16 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-05-18 15:04 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 5b740ea975c4ce3da12ac21b56f9e43354ca4327:
Julia Lawall (1):
sound: use dev_set_drvdata
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Mark Brown (4):
ASoC: Split DAPM power checks from sequencing of power changes
ASoC: Make DAPM sysfs entries non-optional
ASoC: Integrate bias management with DAPM power management
ASoC: Add debug trace for bias level transitions
Misael Lopez Cruz (1):
ASoC: TWL4030: Enable/disable voice digital filters
include/sound/soc-dapm.h | 5 +-
include/sound/soc.h | 3 +
sound/soc/codecs/twl4030.c | 37 +++++++++
sound/soc/codecs/twl4030.h | 2 +-
sound/soc/soc-core.c | 61 +++------------
sound/soc/soc-dapm.c | 187 ++++++++++++++++++++++++++++++--------------
6 files changed, 183 insertions(+), 112 deletions(-)
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-05-18 15:04 Mark Brown
@ 2009-05-18 15:16 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-05-18 15:16 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Mon, 18 May 2009 16:04:53 +0100,
Mark Brown wrote:
>
> The following changes since commit 5b740ea975c4ce3da12ac21b56f9e43354ca4327:
> Julia Lawall (1):
> sound: use dev_set_drvdata
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Thanks, pulled now.
Takashi
> Mark Brown (4):
> ASoC: Split DAPM power checks from sequencing of power changes
> ASoC: Make DAPM sysfs entries non-optional
> ASoC: Integrate bias management with DAPM power management
> ASoC: Add debug trace for bias level transitions
>
> Misael Lopez Cruz (1):
> ASoC: TWL4030: Enable/disable voice digital filters
>
> include/sound/soc-dapm.h | 5 +-
> include/sound/soc.h | 3 +
> sound/soc/codecs/twl4030.c | 37 +++++++++
> sound/soc/codecs/twl4030.h | 2 +-
> sound/soc/soc-core.c | 61 +++------------
> sound/soc/soc-dapm.c | 187 ++++++++++++++++++++++++++++++--------------
> 6 files changed, 183 insertions(+), 112 deletions(-)
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-05-19 19:27 Mark Brown
2009-05-19 19:39 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-05-19 19:27 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit f83fba8baab9e95fff0fe2be0e1e32a1650bdd7f:
Mark Brown (1):
ASoC: Add debug trace for bias level transitions
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Atsushi Nemoto (1):
ASoC: Add TXx9 AC link controller driver (v3)
Lopez Cruz, Misael (2):
ASoC: TWL4030: Add control for selecting codec operation mode
ASoC: SDP3430: Connect twl4030 voice DAI to McBSP3
Peter Ujfalusi (1):
ASoC: TWL4030: Fix Analog capture path for AUXR
sound/soc/Kconfig | 1 +
sound/soc/Makefile | 1 +
sound/soc/codecs/twl4030.c | 49 ++++-
sound/soc/omap/sdp3430.c | 87 +++++++-
sound/soc/txx9/Kconfig | 29 +++
sound/soc/txx9/Makefile | 11 +
sound/soc/txx9/txx9aclc-ac97.c | 255 ++++++++++++++++++++++
sound/soc/txx9/txx9aclc-generic.c | 98 +++++++++
sound/soc/txx9/txx9aclc.c | 430 +++++++++++++++++++++++++++++++++++++
sound/soc/txx9/txx9aclc.h | 83 +++++++
10 files changed, 1033 insertions(+), 11 deletions(-)
create mode 100644 sound/soc/txx9/Kconfig
create mode 100644 sound/soc/txx9/Makefile
create mode 100644 sound/soc/txx9/txx9aclc-ac97.c
create mode 100644 sound/soc/txx9/txx9aclc-generic.c
create mode 100644 sound/soc/txx9/txx9aclc.c
create mode 100644 sound/soc/txx9/txx9aclc.h
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-05-19 19:27 Mark Brown
@ 2009-05-19 19:39 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-05-19 19:39 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Tue, 19 May 2009 20:27:32 +0100,
Mark Brown wrote:
>
> The following changes since commit f83fba8baab9e95fff0fe2be0e1e32a1650bdd7f:
> Mark Brown (1):
> ASoC: Add debug trace for bias level transitions
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Pulled now. Thanks!
Takashi
> Atsushi Nemoto (1):
> ASoC: Add TXx9 AC link controller driver (v3)
>
> Lopez Cruz, Misael (2):
> ASoC: TWL4030: Add control for selecting codec operation mode
> ASoC: SDP3430: Connect twl4030 voice DAI to McBSP3
>
> Peter Ujfalusi (1):
> ASoC: TWL4030: Fix Analog capture path for AUXR
>
> sound/soc/Kconfig | 1 +
> sound/soc/Makefile | 1 +
> sound/soc/codecs/twl4030.c | 49 ++++-
> sound/soc/omap/sdp3430.c | 87 +++++++-
> sound/soc/txx9/Kconfig | 29 +++
> sound/soc/txx9/Makefile | 11 +
> sound/soc/txx9/txx9aclc-ac97.c | 255 ++++++++++++++++++++++
> sound/soc/txx9/txx9aclc-generic.c | 98 +++++++++
> sound/soc/txx9/txx9aclc.c | 430 +++++++++++++++++++++++++++++++++++++
> sound/soc/txx9/txx9aclc.h | 83 +++++++
> 10 files changed, 1033 insertions(+), 11 deletions(-)
> create mode 100644 sound/soc/txx9/Kconfig
> create mode 100644 sound/soc/txx9/Makefile
> create mode 100644 sound/soc/txx9/txx9aclc-ac97.c
> create mode 100644 sound/soc/txx9/txx9aclc-generic.c
> create mode 100644 sound/soc/txx9/txx9aclc.c
> create mode 100644 sound/soc/txx9/txx9aclc.h
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-05-22 20:21 Mark Brown
2009-05-22 20:34 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-05-22 20:21 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit e24805dd85283ac0912b9c400768a4d171b400ff:
Atsushi Nemoto (1):
ASoC: Add TXx9 AC link controller driver (v3)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Mark Brown (2):
ASoC: Make snd_soc_read() and snd_soc_write() functions
ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driver
Peter Ujfalusi (5):
ASoC: TWL4030: Change DAPM routings and controls for DACs and PGAs
ASoC: TWL4030: Move the Headset pop-attenuation code to PGA event
ASoC: TWL4030: Add support for platform dependent configuration
ASoC: SDP4030: Use the twl4030_setup_data for headset pop-removal
ASoC: TWL4030: Differentiate the playback streams
include/sound/soc.h | 17 +-
include/sound/wm9081.h | 25 +
sound/soc/codecs/Kconfig | 4 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/twl4030.c | 285 ++++++---
sound/soc/codecs/twl4030.h | 5 +
sound/soc/codecs/wm9081.c | 1532 ++++++++++++++++++++++++++++++++++++++++++++
sound/soc/codecs/wm9081.h | 787 +++++++++++++++++++++++
sound/soc/omap/sdp3430.c | 7 +
9 files changed, 2559 insertions(+), 105 deletions(-)
create mode 100644 include/sound/wm9081.h
create mode 100644 sound/soc/codecs/wm9081.c
create mode 100644 sound/soc/codecs/wm9081.h
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-05-22 20:21 Mark Brown
@ 2009-05-22 20:34 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-05-22 20:34 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Fri, 22 May 2009 21:21:24 +0100,
Mark Brown wrote:
>
> The following changes since commit e24805dd85283ac0912b9c400768a4d171b400ff:
> Atsushi Nemoto (1):
> ASoC: Add TXx9 AC link controller driver (v3)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Thanks, pulled now.
Takashi
> Mark Brown (2):
> ASoC: Make snd_soc_read() and snd_soc_write() functions
> ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driver
>
> Peter Ujfalusi (5):
> ASoC: TWL4030: Change DAPM routings and controls for DACs and PGAs
> ASoC: TWL4030: Move the Headset pop-attenuation code to PGA event
> ASoC: TWL4030: Add support for platform dependent configuration
> ASoC: SDP4030: Use the twl4030_setup_data for headset pop-removal
> ASoC: TWL4030: Differentiate the playback streams
>
> include/sound/soc.h | 17 +-
> include/sound/wm9081.h | 25 +
> sound/soc/codecs/Kconfig | 4 +
> sound/soc/codecs/Makefile | 2 +
> sound/soc/codecs/twl4030.c | 285 ++++++---
> sound/soc/codecs/twl4030.h | 5 +
> sound/soc/codecs/wm9081.c | 1532 ++++++++++++++++++++++++++++++++++++++++++++
> sound/soc/codecs/wm9081.h | 787 +++++++++++++++++++++++
> sound/soc/omap/sdp3430.c | 7 +
> 9 files changed, 2559 insertions(+), 105 deletions(-)
> create mode 100644 include/sound/wm9081.h
> create mode 100644 sound/soc/codecs/wm9081.c
> create mode 100644 sound/soc/codecs/wm9081.h
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-05-25 12:07 Mark Brown
2009-05-25 12:29 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-05-25 12:07 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 86ed3669f068b514ab85ffd548456a342b3fb8d3:
Mark Brown (1):
ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driver
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Jon Smirl (4):
ASoC: Codec for STAC9766 used on the Efika
ASoC: Basic split of mpc5200 DMA code out of mpc5200_psc_i2s
ASoC: Rename the PSC functions to DMA
ASoC: Add a few more mpc5200 PSC defines
Mark Brown (2):
ASoC: Fix WM9081 PowerPC compiler issues
ASoC: Fix minor issues in STAC9766 driver
Peter Ujfalusi (3):
ASoC: TWL4030: Handsfree pop removal redesign
ASoC: TWL4030: Add shadow register
ASoC: TWL4030: HandsfreeL/R mute DAPM switch
arch/powerpc/include/asm/mpc52xx_psc.h | 11 +
sound/soc/codecs/Kconfig | 4 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/stac9766.c | 463 +++++++++++++++++++++++
sound/soc/codecs/stac9766.h | 21 +
sound/soc/codecs/twl4030.c | 99 ++++-
sound/soc/codecs/twl4030.h | 7 +-
sound/soc/codecs/wm9081.c | 6 +-
sound/soc/fsl/Kconfig | 4 +
sound/soc/fsl/Makefile | 2 +
sound/soc/fsl/mpc5200_dma.c | 458 ++++++++++++++++++++++
sound/soc/fsl/mpc5200_dma.h | 81 ++++
sound/soc/fsl/mpc5200_psc_i2s.c | 645 ++++----------------------------
13 files changed, 1217 insertions(+), 586 deletions(-)
create mode 100644 sound/soc/codecs/stac9766.c
create mode 100644 sound/soc/codecs/stac9766.h
create mode 100644 sound/soc/fsl/mpc5200_dma.c
create mode 100644 sound/soc/fsl/mpc5200_dma.h
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-05-25 12:07 Mark Brown
@ 2009-05-25 12:29 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-05-25 12:29 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Mon, 25 May 2009 13:07:57 +0100,
Mark Brown wrote:
>
> The following changes since commit 86ed3669f068b514ab85ffd548456a342b3fb8d3:
> Mark Brown (1):
> ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driver
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Pulled now. Thanks.
Takashi
> Jon Smirl (4):
> ASoC: Codec for STAC9766 used on the Efika
> ASoC: Basic split of mpc5200 DMA code out of mpc5200_psc_i2s
> ASoC: Rename the PSC functions to DMA
> ASoC: Add a few more mpc5200 PSC defines
>
> Mark Brown (2):
> ASoC: Fix WM9081 PowerPC compiler issues
> ASoC: Fix minor issues in STAC9766 driver
>
> Peter Ujfalusi (3):
> ASoC: TWL4030: Handsfree pop removal redesign
> ASoC: TWL4030: Add shadow register
> ASoC: TWL4030: HandsfreeL/R mute DAPM switch
>
> arch/powerpc/include/asm/mpc52xx_psc.h | 11 +
> sound/soc/codecs/Kconfig | 4 +
> sound/soc/codecs/Makefile | 2 +
> sound/soc/codecs/stac9766.c | 463 +++++++++++++++++++++++
> sound/soc/codecs/stac9766.h | 21 +
> sound/soc/codecs/twl4030.c | 99 ++++-
> sound/soc/codecs/twl4030.h | 7 +-
> sound/soc/codecs/wm9081.c | 6 +-
> sound/soc/fsl/Kconfig | 4 +
> sound/soc/fsl/Makefile | 2 +
> sound/soc/fsl/mpc5200_dma.c | 458 ++++++++++++++++++++++
> sound/soc/fsl/mpc5200_dma.h | 81 ++++
> sound/soc/fsl/mpc5200_psc_i2s.c | 645 ++++----------------------------
> 13 files changed, 1217 insertions(+), 586 deletions(-)
> create mode 100644 sound/soc/codecs/stac9766.c
> create mode 100644 sound/soc/codecs/stac9766.h
> create mode 100644 sound/soc/fsl/mpc5200_dma.c
> create mode 100644 sound/soc/fsl/mpc5200_dma.h
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-05-27 10:48 Mark Brown
2009-05-27 13:58 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-05-27 10:48 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 0f89bdcac61536c5cb2a095a514657019573afb4:
Peter Ujfalusi (1):
ASoC: TWL4030: HandsfreeL/R mute DAPM switch
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Jon Smirl (4):
ASoC: Main rewite of the mpc5200 audio DMA code
ASoC: AC97 driver for mpc5200
ASoC: Support for AC97 on Phytec pmc030 base board.
ASoC: Fabric bindings for STAC9766 on the Efika
Mark Brown (2):
ASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolved
ASoC: Switch FSL SSI DAI over to symmetric_rates
sound/soc/fsl/Kconfig | 28 +++-
sound/soc/fsl/Makefile | 5 +
sound/soc/fsl/efika-audio-fabric.c | 90 +++++++
sound/soc/fsl/fsl_ssi.c | 9 +-
sound/soc/fsl/mpc5200_dma.c | 442 ++++++++++++++++++++++-------------
sound/soc/fsl/mpc5200_dma.h | 33 ++--
sound/soc/fsl/mpc5200_psc_ac97.c | 331 ++++++++++++++++++++++++++
sound/soc/fsl/mpc5200_psc_ac97.h | 15 ++
sound/soc/fsl/mpc5200_psc_i2s.c | 247 ++++----------------
sound/soc/fsl/mpc5200_psc_i2s.h | 12 +
sound/soc/fsl/pcm030-audio-fabric.c | 90 +++++++
11 files changed, 905 insertions(+), 397 deletions(-)
create mode 100644 sound/soc/fsl/efika-audio-fabric.c
create mode 100644 sound/soc/fsl/mpc5200_psc_ac97.c
create mode 100644 sound/soc/fsl/mpc5200_psc_ac97.h
create mode 100644 sound/soc/fsl/mpc5200_psc_i2s.h
create mode 100644 sound/soc/fsl/pcm030-audio-fabric.c
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-05-27 10:48 Mark Brown
@ 2009-05-27 13:58 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-05-27 13:58 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Wed, 27 May 2009 11:48:49 +0100,
Mark Brown wrote:
>
> The following changes since commit 0f89bdcac61536c5cb2a095a514657019573afb4:
> Peter Ujfalusi (1):
> ASoC: TWL4030: HandsfreeL/R mute DAPM switch
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Thanks, pulled now.
Takashi
>
> Jon Smirl (4):
> ASoC: Main rewite of the mpc5200 audio DMA code
> ASoC: AC97 driver for mpc5200
> ASoC: Support for AC97 on Phytec pmc030 base board.
> ASoC: Fabric bindings for STAC9766 on the Efika
>
> Mark Brown (2):
> ASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolved
> ASoC: Switch FSL SSI DAI over to symmetric_rates
>
> sound/soc/fsl/Kconfig | 28 +++-
> sound/soc/fsl/Makefile | 5 +
> sound/soc/fsl/efika-audio-fabric.c | 90 +++++++
> sound/soc/fsl/fsl_ssi.c | 9 +-
> sound/soc/fsl/mpc5200_dma.c | 442 ++++++++++++++++++++++-------------
> sound/soc/fsl/mpc5200_dma.h | 33 ++--
> sound/soc/fsl/mpc5200_psc_ac97.c | 331 ++++++++++++++++++++++++++
> sound/soc/fsl/mpc5200_psc_ac97.h | 15 ++
> sound/soc/fsl/mpc5200_psc_i2s.c | 247 ++++----------------
> sound/soc/fsl/mpc5200_psc_i2s.h | 12 +
> sound/soc/fsl/pcm030-audio-fabric.c | 90 +++++++
> 11 files changed, 905 insertions(+), 397 deletions(-)
> create mode 100644 sound/soc/fsl/efika-audio-fabric.c
> create mode 100644 sound/soc/fsl/mpc5200_psc_ac97.c
> create mode 100644 sound/soc/fsl/mpc5200_psc_ac97.h
> create mode 100644 sound/soc/fsl/mpc5200_psc_i2s.h
> create mode 100644 sound/soc/fsl/pcm030-audio-fabric.c
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-05-28 18:04 Mark Brown
2009-05-28 18:12 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-05-28 18:04 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 08d15f034e94251606479d7ca9070994c2e2fcf0:
Mark Brown (1):
ASoC: Switch FSL SSI DAI over to symmetric_rates
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Chaithrika U S (1):
ASoC: Add dummy S/PDIF codec support
Jon Smirl (1):
ASoC: Modify mpc5200 AC97 driver to use V9 of spin_event_timeout()
Mark Brown (1):
ASoC: Initialise dev for the dummy S/PDIF DAI
Roel Kluin (1):
ASoC: correct print specifiers for unsigneds
sound/soc/atmel/playpaq_wm8510.c | 2 +-
sound/soc/codecs/Kconfig | 4 ++
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/spdif_transciever.c | 71 ++++++++++++++++++++++++++++++++++
sound/soc/codecs/spdif_transciever.h | 17 ++++++++
sound/soc/codecs/tlv320aic23.c | 4 +-
sound/soc/codecs/uda134x.c | 4 +-
sound/soc/codecs/wm8350.c | 2 +-
sound/soc/codecs/wm8400.c | 4 +-
sound/soc/codecs/wm8510.c | 2 +-
sound/soc/codecs/wm8580.c | 4 +-
sound/soc/codecs/wm8753.c | 2 +-
sound/soc/codecs/wm8900.c | 6 +-
sound/soc/codecs/wm8990.c | 2 +-
sound/soc/codecs/wm9713.c | 2 +-
sound/soc/fsl/mpc5200_psc_ac97.c | 30 +++++++--------
sound/soc/pxa/pxa-ssp.c | 4 +-
sound/soc/s3c24xx/s3c-i2s-v2.c | 4 +-
sound/soc/sh/ssi.c | 2 +-
19 files changed, 130 insertions(+), 38 deletions(-)
create mode 100644 sound/soc/codecs/spdif_transciever.c
create mode 100644 sound/soc/codecs/spdif_transciever.h
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-05-28 18:04 Mark Brown
@ 2009-05-28 18:12 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-05-28 18:12 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Thu, 28 May 2009 19:04:30 +0100,
Mark Brown wrote:
>
> The following changes since commit 08d15f034e94251606479d7ca9070994c2e2fcf0:
> Mark Brown (1):
> ASoC: Switch FSL SSI DAI over to symmetric_rates
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Thanks, pulled now.
Takashi
> Chaithrika U S (1):
> ASoC: Add dummy S/PDIF codec support
>
> Jon Smirl (1):
> ASoC: Modify mpc5200 AC97 driver to use V9 of spin_event_timeout()
>
> Mark Brown (1):
> ASoC: Initialise dev for the dummy S/PDIF DAI
>
> Roel Kluin (1):
> ASoC: correct print specifiers for unsigneds
>
> sound/soc/atmel/playpaq_wm8510.c | 2 +-
> sound/soc/codecs/Kconfig | 4 ++
> sound/soc/codecs/Makefile | 2 +
> sound/soc/codecs/spdif_transciever.c | 71 ++++++++++++++++++++++++++++++++++
> sound/soc/codecs/spdif_transciever.h | 17 ++++++++
> sound/soc/codecs/tlv320aic23.c | 4 +-
> sound/soc/codecs/uda134x.c | 4 +-
> sound/soc/codecs/wm8350.c | 2 +-
> sound/soc/codecs/wm8400.c | 4 +-
> sound/soc/codecs/wm8510.c | 2 +-
> sound/soc/codecs/wm8580.c | 4 +-
> sound/soc/codecs/wm8753.c | 2 +-
> sound/soc/codecs/wm8900.c | 6 +-
> sound/soc/codecs/wm8990.c | 2 +-
> sound/soc/codecs/wm9713.c | 2 +-
> sound/soc/fsl/mpc5200_psc_ac97.c | 30 +++++++--------
> sound/soc/pxa/pxa-ssp.c | 4 +-
> sound/soc/s3c24xx/s3c-i2s-v2.c | 4 +-
> sound/soc/sh/ssi.c | 2 +-
> 19 files changed, 130 insertions(+), 38 deletions(-)
> create mode 100644 sound/soc/codecs/spdif_transciever.c
> create mode 100644 sound/soc/codecs/spdif_transciever.h
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-06-03 10:51 Mark Brown
2009-06-03 11:02 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-06-03 10:51 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 203350c1a8e23adf17fd9a96d8bfc7adf63c1ff6:
Mark Brown (1):
ASoC: Initialise dev for the dummy S/PDIF DAI
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Cliff Cai (3):
ASoC: SSM2602: remove unsupported sample rates
ASoC: Blackfin: set the transfer size according the ac97_frame size
ASoC: SSM2602: assign last substream to the master when shutting down
Peter Ujfalusi (2):
ASoC: TWL4030: Use reg_cache in twl4030_init_chip
ASoC: TWL4030: Check the interface format for 4 channel mode
Sonic Zhang (1):
ASoC: Blackfin: document how anomaly 05000250 is handled
sound/soc/blackfin/bf5xx-ac97.c | 9 +++++++++
sound/soc/blackfin/bf5xx-sport.c | 4 ++--
sound/soc/codecs/ssm2602.c | 33 +++++++++++++++++++--------------
sound/soc/codecs/twl4030.c | 16 +++++++++++-----
4 files changed, 41 insertions(+), 21 deletions(-)
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-06-03 10:51 Mark Brown
@ 2009-06-03 11:02 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-06-03 11:02 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Wed, 3 Jun 2009 11:51:50 +0100,
Mark Brown wrote:
>
> The following changes since commit 203350c1a8e23adf17fd9a96d8bfc7adf63c1ff6:
> Mark Brown (1):
> ASoC: Initialise dev for the dummy S/PDIF DAI
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Thanks, pulled now.
Takashi
> Cliff Cai (3):
> ASoC: SSM2602: remove unsupported sample rates
> ASoC: Blackfin: set the transfer size according the ac97_frame size
> ASoC: SSM2602: assign last substream to the master when shutting down
>
> Peter Ujfalusi (2):
> ASoC: TWL4030: Use reg_cache in twl4030_init_chip
> ASoC: TWL4030: Check the interface format for 4 channel mode
>
> Sonic Zhang (1):
> ASoC: Blackfin: document how anomaly 05000250 is handled
>
> sound/soc/blackfin/bf5xx-ac97.c | 9 +++++++++
> sound/soc/blackfin/bf5xx-sport.c | 4 ++--
> sound/soc/codecs/ssm2602.c | 33 +++++++++++++++++++--------------
> sound/soc/codecs/twl4030.c | 16 +++++++++++-----
> 4 files changed, 41 insertions(+), 21 deletions(-)
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-06-21 13:15 Mark Brown
2009-06-22 6:20 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-06-21 13:15 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit ef39412622b6e8f09c383de9565b07e93553fc27:
Takashi Iwai (1):
ASoC: Kill BUS_ID_SIZE
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Barry Song (1):
ASoC: Blackfin: update the bf5xx_i2s_resume parameters
Cliff Cai (1):
ASoC: Blackfin: keep better track of SPORT configuration state
sound/soc/blackfin/bf5xx-i2s.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-06-21 13:15 Mark Brown
@ 2009-06-22 6:20 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-06-22 6:20 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Sun, 21 Jun 2009 14:15:31 +0100,
Mark Brown wrote:
>
> The following changes since commit ef39412622b6e8f09c383de9565b07e93553fc27:
> Takashi Iwai (1):
> ASoC: Kill BUS_ID_SIZE
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Pulled now. Thanks.
Takashi
> Barry Song (1):
> ASoC: Blackfin: update the bf5xx_i2s_resume parameters
>
> Cliff Cai (1):
> ASoC: Blackfin: keep better track of SPORT configuration state
>
> sound/soc/blackfin/bf5xx-i2s.c | 10 +++++++---
> 1 files changed, 7 insertions(+), 3 deletions(-)
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
@ 2009-06-25 13:09 Mark Brown
2009-06-25 13:35 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-06-25 13:09 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 28d0325ce6e0a52f53d8af687e6427fee59004d3:
Linus Torvalds (1):
Linux 2.6.31-rc1
are available in the git repository at:
ssh://master.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Peter Ujfalusi (1):
MAINTAINERS: Add entry for twl4030 series soc codec driver
MAINTAINERS | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-06-25 13:09 Mark Brown
@ 2009-06-25 13:35 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-06-25 13:35 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Thu, 25 Jun 2009 14:09:39 +0100,
Mark Brown wrote:
>
> The following changes since commit 28d0325ce6e0a52f53d8af687e6427fee59004d3:
> Linus Torvalds (1):
> Linux 2.6.31-rc1
>
> are available in the git repository at:
>
> ssh://master.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Thanks. This gave me a merge error (because other entries have been
added to MAINTAINERS) so I corrected manually.
So, I based my 2.6.32 asoc branch on this to avoid the doubly merge
corrections, and I pulled your 2.6.32 branch there, too.
Now everything should be settled doen, you can forward gracefully by
just pulling from my branches :)
Takashi
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-07-01 20:45 Mark Brown
2009-07-02 8:55 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-07-01 20:45 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 10121a12e2380fb34b6e646a8e367add06d036c3:
Takashi Iwai (1):
Merge branch 'for-2.6.31' of git://git.kernel.org/.../broonie/sound-2.6 into fix/asoc
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Grant Likely (2):
ASoC: Fix typo in MPC5200 PSC AC97 driver Kconfig
ASoC: remove BROKEN from Efika and pcm030 fabric drivers
Janusz Krzysztofik (1):
ASoC: OMAP: fix OMAP1510 broken PCM pointer callback
Mark Brown (1):
ASoC: Only disable pxa2xx-i2s clocks if we enabled them
sound/soc/fsl/Kconfig | 6 +++---
sound/soc/omap/omap-pcm.c | 11 +++++++----
sound/soc/pxa/pxa2xx-i2s.c | 7 ++++++-
3 files changed, 16 insertions(+), 8 deletions(-)
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-07-01 20:45 Mark Brown
@ 2009-07-02 8:55 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-07-02 8:55 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Wed, 1 Jul 2009 21:45:05 +0100,
Mark Brown wrote:
>
> The following changes since commit 10121a12e2380fb34b6e646a8e367add06d036c3:
> Takashi Iwai (1):
> Merge branch 'for-2.6.31' of git://git.kernel.org/.../broonie/sound-2.6 into fix/asoc
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Pulled now. Thanks.
Takashi
> Grant Likely (2):
> ASoC: Fix typo in MPC5200 PSC AC97 driver Kconfig
> ASoC: remove BROKEN from Efika and pcm030 fabric drivers
>
> Janusz Krzysztofik (1):
> ASoC: OMAP: fix OMAP1510 broken PCM pointer callback
>
> Mark Brown (1):
> ASoC: Only disable pxa2xx-i2s clocks if we enabled them
>
> sound/soc/fsl/Kconfig | 6 +++---
> sound/soc/omap/omap-pcm.c | 11 +++++++----
> sound/soc/pxa/pxa2xx-i2s.c | 7 ++++++-
> 3 files changed, 16 insertions(+), 8 deletions(-)
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-07-06 20:49 Mark Brown
2009-07-07 5:56 ` Takashi Iwai
0 siblings, 1 reply; 61+ messages in thread
From: Mark Brown @ 2009-07-06 20:49 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit da9ff1f796e81976935407251815838bef9868d4:
Mark Brown (1):
ASoC: Only disable pxa2xx-i2s clocks if we enabled them
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Grant Likely (2):
ASoC: Fix mpc5200-psc-ac97 to ensure the data ready bit is cleared
ASoC: add locking to mpc5200-psc-ac97 driver
Lars-Peter Clausen (1):
ASoC: Fix wm8753 register cache size and initialization
Mark Brown (1):
ASoC: Fix register cache initialisation for WM8753
sound/soc/codecs/wm8753.c | 6 +++---
sound/soc/fsl/mpc5200_dma.c | 1 +
sound/soc/fsl/mpc5200_dma.h | 1 +
sound/soc/fsl/mpc5200_psc_ac97.c | 17 ++++++++++++++++-
4 files changed, 21 insertions(+), 4 deletions(-)
^ permalink raw reply [flat|nested] 61+ messages in thread
* Re: ASoC updates for 2.6.31
2009-07-06 20:49 Mark Brown
@ 2009-07-07 5:56 ` Takashi Iwai
0 siblings, 0 replies; 61+ messages in thread
From: Takashi Iwai @ 2009-07-07 5:56 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Mon, 6 Jul 2009 21:49:01 +0100,
Mark Brown wrote:
>
> The following changes since commit da9ff1f796e81976935407251815838bef9868d4:
> Mark Brown (1):
> ASoC: Only disable pxa2xx-i2s clocks if we enabled them
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Pulled both branches now. Thanks.
Takashi
> Grant Likely (2):
> ASoC: Fix mpc5200-psc-ac97 to ensure the data ready bit is cleared
> ASoC: add locking to mpc5200-psc-ac97 driver
>
> Lars-Peter Clausen (1):
> ASoC: Fix wm8753 register cache size and initialization
>
> Mark Brown (1):
> ASoC: Fix register cache initialisation for WM8753
>
> sound/soc/codecs/wm8753.c | 6 +++---
> sound/soc/fsl/mpc5200_dma.c | 1 +
> sound/soc/fsl/mpc5200_dma.h | 1 +
> sound/soc/fsl/mpc5200_psc_ac97.c | 17 ++++++++++++++++-
> 4 files changed, 21 insertions(+), 4 deletions(-)
>
^ permalink raw reply [flat|nested] 61+ messages in thread
* ASoC updates for 2.6.31
@ 2009-07-10 19:25 Mark Brown
0 siblings, 0 replies; 61+ messages in thread
From: Mark Brown @ 2009-07-10 19:25 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 637a935aaba2f05e2178c9d1b714d7a2c36c8b44:
Lars-Peter Clausen (1):
ASoC: Fix wm8753 register cache size and initialization
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-2.6.31
Daniel Mack (1):
ASoC: Fix NULL pointer dereference in __pxa2xx_pcm_hw_free
sound/arm/pxa2xx-pcm-lib.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
^ permalink raw reply [flat|nested] 61+ messages in thread
end of thread, other threads:[~2009-07-10 19:25 UTC | newest]
Thread overview: 61+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-23 19:54 ASoC updates for 2.6.31 Mark Brown
2009-04-23 19:55 ` [PATCH 01/21] ASoC: Fix warning in wm9705 Mark Brown
2009-04-23 19:55 ` [PATCH 02/21] ASoC: Factor out generic widget power checks Mark Brown
2009-04-23 19:55 ` [PATCH 03/21] ASoC: Factor out DAPM power checks for DACs and ADCs Mark Brown
2009-04-23 19:55 ` [PATCH 04/21] ASoC: Make the DAPM power check an operation on the widget Mark Brown
2009-04-23 19:55 ` [PATCH 05/21] ASoC: Fix offset of freqmode in WM8580 PLL configuration Mark Brown
2009-04-23 19:55 ` [PATCH 06/21] ASoC: Fix WM8580 volume update handling for large register changes Mark Brown
2009-04-23 19:55 ` [PATCH 07/21] ASoC: OMAP: Add checking to detect bufferless pcms Mark Brown
2009-04-23 19:55 ` [PATCH 08/21] ASoC: Add power supply widget to DAPM Mark Brown
2009-04-23 19:55 ` [PATCH 09/21] ASoC: Use DAPM supply widget for WM8903 charge pump Mark Brown
2009-04-23 19:55 ` [PATCH 10/21] ASoC: Support CLK_DSP in WM8903 Mark Brown
2009-04-23 19:55 ` [PATCH 11/21] ASoC: Optimise configuration of WM8903 DC servo Mark Brown
2009-04-23 19:55 ` [PATCH 12/21] ASoC: Actively manage the DC servo for WM8903 Mark Brown
2009-04-23 19:55 ` [PATCH 13/21] ASoC: Remove redundant rate constraint " Mark Brown
2009-04-23 19:55 ` [PATCH 14/21] ASoC: Implement WM8903 digital sidetone support Mark Brown
2009-04-23 19:55 ` [PATCH 15/21] ASoC: remove non-existing referece to CONFIG_SND_SOC_CODEC_WM8991 Mark Brown
2009-04-23 19:55 ` [PATCH 16/21] ASoC: TWL4030: Add VDL path support Mark Brown
2009-04-23 19:55 ` [PATCH 17/21] ASoC: simplify the SSP DMA parameters settings by run-time generation Mark Brown
2009-04-23 19:55 ` [PATCH 18/21] ASoC: change stereo/mono to 32-bit/16-bit for pxa-ssp Mark Brown
2009-04-23 19:55 ` [PATCH 19/21] ASoC: s3c-i2s-v2 needs to declare a license for modular builds Mark Brown
2009-04-23 20:53 ` Ben Dooks
2009-04-24 9:43 ` Mark Brown
2009-04-23 19:55 ` [PATCH 20/21] ASoC: OMAP: Add 4 channel support to mcbsp Mark Brown
2009-04-23 19:55 ` [PATCH 21/21] ASoC: TWL4030: Add 4 channel TDM support Mark Brown
2009-04-24 6:10 ` ASoC updates for 2.6.31 Takashi Iwai
-- strict thread matches above, loose matches on Subject: below --
2009-07-10 19:25 Mark Brown
2009-07-06 20:49 Mark Brown
2009-07-07 5:56 ` Takashi Iwai
2009-07-01 20:45 Mark Brown
2009-07-02 8:55 ` Takashi Iwai
2009-06-25 13:09 Mark Brown
2009-06-25 13:35 ` Takashi Iwai
2009-06-21 13:15 Mark Brown
2009-06-22 6:20 ` Takashi Iwai
2009-06-03 10:51 Mark Brown
2009-06-03 11:02 ` Takashi Iwai
2009-05-28 18:04 Mark Brown
2009-05-28 18:12 ` Takashi Iwai
2009-05-27 10:48 Mark Brown
2009-05-27 13:58 ` Takashi Iwai
2009-05-25 12:07 Mark Brown
2009-05-25 12:29 ` Takashi Iwai
2009-05-22 20:21 Mark Brown
2009-05-22 20:34 ` Takashi Iwai
2009-05-19 19:27 Mark Brown
2009-05-19 19:39 ` Takashi Iwai
2009-05-18 15:04 Mark Brown
2009-05-18 15:16 ` Takashi Iwai
2009-05-15 8:23 ASoC updates for 2.6.30 Mark Brown
2009-05-15 8:26 ` ASoC updates for 2.6.31 Mark Brown
2009-05-15 8:34 ` Takashi Iwai
2009-05-12 10:25 Mark Brown
2009-05-08 12:57 Mark Brown
2009-05-08 14:37 ` Takashi Iwai
2009-05-05 10:01 Mark Brown
2009-05-05 10:45 ` Takashi Iwai
2009-04-28 15:22 Mark Brown
2009-04-20 11:58 Mark Brown
2009-04-20 12:05 ` Takashi Iwai
2009-04-16 13:50 Mark Brown
2009-04-16 14:06 ` Takashi Iwai
2009-04-14 12:32 Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox