[Intel-gfx] [PATCH 1/2] drm/i915/guc: Fill preempt context once at init time

Chris Wilson chris at chris-wilson.co.uk
Mon Feb 26 15:00:04 UTC 2018


Quoting Chris Wilson (2018-02-26 14:28:36)
> Quoting Michał Winiarski (2018-02-26 13:59:59)
> > +       for_each_engine(engine, dev_priv, id) {
>                 struct intel_engine *ce = &client->owner->engine[id];
> 
>                 /* The preempt context must be pinned on each engine);
>                 GEM_BUG_ON(!ce->pin_count);
> 
>                 /*
>                  * We rely on the context image *not* being saved after
>                  * preemption. This ensures that the RING_HEAD / RING_TAIL
>                  * do not advance and they remain pointing at this command
>                  * sequence forever.
>                  */
>                 GEM_BUG_ON(!(ce->reg_state[SR] & CTX_SR_SAVE_INHIBIT));

In fact, don't bug out, just set it here. Then it won't break again when
icl enabling lands.
-Chris


More information about the Intel-gfx mailing list