* [PATCH 0/2] gen 9 h/w w/a cleanup
@ 2015-02-06 11:30 Nick Hoath
2015-02-06 11:30 ` [PATCH 1/2] drm/i915: gen 9 h/w w/a Fix stepping check Nick Hoath
2015-02-06 11:30 ` [PATCH 2/2] drm/i915: gen 9 h/w w/a (WaEnableForceRestoreInCtxtDescForVCS) Nick Hoath
0 siblings, 2 replies; 7+ messages in thread
From: Nick Hoath @ 2015-02-06 11:30 UTC (permalink / raw)
To: intel-gfx
Fix stepping check on WaDisableDgMirrorFixInHalfSliceChicken5, and
clean up WaEnableForceRestoreInCtxtDescForVCS patch.
Nick Hoath (2):
drm/i915: gen 9 h/w w/a Fix stepping check
drm/i915: gen 9 h/w w/a (WaEnableForceRestoreInCtxtDescForVCS)
drivers/gpu/drm/i915/intel_lrc.c | 15 ++++++++++++---
drivers/gpu/drm/i915/intel_ringbuffer.c | 3 ++-
2 files changed, 14 insertions(+), 4 deletions(-)
--
2.1.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] drm/i915: gen 9 h/w w/a Fix stepping check
2015-02-06 11:30 [PATCH 0/2] gen 9 h/w w/a cleanup Nick Hoath
@ 2015-02-06 11:30 ` Nick Hoath
2015-02-06 11:52 ` Damien Lespiau
2015-02-06 11:30 ` [PATCH 2/2] drm/i915: gen 9 h/w w/a (WaEnableForceRestoreInCtxtDescForVCS) Nick Hoath
1 sibling, 1 reply; 7+ messages in thread
From: Nick Hoath @ 2015-02-06 11:30 UTC (permalink / raw)
To: intel-gfx
Fixed the stepping check on WaDisableDgMirrorFixInHalfSliceChicken5
to be for the correct SOC (Skylake)
Signed-off-by: Nick Hoath <nicholas.hoath@intel.com>
---
drivers/gpu/drm/i915/intel_ringbuffer.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 573b80f..fb71e33 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -886,7 +886,8 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
WA_SET_BIT_MASKED(HALF_SLICE_CHICKEN3,
GEN9_DISABLE_OCL_OOB_SUPPRESS_LOGIC);
- if (INTEL_REVID(dev) == SKL_REVID_A0) {
+ if (INTEL_REVID(dev) >= SKL_REVID_A0 &&
+ INTEL_REVID(dev) <= SKL_REVID_B0) {
/*
* WaDisableDgMirrorFixInHalfSliceChicken5:skl
* This is a pre-production w/a.
--
2.1.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] drm/i915: gen 9 h/w w/a (WaEnableForceRestoreInCtxtDescForVCS)
2015-02-06 11:30 [PATCH 0/2] gen 9 h/w w/a cleanup Nick Hoath
2015-02-06 11:30 ` [PATCH 1/2] drm/i915: gen 9 h/w w/a Fix stepping check Nick Hoath
@ 2015-02-06 11:30 ` Nick Hoath
2015-02-06 11:58 ` Damien Lespiau
2015-02-07 13:35 ` shuang.he
1 sibling, 2 replies; 7+ messages in thread
From: Nick Hoath @ 2015-02-06 11:30 UTC (permalink / raw)
To: intel-gfx
Add:
WaEnableForceRestoreInCtxtDescForVCS
v2: Add stepping check.
v3: Fixed stepping check direction. Cleaned up indentation.
Signed-off-by: Nick Hoath <nicholas.hoath@intel.com>
---
drivers/gpu/drm/i915/intel_lrc.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index a94346f..cc1c1a7 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -254,8 +254,10 @@ u32 intel_execlists_ctx_id(struct drm_i915_gem_object *ctx_obj)
return lrca >> 12;
}
-static uint64_t execlists_ctx_descriptor(struct drm_i915_gem_object *ctx_obj)
+static uint64_t execlists_ctx_descriptor(struct intel_engine_cs *ring,
+ struct drm_i915_gem_object *ctx_obj)
{
+ struct drm_device *dev = ring->dev;
uint64_t desc;
uint64_t lrca = i915_gem_obj_ggtt_offset(ctx_obj);
@@ -272,6 +274,13 @@ static uint64_t execlists_ctx_descriptor(struct drm_i915_gem_object *ctx_obj)
* signalling between Command Streamers */
/* desc |= GEN8_CTX_FORCE_RESTORE; */
+ /* WaEnableForceRestoreInCtxtDescForVCS:skl */
+ if (IS_GEN9(dev) &&
+ INTEL_REVID(dev) <= SKL_REVID_B0 &&
+ (ring->id == BCS || ring->id == VCS ||
+ ring->id == VECS || ring->id == VCS2))
+ desc |= GEN8_CTX_FORCE_RESTORE;
+
return desc;
}
@@ -286,13 +295,13 @@ static void execlists_elsp_write(struct intel_engine_cs *ring,
/* XXX: You must always write both descriptors in the order below. */
if (ctx_obj1)
- temp = execlists_ctx_descriptor(ctx_obj1);
+ temp = execlists_ctx_descriptor(ring, ctx_obj1);
else
temp = 0;
desc[1] = (u32)(temp >> 32);
desc[0] = (u32)temp;
- temp = execlists_ctx_descriptor(ctx_obj0);
+ temp = execlists_ctx_descriptor(ring, ctx_obj0);
desc[3] = (u32)(temp >> 32);
desc[2] = (u32)temp;
--
2.1.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] drm/i915: gen 9 h/w w/a Fix stepping check
2015-02-06 11:30 ` [PATCH 1/2] drm/i915: gen 9 h/w w/a Fix stepping check Nick Hoath
@ 2015-02-06 11:52 ` Damien Lespiau
2015-02-09 18:16 ` Daniel Vetter
0 siblings, 1 reply; 7+ messages in thread
From: Damien Lespiau @ 2015-02-06 11:52 UTC (permalink / raw)
To: Nick Hoath; +Cc: intel-gfx
On Fri, Feb 06, 2015 at 11:30:03AM +0000, Nick Hoath wrote:
> Fixed the stepping check on WaDisableDgMirrorFixInHalfSliceChicken5
> to be for the correct SOC (Skylake)
>
> Signed-off-by: Nick Hoath <nicholas.hoath@intel.com>
> ---
> drivers/gpu/drm/i915/intel_ringbuffer.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 573b80f..fb71e33 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -886,7 +886,8 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
> WA_SET_BIT_MASKED(HALF_SLICE_CHICKEN3,
> GEN9_DISABLE_OCL_OOB_SUPPRESS_LOGIC);
>
> - if (INTEL_REVID(dev) == SKL_REVID_A0) {
> + if (INTEL_REVID(dev) >= SKL_REVID_A0 &&
> + INTEL_REVID(dev) <= SKL_REVID_B0) {
x >= 0 && x <= 1 looks really better as x == 0 || x == 1
Otherwise:
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
> /*
> * WaDisableDgMirrorFixInHalfSliceChicken5:skl
> * This is a pre-production w/a.
> --
> 2.1.1
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] drm/i915: gen 9 h/w w/a (WaEnableForceRestoreInCtxtDescForVCS)
2015-02-06 11:30 ` [PATCH 2/2] drm/i915: gen 9 h/w w/a (WaEnableForceRestoreInCtxtDescForVCS) Nick Hoath
@ 2015-02-06 11:58 ` Damien Lespiau
2015-02-07 13:35 ` shuang.he
1 sibling, 0 replies; 7+ messages in thread
From: Damien Lespiau @ 2015-02-06 11:58 UTC (permalink / raw)
To: Nick Hoath; +Cc: intel-gfx
On Fri, Feb 06, 2015 at 11:30:04AM +0000, Nick Hoath wrote:
> Add:
> WaEnableForceRestoreInCtxtDescForVCS
>
> v2: Add stepping check.
>
> v3: Fixed stepping check direction. Cleaned up indentation.
>
> Signed-off-by: Nick Hoath <nicholas.hoath@intel.com>
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
--
Damien
> ---
> drivers/gpu/drm/i915/intel_lrc.c | 15 ++++++++++++---
> 1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> index a94346f..cc1c1a7 100644
> --- a/drivers/gpu/drm/i915/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/intel_lrc.c
> @@ -254,8 +254,10 @@ u32 intel_execlists_ctx_id(struct drm_i915_gem_object *ctx_obj)
> return lrca >> 12;
> }
>
> -static uint64_t execlists_ctx_descriptor(struct drm_i915_gem_object *ctx_obj)
> +static uint64_t execlists_ctx_descriptor(struct intel_engine_cs *ring,
> + struct drm_i915_gem_object *ctx_obj)
> {
> + struct drm_device *dev = ring->dev;
> uint64_t desc;
> uint64_t lrca = i915_gem_obj_ggtt_offset(ctx_obj);
>
> @@ -272,6 +274,13 @@ static uint64_t execlists_ctx_descriptor(struct drm_i915_gem_object *ctx_obj)
> * signalling between Command Streamers */
> /* desc |= GEN8_CTX_FORCE_RESTORE; */
>
> + /* WaEnableForceRestoreInCtxtDescForVCS:skl */
> + if (IS_GEN9(dev) &&
> + INTEL_REVID(dev) <= SKL_REVID_B0 &&
> + (ring->id == BCS || ring->id == VCS ||
> + ring->id == VECS || ring->id == VCS2))
> + desc |= GEN8_CTX_FORCE_RESTORE;
> +
> return desc;
> }
>
> @@ -286,13 +295,13 @@ static void execlists_elsp_write(struct intel_engine_cs *ring,
>
> /* XXX: You must always write both descriptors in the order below. */
> if (ctx_obj1)
> - temp = execlists_ctx_descriptor(ctx_obj1);
> + temp = execlists_ctx_descriptor(ring, ctx_obj1);
> else
> temp = 0;
> desc[1] = (u32)(temp >> 32);
> desc[0] = (u32)temp;
>
> - temp = execlists_ctx_descriptor(ctx_obj0);
> + temp = execlists_ctx_descriptor(ring, ctx_obj0);
> desc[3] = (u32)(temp >> 32);
> desc[2] = (u32)temp;
>
> --
> 2.1.1
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] drm/i915: gen 9 h/w w/a (WaEnableForceRestoreInCtxtDescForVCS)
2015-02-06 11:30 ` [PATCH 2/2] drm/i915: gen 9 h/w w/a (WaEnableForceRestoreInCtxtDescForVCS) Nick Hoath
2015-02-06 11:58 ` Damien Lespiau
@ 2015-02-07 13:35 ` shuang.he
1 sibling, 0 replies; 7+ messages in thread
From: shuang.he @ 2015-02-07 13:35 UTC (permalink / raw)
To: shuang.he, ethan.gao, intel-gfx, nicholas.hoath
Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
Task id: 5727
-------------------------------------Summary-------------------------------------
Platform Delta drm-intel-nightly Series Applied
PNV 283/283 283/283
ILK +1 310/319 311/319
SNB +1 342/346 343/346
IVB 380/384 380/384
BYT 296/296 296/296
HSW +1 423/428 424/428
BDW 318/333 318/333
-------------------------------------Detailed-------------------------------------
Platform Test drm-intel-nightly Series Applied
ILK igt_kms_flip_busy-flip-interruptible TIMEOUT(1, M37)PASS(1, M37) PASS(1, M37)
SNB igt_kms_pipe_crc_basic_read-crc-pipe-A DMESG_WARN(1, M22)PASS(1, M22) PASS(1, M22)
*HSW igt_gem_storedw_loop_vebox DMESG_WARN(2, M20) PASS(1, M20)
Note: You need to pay more attention to line start with '*'
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] drm/i915: gen 9 h/w w/a Fix stepping check
2015-02-06 11:52 ` Damien Lespiau
@ 2015-02-09 18:16 ` Daniel Vetter
0 siblings, 0 replies; 7+ messages in thread
From: Daniel Vetter @ 2015-02-09 18:16 UTC (permalink / raw)
To: Damien Lespiau; +Cc: intel-gfx
On Fri, Feb 06, 2015 at 11:52:42AM +0000, Damien Lespiau wrote:
> On Fri, Feb 06, 2015 at 11:30:03AM +0000, Nick Hoath wrote:
> > Fixed the stepping check on WaDisableDgMirrorFixInHalfSliceChicken5
> > to be for the correct SOC (Skylake)
> >
> > Signed-off-by: Nick Hoath <nicholas.hoath@intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_ringbuffer.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> > index 573b80f..fb71e33 100644
> > --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> > +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> > @@ -886,7 +886,8 @@ static int gen9_init_workarounds(struct intel_engine_cs *ring)
> > WA_SET_BIT_MASKED(HALF_SLICE_CHICKEN3,
> > GEN9_DISABLE_OCL_OOB_SUPPRESS_LOGIC);
> >
> > - if (INTEL_REVID(dev) == SKL_REVID_A0) {
> > + if (INTEL_REVID(dev) >= SKL_REVID_A0 &&
> > + INTEL_REVID(dev) <= SKL_REVID_B0) {
>
> x >= 0 && x <= 1 looks really better as x == 0 || x == 1
for pre-production w/a I don't really care all that much how they look,
we'll remove them anyway in a few months or so. For production stuff I
prefer we stick to how we do gen checks:
- gen >= 5 (read as gen5+)
- gen < 6 (read as pre-gen5)
Consistency to avoid accidentaly off-by-one and it seems to match what
Bspec uses, too.
>
> Otherwise:
>
> Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Both merged, thanks for patches&review.
-Daniel
>
> > /*
> > * WaDisableDgMirrorFixInHalfSliceChicken5:skl
> > * This is a pre-production w/a.
> > --
> > 2.1.1
> >
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2015-02-09 18:15 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-06 11:30 [PATCH 0/2] gen 9 h/w w/a cleanup Nick Hoath
2015-02-06 11:30 ` [PATCH 1/2] drm/i915: gen 9 h/w w/a Fix stepping check Nick Hoath
2015-02-06 11:52 ` Damien Lespiau
2015-02-09 18:16 ` Daniel Vetter
2015-02-06 11:30 ` [PATCH 2/2] drm/i915: gen 9 h/w w/a (WaEnableForceRestoreInCtxtDescForVCS) Nick Hoath
2015-02-06 11:58 ` Damien Lespiau
2015-02-07 13:35 ` shuang.he
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox