From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laxman Dewangan Subject: Re: [PATCH] ASoC: tegra: use dmaengine based dma driver Date: Sat, 30 Jun 2012 20:38:29 +0530 Message-ID: <4FEF166D.2010705@nvidia.com> References: <1340969673-7776-1-git-send-email-ldewangan@nvidia.com> <1340969673-7776-2-git-send-email-ldewangan@nvidia.com> <4FEDDF89.1050907@wwwdotorg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4FEDDF89.1050907-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org> Sender: linux-tegra-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Stephen Warren Cc: "tiwai-l3A5Bk7waGM@public.gmane.org" , "perex-/Fr2/VpizcU@public.gmane.org" , Stephen Warren , "broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org" , "lrg-l0cyMroinI0@public.gmane.org" , "alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org" , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" List-Id: linux-tegra@vger.kernel.org On Friday 29 June 2012 10:32 PM, Stephen Warren wrote: > On 06/29/2012 05:34 AM, Laxman Dewangan wrote: >> Use the dmaengine based Tegra APB DMA driver for >> data transfer between SPI fifo and memory in >> place of legacy Tegra APB DMA. >> >> Because generic soc-dmaengine-pcm uses the DMAs API >> based on dmaengine, using the exported APIs provided >> by this generic driver. >> >> The new driver is selected if legacy driver is not >> selected and new dma driver is enabled through config >> file. > This works just fine with the existing non-dmaengine DMA driver enabled. > > However, I can't get it to work with dmaengine: > >> # aplay ~/abba-dq-48000-stereo.wav >> [ 151.613476] tegra20-i2s tegra20-i2s.0: dmaengine pcm open failed with err -6 >> [ 151.620557] tegra20-i2s tegra20-i2s.0: can't open platform tegra20-i2s.0: -6 >> aplay: main:654: audio open error: No such device or address With the error, it seems that dmachannel is not getting allocated. > I do have the following in my local tree: > 68a67b8 ARM: tegra: add device tree AUXDATA for APBDMA > 0db7a96 ARM: tegra: dma: rename driver name for clock to "tegra-apbdma" > Some dma changes which I sent and already on linux-next are also require with the above change. Alsong with that I have local change like to rename the dma driver to compatible with dts files (remove -new from driver). I think I should send that patches so that you can test it by: - Taking already applied dma driver change in linux-next. - Apply my new patches which I am going to send. And do local change in the tegra_defconfig to disable SYSTEM_DMA and enable dmaengine based dma driver. > I also fixed the compatible values in drivers/dma/tegra20-apb-dma.c so > the driver would get instantiated, which it does; > /sys/devices/tegra-apbdma/dma has a bunch of dmaengine channels in it. > Possibly some patches in dma driver which is already applied in next is not available in your tree. CYCLIC_DMA patch is important. > (Note: This is on Ventana, although I doubt that makes much difference) > I tested on cardhu only but it should not matter. > Is there something else I need to do to test this?