All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Widawsky <benjamin.widawsky@intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
	Intel GFX <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 07/12] drm/i915/bdw: Set initial rps freq to RP0
Date: Sat, 22 Mar 2014 11:42:17 -0700	[thread overview]
Message-ID: <20140322184217.GB25681@intel.com> (raw)
In-Reply-To: <20140320072438.GE4890@nuc-i3427.alporthouse.com>

On Thu, Mar 20, 2014 at 07:24:38AM +0000, Chris Wilson wrote:
> On Wed, Mar 19, 2014 at 06:31:14PM -0700, Ben Widawsky wrote:
> > Programming it outside of the rp0-rp1 range is considered a programming
> > error. Since we do not know that the previous value would actually be in
> > the range, program something we've read from the hardware, and therefore
> > know will work.
> > 
> > This is potentially an issue for platforms whose ranges are outside the
> > norms given in the programming guide (ie. early silicon)
> > 
> > v2: Use RP1 instead of RPn
> > 
> > Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
> 
> Do you have a reference for GEN6_RC_VIDEO_FREQ? I still have no idea
> what that controls, nor its valid range.
> -Chris
> 

I have no reference for the video freq other than the brief mention in
the programming guide, and know nothing more than you do about it. It's
there because the original spec I had said to program it to 600MHz. The
reason for /this/ patch was that I noticed the default values happened
to be a *really* close to our max freq. and figured someone, somewhere
might get a part whose lower, or upper bound precludes setting the
constant provided in the programming guide.

Interestingly, the programming guide has been updated since I originally
wrote this patch to clearly indicate both of these registers need to be
programmed between Rp1-Rp0. So I guess that means that Rp1-Rp0 is the
valid range. Therefore, I think we should either proceed with this
patch, or create a new patch to avoid writing it at all. The current
code seems like the worst solution of all.

If you want to argue we can drop the write to GEN6_RPNSWREQ since we do
the correct thing after step 6:
gen6_set_rps(dev, (I915_READ(GEN6_GT_PERF_STATUS) & 0xff00) >> 8);

I wouldn't be too opposed. I was just trying to follow the spec as
closely as possible, and it says to write the register value in this
sequence, so I did.

