From: Jon Hunter <jonathanh@nvidia.com>
To: Vinod Koul <vinod.koul@intel.com>
Cc: Laxman Dewangan <ldewangan@nvidia.com>,
Stephen Warren <swarren@wwwdotorg.org>,
Thierry Reding <thierry.reding@gmail.com>,
Alexandre Courbot <gnurou@gmail.com>,
dmaengine@vger.kernel.org, linux-tegra@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/6] dmaengine: tegra-apb: Correct runtime-pm usage
Date: Tue, 3 Nov 2015 16:23:26 +0000 [thread overview]
Message-ID: <5638DF7E.9080700@nvidia.com> (raw)
In-Reply-To: <20151029015709.GE18368@vkoul-mobl.iind.intel.com>
On 29/10/15 01:57, Vinod Koul wrote:
> On Wed, Oct 28, 2015 at 01:32:12PM +0000, Jon Hunter wrote:
>>
>> On 28/10/15 07:03, Vinod Koul wrote:
>>> On Fri, Oct 16, 2015 at 09:25:52AM +0100, Jon Hunter wrote:
>>>> @@ -1182,14 +1182,11 @@ static int tegra_dma_alloc_chan_resources(struct dma_chan *dc)
>>>> {
>>>> struct tegra_dma_channel *tdc = to_tegra_dma_chan(dc);
>>>> struct tegra_dma *tdma = tdc->tdma;
>>>> - int ret;
>>>>
>>>> dma_cookie_init(&tdc->dma_chan);
>>>> tdc->config_init = false;
>>>> - ret = clk_prepare_enable(tdma->dma_clk);
>>>> - if (ret < 0)
>>>> - dev_err(tdc2dev(tdc), "clk_prepare_enable failed: %d\n", ret);
>>>> - return ret;
>>>> +
>>>> + return pm_runtime_get_sync(tdma->dev);
>>>
>>> Alloc channel is supposed to return number of descriptors allocated and if
>>> pm_runtime_get_sync() returns postive values we get wrong return!
>>
>> Yes I will fix. I assume that returning 0 is allowed if no descriptors
>> are allocated here. So much for correcting rpm usage ;-)
>
> Yes 0 is allowed...
>
>>>> static int tegra_dma_pm_suspend(struct device *dev)
>>>> {
>>>> struct tegra_dma *tdma = dev_get_drvdata(dev);
>>>> - int i;
>>>> - int ret;
>>>> + int i, ret;
>>>>
>>>> /* Enable clock before accessing register */
>>>> - ret = tegra_dma_runtime_resume(dev);
>>>> + ret = pm_runtime_get_sync(dev);
>>>
>>> If you are runtime suspended then core will runtime resume you before
>>> invoking suspend, so why do we need this
>>
>> Is this change now in the mainline? Do you have commit ID for that?
>>
>> I recall the last time we discussed this that Rafael said that they were
>> going to do that, but he said as a rule of thumb if you need to resume
>> it, resume it [0].
>
> IIRC this has been always the behaviour, at least I see this when I test the
> devices
I have been doing some testing today and if the DMA is runtime
suspended, then I don't see it runtime resumed before suspend is called.
Can you elborate on "at least I see this when I test the devices"? What
are you looking at? Are you using kernel function tracers in some way?
Cheers
Jon
next prev parent reply other threads:[~2015-11-03 16:23 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-16 8:25 [PATCH 0/6] dmaengine: tegra-apb: Various updates Jon Hunter
2015-10-16 8:25 ` [PATCH 1/6] dmaengine: tegra-apb: Correct runtime-pm usage Jon Hunter
[not found] ` <1444983957-18691-2-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-10-28 7:03 ` Vinod Koul
[not found] ` <20151028070345.GF3041-bQVUxfxUtC13uc1i7fC1zK2pdiUAq4bhAL8bYrjMMd8@public.gmane.org>
2015-10-28 13:32 ` Jon Hunter
2015-10-29 1:57 ` Vinod Koul
2015-11-03 16:23 ` Jon Hunter [this message]
[not found] ` <5638DF7E.9080700-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-11-03 21:25 ` Kevin Hilman
[not found] ` <7hvb9iai8a.fsf-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>
2015-11-04 8:34 ` Vinod Koul
2015-11-04 16:59 ` Kevin Hilman
[not found] ` <7hvb9hr98g.fsf-1D3HCaltpLuhEniVeURVKkEOCMrvLtNR@public.gmane.org>
2015-11-05 2:15 ` Rafael J. Wysocki
[not found] ` <1564097.buIA8Wdn8f-sKB8Sp2ER+y1GS7QM15AGw@public.gmane.org>
2015-11-05 12:17 ` Vinod Koul
2015-10-16 8:25 ` [PATCH 2/6] dmaengine: tegra-apb: Use dev_get_drvdata() Jon Hunter
2015-10-16 8:25 ` [PATCH 3/6] dmaengine: tegra-apb: Save and restore word count Jon Hunter
[not found] ` <1444983957-18691-1-git-send-email-jonathanh-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-10-16 8:25 ` [PATCH 4/6] dmaengine: tegra-apb: Only save channel state for those in use Jon Hunter
2015-10-16 8:25 ` [PATCH 5/6] dmaengine: tegra-apb: Update driver to use GFP_NOWAIT Jon Hunter
2015-10-16 8:25 ` [PATCH 6/6] dmaengine: tegra-apb: Disable interrupts on removal Jon Hunter
2015-10-16 8:53 ` Lars-Peter Clausen
[not found] ` <5620BB0E.9040400-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2015-10-16 9:29 ` Jon Hunter
[not found] ` <5620C383.3060104-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2015-10-16 10:40 ` Lars-Peter Clausen
2015-10-16 10:57 ` Jon Hunter
2015-10-28 6:53 ` Vinod Koul
[not found] ` <20151028065339.GE3041-bQVUxfxUtC13uc1i7fC1zK2pdiUAq4bhAL8bYrjMMd8@public.gmane.org>
2015-10-28 13:34 ` Jon Hunter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5638DF7E.9080700@nvidia.com \
--to=jonathanh@nvidia.com \
--cc=dmaengine@vger.kernel.org \
--cc=gnurou@gmail.com \
--cc=ldewangan@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=swarren@wwwdotorg.org \
--cc=thierry.reding@gmail.com \
--cc=vinod.koul@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).