From: Mayuresh Kulkarni <mkulkarni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
Cc: Terje Bergstrom
<tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
Arto Merilainen
<amerilainen-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
"thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org"
<thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>,
"airlied-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org"
<airlied-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
"dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org"
<dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v2 2/4] gpu: host1x: add runtime pm support for gr2d
Date: Fri, 14 Jun 2013 20:15:42 +0530 [thread overview]
Message-ID: <51BB2C96.4060608@nvidia.com> (raw)
In-Reply-To: <51B9E1F2.3090404-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
On Thursday 13 June 2013 08:44 PM, Stephen Warren wrote:
> On 06/13/2013 03:53 AM, Mayuresh Kulkarni wrote:
>
> Patch description?
I thought the patch subject is sufficient to tell what it is it doing.
Description here would be repetition in my opinion.
Also, the cover letter for the patch-set series is verbose enough.
>
>
>> diff --git a/drivers/gpu/host1x/drm/gr2d.c b/drivers/gpu/host1x/drm/gr2d.c
>
>> +#ifdef CONFIG_PM_RUNTIME
>> + pm_runtime_enable(&pdev->dev);
>> + pm_runtime_get_sync(&pdev->dev);
>> +#else
>> err = clk_prepare_enable(gr2d->clk);
>> if (err) {
>> dev_err(dev, "cannot turn on clock\n");
>> return err;
>> }
>> +#endif
>
> The #else block here is a cut/paste of the body of
> gr2d_runtime_resume(). It'd be better to call that function instead. The
> following is what I ended up with in the Tegra ASoC driver in order to
> support runtime PM on or off:
>
> pm_runtime_enable(&pdev->dev);
> if (!pm_runtime_enabled(&pdev->dev)) {
> ret = tegra20_i2s_runtime_resume(&pdev->dev);
> if (ret)
> goto err_pm_disable;
> }
>
Thanks for the tip. Runtime detection is better than compile time here.
>> @@ -328,10 +338,51 @@ static int __exit gr2d_remove(struct platform_device *pdev)
>>
>> host1x_channel_free(gr2d->channel);
>> clk_disable_unprepare(gr2d->clk);
>
> Don't you need to remove that clk disable, or make it conditional upon
> !PM_RUNTIME?
Yes you are correct.
>
>> +#ifdef CONFIG_PM_RUNTIME
>> + pm_runtime_disable(&pdev->dev);
>> +#endif
>
> Similarly, perhaps something like the following here:
>
> pm_runtime_disable(&pdev->dev);
> if (!pm_runtime_status_suspended(&pdev->dev))
> tegra20_i2s_runtime_suspend(&pdev->dev);
>
>> @ -591,10 +592,18 @@ int host1x_job_submit(struct host1x_job *job)
>> {
>> struct host1x *host = dev_get_drvdata(job->channel->dev->parent);
>>
>> +#ifdef CONFIG_PM_RUNTIME
>> + pm_runtime_get_sync(job->channel->dev);
>> +#endif
>> +
>> return host1x_hw_channel_submit(host, job);
>> }
>>
>> int host1x_job_complete(struct host1x_job *job)
>> {
>> +#ifdef CONFIG_PM_RUNTIME
>> + return pm_runtime_put(job->channel->dev);
>> +#else
>> return 0;
>> +#endif
>> }
>
> I don't think you need any of those ifdefs; simply call the
> pm_runtime_*() functions all the time, and they'll be successful no-ops
> if !PM_RUNTIME.
>
OK. But I thought it will be better to be verbose (which is not needed).
WARNING: multiple messages have this Message-ID (diff)
From: Mayuresh Kulkarni <mkulkarni@nvidia.com>
To: Stephen Warren <swarren@wwwdotorg.org>
Cc: Terje Bergstrom <tbergstrom@nvidia.com>,
Arto Merilainen <amerilainen@nvidia.com>,
"thierry.reding@avionic-design.de"
<thierry.reding@avionic-design.de>,
"airlied@redhat.com" <airlied@redhat.com>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 2/4] gpu: host1x: add runtime pm support for gr2d
Date: Fri, 14 Jun 2013 20:15:42 +0530 [thread overview]
Message-ID: <51BB2C96.4060608@nvidia.com> (raw)
In-Reply-To: <51B9E1F2.3090404@wwwdotorg.org>
On Thursday 13 June 2013 08:44 PM, Stephen Warren wrote:
> On 06/13/2013 03:53 AM, Mayuresh Kulkarni wrote:
>
> Patch description?
I thought the patch subject is sufficient to tell what it is it doing.
Description here would be repetition in my opinion.
Also, the cover letter for the patch-set series is verbose enough.
>
>
>> diff --git a/drivers/gpu/host1x/drm/gr2d.c b/drivers/gpu/host1x/drm/gr2d.c
>
>> +#ifdef CONFIG_PM_RUNTIME
>> + pm_runtime_enable(&pdev->dev);
>> + pm_runtime_get_sync(&pdev->dev);
>> +#else
>> err = clk_prepare_enable(gr2d->clk);
>> if (err) {
>> dev_err(dev, "cannot turn on clock\n");
>> return err;
>> }
>> +#endif
>
> The #else block here is a cut/paste of the body of
> gr2d_runtime_resume(). It'd be better to call that function instead. The
> following is what I ended up with in the Tegra ASoC driver in order to
> support runtime PM on or off:
>
> pm_runtime_enable(&pdev->dev);
> if (!pm_runtime_enabled(&pdev->dev)) {
> ret = tegra20_i2s_runtime_resume(&pdev->dev);
> if (ret)
> goto err_pm_disable;
> }
>
Thanks for the tip. Runtime detection is better than compile time here.
>> @@ -328,10 +338,51 @@ static int __exit gr2d_remove(struct platform_device *pdev)
>>
>> host1x_channel_free(gr2d->channel);
>> clk_disable_unprepare(gr2d->clk);
>
> Don't you need to remove that clk disable, or make it conditional upon
> !PM_RUNTIME?
Yes you are correct.
>
>> +#ifdef CONFIG_PM_RUNTIME
>> + pm_runtime_disable(&pdev->dev);
>> +#endif
>
> Similarly, perhaps something like the following here:
>
> pm_runtime_disable(&pdev->dev);
> if (!pm_runtime_status_suspended(&pdev->dev))
> tegra20_i2s_runtime_suspend(&pdev->dev);
>
>> @ -591,10 +592,18 @@ int host1x_job_submit(struct host1x_job *job)
>> {
>> struct host1x *host = dev_get_drvdata(job->channel->dev->parent);
>>
>> +#ifdef CONFIG_PM_RUNTIME
>> + pm_runtime_get_sync(job->channel->dev);
>> +#endif
>> +
>> return host1x_hw_channel_submit(host, job);
>> }
>>
>> int host1x_job_complete(struct host1x_job *job)
>> {
>> +#ifdef CONFIG_PM_RUNTIME
>> + return pm_runtime_put(job->channel->dev);
>> +#else
>> return 0;
>> +#endif
>> }
>
> I don't think you need any of those ifdefs; simply call the
> pm_runtime_*() functions all the time, and they'll be successful no-ops
> if !PM_RUNTIME.
>
OK. But I thought it will be better to be verbose (which is not needed).
next prev parent reply other threads:[~2013-06-14 14:45 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-13 9:53 [PATCH v2 0/4] gpu: host1x: add runtime pm support Mayuresh Kulkarni
2013-06-13 9:53 ` Mayuresh Kulkarni
[not found] ` <1371117218-2326-1-git-send-email-mkulkarni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-06-13 9:53 ` [PATCH v2 1/4] gpu: host1x: shuffle job APIs Mayuresh Kulkarni
2013-06-13 9:53 ` Mayuresh Kulkarni
2013-06-13 9:53 ` [PATCH v2 2/4] gpu: host1x: add runtime pm support for gr2d Mayuresh Kulkarni
2013-06-13 9:53 ` Mayuresh Kulkarni
[not found] ` <1371117218-2326-3-git-send-email-mkulkarni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-06-13 15:14 ` Stephen Warren
2013-06-13 15:14 ` Stephen Warren
[not found] ` <51B9E1F2.3090404-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-06-14 14:45 ` Mayuresh Kulkarni [this message]
2013-06-14 14:45 ` Mayuresh Kulkarni
2013-06-13 9:53 ` [PATCH v2 3/4] gpu: host1x: add runtime pm support for dc Mayuresh Kulkarni
2013-06-13 9:53 ` Mayuresh Kulkarni
[not found] ` <1371117218-2326-4-git-send-email-mkulkarni-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-06-13 18:49 ` Thierry Reding
2013-06-13 18:49 ` Thierry Reding
2013-06-13 19:09 ` Stephen Warren
2013-06-13 19:09 ` Stephen Warren
[not found] ` <51BA18EF.4090302-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-06-14 14:48 ` Mayuresh Kulkarni
2013-06-14 14:48 ` Mayuresh Kulkarni
2013-06-13 9:53 ` [PATCH v2 4/4] gpu: host1x: add runtime pm support for host1x Mayuresh Kulkarni
2013-06-13 9:53 ` Mayuresh Kulkarni
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=51BB2C96.4060608@nvidia.com \
--to=mkulkarni-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
--cc=airlied-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=amerilainen-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
--cc=tbergstrom-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.