[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a6d6ded6-5317-8aec-9021-461c7dfc5b4f@gmail.com>
Date: Fri, 4 Feb 2022 15:28:32 +0300
From: Dmitry Osipenko <digetx@...il.com>
To: Akhil R <akhilrajeev@...dia.com>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"dmaengine@...r.kernel.org" <dmaengine@...r.kernel.org>,
Jonathan Hunter <jonathanh@...dia.com>,
Krishna Yarlagadda <kyarlagadda@...dia.com>,
Laxman Dewangan <ldewangan@...dia.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
"p.zabel@...gutronix.de" <p.zabel@...gutronix.de>,
Rajesh Gumasta <rgumasta@...dia.com>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"thierry.reding@...il.com" <thierry.reding@...il.com>,
"vkoul@...nel.org" <vkoul@...nel.org>
Cc: Pavan Kunapuli <pkunapuli@...dia.com>
Subject: Re: [PATCH v18 2/4] dmaengine: tegra: Add tegra gpcdma driver
04.02.2022 15:15, Dmitry Osipenko пишет:
> 04.02.2022 09:47, Akhil R пишет:
>>> 03.02.2022 06:44, Akhil R пишет:
>>>>> But why do you need to pause at all here and can't use
>>>>> tegra_dma_stop_client() even if pause is supported?
>>>> The recommended method to terminate a transfer in
>>>> between is to pause the channel first and then disable it.
>>>> This is more graceful and stable for the hardware.
>>>> stop_client() is more abrupt, though it does the job.
>>>
>>> If there is no real practical difference, then I'd use the common method
>>> only. This will make code cleaner and simpler a tad.
>> This is the documented way of clean exit from a transfer, especially for
>> cyclic transfers where the DMA is configured in continuous mode.
>> I guess it might not be a good idea to deviate from that unless there is
>> something demanding it compulsorily.
>>
>> I agree that the code will be cleaner. I would try to see if I can find a cleaner
>> way to do this. Please do let me know if you have any suggestion.
>
> Will be great if you could find out and provide a detailed explanation
> about the exact differences of the methods from software perspective.
> Try to ask the hardware people.
>
> If you won't be able to find out, then use both methods. Then you could
> specify the "pause" callback within the tegra_dma_chip_data
> [tdma->chip_data->pause(tdma)], instead of using condition in the code.
s/pause/terminate/
Powered by blists - more mailing lists