Re: [PATCH 5/5] ASoC: tegra: remove support of legacy DMA driver based access

2012-09-14 Thread Mark Brown
On Thu, Sep 13, 2012 at 05:36:30PM -0600, Stephen Warren wrote:

 Please note that I've applied this to Tegra's for-3.7/dmaengine branch,
 even though it hasn't been ack'd by an ASoC maintainer.

Please don't apply this without review, we've got quite enough problems
with the dmaengine stuff as it is unfortunately so I want to keep a
handle on what's going on.  I didn't look at it since when it was
originally posted people found problems in testing so I was expecting a
respin of the series.

--
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


Re: [PATCH 5/5] ASoC: tegra: remove support of legacy DMA driver based access

2012-09-14 Thread Stephen Warren
On 09/06/2012 05:50 PM, Stephen Warren wrote:
 On 08/16/2012 08:13 AM, Laxman Dewangan wrote:
 Remove the support code which uses the legacy APB DMA driver
 for accessing the I2S FIFO.
 The driver will use the dmaengine based APB DMA driver for
 accessing reqding/writing to I2S FIFO.

 Signed-off-by: Laxman Dewangan ldewan...@nvidia.com
 
 Mark, Liam,
 
 I'd like to take this patch through the Tegra tree, since it relies on
 the previous Tegra patches to convert to dmaengine. Could I please get
 an ack if that's OK? Thanks.

I'm still looking for an ack.


--
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


Re: [PATCH 5/5] ASoC: tegra: remove support of legacy DMA driver based access

2012-09-14 Thread Stephen Warren
On 09/14/2012 09:53 AM, Mark Brown wrote:
 On Thu, Sep 13, 2012 at 05:36:30PM -0600, Stephen Warren wrote:
 
 Please note that I've applied this to Tegra's for-3.7/dmaengine branch,
 even though it hasn't been ack'd by an ASoC maintainer.
 
 Please don't apply this without review, we've got quite enough problems
 with the dmaengine stuff as it is unfortunately so I want to keep a
 handle on what's going on.  I didn't look at it since when it was
 originally posted people found problems in testing so I was expecting a
 respin of the series.

OK, I'll remove the series from next then.

But do note that I pinged 8 days ago for an ack, and received no
objections, and you were well aware that the bug was fixed since you
applied the fix to the Tegra ASoC PCM driver yourself, and we had
discussed this being a dependency for the dmaengine patches, and you'd
told me to just base the Tegra branch on top of your tree until a signed
tag was available for me to base upon.

--
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


Re: [PATCH 5/5] ASoC: tegra: remove support of legacy DMA driver based access

2012-09-14 Thread Mark Brown
On Fri, Sep 14, 2012 at 09:57:35AM -0600, Stephen Warren wrote:
 On 09/06/2012 05:50 PM, Stephen Warren wrote:

  I'd like to take this patch through the Tegra tree, since it relies on
  the previous Tegra patches to convert to dmaengine. Could I please get
  an ack if that's OK? Thanks.

 I'm still looking for an ack.

As with all the others here I need to see this so it can get reviewed,
the previous review was that the patch didn't work.  In general
contentless pings like this aren't terribly helpful...

--
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


Re: [PATCH 5/5] ASoC: tegra: remove support of legacy DMA driver based access

2012-09-14 Thread Mark Brown
On Fri, Sep 14, 2012 at 10:00:39AM -0600, Stephen Warren wrote:

 But do note that I pinged 8 days ago for an ack, and received no
 objections, and you were well aware that the bug was fixed since you

I didn't read these mails enough to notice that they were asking for an
ack, they were followups to already discarded patches (the were
discarded due to the testing problems).  One of the things I do to deal
with mail overload is to drop followups to patches that I don't remember
reviewing (as in this case where the negative test reports arrived
before I saw the patches) or where I remember I was already happy.

 applied the fix to the Tegra ASoC PCM driver yourself, and we had
 discussed this being a dependency for the dmaengine patches, and you'd
 told me to just base the Tegra branch on top of your tree until a signed
 tag was available for me to base upon.

