All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/2] ASoC: davinci: fix codec start and stop functions
@ 2011-07-20 12:06 Rajashekhara, Sudhakar
  2011-07-20 16:25 ` Liam Girdwood
  2011-07-20 19:52 ` Mark Brown
  0 siblings, 2 replies; 3+ messages in thread
From: Rajashekhara, Sudhakar @ 2011-07-20 12:06 UTC (permalink / raw)
  To: alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw
  Cc: davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
	broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E,
	lrg-l0cyMroinI0

According to DM365 voice codec data sheet at [1], before starting
recording or playback, ADC/DAC modules should follow a reset and
enable cycle. Writing a 1 to the ADC/DAC bit in the register resets
the module and clearing the bit to 0 will enable the module. But the
driver seems to be doing the reverse of it.

[1] http://focus.ti.com/lit/ug/sprufi9b/sprufi9b.pdf

Signed-off-by: Rajashekhara, Sudhakar <sudhakar.raj-l0cyMroinI0@public.gmane.org>
---
 sound/soc/davinci/davinci-vcif.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/sound/soc/davinci/davinci-vcif.c b/sound/soc/davinci/davinci-vcif.c
index 9259f1f..c957e9e 100644
--- a/sound/soc/davinci/davinci-vcif.c
+++ b/sound/soc/davinci/davinci-vcif.c
@@ -62,9 +62,9 @@ static void davinci_vcif_start(struct snd_pcm_substream *substream)
 	w = readl(davinci_vc->base + DAVINCI_VC_CTRL);
 
 	if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
-		MOD_REG_BIT(w, DAVINCI_VC_CTRL_RSTDAC, 1);
+		MOD_REG_BIT(w, DAVINCI_VC_CTRL_RSTDAC, 0);
 	else
-		MOD_REG_BIT(w, DAVINCI_VC_CTRL_RSTADC, 1);
+		MOD_REG_BIT(w, DAVINCI_VC_CTRL_RSTADC, 0);
 
 	writel(w, davinci_vc->base + DAVINCI_VC_CTRL);
 }
@@ -80,9 +80,9 @@ static void davinci_vcif_stop(struct snd_pcm_substream *substream)
 	/* Reset transmitter/receiver and sample rate/frame sync generators */
 	w = readl(davinci_vc->base + DAVINCI_VC_CTRL);
 	if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
-		MOD_REG_BIT(w, DAVINCI_VC_CTRL_RSTDAC, 0);
+		MOD_REG_BIT(w, DAVINCI_VC_CTRL_RSTDAC, 1);
 	else
-		MOD_REG_BIT(w, DAVINCI_VC_CTRL_RSTADC, 0);
+		MOD_REG_BIT(w, DAVINCI_VC_CTRL_RSTADC, 1);
 
 	writel(w, davinci_vc->base + DAVINCI_VC_CTRL);
 }
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 1/2] ASoC: davinci: fix codec start and stop functions
  2011-07-20 12:06 [PATCH v2 1/2] ASoC: davinci: fix codec start and stop functions Rajashekhara, Sudhakar
@ 2011-07-20 16:25 ` Liam Girdwood
  2011-07-20 19:52 ` Mark Brown
  1 sibling, 0 replies; 3+ messages in thread
From: Liam Girdwood @ 2011-07-20 16:25 UTC (permalink / raw)
  To: Rajashekhara, Sudhakar
  Cc: alsa-devel@alsa-project.org, broonie@opensource.wolfsonmicro.com,
	davinci-linux-open-source@linux.davincidsp.com

On 20/07/11 13:06, Rajashekhara, Sudhakar wrote:
> According to DM365 voice codec data sheet at [1], before starting
> recording or playback, ADC/DAC modules should follow a reset and
> enable cycle. Writing a 1 to the ADC/DAC bit in the register resets
> the module and clearing the bit to 0 will enable the module. But the
> driver seems to be doing the reverse of it.
> 
> [1] http://focus.ti.com/lit/ug/sprufi9b/sprufi9b.pdf
> 
> Signed-off-by: Rajashekhara, Sudhakar <sudhakar.raj@ti.com>
> ---

Both

Acked-by: Liam Girdwood <lrg@ti.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2 1/2] ASoC: davinci: fix codec start and stop functions
  2011-07-20 12:06 [PATCH v2 1/2] ASoC: davinci: fix codec start and stop functions Rajashekhara, Sudhakar
  2011-07-20 16:25 ` Liam Girdwood
@ 2011-07-20 19:52 ` Mark Brown
  1 sibling, 0 replies; 3+ messages in thread
From: Mark Brown @ 2011-07-20 19:52 UTC (permalink / raw)
  To: Rajashekhara, Sudhakar; +Cc: alsa-devel, davinci-linux-open-source, lrg

On Wed, Jul 20, 2011 at 05:36:04PM +0530, Rajashekhara, Sudhakar wrote:
> According to DM365 voice codec data sheet at [1], before starting
> recording or playback, ADC/DAC modules should follow a reset and
> enable cycle. Writing a 1 to the ADC/DAC bit in the register resets
> the module and clearing the bit to 0 will enable the module. But the
> driver seems to be doing the reverse of it.

Applied, thanks.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-07-20 19:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-20 12:06 [PATCH v2 1/2] ASoC: davinci: fix codec start and stop functions Rajashekhara, Sudhakar
2011-07-20 16:25 ` Liam Girdwood
2011-07-20 19:52 ` 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.