-- 
Ben Widawsky, Intel Open Source Technology Center

  reply	other threads:[~2014-03-22 18:42 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-29  4:25 [PATCH 0/9] Broadwel RC6 & RPS Ben Widawsky
2014-01-29  4:25 ` [PATCH 1/9] drm/i915: Clarify RC6 enabling Ben Widawsky
2014-02-06 13:38   ` Rodrigo Vivi
     [not found]   ` <CAOh5HuUmDmAC9Nuu3DWYO2kU+Q5kyHyxSmF4rjADaY1iY6=RaQ@mail.gmail.com>
2014-02-07  5:30     ` S, Deepak
2014-02-18  3:01   ` [PATCH 00/11] [v2] BDW RPS + RC6 + rps fixlets Ben Widawsky
2014-02-18  3:01     ` [PATCH 01/11] drm/i915: Reorganize the overclock code Ben Widawsky
2014-02-18  3:01     ` [PATCH 02/11] drm/i915: Fix coding style for RPS Ben Widawsky
2014-02-18  3:01     ` [PATCH 03/11] drm/i915: Rename and comment all the RPS *stuff* Ben Widawsky
2014-02-18 19:03       ` [PATCH 03/11] [v2] " Ben Widawsky
2014-02-22 13:37       ` [PATCH 03/11] " Chris Wilson
2014-02-22 19:34         ` Ben Widawsky
2014-02-22 19:37           ` Chris Wilson
2014-02-22 19:40             ` Ben Widawsky
2014-02-22 20:08               ` Chris Wilson
2014-02-25  0:54                 ` Ben Widawsky
2014-02-22 19:38           ` Ben Widawsky
2014-02-22 20:14             ` Chris Wilson
2014-03-19  1:27         ` Ben Widawsky
2014-03-19  2:38           ` Ben Widawsky
2014-03-19  6:49             ` Chris Wilson
2014-02-18  3:01     ` [PATCH 04/11] drm/i915: Remove extraneous MMIO for RPS Ben Widawsky
2014-02-18  3:01     ` [PATCH 05/11] drm/i915: remove rps local variables Ben Widawsky
2014-02-18  3:01     ` [PATCH 06/11] drm/i915/bdw: Set initial rps freq to nominal Ben Widawsky
2014-02-18  3:01     ` [PATCH 07/11] drm/i915/bdw: Extract rp_state_caps logic Ben Widawsky
2014-02-18  3:01     ` [PATCH 08/11] drm/i915/bdw: RPS frequency bits are the same as HSW Ben Widawsky
2014-02-18  3:01     ` [PATCH 09/11] drm/i915/bdw: Implement a basic PM interrupt handler Ben Widawsky
2014-02-18  3:01     ` [PATCH 10/11] drm/i915/bdw: Enable RC6 Ben Widawsky
2014-02-18  3:01     ` [PATCH 11/11] drm/i915/bdw: Ensure a context is loaded before RC6 Ben Widawsky
2014-02-18  3:03       ` [PATCH 11/11] [v2] " Ben Widawsky
2014-02-18  3:56         ` [PATCH 11/11] [v3] " Ben Widawsky
2014-02-20  6:27           ` [PATCH 11/11] [v4] " Ben Widawsky
2014-03-04 14:30             ` Daniel Vetter
2014-03-20  0:41               ` Ben Widawsky
2014-03-20 13:42                 ` Daniel Vetter
2014-03-20 17:30                   ` Jesse Barnes
2014-03-20 20:12                     ` Jesse Barnes
2014-03-20  1:31     ` [PATCH 00/12] [v3] BDW RPS + RC6 + rps fixlets Ben Widawsky
2014-03-20  1:31       ` [PATCH 01/12] drm/i915: Reorganize the overclock code Ben Widawsky
2014-03-20  7:23         ` Chris Wilson
2014-03-20  1:31       ` [PATCH 02/12] drm/i915: Fix coding style for RPS Ben Widawsky
2014-03-20  7:31         ` Chris Wilson
2014-03-24 10:30         ` Deepak S
2014-03-20  1:31       ` [PATCH 03/12] drm/i915: Store the HW min frequency as min_freq Ben Widawsky
2014-03-20  7:29         ` Chris Wilson
2014-03-24 10:31         ` Deepak S
2014-03-20  1:31       ` [PATCH 04/12] drm/i915: Rename and comment all the RPS *stuff* Ben Widawsky
2014-03-20  7:01         ` Chris Wilson
2014-03-20  1:31       ` [PATCH 05/12] drm/i915: Remove extraneous MMIO for RPS Ben Widawsky
2014-03-20  7:30         ` Chris Wilson
2014-03-20  1:31       ` [PATCH 06/12] drm/i915: remove rps local variables Ben Widawsky
2014-03-20  7:30         ` Chris Wilson
2014-03-20 13:46           ` Daniel Vetter
2014-03-20  1:31       ` [PATCH 07/12] drm/i915/bdw: Set initial rps freq to RP0 Ben Widawsky
2014-03-20  7:24         ` Chris Wilson
2014-03-22 18:42           ` Ben Widawsky [this message]
2014-03-22 21:06             ` Chris Wilson
2014-03-24 19:27               ` Ben Widawsky
2014-03-20  1:31       ` [PATCH 08/12] drm/i915/bdw: Extract rp_state_caps logic Ben Widawsky
2014-03-20  7:28         ` Chris Wilson
2014-03-22 18:46           ` Ben Widawsky
2014-03-20  1:31       ` [PATCH 09/12] drm/i915/bdw: RPS frequency bits are the same as HSW Ben Widawsky
2014-03-20  1:31       ` [PATCH 10/12] drm/i915/bdw: Implement a basic PM interrupt handler Ben Widawsky
2014-03-24 19:30         ` Ben Widawsky
2014-03-20  1:31       ` [PATCH 11/12] drm/i915/bdw: Ensure a context is loaded before RC6 Ben Widawsky
2014-03-20  7:35         ` Chris Wilson
2014-03-20  1:31       ` [PATCH 12/12] drm/i915/bdw: Enable RC6 Ben Widawsky
2014-03-24 10:27         ` Deepak S
2014-01-29  4:25 ` [PATCH 2/9] drm/i915: Stop pretending VLV has rc6+ Ben Widawsky
2014-02-06 13:39   ` Rodrigo Vivi
     [not found]   ` <CAOh5HuXxFqRixpPSeOpi=1t2sL=sVfmjdMR445dEQBozg1Z43w@mail.gmail.com>
2014-02-07  5:42     ` S, Deepak
2014-01-29  4:25 ` [PATCH 3/9] drm/i915: Just print rc6 facts Ben Widawsky
2014-02-06 13:41   ` Rodrigo Vivi
     [not found]   ` <CAOh5HuW+_5n=zfDSf_F1aT+v7xzdm_GwUxKC5t8g6_LVCX6X_g@mail.gmail.com>
2014-02-07  5:44     ` S, Deepak
2014-01-29  4:25 ` [PATCH 4/9] drm/i915/bdw: Use centralized rc6 info print Ben Widawsky
2014-02-06 13:42   ` Rodrigo Vivi
2014-02-11 16:12     ` Daniel Vetter
2014-02-14 20:34       ` Ben Widawsky
2014-02-14 20:41         ` Chris Wilson
2014-02-17 19:41           ` Ben Widawsky
     [not found]   ` <CAOh5HuVu0vvQNFKt2FhVf9CrXQa47WAfaqWP2EHp=mBMgExTkQ@mail.gmail.com>
2014-02-07  5:46     ` S, Deepak
2014-01-29  4:25 ` [PATCH 5/9] drm/i915/bdw: Extract rp_state_caps logic Ben Widawsky
2014-01-29  4:25 ` [PATCH 5/9] drm/i915/bdw: Set rp_state_caps Ben Widawsky
2014-02-06 13:45   ` Rodrigo Vivi
     [not found]   ` <CAOh5HuUqCUM-2-yxCbPcCZ53yTxN+8Q5+syiAXqa86Vp47T70A@mail.gmail.com>
2014-02-07  6:10     ` S, Deepak
2014-01-29  4:25 ` [PATCH 6/9] drm/i915/bdw: Set initial rps freq to nominal Ben Widawsky
2014-01-29  4:25 ` [PATCH 7/9] drm/i915/bdw: RPS frequency bits are the same as HSW Ben Widawsky
2014-02-06 13:52   ` Rodrigo Vivi
     [not found]   ` <CAOh5HuU8bnYppf7D5k39QuuDkbHCUVznuVHzvd2dW1mDN0GpBA@mail.gmail.com>
2014-02-07  6:25     ` S, Deepak
2014-01-29  4:25 ` [PATCH 8/9] drm/i915/bdw: Implement a basic PM interrupt handler Ben Widawsky
2014-02-06 14:15   ` Rodrigo Vivi
2014-02-17 20:01     ` Ben Widawsky
     [not found]   ` <CAOh5HuXYmUmGM2tDGO6KCT9Q1V6znbAwQf5OoC27++078bvfRg@mail.gmail.com>
2014-02-07  6:43     ` S, Deepak
2014-01-29  4:25 ` [PATCH 9/9] drm/i915/bdw: Enable RC6 Ben Widawsky
2014-02-06 13:54   ` Rodrigo Vivi
2014-02-17 20:04     ` Ben Widawsky
2014-02-17 20:07       ` Ben Widawsky
     [not found]   ` <CAOh5HuW-f4xdojasEP3wkSoVH3W1NJNdPACafgnPfVujFe4fjw@mail.gmail.com>
2014-02-07  6:47     ` S, Deepak

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=20140322184217.GB25681@intel.com \
    --to=benjamin.widawsky@intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.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.