[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <315241b5-f5a2-aaa0-7327-24055ff306c7@nvidia.com>
Date: Fri, 31 Jan 2020 09:02:28 +0000
From: Jon Hunter <jonathanh@...dia.com>
To: Dmitry Osipenko <digetx@...il.com>,
Laxman Dewangan <ldewangan@...dia.com>,
Vinod Koul <vkoul@...nel.org>,
Dan Williams <dan.j.williams@...el.com>,
Thierry Reding <thierry.reding@...il.com>,
Michał Mirosław <mirq-linux@...e.qmqm.pl>
CC: <dmaengine@...r.kernel.org>, <linux-tegra@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v6 11/16] dmaengine: tegra-apb: Keep clock enabled only
during of DMA transfer
On 30/01/2020 20:04, Dmitry Osipenko wrote:
...
>>> The tegra_dma_stop() should put RPM anyways, which is missed in yours
>>> sample. Please see handle_continuous_head_request().
>>
>> Yes and that is deliberate. The cyclic transfers the transfers *should*
>> not stop until terminate_all is called. The tegra_dma_stop in
>> handle_continuous_head_request() is an error condition and so I am not
>> sure it is actually necessary to call pm_runtime_put() here.
>
> But then tegra_dma_stop() shouldn't unset the "busy" mark.
True.
>>> I'm also finding the explicit get/put a bit easier to follow in the
>>> code, don't you think so?
>>
>> I can see that, but I was thinking that in the case of cyclic transfers,
>> it should only really be necessary to call the get/put at the beginning
>> and end. So in my mind there should only be two exit points which are
>> the ISR handler for SG and terminate_all for SG and cyclic.
>
> Alright, I'll update this patch.
Hmmm ... I am wondering if we should not mess with that and leave how
you have it.
--
nvpublic
Powered by blists - more mailing lists