From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Cc: intel-gfx <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 08/28] drm/i915: Fix IVB GT2 WaDisableDopClockGating and WaDisablePSDDualDispatchEnable
Date: Fri, 31 Jan 2014 11:28:12 +0200 [thread overview]
Message-ID: <20140131092812.GV9454@intel.com> (raw)
In-Reply-To: <CABVU7+vd=RWK-hOr8F6gt23dbtco2Ox7f3h74HUvLV60s0w4sg@mail.gmail.com>
On Tue, Jan 28, 2014 at 10:06:05AM -0200, Rodrigo Vivi wrote:
> I agree that spec is strange, but following the spec correctly result
> for this and next patch would be only this:
>
> if (IS_IVB_GT1(dev))
> I915_WRITE(GEN7_HALF_SLICE_CHICKEN1,
> _MASKED_BIT_ENABLE(GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE));
> - else
> I915_WRITE(GEN7_HALF_SLICE_CHICKEN1_GT2,
> _MASKED_BIT_ENABLE(GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE));
> }
That would match what the w/a database says. But bspec says otherwise.
But anyway Chris confirmed on his GT1 that GEN7_HALF_SLICE_CHICKEN1_GT2
doesn't exist there, so I think these patches are correct.
>
> On Fri, Jan 24, 2014 at 3:58 PM, Ville Syrjälä
> <ville.syrjala@linux.intel.com> wrote:
> > On Fri, Jan 24, 2014 at 03:32:08PM -0200, Rodrigo Vivi wrote:
> >> Your patch itself makes sense, but the registers values there are at i915_reg.h
> >> differs from what I see at BSpec:
> >>
> >> #define GEN7_ROW_CHICKEN2 0xe4f4
> >> #define GEN7_ROW_CHICKEN2_GT2 0xf4f4
> >>
> >> against
> >> Address: 0E4F0h
> >> Valid Projects: [DevIVB, EXCLUDE(DevIVB:GT2)]
> >> Address: 0F4F0h
> >> Valid Projects: [DevIVB:GT2]
> >
> > ROW_CHICKEN vs. ROW_CHICKEN2
> >
> >>
> >> Also, I couldn't see the wa description at wa_database...
> >> description was empty for me..
> >
> > Which one? WaDisableDopClockGating? It's not in the list for IVB,
> > so in order to see it you need to pick another platform which
> > includes this w/a.
> >
> >>
> >> On Wed, Jan 22, 2014 at 5:32 PM, <ville.syrjala@linux.intel.com> wrote:
> >> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >> >
> >> > IVB GT2 has two registers for these things, and both must be written.
> >> >
> >> > To add a bit more confusion both Bspec and the W/A database state that
> >> > WaDisablePSDDualDispatchEnable is only needed for IVB GT1, but the W/A
> >> > database also says to write even the second GT2 only register. So I
> >> > don't really know what the right thing here is.
> >> >
> >> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >> > ---
> >> > drivers/gpu/drm/i915/intel_pm.c | 13 ++++++++++---
> >> > 1 file changed, 10 insertions(+), 3 deletions(-)
> >> >
> >> > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> >> > index 6a1d98a..b268a55 100644
> >> > --- a/drivers/gpu/drm/i915/intel_pm.c
> >> > +++ b/drivers/gpu/drm/i915/intel_pm.c
> >> > @@ -4828,9 +4828,13 @@ static void ivybridge_init_clock_gating(struct drm_device *dev)
> >> > if (IS_IVB_GT1(dev))
> >> > I915_WRITE(GEN7_HALF_SLICE_CHICKEN1,
> >> > _MASKED_BIT_ENABLE(GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE));
> >> > - else
> >> > + else {
> >> > + /* must write both registers */
> >> > + I915_WRITE(GEN7_HALF_SLICE_CHICKEN1,
> >> > + _MASKED_BIT_ENABLE(GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE));
> >> > I915_WRITE(GEN7_HALF_SLICE_CHICKEN1_GT2,
> >> > _MASKED_BIT_ENABLE(GEN7_PSD_SINGLE_PORT_DISPATCH_ENABLE));
> >> > + }
> >> >
> >> > /* Apply the WaDisableRHWOOptimizationForRenderHang:ivb workaround. */
> >> > I915_WRITE(GEN7_COMMON_SLICE_CHICKEN1,
> >> > @@ -4846,10 +4850,13 @@ static void ivybridge_init_clock_gating(struct drm_device *dev)
> >> > if (IS_IVB_GT1(dev))
> >> > I915_WRITE(GEN7_ROW_CHICKEN2,
> >> > _MASKED_BIT_ENABLE(DOP_CLOCK_GATING_DISABLE));
> >> > - else
> >> > + else {
> >> > + /* must write both registers */
> >> > + I915_WRITE(GEN7_ROW_CHICKEN2,
> >> > + _MASKED_BIT_ENABLE(DOP_CLOCK_GATING_DISABLE));
> >> > I915_WRITE(GEN7_ROW_CHICKEN2_GT2,
> >> > _MASKED_BIT_ENABLE(DOP_CLOCK_GATING_DISABLE));
> >> > -
> >> > + }
> >> >
> >> > /* WaForceL3Serialization:ivb */
> >> > I915_WRITE(GEN7_L3SQCREG4, I915_READ(GEN7_L3SQCREG4) &
> >> > --
> >> > 1.8.3.2
> >> >
> >> > _______________________________________________
> >> > Intel-gfx mailing list
> >> > Intel-gfx@lists.freedesktop.org
> >> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >>
> >>
> >>
> >> --
> >> Rodrigo Vivi
> >> Blog: http://blog.vivi.eng.br
> >
> > --
> > Ville Syrjälä
> > Intel OTC
>
>
>
> --
> Rodrigo Vivi
> Blog: http://blog.vivi.eng.br
--
Ville Syrjälä
Intel OTC
next prev parent reply other threads:[~2014-01-31 9:28 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-22 19:32 [PATCH 00/28] drm/i915: Lots of workaround changes (resurrected) ville.syrjala
2014-01-22 19:32 ` [PATCH 01/28] drm/i915: We implement WaDisableL3Bank2xClockGate:vlv ville.syrjala
2014-01-23 20:10 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 02/28] drm/i915: We implement WaEnableVGAAccessThroughIOPort:ctg, elk, ilk, snb, ivb, vlv, hsw ville.syrjala
2014-01-23 20:10 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 03/28] drm/i915: WaPsdDispatchEnable seems to be another name for WaDisablePSDDualDispatchEnable ville.syrjala
2014-01-23 20:10 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 04/28] drm/i915: We implement WaDisableL3CacheAging:vlv ville.syrjala
2014-01-23 20:25 ` Rodrigo Vivi
2014-01-23 20:32 ` Ville Syrjälä
2014-01-24 11:19 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 05/28] drm/i915: We implement WaDisableDopClockGating:ivb ville.syrjala
2014-01-22 19:32 ` [PATCH 06/28] drm/i915: We implement WaDisableRCCUnitClockGating:snb ville.syrjala
2014-01-24 17:30 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 07/28] drm/i915: We implement WaMiSetContext_Hang ville.syrjala
2014-01-24 17:30 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 08/28] drm/i915: Fix IVB GT2 WaDisableDopClockGating and WaDisablePSDDualDispatchEnable ville.syrjala
2014-01-24 17:32 ` Rodrigo Vivi
2014-01-24 17:58 ` Ville Syrjälä
2014-01-28 12:06 ` Rodrigo Vivi
2014-01-31 9:28 ` Ville Syrjälä [this message]
2014-01-31 13:05 ` Rodrigo Vivi
2014-02-04 10:44 ` Daniel Vetter
2014-01-22 19:32 ` [PATCH 09/28] drm/i915: Drop WaDisablePSDDualDispatchEnable:ivb for IVB GT2 ville.syrjala
2014-01-31 13:07 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 10/28] drm/i915: Implement WaIncreaseL3CreditsForVLVB0:vlv ville.syrjala
2014-01-28 12:11 ` Rodrigo Vivi
2014-01-28 12:39 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 11/28] drm/i915: WaDisableVDSUnitClockGating isn't applicable to SNB ville.syrjala
2014-01-28 12:13 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 12/28] drm/i915: WaDisableRCCUnitClockGating isn't applicable to IVB ville.syrjala
2014-01-28 12:18 ` Rodrigo Vivi
2014-01-28 12:29 ` Ville Syrjälä
2014-01-28 12:32 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 13/28] drm/i915: WaDisableRCCUnitClockGating isn't applicaple to VLV ville.syrjala
2014-01-28 12:33 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 14/28] drm/i915: WaDisableRHWOOptimizationForRenderHang isn't applicable to HSW ville.syrjala
2014-01-28 12:21 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 15/28] drm/i915: WaDisableRHWOOptimizationForRenderHang isn't applicable to VLV ville.syrjala
2014-01-28 12:21 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 16/28] drm/i915: WaApplyL3ControlAndL3ChickenMode isn't applicable for VLV ville.syrjala
2014-01-24 11:18 ` Rodrigo Vivi
2014-01-28 13:24 ` Daniel Vetter
2014-01-28 14:13 ` Ville Syrjälä
2014-01-28 15:32 ` Daniel Vetter
2014-01-22 19:32 ` [PATCH 17/28] drm/i915: Drop bogus comment about RCPB unit clock gating on IVB ville.syrjala
2014-01-28 12:24 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 18/28] drm/i915: Drop WaDisableRCZUnitClockGating:hsw ville.syrjala
2014-01-28 12:26 ` Rodrigo Vivi
2014-01-28 13:29 ` Daniel Vetter
2014-01-22 19:32 ` [PATCH 19/28] drm/i915: Drop WaApplyL3ControlAndL3ChickenMode:hsw ville.syrjala
2014-01-28 12:27 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 20/28] drm/i915: Drop WaDisableRCPBUnitClockGating:vlv ville.syrjala
2014-01-28 12:31 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 21/28] drm/i915: Drop WaDisableVDSUtnitClockGating:vlv ville.syrjala
2014-01-29 13:00 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 22/28] drm/i915: Drop WaDisableTDLUnitClockGating:vlv ville.syrjala
2014-01-29 13:01 ` Rodrigo Vivi
2014-01-22 19:32 ` [PATCH 23/28] drm/i915: gen7_setup_fixed_func_scheduler() actually implements WaVSThreadDispatchOverride ville.syrjala
2014-01-29 13:03 ` Rodrigo Vivi
2014-01-22 19:33 ` [PATCH 24/28] drm/i915: Don't apply WaVSThreadDispatchOverride on HSW ville.syrjala
2014-01-29 13:06 ` Rodrigo Vivi
2014-01-22 19:33 ` [PATCH 25/28] drm/i915: VLV wants WaVSThreadDispatchOverride too ville.syrjala
2014-01-29 13:06 ` Rodrigo Vivi
2014-01-22 19:33 ` [PATCH 26/28] drm/i915: WaDisableDopClockGating isn't applicable to IVB ville.syrjala
2014-01-24 16:43 ` Rodrigo Vivi
2014-01-22 19:33 ` [PATCH 27/28] drm/i915: Clarify WaDisable4x2SubspanOptimization situation for VLV ville.syrjala
2014-01-29 13:09 ` Rodrigo Vivi
2014-01-22 19:33 ` [PATCH 28/28] Revert "drm/i915: set conservative clock gating values on VLV v2" ville.syrjala
2014-01-29 13:11 ` Rodrigo Vivi
2014-01-29 19:17 ` Daniel Vetter
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=20140131092812.GV9454@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=rodrigo.vivi@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.