I knew it was a dependency, I didn't know that there were no further
changes required to the series - your note when you posted the patch
didn't mention anything.

--
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


Re: [PATCH 5/5] ASoC: tegra: remove support of legacy DMA driver based access

2012-09-13 Thread Stephen Warren
On 08/16/2012 08:13 AM, Laxman Dewangan wrote:
 Remove the support code which uses the legacy APB DMA driver
 for accessing the I2S FIFO.
 The driver will use the dmaengine based APB DMA driver for
 accessing reqding/writing to I2S FIFO.
 
 Signed-off-by: Laxman Dewangan ldewan...@nvidia.com

Please note that I've applied this to Tegra's for-3.7/dmaengine branch,
even though it hasn't been ack'd by an ASoC maintainer.

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://ad.doubleclick.net/clk;258768047;13503038;j?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


Re: [PATCH 5/5] ASoC: tegra: remove support of legacy DMA driver based access

2012-09-06 Thread Stephen Warren
On 08/16/2012 08:13 AM, Laxman Dewangan wrote:
 Remove the support code which uses the legacy APB DMA driver
 for accessing the I2S FIFO.
 The driver will use the dmaengine based APB DMA driver for
 accessing reqding/writing to I2S FIFO.
 
 Signed-off-by: Laxman Dewangan ldewan...@nvidia.com

Mark, Liam,

I'd like to take this patch through the Tegra tree, since it relies on
the previous Tegra patches to convert to dmaengine. Could I please get
an ack if that's OK? Thanks.

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


[PATCH 5/5] ASoC: tegra: remove support of legacy DMA driver based access

2012-08-16 Thread Laxman Dewangan
Remove the support code which uses the legacy APB DMA driver
for accessing the I2S FIFO.
The driver will use the dmaengine based APB DMA driver for
accessing reqding/writing to I2S FIFO.

Signed-off-by: Laxman Dewangan ldewan...@nvidia.com
---
 sound/soc/tegra/Kconfig |2 +-
 sound/soc/tegra/tegra_pcm.c |  232 ---
 sound/soc/tegra/tegra_pcm.h |   14 ---
 3 files changed, 1 insertions(+), 247 deletions(-)

diff --git a/sound/soc/tegra/Kconfig b/sound/soc/tegra/Kconfig
index 02bcd30..19e5fe7 100644
--- a/sound/soc/tegra/Kconfig
+++ b/sound/soc/tegra/Kconfig
@@ -1,6 +1,6 @@
 config SND_SOC_TEGRA
tristate SoC Audio for the Tegra System-on-Chip
-   depends on ARCH_TEGRA  (TEGRA_SYSTEM_DMA || TEGRA20_APB_DMA)
+   depends on ARCH_TEGRA  TEGRA20_APB_DMA
select REGMAP_MMIO
select SND_SOC_DMAENGINE_PCM if TEGRA20_APB_DMA
help
diff --git a/sound/soc/tegra/tegra_pcm.c b/sound/soc/tegra/tegra_pcm.c
index 5658bce..1cab2cd 100644
--- a/sound/soc/tegra/tegra_pcm.c
+++ b/sound/soc/tegra/tegra_pcm.c
@@ -57,237 +57,6 @@ static const struct snd_pcm_hardware tegra_pcm_hardware = {
.fifo_size  = 4,
 };
 
