* [PATCH 0/4] ASoC: twl6040: Remove PLL restrictions
@ 2011-10-13 12:05 Peter Ujfalusi
2011-10-13 12:05 ` [PATCH 1/4] ASoC: twl6040: Remove Capture restriction for 17.64MHz sysclk Peter Ujfalusi
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Peter Ujfalusi @ 2011-10-13 12:05 UTC (permalink / raw)
To: Mark Brown, Liam Girdwood; +Cc: alsa-devel, Misael Lopez Cruz
Hello,
twl6040 has no restrictions on the selected PLL, and sysclk.
All input, and output paths can be used with any PLL configuration.
Regards,
Peter
---
Peter Ujfalusi (4):
ASoC: twl6040: Remove Capture restriction for 17.64MHz sysclk
ASoC: twl6040: Remove PLL usage restrictions
ASoC: twl6040: Change event ordering for Earphone driver
ASoC: twl6040: Rename the Earphone Driver event handler
sound/soc/codecs/twl6040.c | 53 ++++++++++----------------------------------
1 files changed, 12 insertions(+), 41 deletions(-)
--
1.7.7
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/4] ASoC: twl6040: Remove Capture restriction for 17.64MHz sysclk
2011-10-13 12:05 [PATCH 0/4] ASoC: twl6040: Remove PLL restrictions Peter Ujfalusi
@ 2011-10-13 12:05 ` Peter Ujfalusi
2011-10-13 12:05 ` [PATCH 2/4] ASoC: twl6040: Remove PLL usage restrictions Peter Ujfalusi
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Peter Ujfalusi @ 2011-10-13 12:05 UTC (permalink / raw)
To: Mark Brown, Liam Girdwood; +Cc: alsa-devel, Misael Lopez Cruz
Capture is supported in all PLL configuration.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
sound/soc/codecs/twl6040.c | 7 -------
1 files changed, 0 insertions(+), 7 deletions(-)
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c
index 6369230..d078099 100644
--- a/sound/soc/codecs/twl6040.c
+++ b/sound/soc/codecs/twl6040.c
@@ -1351,13 +1351,6 @@ static int twl6040_hw_params(struct snd_pcm_substream *substream,
rate);
return -EINVAL;
}
- /* Capture is not supported with 17.64MHz sysclk */
- if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
- dev_err(codec->dev,
- "capture mode is not supported at %dHz\n",
- rate);
- return -EINVAL;
- }
priv->sysclk = 17640000;
break;
case 8000:
--
1.7.7
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/4] ASoC: twl6040: Remove PLL usage restrictions
2011-10-13 12:05 [PATCH 0/4] ASoC: twl6040: Remove PLL restrictions Peter Ujfalusi
2011-10-13 12:05 ` [PATCH 1/4] ASoC: twl6040: Remove Capture restriction for 17.64MHz sysclk Peter Ujfalusi
@ 2011-10-13 12:05 ` Peter Ujfalusi
2011-10-13 12:05 ` [PATCH 3/4] ASoC: twl6040: Change event ordering for Earphone driver Peter Ujfalusi
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Peter Ujfalusi @ 2011-10-13 12:05 UTC (permalink / raw)
To: Mark Brown, Liam Girdwood; +Cc: alsa-devel, Misael Lopez Cruz
There is no limitation dictated by outputs or inputs regarding to the
selected PLL (LP/HP).
Remove the checks for this, and allow all path with any PLL configuration.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
sound/soc/codecs/twl6040.c | 40 +++++++++-------------------------------
1 files changed, 9 insertions(+), 31 deletions(-)
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c
index d078099..8f033f0 100644
--- a/sound/soc/codecs/twl6040.c
+++ b/sound/soc/codecs/twl6040.c
@@ -87,7 +87,6 @@ struct twl6040_data {
int plug_irq;
int codec_powered;
int pll;
- int non_lp;
int pll_power_mode;
int hs_power_mode;
int hs_power_mode_locked;
@@ -588,10 +587,6 @@ static int out_drv_event(struct snd_soc_dapm_widget *w,
out->left_step = priv->hf_left_step;
out->right_step = priv->hf_right_step;
out->step_delay = 5; /* 5 ms between volume ramp steps */
- if (SND_SOC_DAPM_EVENT_ON(event))
- priv->non_lp++;
- else
- priv->non_lp--;
break;
default:
return -1;
@@ -686,18 +681,12 @@ static int twl6040_power_mode_event(struct snd_soc_dapm_widget *w,
int ret = 0;
if (SND_SOC_DAPM_EVENT_ON(event)) {
- priv->non_lp++;
- if (!strcmp(w->name, "Earphone Driver")) {
- /* Earphone doesn't support low power mode */
- priv->hs_power_mode_locked = 1;
- ret = headset_power_mode(codec, 1);
- }
+ /* Earphone doesn't support low power mode */
+ priv->hs_power_mode_locked = 1;
+ ret = headset_power_mode(codec, 1);
} else {
- priv->non_lp--;
- if (!strcmp(w->name, "Earphone Driver")) {
- priv->hs_power_mode_locked = 0;
- ret = headset_power_mode(codec, priv->hs_power_mode);
- }
+ priv->hs_power_mode_locked = 0;
+ ret = headset_power_mode(codec, priv->hs_power_mode);
}
msleep(1);
@@ -1125,14 +1114,10 @@ static const struct snd_soc_dapm_widget twl6040_dapm_widgets[] = {
/* DACs */
SND_SOC_DAPM_DAC("HSDAC Left", "Headset Playback", SND_SOC_NOPM, 0, 0),
SND_SOC_DAPM_DAC("HSDAC Right", "Headset Playback", SND_SOC_NOPM, 0, 0),
- SND_SOC_DAPM_DAC_E("HFDAC Left", "Handsfree Playback",
- TWL6040_REG_HFLCTL, 0, 0,
- twl6040_power_mode_event,
- SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD),
- SND_SOC_DAPM_DAC_E("HFDAC Right", "Handsfree Playback",
- TWL6040_REG_HFRCTL, 0, 0,
- twl6040_power_mode_event,
- SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD),
+ SND_SOC_DAPM_DAC("HFDAC Left", "Handsfree Playback",
+ TWL6040_REG_HFLCTL, 0, 0),
+ SND_SOC_DAPM_DAC("HFDAC Right", "Handsfree Playback",
+ TWL6040_REG_HFRCTL, 0, 0),
/* Virtual DAC for vibra path (DL4 channel) */
SND_SOC_DAPM_DAC("VIBRA DAC", "Vibra Playback",
SND_SOC_NOPM, 0, 0),
@@ -1383,13 +1368,6 @@ static int twl6040_prepare(struct snd_pcm_substream *substream,
return -EINVAL;
}
- if ((priv->sysclk == 17640000) && priv->non_lp) {
- dev_err(codec->dev,
- "some enabled paths aren't supported at %dHz\n",
- priv->sysclk);
- return -EPERM;
- }
-
ret = twl6040_set_pll(twl6040, priv->pll, priv->clk_in, priv->sysclk);
if (ret) {
dev_err(codec->dev, "Can not set PLL (%d)\n", ret);
--
1.7.7
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/4] ASoC: twl6040: Change event ordering for Earphone driver
2011-10-13 12:05 [PATCH 0/4] ASoC: twl6040: Remove PLL restrictions Peter Ujfalusi
2011-10-13 12:05 ` [PATCH 1/4] ASoC: twl6040: Remove Capture restriction for 17.64MHz sysclk Peter Ujfalusi
2011-10-13 12:05 ` [PATCH 2/4] ASoC: twl6040: Remove PLL usage restrictions Peter Ujfalusi
@ 2011-10-13 12:05 ` Peter Ujfalusi
2011-10-13 12:05 ` [PATCH 4/4] ASoC: twl6040: Rename the Earphone Driver event handler Peter Ujfalusi
2011-10-13 16:20 ` [PATCH 0/4] ASoC: twl6040: Remove PLL restrictions Mark Brown
4 siblings, 0 replies; 6+ messages in thread
From: Peter Ujfalusi @ 2011-10-13 12:05 UTC (permalink / raw)
To: Mark Brown, Liam Girdwood; +Cc: alsa-devel, Misael Lopez Cruz
It is better to switch HS Power Mode (if it was in low power mode) before
we enable the Earpiece driver. The switched off EP driver can filter out
noise coming from the Low Power to High Performance transition on the
HSL DAC.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
sound/soc/codecs/twl6040.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c
index 8f033f0..eadece8 100644
--- a/sound/soc/codecs/twl6040.c
+++ b/sound/soc/codecs/twl6040.c
@@ -1164,7 +1164,7 @@ static const struct snd_soc_dapm_widget twl6040_dapm_widgets[] = {
SND_SOC_DAPM_OUT_DRV_E("Earphone Driver",
TWL6040_REG_EARCTL, 0, 0, NULL, 0,
twl6040_power_mode_event,
- SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_POST_PMD),
+ SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD),
SND_SOC_DAPM_OUT_DRV("Vibra Left Driver",
TWL6040_REG_VIBCTLL, 0, 0, NULL, 0),
SND_SOC_DAPM_OUT_DRV("Vibra Right Driver",
--
1.7.7
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/4] ASoC: twl6040: Rename the Earphone Driver event handler
2011-10-13 12:05 [PATCH 0/4] ASoC: twl6040: Remove PLL restrictions Peter Ujfalusi
` (2 preceding siblings ...)
2011-10-13 12:05 ` [PATCH 3/4] ASoC: twl6040: Change event ordering for Earphone driver Peter Ujfalusi
@ 2011-10-13 12:05 ` Peter Ujfalusi
2011-10-13 16:20 ` [PATCH 0/4] ASoC: twl6040: Remove PLL restrictions Mark Brown
4 siblings, 0 replies; 6+ messages in thread
From: Peter Ujfalusi @ 2011-10-13 12:05 UTC (permalink / raw)
To: Mark Brown, Liam Girdwood; +Cc: alsa-devel, Misael Lopez Cruz
Since the event handler is only used by the Earphone Driver, it is better
to rename it from twl6040_power_mode_event to twl6040_ep_drv_event.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
sound/soc/codecs/twl6040.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c
index eadece8..6c573c3 100644
--- a/sound/soc/codecs/twl6040.c
+++ b/sound/soc/codecs/twl6040.c
@@ -673,7 +673,7 @@ static int twl6040_hs_dac_event(struct snd_soc_dapm_widget *w,
return 0;
}
-static int twl6040_power_mode_event(struct snd_soc_dapm_widget *w,
+static int twl6040_ep_drv_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event)
{
struct snd_soc_codec *codec = w->codec;
@@ -1163,7 +1163,7 @@ static const struct snd_soc_dapm_widget twl6040_dapm_widgets[] = {
SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD),
SND_SOC_DAPM_OUT_DRV_E("Earphone Driver",
TWL6040_REG_EARCTL, 0, 0, NULL, 0,
- twl6040_power_mode_event,
+ twl6040_ep_drv_event,
SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD),
SND_SOC_DAPM_OUT_DRV("Vibra Left Driver",
TWL6040_REG_VIBCTLL, 0, 0, NULL, 0),
--
1.7.7
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 0/4] ASoC: twl6040: Remove PLL restrictions
2011-10-13 12:05 [PATCH 0/4] ASoC: twl6040: Remove PLL restrictions Peter Ujfalusi
` (3 preceding siblings ...)
2011-10-13 12:05 ` [PATCH 4/4] ASoC: twl6040: Rename the Earphone Driver event handler Peter Ujfalusi
@ 2011-10-13 16:20 ` Mark Brown
4 siblings, 0 replies; 6+ messages in thread
From: Mark Brown @ 2011-10-13 16:20 UTC (permalink / raw)
To: Peter Ujfalusi; +Cc: alsa-devel, Liam Girdwood, Misael Lopez Cruz
On Thu, Oct 13, 2011 at 03:05:40PM +0300, Peter Ujfalusi wrote:
> Hello,
>
> twl6040 has no restrictions on the selected PLL, and sysclk.
> All input, and output paths can be used with any PLL configuration.
Applied, thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-10-13 16:20 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-13 12:05 [PATCH 0/4] ASoC: twl6040: Remove PLL restrictions Peter Ujfalusi
2011-10-13 12:05 ` [PATCH 1/4] ASoC: twl6040: Remove Capture restriction for 17.64MHz sysclk Peter Ujfalusi
2011-10-13 12:05 ` [PATCH 2/4] ASoC: twl6040: Remove PLL usage restrictions Peter Ujfalusi
2011-10-13 12:05 ` [PATCH 3/4] ASoC: twl6040: Change event ordering for Earphone driver Peter Ujfalusi
2011-10-13 12:05 ` [PATCH 4/4] ASoC: twl6040: Rename the Earphone Driver event handler Peter Ujfalusi
2011-10-13 16:20 ` [PATCH 0/4] ASoC: twl6040: Remove PLL restrictions Mark Brown
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.