All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw
@ 2017-03-24 15:17 Chris Wilson
  2017-03-24 15:17 ` [PATCH 2/2] drm/i915: Fix semaphore emission for BDW+ RCS ringbuffer emission Chris Wilson
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Chris Wilson @ 2017-03-24 15:17 UTC (permalink / raw)
  To: intel-gfx

The current w/a for the gen7 psmi related hangs doesn't apply to bdw, so
disable it if using bdw ringbuffer submission.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_gem_context.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
index e8dc3e74c093..68dc81aee2f1 100644
--- a/drivers/gpu/drm/i915/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
@@ -660,7 +660,7 @@ mi_set_context(struct drm_i915_gem_request *req, u32 flags)
 	enum intel_engine_id id;
 	const int num_rings =
 		/* Use an extended w/a on ivb+ if signalling from other rings */
-		i915.semaphores ?
+		(i915.semaphores && INTEL_GEN(dev_priv) == 7) ?
 		INTEL_INFO(dev_priv)->num_rings - 1 :
 		0;
 	int len;
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] drm/i915: Fix semaphore emission for BDW+ RCS ringbuffer emission
  2017-03-24 15:17 [PATCH 1/2] drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw Chris Wilson
@ 2017-03-24 15:17 ` Chris Wilson
  2017-03-24 15:36   ` Michał Winiarski
  2017-03-24 15:40 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw Patchwork
  2017-03-24 16:01 ` [PATCH 1/2] " Michał Winiarski
  2 siblings, 1 reply; 6+ messages in thread
From: Chris Wilson @ 2017-03-24 15:17 UTC (permalink / raw)
  To: intel-gfx

The required number of dwords for semaphore emission on BDW RCS is 8,
not 6 - leading to ring buffer corruption and immediate GPU hangs when
using ringbuffer submission.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/intel_ringbuffer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 62756eb2bd4a..4729ac7ac122 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -2117,7 +2117,7 @@ int intel_init_render_ring_buffer(struct intel_engine_cs *engine)
 
 			num_rings =
 				hweight32(INTEL_INFO(dev_priv)->ring_mask) - 1;
-			engine->emit_breadcrumb_sz += num_rings * 6;
+			engine->emit_breadcrumb_sz += num_rings * 8;
 		}
 	} else if (INTEL_GEN(dev_priv) >= 6) {
 		engine->init_context = intel_rcs_ctx_init;
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] drm/i915: Fix semaphore emission for BDW+ RCS ringbuffer emission
  2017-03-24 15:17 ` [PATCH 2/2] drm/i915: Fix semaphore emission for BDW+ RCS ringbuffer emission Chris Wilson
@ 2017-03-24 15:36   ` Michał Winiarski
  0 siblings, 0 replies; 6+ messages in thread
From: Michał Winiarski @ 2017-03-24 15:36 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

On Fri, Mar 24, 2017 at 03:17:24PM +0000, Chris Wilson wrote:
> The required number of dwords for semaphore emission on BDW RCS is 8,
> not 6 - leading to ring buffer corruption and immediate GPU hangs when
> using ringbuffer submission.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>

-Michał

