* [PATCH 0/4] ASoC updates
@ 2008-09-24 11:59 Mark Brown
2008-09-24 12:43 ` Takashi Iwai
0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2008-09-24 11:59 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
This series fixes a couple of bugs (neither of which affect 2.6.27) and
introduces a new API call for marking disconnected pins, mostly as a
placeholder for future development so machine drivers can start using it
now and then benefit when a more substantial implementation follows.
The following changes since commit 3090258fed179996ac4daecb482bad28d84cb054:
Jean Delvare (1):
ALSA: ASoC: Convert tlv320aic3x to a new-style i2c driver (v2)
are available in the git repository at:
git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
Mark Brown (4):
ASoC: Fix inverted input PGA mute bits in WM8903
ASoC: Fix build of GTA01 audio driver
ASoC: Allow machine drivers to mark pins as not connected
ASoC: Use snd_soc_dapm_nc_pin() in GTA01 audio driver
include/sound/soc-dapm.h | 1 +
sound/soc/codecs/wm8903.c | 4 ++--
sound/soc/s3c24xx/neo1973_wm8753.c | 17 ++++++++---------
sound/soc/soc-dapm.c | 20 ++++++++++++++++++++
4 files changed, 31 insertions(+), 11 deletions(-)
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 0/4] ASoC updates
2008-09-24 11:59 Mark Brown
@ 2008-09-24 12:43 ` Takashi Iwai
0 siblings, 0 replies; 17+ messages in thread
From: Takashi Iwai @ 2008-09-24 12:43 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Wed, 24 Sep 2008 12:59:07 +0100,
Mark Brown wrote:
>
> This series fixes a couple of bugs (neither of which affect 2.6.27) and
> introduces a new API call for marking disconnected pins, mostly as a
> placeholder for future development so machine drivers can start using it
> now and then benefit when a more substantial implementation follows.
>
> The following changes since commit 3090258fed179996ac4daecb482bad28d84cb054:
> Jean Delvare (1):
> ALSA: ASoC: Convert tlv320aic3x to a new-style i2c driver (v2)
>
> are available in the git repository at:
>
> git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
Applied. Thanks.
Takashi
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 0/4] ASoC updates
@ 2008-11-05 18:52 Mark Brown
0 siblings, 0 replies; 17+ messages in thread
From: Mark Brown @ 2008-11-05 18:52 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 0ee4663617fb0f78cec4cc6558a096ccbd8c3ffc:
Takashi Iwai (1):
ALSA: ASoC - Remove unnecessary inclusion of linux/version.h
are available in the git repository at:
git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
David Anders (1):
ASoC: Add new parameter to s3c24xx_pcm_enqueue
Marek Vasut (1):
ASoC: Add Palm/PXA27x unified ASoC audio driver
Mark Brown (1):
ASoC: Remove core version number
Troy Kisky (1):
ASoC: TLV320AIC23B Support more sample rates
arch/arm/mach-pxa/include/mach/palmasoc.h | 13 ++
include/sound/soc.h | 2 -
sound/soc/codecs/tlv320aic23.c | 227 +++++++++++++++++++-----
sound/soc/pxa/Kconfig | 9 +
sound/soc/pxa/Makefile | 2 +
sound/soc/pxa/palm27x.c | 269 +++++++++++++++++++++++++++++
sound/soc/s3c24xx/s3c24xx-pcm.c | 12 +-
sound/soc/soc-core.c | 1 -
8 files changed, 483 insertions(+), 52 deletions(-)
create mode 100644 arch/arm/mach-pxa/include/mach/palmasoc.h
create mode 100644 sound/soc/pxa/palm27x.c
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 0/4] ASoC updates
@ 2008-11-06 11:38 Mark Brown
2008-11-06 11:40 ` [PATCH 1/4] ASoC: Add Palm/PXA27x unified ASoC audio driver Mark Brown
2008-11-06 11:57 ` [PATCH 0/4] ASoC updates Takashi Iwai
0 siblings, 2 replies; 17+ messages in thread
From: Mark Brown @ 2008-11-06 11:38 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 0ee4663617fb0f78cec4cc6558a096ccbd8c3ffc:
Takashi Iwai (1):
ALSA: ASoC - Remove unnecessary inclusion of linux/version.h
are available in the git repository at:
git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
This series drops the TLV320AIC23 patch for now and makes the Palm
driver non-modular for the time being due to the platform data dodge
being used.
David Anders (1):
ASoC: Add new parameter to s3c24xx_pcm_enqueue
Grazvydas Ignotas (1):
ALSA: ASoC: TWL4030 codec - fix 256*Fs clock
Marek Vasut (1):
ASoC: Add Palm/PXA27x unified ASoC audio driver
Mark Brown (1):
ASoC: Remove core version number
arch/arm/mach-pxa/include/mach/palmasoc.h | 13 ++
include/sound/soc.h | 2 -
sound/soc/codecs/twl4030.c | 4 +-
sound/soc/pxa/Kconfig | 9 +
sound/soc/pxa/Makefile | 2 +
sound/soc/pxa/palm27x.c | 269 +++++++++++++++++++++++++++++
sound/soc/s3c24xx/s3c24xx-pcm.c | 12 +-
sound/soc/soc-core.c | 1 -
8 files changed, 303 insertions(+), 9 deletions(-)
create mode 100644 arch/arm/mach-pxa/include/mach/palmasoc.h
create mode 100644 sound/soc/pxa/palm27x.c
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 1/4] ASoC: Add Palm/PXA27x unified ASoC audio driver
2008-11-06 11:38 [PATCH 0/4] ASoC updates Mark Brown
@ 2008-11-06 11:40 ` Mark Brown
2008-11-06 11:40 ` [PATCH 2/4] ASoC: Remove core version number Mark Brown
2008-11-06 11:57 ` [PATCH 0/4] ASoC updates Takashi Iwai
1 sibling, 1 reply; 17+ messages in thread
From: Mark Brown @ 2008-11-06 11:40 UTC (permalink / raw)
To: Takashi Iwai; +Cc: Marek Vasut, alsa-devel, Mark Brown
From: Marek Vasut <marek.vasut@gmail.com>
this patch adds asoc audio driver for pxa27x based Palm PDAs. I tested it for
palmtx, t5 and ld, it should work with palmz72 as well (slapin, please test).
I sent it here some time ago, but now I got to fixing bugs in it. It should
be somehow mostly ok and ready for applying.
[Converted to use snd_soc_dapm_nc_pin() and use bool in Kconfig due to
the dodge used to work around platform data -- broonie]
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
arch/arm/mach-pxa/include/mach/palmasoc.h | 13 ++
sound/soc/pxa/Kconfig | 9 +
sound/soc/pxa/Makefile | 2 +
sound/soc/pxa/palm27x.c | 269 +++++++++++++++++++++++++++++
4 files changed, 293 insertions(+), 0 deletions(-)
create mode 100644 arch/arm/mach-pxa/include/mach/palmasoc.h
create mode 100644 sound/soc/pxa/palm27x.c
diff --git a/arch/arm/mach-pxa/include/mach/palmasoc.h b/arch/arm/mach-pxa/include/mach/palmasoc.h
new file mode 100644
index 0000000..6c4b1f7
--- /dev/null
+++ b/arch/arm/mach-pxa/include/mach/palmasoc.h
@@ -0,0 +1,13 @@
+#ifndef _INCLUDE_PALMASOC_H_
+#define _INCLUDE_PALMASOC_H_
+struct palm27x_asoc_info {
+ int jack_gpio;
+};
+
+#ifdef CONFIG_SND_PXA2XX_SOC_PALM27X
+void __init palm27x_asoc_set_pdata(struct palm27x_asoc_info *data);
+#else
+static inline void palm27x_asoc_set_pdata(struct palm27x_asoc_info *data) {}
+#endif
+
+#endif
diff --git a/sound/soc/pxa/Kconfig b/sound/soc/pxa/Kconfig
index 4235524..f82e106 100644
--- a/sound/soc/pxa/Kconfig
+++ b/sound/soc/pxa/Kconfig
@@ -79,6 +79,15 @@ config SND_PXA2XX_SOC_EM_X270
Say Y if you want to add support for SoC audio on
CompuLab EM-x270.
+config SND_PXA2XX_SOC_PALM27X
+ bool "SoC Audio support for Palm T|X, T5 and LifeDrive"
+ depends on SND_PXA2XX_SOC && (MACH_PALMLD || MACH_PALMTX || MACH_PALMT5)
+ select SND_PXA2XX_SOC_AC97
+ select SND_SOC_WM9712
+ help
+ Say Y if you want to add support for SoC audio on
+ Palm T|X, T5 or LifeDrive handheld computer.
+
config SND_SOC_ZYLONITE
tristate "SoC Audio support for Marvell Zylonite"
depends on SND_PXA2XX_SOC && MACH_ZYLONITE
diff --git a/sound/soc/pxa/Makefile b/sound/soc/pxa/Makefile
index 00258ab..1a3a36e 100644
--- a/sound/soc/pxa/Makefile
+++ b/sound/soc/pxa/Makefile
@@ -16,6 +16,7 @@ snd-soc-tosa-objs := tosa.o
snd-soc-e800-objs := e800_wm9712.o
snd-soc-spitz-objs := spitz.o
snd-soc-em-x270-objs := em-x270.o
+snd-soc-palm27x-objs := palm27x.o
obj-$(CONFIG_SND_PXA2XX_SOC_CORGI) += snd-soc-corgi.o
obj-$(CONFIG_SND_PXA2XX_SOC_POODLE) += snd-soc-poodle.o
@@ -23,3 +24,4 @@ obj-$(CONFIG_SND_PXA2XX_SOC_TOSA) += snd-soc-tosa.o
obj-$(CONFIG_SND_PXA2XX_SOC_E800) += snd-soc-e800.o
obj-$(CONFIG_SND_PXA2XX_SOC_SPITZ) += snd-soc-spitz.o
obj-$(CONFIG_SND_PXA2XX_SOC_EM_X270) += snd-soc-em-x270.o
+obj-$(CONFIG_SND_PXA2XX_SOC_PALM27X) += snd-soc-palm27x.o
diff --git a/sound/soc/pxa/palm27x.c b/sound/soc/pxa/palm27x.c
new file mode 100644
index 0000000..e364abc
--- /dev/null
+++ b/sound/soc/pxa/palm27x.c
@@ -0,0 +1,269 @@
+/*
+ * linux/sound/soc/pxa/palm27x.c
+ *
+ * SoC Audio driver for Palm T|X, T5 and LifeDrive
+ *
+ * based on tosa.c
+ *
+ * Copyright (C) 2008 Marek Vasut <marek.vasut@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+#include <linux/module.h>
+#include <linux/moduleparam.h>
+#include <linux/device.h>
+#include <linux/gpio.h>
+#include <linux/interrupt.h>
+#include <linux/irq.h>
+
+#include <sound/core.h>
+#include <sound/pcm.h>
+#include <sound/soc.h>
+#include <sound/soc-dapm.h>
+
+#include <asm/mach-types.h>
+#include <mach/audio.h>
+#include <mach/palmasoc.h>
+
+#include "../codecs/wm9712.h"
+#include "pxa2xx-pcm.h"
+#include "pxa2xx-ac97.h"
+
+static int palm27x_jack_func = 1;
+static int palm27x_spk_func = 1;
+static int palm27x_ep_gpio = -1;
+
+static void palm27x_ext_control(struct snd_soc_codec *codec)
+{
+ if (!palm27x_spk_func)
+ snd_soc_dapm_enable_pin(codec, "Speaker");
+ else
+ snd_soc_dapm_disable_pin(codec, "Speaker");
+
+ if (!palm27x_jack_func)
+ snd_soc_dapm_enable_pin(codec, "Headphone Jack");
+ else
+ snd_soc_dapm_disable_pin(codec, "Headphone Jack");
+
+ snd_soc_dapm_sync(codec);
+}
+
+static int palm27x_startup(struct snd_pcm_substream *substream)
+{
+ struct snd_soc_pcm_runtime *rtd = substream->private_data;
+ struct snd_soc_codec *codec = rtd->socdev->codec;
+
+ /* check the jack status at stream startup */
+ palm27x_ext_control(codec);
+ return 0;
+}
+
+static struct snd_soc_ops palm27x_ops = {
+ .startup = palm27x_startup,
+};
+
+static irqreturn_t palm27x_interrupt(int irq, void *v)
+{
+ palm27x_spk_func = gpio_get_value(palm27x_ep_gpio);
+ palm27x_jack_func = !palm27x_spk_func;
+ return IRQ_HANDLED;
+}
+
+static int palm27x_get_jack(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ ucontrol->value.integer.value[0] = palm27x_jack_func;
+ return 0;
+}
+
+static int palm27x_set_jack(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
+
+ if (palm27x_jack_func == ucontrol->value.integer.value[0])
+ return 0;
+
+ palm27x_jack_func = ucontrol->value.integer.value[0];
+ palm27x_ext_control(codec);
+ return 1;
+}
+
+static int palm27x_get_spk(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ ucontrol->value.integer.value[0] = palm27x_spk_func;
+ return 0;
+}
+
+static int palm27x_set_spk(struct snd_kcontrol *kcontrol,
+ struct snd_ctl_elem_value *ucontrol)
+{
+ struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
+
+ if (palm27x_spk_func == ucontrol->value.integer.value[0])
+ return 0;
+
+ palm27x_spk_func = ucontrol->value.integer.value[0];
+ palm27x_ext_control(codec);
+ return 1;
+}
+
+/* PalmTX machine dapm widgets */
+static const struct snd_soc_dapm_widget palm27x_dapm_widgets[] = {
+ SND_SOC_DAPM_HP("Headphone Jack", NULL),
+ SND_SOC_DAPM_SPK("Speaker", NULL),
+};
+
+/* PalmTX audio map */
+static const struct snd_soc_dapm_route audio_map[] = {
+ /* headphone connected to HPOUTL, HPOUTR */
+ {"Headphone Jack", NULL, "HPOUTL"},
+ {"Headphone Jack", NULL, "HPOUTR"},
+
+ /* ext speaker connected to ROUT2, LOUT2 */
+ {"Speaker", NULL, "LOUT2"},
+ {"Speaker", NULL, "ROUT2"},
+};
+
+static const char *jack_function[] = {"Headphone", "Off"};
+static const char *spk_function[] = {"On", "Off"};
+static const struct soc_enum palm27x_enum[] = {
+ SOC_ENUM_SINGLE_EXT(2, jack_function),
+ SOC_ENUM_SINGLE_EXT(2, spk_function),
+};
+
+static const struct snd_kcontrol_new palm27x_controls[] = {
+ SOC_ENUM_EXT("Jack Function", palm27x_enum[0], palm27x_get_jack,
+ palm27x_set_jack),
+ SOC_ENUM_EXT("Speaker Function", palm27x_enum[1], palm27x_get_spk,
+ palm27x_set_spk),
+};
+
+static int palm27x_ac97_init(struct snd_soc_codec *codec)
+{
+ int i, err;
+
+ snd_soc_dapm_nc_pin(codec, "OUT3");
+ snd_soc_dapm_nc_pin(codec, "MONOOUT");
+
+ /* add palm27x specific controls */
+ for (i = 0; i < ARRAY_SIZE(palm27x_controls); i++) {
+ err = snd_ctl_add(codec->card,
+ snd_soc_cnew(&palm27x_controls[i],
+ codec, NULL));
+ if (err < 0)
+ return err;
+ }
+
+ /* add palm27x specific widgets */
+ snd_soc_dapm_new_controls(codec, palm27x_dapm_widgets,
+ ARRAY_SIZE(palm27x_dapm_widgets));
+
+ /* set up palm27x specific audio path audio_map */
+ snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
+
+ snd_soc_dapm_sync(codec);
+ return 0;
+}
+
+static struct snd_soc_dai_link palm27x_dai[] = {
+{
+ .name = "AC97 HiFi",
+ .stream_name = "AC97 HiFi",
+ .cpu_dai = &pxa_ac97_dai[PXA2XX_DAI_AC97_HIFI],
+ .codec_dai = &wm9712_dai[WM9712_DAI_AC97_HIFI],
+ .init = palm27x_ac97_init,
+ .ops = &palm27x_ops,
+},
+{
+ .name = "AC97 Aux",
+ .stream_name = "AC97 Aux",
+ .cpu_dai = &pxa_ac97_dai[PXA2XX_DAI_AC97_AUX],
+ .codec_dai = &wm9712_dai[WM9712_DAI_AC97_AUX],
+ .ops = &palm27x_ops,
+},
+};
+
+static struct snd_soc_machine palm27x_asoc = {
+ .name = "Palm/PXA27x",
+ .dai_link = palm27x_dai,
+ .num_links = ARRAY_SIZE(palm27x_dai),
+};
+
+static struct snd_soc_device palm27x_snd_devdata = {
+ .machine = &palm27x_asoc,
+ .platform = &pxa2xx_soc_platform,
+ .codec_dev = &soc_codec_dev_wm9712,
+};
+
+static struct platform_device *palm27x_snd_device;
+
+static int __init palm27x_asoc_init(void)
+{
+ int ret;
+
+ if (!(machine_is_palmtx() || machine_is_palmt5() ||
+ machine_is_palmld()))
+ return -ENODEV;
+
+ ret = gpio_request(palm27x_ep_gpio, "Headphone Jack");
+ if (ret)
+ return ret;
+ ret = gpio_direction_input(palm27x_ep_gpio);
+ if (ret)
+ goto err_alloc;
+
+ if (request_irq(gpio_to_irq(palm27x_ep_gpio), palm27x_interrupt,
+ IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING,
+ "Headphone jack", NULL))
+ goto err_alloc;
+
+ palm27x_snd_device = platform_device_alloc("soc-audio", -1);
+ if (!palm27x_snd_device) {
+ ret = -ENOMEM;
+ goto err_dev;
+ }
+
+ platform_set_drvdata(palm27x_snd_device, &palm27x_snd_devdata);
+ palm27x_snd_devdata.dev = &palm27x_snd_device->dev;
+ ret = platform_device_add(palm27x_snd_device);
+
+ if (ret != 0)
+ goto put_device;
+
+ return 0;
+
+put_device:
+ platform_device_put(palm27x_snd_device);
+err_dev:
+ free_irq(gpio_to_irq(palm27x_ep_gpio), NULL);
+err_alloc:
+ gpio_free(palm27x_ep_gpio);
+
+ return ret;
+}
+
+static void __exit palm27x_asoc_exit(void)
+{
+ free_irq(gpio_to_irq(palm27x_ep_gpio), NULL);
+ gpio_free(palm27x_ep_gpio);
+ platform_device_unregister(palm27x_snd_device);
+}
+
+void __init palm27x_asoc_set_pdata(struct palm27x_asoc_info *data)
+{
+ palm27x_ep_gpio = data->jack_gpio;
+}
+
+module_init(palm27x_asoc_init);
+module_exit(palm27x_asoc_exit);
+
+/* Module information */
+MODULE_AUTHOR("Marek Vasut <marek.vasut@gmail.com>");
+MODULE_DESCRIPTION("ALSA SoC Palm T|X, T5 and LifeDrive");
+MODULE_LICENSE("GPL");
--
1.5.6.5
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 2/4] ASoC: Remove core version number
2008-11-06 11:40 ` [PATCH 1/4] ASoC: Add Palm/PXA27x unified ASoC audio driver Mark Brown
@ 2008-11-06 11:40 ` Mark Brown
2008-11-06 11:40 ` [PATCH 3/4] ASoC: Add new parameter to s3c24xx_pcm_enqueue Mark Brown
0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2008-11-06 11:40 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown
Rather than try to remember to keep the core version number updated
(which hasn't been happening) just remove it. It was much more useful
when ASoC was out of tree.
Signed-off-by: Mark brown <broonie@opensource.wolfsonmicro.com>
---
include/sound/soc.h | 2 --
sound/soc/soc-core.c | 1 -
2 files changed, 0 insertions(+), 3 deletions(-)
diff --git a/include/sound/soc.h b/include/sound/soc.h
index da0040b..fa1b99b 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -21,8 +21,6 @@
#include <sound/control.h>
#include <sound/ac97_codec.h>
-#define SND_SOC_VERSION "0.13.2"
-
/*
* Convenience kcontrol builders
*/
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 1a17368..9feaa7b 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -1965,7 +1965,6 @@ EXPORT_SYMBOL_GPL(snd_soc_dai_digital_mute);
static int __devinit snd_soc_init(void)
{
- printk(KERN_INFO "ASoC version %s\n", SND_SOC_VERSION);
return platform_driver_register(&soc_driver);
}
--
1.5.6.5
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 3/4] ASoC: Add new parameter to s3c24xx_pcm_enqueue
2008-11-06 11:40 ` [PATCH 2/4] ASoC: Remove core version number Mark Brown
@ 2008-11-06 11:40 ` Mark Brown
2008-11-06 11:40 ` [PATCH 4/4] ALSA: ASoC: TWL4030 codec - fix 256*Fs clock Mark Brown
0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2008-11-06 11:40 UTC (permalink / raw)
To: Takashi Iwai; +Cc: David Anders, alsa-devel, Mark Brown
From: David Anders <dave123_aml@yahoo.com>
The S3C24xx dma does not allow more than one buffer to be enqueue prior to
the dma transfers starting. This patch adds an additional parameter to
s3c24xx_pcm_enqueue() to allow for passing an initial dma maximum load
value.
Signed-off-by: David Anders <danders at amltd.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/s3c24xx/s3c24xx-pcm.c | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/sound/soc/s3c24xx/s3c24xx-pcm.c b/sound/soc/s3c24xx/s3c24xx-pcm.c
index e13e614..341198b 100644
--- a/sound/soc/s3c24xx/s3c24xx-pcm.c
+++ b/sound/soc/s3c24xx/s3c24xx-pcm.c
@@ -78,7 +78,8 @@ struct s3c24xx_runtime_data {
* place a dma buffer onto the queue for the dma system
* to handle.
*/
-static void s3c24xx_pcm_enqueue(struct snd_pcm_substream *substream)
+static void s3c24xx_pcm_enqueue(struct snd_pcm_substream *substream,
+ int dma_max)
{
struct s3c24xx_runtime_data *prtd = substream->runtime->private_data;
dma_addr_t pos = prtd->dma_pos;
@@ -86,7 +87,10 @@ static void s3c24xx_pcm_enqueue(struct snd_pcm_substream *substream)
DBG("Entered %s\n", __func__);
- while (prtd->dma_loaded < prtd->dma_limit) {
+ if (!dma_max)
+ dma_max = prtd->dma_limit;
+
+ while (prtd->dma_loaded < dma_max) {
unsigned long len = prtd->dma_period;
DBG("dma_loaded: %d\n", prtd->dma_loaded);
@@ -132,7 +136,7 @@ static void s3c24xx_audio_buffdone(struct s3c2410_dma_chan *channel,
spin_lock(&prtd->lock);
if (prtd->state & ST_RUNNING) {
prtd->dma_loaded--;
- s3c24xx_pcm_enqueue(substream);
+ s3c24xx_pcm_enqueue(substream, 0);
}
spin_unlock(&prtd->lock);
@@ -249,7 +253,7 @@ static int s3c24xx_pcm_prepare(struct snd_pcm_substream *substream)
prtd->dma_pos = prtd->dma_start;
/* enqueue dma buffers */
- s3c24xx_pcm_enqueue(substream);
+ s3c24xx_pcm_enqueue(substream, 1);
return ret;
}
--
1.5.6.5
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [PATCH 4/4] ALSA: ASoC: TWL4030 codec - fix 256*Fs clock
2008-11-06 11:40 ` [PATCH 3/4] ASoC: Add new parameter to s3c24xx_pcm_enqueue Mark Brown
@ 2008-11-06 11:40 ` Mark Brown
0 siblings, 0 replies; 17+ messages in thread
From: Mark Brown @ 2008-11-06 11:40 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel, Mark Brown, Grazvydas Ignotas
From: Grazvydas Ignotas <notasas@gmail.com>
According to TRM, 256*Fs clock output should be enabled
when TWL4030 is in slave mode, not master.
This allows sound to work on OMAP3 Pandora, which uses
256*Fs clock.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
---
sound/soc/codecs/twl4030.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c
index ee2f0d3..90f3b4d 100644
--- a/sound/soc/codecs/twl4030.c
+++ b/sound/soc/codecs/twl4030.c
@@ -469,11 +469,11 @@ static int twl4030_set_dai_fmt(struct snd_soc_dai *codec_dai,
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
case SND_SOC_DAIFMT_CBM_CFM:
format &= ~(TWL4030_AIF_SLAVE_EN);
- format |= TWL4030_CLK256FS_EN;
+ format &= ~(TWL4030_CLK256FS_EN);
break;
case SND_SOC_DAIFMT_CBS_CFS:
- format &= ~(TWL4030_CLK256FS_EN);
format |= TWL4030_AIF_SLAVE_EN;
+ format |= TWL4030_CLK256FS_EN;
break;
default:
return -EINVAL;
--
1.5.6.5
^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: [PATCH 0/4] ASoC updates
2008-11-06 11:38 [PATCH 0/4] ASoC updates Mark Brown
2008-11-06 11:40 ` [PATCH 1/4] ASoC: Add Palm/PXA27x unified ASoC audio driver Mark Brown
@ 2008-11-06 11:57 ` Takashi Iwai
1 sibling, 0 replies; 17+ messages in thread
From: Takashi Iwai @ 2008-11-06 11:57 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Thu, 6 Nov 2008 11:38:32 +0000,
Mark Brown wrote:
>
> The following changes since commit 0ee4663617fb0f78cec4cc6558a096ccbd8c3ffc:
> Takashi Iwai (1):
> ALSA: ASoC - Remove unnecessary inclusion of linux/version.h
>
> are available in the git repository at:
>
> git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
Thanks, pulled now.
Takashi
>
> This series drops the TLV320AIC23 patch for now and makes the Palm
> driver non-modular for the time being due to the platform data dodge
> being used.
>
> David Anders (1):
> ASoC: Add new parameter to s3c24xx_pcm_enqueue
>
> Grazvydas Ignotas (1):
> ALSA: ASoC: TWL4030 codec - fix 256*Fs clock
>
> Marek Vasut (1):
> ASoC: Add Palm/PXA27x unified ASoC audio driver
>
> Mark Brown (1):
> ASoC: Remove core version number
>
> arch/arm/mach-pxa/include/mach/palmasoc.h | 13 ++
> include/sound/soc.h | 2 -
> sound/soc/codecs/twl4030.c | 4 +-
> sound/soc/pxa/Kconfig | 9 +
> sound/soc/pxa/Makefile | 2 +
> sound/soc/pxa/palm27x.c | 269 +++++++++++++++++++++++++++++
> sound/soc/s3c24xx/s3c24xx-pcm.c | 12 +-
> sound/soc/soc-core.c | 1 -
> 8 files changed, 303 insertions(+), 9 deletions(-)
> create mode 100644 arch/arm/mach-pxa/include/mach/palmasoc.h
> create mode 100644 sound/soc/pxa/palm27x.c
>
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 0/4] ASoC updates
@ 2008-11-12 11:55 Mark Brown
2008-11-12 12:31 ` Takashi Iwai
0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2008-11-12 11:55 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit e18c94d20224f3df584531a48d944d8cccfda46d:
Grazvydas Ignotas (1):
ALSA: ASoC: TWL4030 codec - fix 256*Fs clock
are available in the git repository at:
git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
Christian Pellegrin (1):
ASoC: s3c24xx 8 bit sound fix
Hugo Villeneuve (1):
ASoC: Add Right-Justified mode and Codec clock master to davinci-i2s
Naresh Medisetty (1):
ASoC: DaVinci: Audio: Fix swapping of channels at start of stereo playback
Troy Kisky (1):
ASoC: TLV320AIC23B Support more sample rates
sound/soc/codecs/tlv320aic23.c | 222 +++++++++++++++++++++++++++++++--------
sound/soc/davinci/davinci-i2s.c | 89 ++++++++++++++--
sound/soc/s3c24xx/s3c24xx-i2s.c | 7 ++
3 files changed, 263 insertions(+), 55 deletions(-)
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 0/4] ASoC updates
2008-11-12 11:55 Mark Brown
@ 2008-11-12 12:31 ` Takashi Iwai
0 siblings, 0 replies; 17+ messages in thread
From: Takashi Iwai @ 2008-11-12 12:31 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Wed, 12 Nov 2008 11:55:07 +0000,
Mark Brown wrote:
>
> The following changes since commit e18c94d20224f3df584531a48d944d8cccfda46d:
> Grazvydas Ignotas (1):
> ALSA: ASoC: TWL4030 codec - fix 256*Fs clock
>
> are available in the git repository at:
>
> git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
Thanks, pulled in, and pushed out.
Takashi
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 0/4] ASoC updates
@ 2008-11-14 14:57 Mark Brown
2008-11-14 16:03 ` Takashi Iwai
0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2008-11-14 14:57 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit fb0ef645f2c546f8297b2fbf9b2b8fff4a7455e8:
Naresh Medisetty (1):
ASoC: DaVinci: Audio: Fix swapping of channels at start of stereo playback
are available in the git repository at:
git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
Jarkko Nikula (2):
ASoC: Fix supported sample rates of TWL4030 audio codec
ASoC: OMAP: Add more supported sample rates into McBSP DAI driver
Mark Brown (2):
ASoC: Revert "ASoC: Add new parameter to s3c24xx_pcm_enqueue"
ASoC: Add WM8728 codec driver
sound/soc/codecs/Kconfig | 4 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/twl4030.c | 2 +-
sound/soc/codecs/wm8728.c | 574 +++++++++++++++++++++++++++++++++++++++
sound/soc/codecs/wm8728.h | 30 ++
sound/soc/omap/omap-mcbsp.c | 4 +-
sound/soc/s3c24xx/s3c24xx-pcm.c | 12 +-
7 files changed, 616 insertions(+), 12 deletions(-)
create mode 100644 sound/soc/codecs/wm8728.c
create mode 100644 sound/soc/codecs/wm8728.h
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 0/4] ASoC updates
2008-11-14 14:57 Mark Brown
@ 2008-11-14 16:03 ` Takashi Iwai
0 siblings, 0 replies; 17+ messages in thread
From: Takashi Iwai @ 2008-11-14 16:03 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Fri, 14 Nov 2008 14:57:06 +0000,
Mark Brown wrote:
>
> The following changes since commit fb0ef645f2c546f8297b2fbf9b2b8fff4a7455e8:
> Naresh Medisetty (1):
> ASoC: DaVinci: Audio: Fix swapping of channels at start of stereo playback
>
> are available in the git repository at:
>
> git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
Thanks, applied now.
Takashi
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 0/4] ASoC updates
@ 2008-12-04 11:25 Mark Brown
2008-12-04 14:29 ` Takashi Iwai
0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2008-12-04 11:25 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 6f2a974bfc8d3be7a30674c71e2fef003b39a8d2:
Daniel Mack (1):
ASoC: tlv320aic3x: headset/button press support
are available in the git repository at:
git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
Mark Brown (4):
ASoC: Push debugfs files out of the snd_soc_device structure
ASoC: Remove device from platform suspend and resume operations
ASoC: Remove platform device from DAI suspend and resume operations
ASoC: Remove obsolete declaration of struct snd_soc_clock_info
include/sound/soc-dai.h | 6 +--
include/sound/soc.h | 15 +++----
sound/soc/atmel/atmel-pcm.c | 6 +--
sound/soc/atmel/atmel_ssc_dai.c | 6 +--
sound/soc/au1x/psc-ac97.c | 6 +--
sound/soc/au1x/psc-i2s.c | 6 +--
sound/soc/blackfin/bf5xx-ac97.c | 6 +--
sound/soc/blackfin/bf5xx-i2s.c | 6 +--
sound/soc/pxa/pxa-ssp.c | 6 +--
sound/soc/pxa/pxa2xx-ac97.c | 6 +--
sound/soc/pxa/pxa2xx-i2s.c | 6 +--
sound/soc/s3c24xx/s3c2412-i2s.c | 16 +++----
sound/soc/s3c24xx/s3c24xx-i2s.c | 6 +--
sound/soc/soc-core.c | 85 +++++++++++++++++++++-----------------
14 files changed, 83 insertions(+), 99 deletions(-)
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 0/4] ASoC updates
2008-12-04 11:25 Mark Brown
@ 2008-12-04 14:29 ` Takashi Iwai
0 siblings, 0 replies; 17+ messages in thread
From: Takashi Iwai @ 2008-12-04 14:29 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Thu, 4 Dec 2008 11:25:43 +0000,
Mark Brown wrote:
>
> The following changes since commit 6f2a974bfc8d3be7a30674c71e2fef003b39a8d2:
> Daniel Mack (1):
> ASoC: tlv320aic3x: headset/button press support
>
> are available in the git repository at:
>
> git://opensource.wolfsonmicro.com/linux-2.6-asoc for-tiwai
Pulled now. Thanks.
Takashi
^ permalink raw reply [flat|nested] 17+ messages in thread
* [PATCH 0/4] ASoC updates
@ 2008-12-18 17:30 Mark Brown
2008-12-19 7:11 ` Takashi Iwai
0 siblings, 1 reply; 17+ messages in thread
From: Mark Brown @ 2008-12-18 17:30 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
The following changes since commit 49d92c7d5bbd158734bc34ed578a68b214a48583:
Stanley.Miao (1):
ASoC: TWL4030: hands-free start-up sequence.
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-tiwai
Alexander Beregalov (1):
ASoC: switch davinci DPRINTK to pr_debug()
Mark Brown (3):
ASoC: Ease merge difficulties from new architectures
ASoC: Complain if we fail to create DAPM controls
ASoC: Add WM8350 AudioPlus codec driver
include/linux/mfd/wm8350/audio.h | 38 +-
sound/soc/Kconfig | 10 +-
sound/soc/Makefile | 12 +-
sound/soc/codecs/Kconfig | 4 +
sound/soc/codecs/Makefile | 2 +
sound/soc/codecs/wm8350.c | 1583 ++++++++++++++++++++++++++++++++++++++
sound/soc/codecs/wm8350.h | 20 +
sound/soc/davinci/davinci-pcm.c | 18 +-
sound/soc/soc-dapm.c | 6 +-
9 files changed, 1669 insertions(+), 24 deletions(-)
create mode 100644 sound/soc/codecs/wm8350.c
create mode 100644 sound/soc/codecs/wm8350.h
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [PATCH 0/4] ASoC updates
2008-12-18 17:30 Mark Brown
@ 2008-12-19 7:11 ` Takashi Iwai
0 siblings, 0 replies; 17+ messages in thread
From: Takashi Iwai @ 2008-12-19 7:11 UTC (permalink / raw)
To: Mark Brown; +Cc: alsa-devel
At Thu, 18 Dec 2008 17:30:21 +0000,
Mark Brown wrote:
>
> The following changes since commit 49d92c7d5bbd158734bc34ed578a68b214a48583:
> Stanley.Miao (1):
> ASoC: TWL4030: hands-free start-up sequence.
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git for-tiwai
Applied now. Thanks.
Takashi
>
> Alexander Beregalov (1):
> ASoC: switch davinci DPRINTK to pr_debug()
>
> Mark Brown (3):
> ASoC: Ease merge difficulties from new architectures
> ASoC: Complain if we fail to create DAPM controls
> ASoC: Add WM8350 AudioPlus codec driver
>
> include/linux/mfd/wm8350/audio.h | 38 +-
> sound/soc/Kconfig | 10 +-
> sound/soc/Makefile | 12 +-
> sound/soc/codecs/Kconfig | 4 +
> sound/soc/codecs/Makefile | 2 +
> sound/soc/codecs/wm8350.c | 1583 ++++++++++++++++++++++++++++++++++++++
> sound/soc/codecs/wm8350.h | 20 +
> sound/soc/davinci/davinci-pcm.c | 18 +-
> sound/soc/soc-dapm.c | 6 +-
> 9 files changed, 1669 insertions(+), 24 deletions(-)
> create mode 100644 sound/soc/codecs/wm8350.c
> create mode 100644 sound/soc/codecs/wm8350.h
>
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2008-12-19 7:11 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-06 11:38 [PATCH 0/4] ASoC updates Mark Brown
2008-11-06 11:40 ` [PATCH 1/4] ASoC: Add Palm/PXA27x unified ASoC audio driver Mark Brown
2008-11-06 11:40 ` [PATCH 2/4] ASoC: Remove core version number Mark Brown
2008-11-06 11:40 ` [PATCH 3/4] ASoC: Add new parameter to s3c24xx_pcm_enqueue Mark Brown
2008-11-06 11:40 ` [PATCH 4/4] ALSA: ASoC: TWL4030 codec - fix 256*Fs clock Mark Brown
2008-11-06 11:57 ` [PATCH 0/4] ASoC updates Takashi Iwai
-- strict thread matches above, loose matches on Subject: below --
2008-12-18 17:30 Mark Brown
2008-12-19 7:11 ` Takashi Iwai
2008-12-04 11:25 Mark Brown
2008-12-04 14:29 ` Takashi Iwai
2008-11-14 14:57 Mark Brown
2008-11-14 16:03 ` Takashi Iwai
2008-11-12 11:55 Mark Brown
2008-11-12 12:31 ` Takashi Iwai
2008-11-05 18:52 Mark Brown
2008-09-24 11:59 Mark Brown
2008-09-24 12:43 ` Takashi Iwai
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.