From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 41/71] drm/i915/chv: Add some workaround notes Date: Mon, 28 Apr 2014 14:25:58 +0300 Message-ID: <20140428112558.GZ18465@intel.com> References: <1397039349-10639-1-git-send-email-ville.syrjala@linux.intel.com> <1397039349-10639-42-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Received: from mga03.intel.com (mga03.intel.com [143.182.124.21]) by gabe.freedesktop.org (Postfix) with ESMTP id 55EA16E814 for ; Mon, 28 Apr 2014 04:26:04 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Paulo Zanoni Cc: Intel Graphics Development List-Id: intel-gfx@lists.freedesktop.org On Fri, Apr 25, 2014 at 05:43:55PM -0300, Paulo Zanoni wrote: > 2014-04-09 7:28 GMT-03:00 : > > From: Ville Syrj=E4l=E4 > > > > We implement the following workarounds: > > * WaDisableAsyncFlipPerfMode:chv > > * WaDisableSemaphoreAndSyncFlipWait:chv (at least partially) > = > In the rebased version (on your gitorious tree, chv_rebase branch), > the chunk for this WA got removed. I don't know if this was an > accident or not. We need to, at least, fix the commit message. Yeah I misread the spec and though that the idle msg disable bit is there for all rings. But after rechecking I noticed that it was only valid for the render ring. I'll resend this patch with the WaDisableSemaphoreAndSyncFlipWait comment dropped. > = > = > > * WaProgramMiArbOnOffAroundMiSetContext:chv > > > > Signed-off-by: Ville Syrj=E4l=E4 > > --- > > drivers/gpu/drm/i915/i915_gem.c | 1 + > > drivers/gpu/drm/i915/i915_gem_context.c | 2 +- > > drivers/gpu/drm/i915/intel_ringbuffer.c | 2 +- > > 3 files changed, 3 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i91= 5_gem.c > > index 84a7171..a9c33ec 100644 > > --- a/drivers/gpu/drm/i915/i915_gem.c > > +++ b/drivers/gpu/drm/i915/i915_gem.c > > @@ -4376,6 +4376,7 @@ static int i915_gem_init_rings(struct drm_device = *dev) > > struct intel_ring_buffer *ring; > > int i; > > > > + /* WaDisableSemaphoreAndSyncFlipWait:chv */ > > for_each_ring(ring, dev_priv, i) > > I915_WRITE(RING_RC_PSMI_CONTROL(ring), > > _MASKED_BIT_ENABLE(GEN8_RC_SEMA_IDLE= _MSG_DISABLE)); > > diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/= i915/i915_gem_context.c > > index 28a2b15..142df90 100644 > > --- a/drivers/gpu/drm/i915/i915_gem_context.c > > +++ b/drivers/gpu/drm/i915/i915_gem_context.c > > @@ -606,7 +606,7 @@ mi_set_context(struct intel_ring_buffer *ring, > > if (ret) > > return ret; > > > > - /* WaProgramMiArbOnOffAroundMiSetContext:ivb,vlv,hsw,bdw */ > > + /* WaProgramMiArbOnOffAroundMiSetContext:ivb,vlv,hsw,bdw,chv */ > = > Do we really need this WA for BDW and CHV? I couldn't find them on my > docs for gen8... It's listed in bspec. > = > Thanks, > Paulo > = > = > > if (INTEL_INFO(ring->dev)->gen >=3D 7) > > intel_ring_emit(ring, MI_ARB_ON_OFF | MI_ARB_DISABLE); > > else > > diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/= i915/intel_ringbuffer.c > > index 913b8ab..24022c5 100644 > > --- a/drivers/gpu/drm/i915/intel_ringbuffer.c > > +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c > > @@ -581,7 +581,7 @@ static int init_render_ring(struct intel_ring_buffe= r *ring) > > * to use MI_WAIT_FOR_EVENT within the CS. It should already be > > * programmed to '1' on all products. > > * > > - * WaDisableAsyncFlipPerfMode:snb,ivb,hsw,vlv,bdw > > + * WaDisableAsyncFlipPerfMode:snb,ivb,hsw,vlv,bdw,chv > > */ > > if (INTEL_INFO(dev)->gen >=3D 6) > > I915_WRITE(MI_MODE, _MASKED_BIT_ENABLE(ASYNC_FLIP_PERF_= DISABLE)); > > -- > > 1.8.3.2 > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx > = > = > = > -- = > Paulo Zanoni -- = Ville Syrj=E4l=E4 Intel OTC