From: Deepak S <deepak.s@linux.intel.com>
To: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v4] drm/i915/chv: Set min freq to efficient frequency on chv
Date: Sat, 02 May 2015 12:56:35 +0530 [thread overview]
Message-ID: <55447C2B.5050206@linux.intel.com> (raw)
In-Reply-To: <20150430140526.GX18908@intel.com>
On Thursday 30 April 2015 07:35 PM, Ville Syrjälä wrote:
> On Thu, Apr 30, 2015 at 02:19:07PM +0300, Ville Syrjälä wrote:
>> On Thu, Apr 30, 2015 at 03:42:42PM +0530, Deepak S wrote:
>>> As you suggested it would be better to extend the VLV WA to
>>> CHV also to make sure we drop the voltage when idle.
>>>
>>> Below is the sequence I think we should follow (based on your comments).
>>> 1. forcewake power wells
>>> 2. do gfx force clock on
>>> 3. request freq to punit
>>> 4. release gfx force clock on
>>> 5. release forcewake of power wells.
>>>
>>> Please share your thoughts?
>> I'm thinking we shouldn't need the gfx clock force since forcewake
>> should already cause the clock to be enabled.
>>
>> I've also not verified what happens if we drop the forcewake before
>> Punit has actually finished the frequency change. I'll try to hack
>> up some kind of test to see if I can make that happen.
> OK, after some hacking I see that the forcewake is enough, and also
> we don't seem to need to wait for the Punit to finish the frequency
> change before dropping forcewake. It seems to finish the change even
> after forcewake has been dropped.
>
> Also for a bit of extra micro optimization we should perhaps wake up
> the media well only, as that takes a lot less power than the render
> well.
Thanks Ville. I will submit new patch to extend the WA to CHV
Thanks
Deepak
>>> Thanks
>>> Deepak
>>>
>>>>> So based on my tests this patch feels a bit wrong.
>>>>>
>>>>>> Since Punit validates the rps range [RPe, RP0]. This patch
>>>>>> removes unused cherryview_rps_min_freq function.
>>>>>>
>>>>>> v2: Change commit message
>>>>>>
>>>>>> v3: set min_freq before idle_freq (chris)
>>>>>>
>>>>>> v4: Squash 'Remove unused rps min function' patch
>>>>>>
>>>>>> Signed-off-by: Deepak S <deepak.s@linux.intel.com>
>>>>>> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
>>>>>> ---
>>>>>> drivers/gpu/drm/i915/intel_pm.c | 21 ++-------------------
>>>>>> 1 file changed, 2 insertions(+), 19 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
>>>>>> index a7516ed..78c89ff 100644
>>>>>> --- a/drivers/gpu/drm/i915/intel_pm.c
>>>>>> +++ b/drivers/gpu/drm/i915/intel_pm.c
>>>>>> @@ -4715,24 +4715,6 @@ static int cherryview_rps_guar_freq(struct drm_i915_private *dev_priv)
>>>>>> return rp1;
>>>>>> }
>>>>>>
>>>>>> -static int cherryview_rps_min_freq(struct drm_i915_private *dev_priv)
>>>>>> -{
>>>>>> - struct drm_device *dev = dev_priv->dev;
>>>>>> - u32 val, rpn;
>>>>>> -
>>>>>> - if (dev->pdev->revision >= 0x20) {
>>>>>> - val = vlv_punit_read(dev_priv, FB_GFX_FMIN_AT_VMIN_FUSE);
>>>>>> - rpn = ((val >> FB_GFX_FMIN_AT_VMIN_FUSE_SHIFT) &
>>>>>> - FB_GFX_FREQ_FUSE_MASK);
>>>>>> - } else { /* For pre-production hardware */
>>>>>> - val = vlv_punit_read(dev_priv, PUNIT_GPU_STATUS_REG);
>>>>>> - rpn = ((val >> PUNIT_GPU_STATIS_GFX_MIN_FREQ_SHIFT) &
>>>>>> - PUNIT_GPU_STATUS_GFX_MIN_FREQ_MASK);
>>>>>> - }
>>>>>> -
>>>>>> - return rpn;
>>>>>> -}
>>>>>> -
>>>>>> static int valleyview_rps_guar_freq(struct drm_i915_private *dev_priv)
>>>>>> {
>>>>>> u32 val, rp1;
>>>>>> @@ -4984,7 +4966,8 @@ static void cherryview_init_gt_powersave(struct drm_device *dev)
>>>>>> intel_gpu_freq(dev_priv, dev_priv->rps.rp1_freq),
>>>>>> dev_priv->rps.rp1_freq);
>>>>>>
>>>>>> - dev_priv->rps.min_freq = cherryview_rps_min_freq(dev_priv);
>>>>>> + /* PUnit validated range is only [RPe, RP0] */
>>>>>> + dev_priv->rps.min_freq = dev_priv->rps.efficient_freq;
>>>>>> DRM_DEBUG_DRIVER("min GPU freq: %d MHz (%u)\n",
>>>>>> intel_gpu_freq(dev_priv, dev_priv->rps.min_freq),
>>>>>> dev_priv->rps.min_freq);
>>>>>> --
>>>>>> 1.9.1
>>>>> --
>>>>> Ville Syrjälä
>>>>> Intel OTC
>>>>> _______________________________________________
>>>>> Intel-gfx mailing list
>>>>> Intel-gfx@lists.freedesktop.org
>>>>> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>> --
>> Ville Syrjälä
>> Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-05-02 7:30 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-28 9:53 [PATCH v3 0/5] CHV PM fix & Improvements deepak.s
2015-03-28 9:53 ` [PATCH v3 1/5] drm/i915/chv: Remove Wait for a previous gfx force-off deepak.s
2015-03-30 10:07 ` Ville Syrjälä
2015-03-30 14:32 ` Deepak S
2015-03-30 15:41 ` Daniel Vetter
2015-03-28 9:53 ` [PATCH v3 2/5] drm/i915: Re-adjusting rc6 promotional timer for chv deepak.s
2015-04-16 15:26 ` Daniel Vetter
2015-03-28 9:53 ` [PATCH v3 3/5] drm/i915/chv: Set min freq to efficient frequency on chv deepak.s
2015-04-29 2:53 ` [PATCH v4] " deepak.s
2015-04-29 15:31 ` Ville Syrjälä
2015-04-29 19:53 ` Ville Syrjälä
2015-04-30 10:12 ` Deepak S
2015-04-30 11:19 ` Ville Syrjälä
2015-04-30 14:05 ` Ville Syrjälä
2015-05-02 7:26 ` Deepak S [this message]
2015-04-30 2:42 ` shuang.he
2015-05-04 8:04 ` Daniel Vetter
2015-03-28 9:53 ` [PATCH v3 4/5] drm/i915/chv: Remove unused rps min function deepak.s
2015-03-28 9:53 ` [PATCH v3 5/5] drm/i915: Setup static bias for GPU deepak.s
2015-03-28 12:20 ` shuang.he
2015-03-30 9:56 ` Ville Syrjälä
2015-04-29 2:51 ` [PATCH v2] " deepak.s
2015-04-29 3:06 ` [PATCH v3] " deepak.s
2015-04-29 9:29 ` Ville Syrjälä
2015-05-04 5:28 ` Deepak S
2015-05-04 8:12 ` Daniel Vetter
2015-05-04 15:28 ` Ville Syrjälä
2015-05-05 7:42 ` Deepak S
2015-05-06 9:02 ` Daniel Vetter
2015-05-08 15:06 ` Deepak S
2015-04-30 6:56 ` shuang.he
2015-04-29 23:00 ` [PATCH v2] " shuang.he
-- strict thread matches above, loose matches on Subject: below --
2015-05-08 15:13 [PATCH v2 1/2] drm/i915/vlv: Remove wait for for punit to updates freq deepak.s
2015-05-08 15:13 ` [PATCH v4] drm/i915/chv: Set min freq to efficient frequency on chv deepak.s
2015-05-08 15:24 ` shuang.he
2015-05-08 16:39 ` Ville Syrjälä
2015-05-09 5:34 ` Deepak S
2015-05-09 12:45 ` deepak.s
2015-05-11 10:23 ` Daniel Vetter
2015-05-11 11:06 ` Ville Syrjälä
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=55447C2B.5050206@linux.intel.com \
--to=deepak.s@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=ville.syrjala@linux.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