public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
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

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox