Quoting Tvrtko Ursulin (2020-06-09 07:59:27) > 666 > On 08/06/2020 10:33, Chris Wilson wrote: > > Quoting Tvrtko Ursulin (2020-06-08 08:44:01) > >> > >> On 07/06/2020 23:20, Chris Wilson wrote: > >>> From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > >>> > >>> Sentinels are supposed to be last reqeusts in the elsp queue, not the > >>> only one, so adjust the assert accordingly. > >>> > >>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > >>> --- > >>> drivers/gpu/drm/i915/gt/intel_lrc.c | 14 +++----------- > >>> 1 file changed, 3 insertions(+), 11 deletions(-) > >>> > >>> diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c > >>> index d55a5e0466e5..db8a170b0e5c 100644 > >>> --- a/drivers/gpu/drm/i915/gt/intel_lrc.c > >>> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c > >>> @@ -1635,9 +1635,9 @@ assert_pending_valid(const struct intel_engine_execlists *execlists, > >>> ccid = ce->lrc.ccid; > >>> > >>> /* > >>> - * Sentinels are supposed to be lonely so they flush the > >>> - * current exection off the HW. Check that they are the > >>> - * only request in the pending submission. > >>> + * Sentinels are supposed to be the last request so they flush > >>> + * the current exection off the HW. Check that they are the only > >>> + * request in the pending submission. > >>> */ > >>> if (sentinel) { > >>> GEM_TRACE_ERR("%s: context:%llx after sentinel in pending[%zd]\n", > >>> @@ -1646,15 +1646,7 @@ assert_pending_valid(const struct intel_engine_execlists *execlists, > >>> port - execlists->pending); > >>> return false; > >>> } > >>> - > >>> sentinel = i915_request_has_sentinel(rq); > >> > >> FWIW I was changing it to "sentinel |= ..." so it keeps working if we > >> decide to use more than 2 elsp ports on Icelake one day. > > > > But it will always fail on the next port... > > I don't follow. Sentinel has to be last so if it fails on the next port > it is correct to do so, no? Exactly. We only check the first port after setting sentinel, if that port is occupied we fail. Hence why we don't need |=, since there is no continuation. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx