Quoting Lionel Landwerlin (2019-05-21 15:08:54)
> @@ -2048,6 +2081,42 @@ static int eb_submit(struct i915_execbuffer *eb)
>                         return err;
>         }

if (eb->oa_config) {
        err = i915_active_request_set(&eb->i915->perf.oa.oa_config_active,
                                      eb->request);
        if (err)
                return err;
}

with the addition of
        struct i915_active_request oa_config_active;
to i915->perf.oa, and i915_active_init; That will ensure that the
oa_config can't be changed before execution (and the ordering restriction
is essentially a no-op if only one context has a specified oa_config).

> +       if (eb->oa_config &&
> +           eb->oa_config != eb->i915->perf.oa.exclusive_stream->oa_config) {

Fwiw, I would move these to eb_oa_config().

if (eb->oa_config) {
        err = eb_oa_config(eb);
        if (err)
                return err;
}

How does eb_oa_config mix with the global gen8_configure_all_contexts()?
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to