-#if defined(CONFIG_TEGRA_SYSTEM_DMA)
-static void tegra_pcm_queue_dma(struct tegra_runtime_data *prtd)
-{
-   struct snd_pcm_substream *substream = prtd-substream;
-   struct snd_dma_buffer *buf = substream-dma_buffer;
-   struct tegra_dma_req *dma_req;
-   unsigned long addr;
-
-   dma_req = prtd-dma_req[prtd-dma_req_idx];
-   prtd-dma_req_idx = 1 - prtd-dma_req_idx;
-
-   addr = buf-addr + prtd-dma_pos;
-   prtd-dma_pos += dma_req-size;
-   if (prtd-dma_pos = prtd-dma_pos_end)
-   prtd-dma_pos = 0;
-
-   if (substream-stream == SNDRV_PCM_STREAM_PLAYBACK)
-   dma_req-source_addr = addr;
-   else
-   dma_req-dest_addr = addr;
-
-   tegra_dma_enqueue_req(prtd-dma_chan, dma_req);
-}
-
-static void dma_complete_callback(struct tegra_dma_req *req)
-{
-   struct tegra_runtime_data *prtd = (struct tegra_runtime_data *)req-dev;
-   struct snd_pcm_substream *substream = prtd-substream;
-   struct snd_pcm_runtime *runtime = substream-runtime;
-
-   spin_lock(prtd-lock);
-
-   if (!prtd-running) {
-   spin_unlock(prtd-lock);
-   return;
-   }
-
-   if (++prtd-period_index = runtime-periods)
-   prtd-period_index = 0;
-
-   tegra_pcm_queue_dma(prtd);
-
-   spin_unlock(prtd-lock);
-
-   snd_pcm_period_elapsed(substream);
-}
-
-static void setup_dma_tx_request(struct tegra_dma_req *req,
-   struct tegra_pcm_dma_params * dmap)
-{
-   req-complete = dma_complete_callback;
-   req-to_memory = false;
-   req-dest_addr = dmap-addr;
-   req-dest_wrap = dmap-wrap;
-   req-source_bus_width = 32;
-   req-source_wrap = 0;
-   req-dest_bus_width = dmap-width;
-   req-req_sel = dmap-req_sel;
-}
-
-static void setup_dma_rx_request(struct tegra_dma_req *req,
-   struct tegra_pcm_dma_params * dmap)
-{
-   req-complete = dma_complete_callback;
-   req-to_memory = true;
-   req-source_addr = dmap-addr;
-   req-dest_wrap = 0;
-   req-source_bus_width = dmap-width;
-   req-source_wrap = dmap-wrap;
-   req-dest_bus_width = 32;
-   req-req_sel = dmap-req_sel;
-}
-
-static int tegra_pcm_open(struct snd_pcm_substream *substream)
-{
-   struct snd_pcm_runtime *runtime = substream-runtime;
-   struct tegra_runtime_data *prtd;
-   struct snd_soc_pcm_runtime *rtd = substream-private_data;
-   struct tegra_pcm_dma_params * dmap;
-   int ret = 0;
-
-   prtd = kzalloc(sizeof(struct tegra_runtime_data), GFP_KERNEL);
-   if (prtd == NULL)
-   return -ENOMEM;
-
-   runtime-private_data = prtd;
-   prtd-substream = substream;
-
-   spin_lock_init(prtd-lock);
-
-   if (substream-stream == SNDRV_PCM_STREAM_PLAYBACK) {
-   dmap = snd_soc_dai_get_dma_data(rtd-cpu_dai, substream);
-   setup_dma_tx_request(prtd-dma_req[0], dmap);
-   setup_dma_tx_request(prtd-dma_req[1], dmap);
-   } else {
-   dmap = snd_soc_dai_get_dma_data(rtd-cpu_dai, substream);
-   setup_dma_rx_request(prtd-dma_req[0], dmap);
-   setup_dma_rx_request(prtd-dma_req[1], dmap);
-   }
-
-   prtd-dma_req[0].dev = prtd;
-   prtd-dma_req[1].dev = prtd;
-
-   prtd-dma_chan = tegra_dma_allocate_channel(TEGRA_DMA_MODE_ONESHOT);
-   if (prtd-dma_chan == NULL) {
-   ret = -ENOMEM;
-   goto err;
-   }
-
-   /* Set HW params now that initialization is complete */
-   snd_soc_set_runtime_hwparams(substream, tegra_pcm_hardware);
-
-   /* Ensure that buffer size is a multiple of period size */
-   ret =