lkml.org 
[lkml]   [2012]   [Jun]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] dma: tegra: set DMA_CYCLIC capability
On Wednesday 27 June 2012 06:59 PM, Vinod Koul wrote:
> On Fri, 2012-06-22 at 17:12 +0530, Laxman Dewangan wrote:
>> Tegra's APB DMA driver support the cyclic mode of data
>> transfer and hence setting the DMA_CYCLIC caps for dma
>> channels.
>>
>> This is require when generic sound dmaengine pcm driver
>> request for dma channel with CYCLIC capability.
>>
>> Signed-off-by: Laxman Dewangan<ldewangan@nvidia.com>
>> ---
>> drivers/dma/tegra20-apb-dma.c | 2 ++
>> 1 files changed, 2 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/dma/tegra20-apb-dma.c b/drivers/dma/tegra20-apb-dma.c
>> index 134ea7c..b4bd50c 100644
>> --- a/drivers/dma/tegra20-apb-dma.c
>> +++ b/drivers/dma/tegra20-apb-dma.c
>> @@ -1306,6 +1306,8 @@ static int __devinit tegra_dma_probe(struct platform_device *pdev)
>>
>> dma_cap_set(DMA_SLAVE, tdma->dma_dev.cap_mask);
>> dma_cap_set(DMA_PRIVATE, tdma->dma_dev.cap_mask);
>> + dma_cap_set(DMA_CYCLIC, tdma->dma_dev.cap_mask);
>> +
>> tdma->dma_dev.dev =&pdev->dev;
>> tdma->dma_dev.device_alloc_chan_resources =
>> tegra_dma_alloc_chan_resources;
> What sort of testing went into this.

I used the function snd_dmaengine_pcm_open() in
sound/soc/soc-dmaengine-pcm.c.
This fails because dmaengine_pcm_request_channel() require caps of
DMA_CYCLIC
which is called by snd_dmaengine_pcm_open().


> I can see that you are marking descriptor complete even for cyclic case,
> that is wrong you should fix that as well. See the other drivers for
> cyclic handling of descriptors.
>

Not really,
I called dma_cookie_complete() only from the isr handle_once_dma_done()
which is only called if it is non-cyclic mode.




\
 
 \ /
  Last update: 2012-06-27 16:21    [W:0.121 / U:1.148 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site