From: Ben Widawsky <ben@bwidawsk.net>
To: Paulo Zanoni <przanoni@gmail.com>
Cc: Intel GFX <intel-gfx@lists.freedesktop.org>,
Art Runyan <arthur.j.runyan@intel.com>,
Ben Widawsky <benjamin.widawsky@intel.com>
Subject: Re: [PATCH 3/4] drm/i915: WaFbcDisableDpfcrClockGating only with fbc
Date: Mon, 28 Oct 2013 09:56:27 -0700 [thread overview]
Message-ID: <20131028165626.GC3174@bwidawsk.net> (raw)
In-Reply-To: <CA+gsUGT0BzVH0zAHcUDf2eTy5icHsvBE9ZCgqAbcuOijK4WG4w@mail.gmail.com>
On Fri, Oct 25, 2013 at 03:14:50PM -0200, Paulo Zanoni wrote:
> 2013/10/24 Ben Widawsky <benjamin.widawsky@intel.com>:
> > We were turning this on for ILK regardless of whether or not we use FBC.
> > We can save the slightest amount of power if we don't disable it when
> > not using FBC.
>
> Finally someone did what I requested months ago:
> http://lists.freedesktop.org/archives/intel-gfx/2013-June/028906.html
> :)
>
>
> >
> > The workaround should be bit 8 for ILK. Notice it is 1 bit difference
> > from SNB. This is actually DPFCR unit as we've defined it.
>
> Ok, so we have bits 8 and 9. Judging by the register names, I would
> say bit 9 is WaFbcDisableDpfcClockGating (without 'r') and bit 8 is
> the ironlake-only WaFbcDisableDpfcrClockGating. Is that right?
Actually from what I remember in the database (not looking currently),
the workaround names are the same, but maybe my eyes missed the 'R'. I
differentiated it with the 'R' so that anyone who was reviewing it
didn't go insane.
>
>
> >
> > Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
> > ---
> > drivers/gpu/drm/i915/intel_pm.c | 15 +++++++++++++--
> > 1 file changed, 13 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> > index 686699c..bbcf100 100644
> > --- a/drivers/gpu/drm/i915/intel_pm.c
> > +++ b/drivers/gpu/drm/i915/intel_pm.c
> > @@ -238,6 +238,11 @@ static void ironlake_enable_fbc(struct drm_crtc *crtc, unsigned long interval)
> > SNB_CPU_FENCE_ENABLE | obj->fence_reg);
> > I915_WRITE(DPFC_CPU_FENCE_OFFSET, crtc->y);
> > sandybridge_blit_fbc_update(dev);
> > + } else {
> > + /* WaFbcDisableDpfcClockGating:ilk */
>
> If you agree with me on the question above, then the WA name here is
> missing an 'r' char.
I guess I have to go back to the database now to check. I don't have the
bookmark anywhere on my machines here.
>
>
> > + I915_WRITE(ILK_DSPCLK_GATE_D,
> > + I915_READ(ILK_DSPCLK_GATE_D) |
> > + ILK_DPFCRUNIT_CLOCK_GATE_DISABLE);
> > }
> >
> > DRM_DEBUG_KMS("enabled fbc on plane %c\n", plane_name(intel_crtc->plane));
> > @@ -254,6 +259,12 @@ static void ironlake_disable_fbc(struct drm_device *dev)
> > dpfc_ctl &= ~DPFC_CTL_EN;
> > I915_WRITE(ILK_DPFC_CONTROL, dpfc_ctl);
> >
> > + if (IS_GEN5(dev))
> > + /* WaFbcDisableDpfcClockGating:ilk */
>
> Same here.
>
>
> > + I915_WRITE(ILK_DSPCLK_GATE_D,
> > + I915_READ(ILK_DSPCLK_GATE_D) &
> > + ~ILK_DPFCRUNIT_CLOCK_GATE_DISABLE);
> > +
> > DRM_DEBUG_KMS("disabled FBC\n");
> > }
> > }
> > @@ -4932,9 +4943,9 @@ static void ironlake_init_clock_gating(struct drm_device *dev)
> >
> > /*
> > * Required for FBC
> > - * WaFbcDisableDpfcClockGating:ilk
> > + * WaFbcDisableDpfcClockGating:snb
>
> The ":snb" part is certainly wrong since this function doesn't run on SNB.
>
> The actual code (excluding comments) looks correct.
>
Oops, thanks. The diff should just remove the line completely.
>
> > */
> > - dspclk_gate |= ILK_DPFCRUNIT_CLOCK_GATE_DISABLE |
> > + dspclk_gate |=
> > ILK_DPFCUNIT_CLOCK_GATE_DISABLE |
> > ILK_DPFDUNIT_CLOCK_GATE_ENABLE;
> >
> > --
> > 1.8.4.1
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
>
>
> --
> Paulo Zanoni
--
Ben Widawsky, Intel Open Source Technology Center
next prev parent reply other threads:[~2013-10-28 16:56 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-24 16:59 [PATCH 1/4] drm/i915: Remove WaFbcDisableDpfcClockGating on IVB Ben Widawsky
2013-10-24 16:59 ` [PATCH 2/4] drm/i915: Remove WaFbcDisableDpfcClockGating on HSW Ben Widawsky
2013-10-25 17:27 ` Paulo Zanoni
2013-10-27 13:44 ` Daniel Vetter
2013-10-28 12:22 ` Paulo Zanoni
2013-10-28 13:05 ` Ville Syrjälä
2013-10-28 16:48 ` Ben Widawsky
2013-10-28 17:43 ` Ville Syrjälä
2013-10-28 20:24 ` Ben Widawsky
2013-10-28 16:12 ` Daniel Vetter
2013-10-24 16:59 ` [PATCH 3/4] drm/i915: WaFbcDisableDpfcrClockGating only with fbc Ben Widawsky
2013-10-25 17:14 ` Paulo Zanoni
2013-10-28 16:56 ` Ben Widawsky [this message]
2013-10-24 16:59 ` [PATCH 4/4] drm/i915: WaFbcDisableDpfcClockGating " Ben Widawsky
2013-10-25 17:24 ` Paulo Zanoni
2013-10-28 17:08 ` Ben Widawsky
2013-10-25 17:27 ` [PATCH 1/4] drm/i915: Remove WaFbcDisableDpfcClockGating on IVB Paulo Zanoni
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=20131028165626.GC3174@bwidawsk.net \
--to=ben@bwidawsk.net \
--cc=arthur.j.runyan@intel.com \
--cc=benjamin.widawsky@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=przanoni@gmail.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 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.