[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4FEB0DB6.7040105@nvidia.com>
Date: Wed, 27 Jun 2012 19:12:14 +0530
From: Laxman Dewangan <ldewangan@...dia.com>
To: Vinod Koul <vinod.koul@...ux.intel.com>
CC: "dan.j.williams@...el.com" <dan.j.williams@...el.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>
Subject: Re: [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@...dia.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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists