[Intel-gfx] [PATCH] drm/i915: Engine discovery query

Chris Wilson chris at chris-wilson.co.uk
Thu Mar 14 14:55:47 UTC 2019


Quoting Tvrtko Ursulin (2019-03-14 14:44:19)
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> 
> Engine discovery query allows userspace to enumerate engines, probe their
> configuration features, all without needing to maintain the internal PCI
> ID based database.
> 
> A new query for the generic i915 query ioctl is added named
> DRM_I915_QUERY_ENGINE_INFO, together with accompanying structure
> drm_i915_query_engine_info. The address of latter should be passed to the
> kernel in the query.data_ptr field, and should be large enough for the
> kernel to fill out all known engines as struct drm_i915_engine_info
> elements trailing the query.
> 
> As with other queries, setting the item query length to zero allows
> userspace to query minimum required buffer size.
> 
> Enumerated engines have common type mask which can be used to query all
> hardware engines, versus engines userspace can submit to using the execbuf
> uAPI.

> +       for_each_engine(engine, i915, id) {
> +               info.engine_class = engine->uabi_class;
> +               info.engine_instance = engine->instance;
> +               info.capabilities = engine->uabi_capabilities;

I would love to be able to find out engine->mmio_base,
engine->context_size, and maybe engine->hw_id?

Pretty please.

Or maybe you want to distinguish between uapi info and hw info. Which
would be reasonable.
-Chris


More information about the Intel-gfx mailing list