> ---
>  drivers/gpu/drm/i915/intel_ringbuffer.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 62756eb2bd4a..4729ac7ac122 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -2117,7 +2117,7 @@ int intel_init_render_ring_buffer(struct intel_engine_cs *engine)
>  
>  			num_rings =
>  				hweight32(INTEL_INFO(dev_priv)->ring_mask) - 1;
> -			engine->emit_breadcrumb_sz += num_rings * 6;
> +			engine->emit_breadcrumb_sz += num_rings * 8;
>  		}
>  	} else if (INTEL_GEN(dev_priv) >= 6) {
>  		engine->init_context = intel_rcs_ctx_init;
> -- 
> 2.11.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw
  2017-03-24 15:17 [PATCH 1/2] drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw Chris Wilson
  2017-03-24 15:17 ` [PATCH 2/2] drm/i915: Fix semaphore emission for BDW+ RCS ringbuffer emission Chris Wilson
@ 2017-03-24 15:40 ` Patchwork
  2017-03-24 16:01 ` [PATCH 1/2] " Michał Winiarski
  2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2017-03-24 15:40 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw
URL   : https://patchwork.freedesktop.org/series/21837/
State : failure

== Summary ==

Series 21837v1 Series without cover letter
https://patchwork.freedesktop.org/api/1.0/series/21837/revisions/1/mbox/

Test gem_exec_flush:
        Subgroup basic-batch-kernel-default-uc:
                pass       -> FAIL       (fi-snb-2600) fdo#100007
Test gem_exec_reloc:
        Subgroup basic-write-read-noreloc:
                pass       -> INCOMPLETE (fi-byt-j1900)
Test gem_exec_suspend:
        Subgroup basic-s4-devices:
                pass       -> DMESG-WARN (fi-bxt-t5700) fdo#100125

fdo#100007 https://bugs.freedesktop.org/show_bug.cgi?id=100007
fdo#100125 https://bugs.freedesktop.org/show_bug.cgi?id=100125

fi-bdw-5557u     total:278  pass:267  dwarn:0   dfail:0   fail:0   skip:11  time: 463s
fi-bdw-gvtdvm    total:278  pass:256  dwarn:8   dfail:0   fail:0   skip:14  time: 459s
fi-bsw-n3050     total:278  pass:239  dwarn:0   dfail:0   fail:0   skip:39  time: 582s
fi-bxt-j4205     total:278  pass:259  dwarn:0   dfail:0   fail:0   skip:19  time: 550s
fi-bxt-t5700     total:278  pass:257  dwarn:1   dfail:0   fail:0   skip:20  time: 568s
fi-byt-j1900     total:88   pass:78   dwarn:0   dfail:0   fail:0   skip:9   time: 0s
fi-byt-n2820     total:278  pass:247  dwarn:0   dfail:0   fail:0   skip:31  time: 501s
fi-hsw-4770      total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16  time: 437s
fi-hsw-4770r     total:278  pass:262  dwarn:0   dfail:0   fail:0   skip:16  time: 429s
fi-ilk-650       total:278  pass:228  dwarn:0   dfail:0   fail:0   skip:50  time: 440s
fi-ivb-3520m     total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18  time: 509s
fi-ivb-3770      total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18  time: 492s
fi-kbl-7500u     total:278  pass:260  dwarn:0   dfail:0   fail:0   skip:18  time: 495s
fi-skl-6260u     total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10  time: 494s
fi-skl-6700hq    total:278  pass:261  dwarn:0   dfail:0   fail:0   skip:17  time: 594s
fi-skl-6700k     total:278  pass:256  dwarn:4   dfail:0   fail:0   skip:18  time: 489s
fi-skl-6770hq    total:278  pass:268  dwarn:0   dfail:0   fail:0   skip:10  time: 521s
fi-skl-gvtdvm    total:278  pass:265  dwarn:0   dfail:0   fail:0   skip:13  time: 461s
fi-snb-2520m     total:278  pass:250  dwarn:0   dfail:0   fail:0   skip:28  time: 549s
fi-snb-2600      total:278  pass:248  dwarn:0   dfail:0   fail:1   skip:29  time: 432s

fd27e1e4c9b5dc11966b4953432bd6e0510da308 drm-tip: 2017y-03m-24d-08h-39m-20s UTC integration manifest
70941c2 drm/i915: Fix semaphore emission for BDW+ RCS ringbuffer emission
613347c drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw

== Logs ==

For more details see: https://intel-gfx-ci.01.org/CI/Patchwork_4295/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw
  2017-03-24 15:17 [PATCH 1/2] drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw Chris Wilson
  2017-03-24 15:17 ` [PATCH 2/2] drm/i915: Fix semaphore emission for BDW+ RCS ringbuffer emission Chris Wilson
  2017-03-24 15:40 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw Patchwork
@ 2017-03-24 16:01 ` Michał Winiarski
  2017-03-24 17:11   ` Chris Wilson
  2 siblings, 1 reply; 6+ messages in thread
From: Michał Winiarski @ 2017-03-24 16:01 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

On Fri, Mar 24, 2017 at 03:17:23PM +0000, Chris Wilson wrote:
> The current w/a for the gen7 psmi related hangs doesn't apply to bdw, so
> disable it if using bdw ringbuffer submission.
> 
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/i915_gem_context.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
> index e8dc3e74c093..68dc81aee2f1 100644
> --- a/drivers/gpu/drm/i915/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/i915_gem_context.c
> @@ -660,7 +660,7 @@ mi_set_context(struct drm_i915_gem_request *req, u32 flags)
>  	enum intel_engine_id id;
>  	const int num_rings =
>  		/* Use an extended w/a on ivb+ if signalling from other rings */

The comment also needs updating, we're only using extended w/a (not just
disabling arbitration) for gen7.

With that:

Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>

-Michał

> -		i915.semaphores ?
> +		(i915.semaphores && INTEL_GEN(dev_priv) == 7) ?
>  		INTEL_INFO(dev_priv)->num_rings - 1 :
>  		0;
>  	int len;
> -- 
> 2.11.0
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw
  2017-03-24 16:01 ` [PATCH 1/2] " Michał Winiarski
@ 2017-03-24 17:11   ` Chris Wilson
  0 siblings, 0 replies; 6+ messages in thread
From: Chris Wilson @ 2017-03-24 17:11 UTC (permalink / raw)
  To: Michał Winiarski; +Cc: intel-gfx

On Fri, Mar 24, 2017 at 05:01:56PM +0100, Michał Winiarski wrote:
> On Fri, Mar 24, 2017 at 03:17:23PM +0000, Chris Wilson wrote:
> > The current w/a for the gen7 psmi related hangs doesn't apply to bdw, so
> > disable it if using bdw ringbuffer submission.
> > 
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > ---
> >  drivers/gpu/drm/i915/i915_gem_context.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
> > index e8dc3e74c093..68dc81aee2f1 100644
> > --- a/drivers/gpu/drm/i915/i915_gem_context.c
> > +++ b/drivers/gpu/drm/i915/i915_gem_context.c
> > @@ -660,7 +660,7 @@ mi_set_context(struct drm_i915_gem_request *req, u32 flags)
> >  	enum intel_engine_id id;
> >  	const int num_rings =
> >  		/* Use an extended w/a on ivb+ if signalling from other rings */
> 
> The comment also needs updating, we're only using extended w/a (not just
> disabling arbitration) for gen7.
> 
> With that:
> 
> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>

Tweaked and applied. Now I can delete working code in good conscience!
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-03-24 17:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-24 15:17 [PATCH 1/2] drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw Chris Wilson
2017-03-24 15:17 ` [PATCH 2/2] drm/i915: Fix semaphore emission for BDW+ RCS ringbuffer emission Chris Wilson
2017-03-24 15:36   ` Michał Winiarski
2017-03-24 15:40 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915: Disable MI_SET_CONTEXT psmi w/a for bdw Patchwork
2017-03-24 16:01 ` [PATCH 1/2] " Michał Winiarski
2017-03-24 17:11   ` Chris Wilson

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.