Hi Tvrtko, On Mon, Feb 19, 2024 at 12:51:44PM +0000, Tvrtko Ursulin wrote: > On 19/02/2024 11:16, Tvrtko Ursulin wrote: > > On 15/02/2024 13:59, Andi Shyti wrote: ... > > > +/* > > > + * Exclude unavailable engines. > > > + * > > > + * Only the first CCS engine is utilized due to the disabling of > > > CCS auto load > > > + * balancing. As a result, all CCS engines operate collectively, > > > functioning > > > + * essentially as a single CCS engine, hence the count of active > > > CCS engines is > > > + * considered '1'. > > > + * Currently, this applies to platforms with more than one CCS engine, > > > + * specifically DG2. > > > + */ > > > +#define for_each_available_uabi_engine(engine__, i915__) \ > > > + for_each_uabi_engine(engine__, i915__) \ > > > + if ((IS_DG2(i915__)) && \ > > > + ((engine__)->uabi_class == I915_ENGINE_CLASS_COMPUTE) && \ > > > + ((engine__)->uabi_instance)) { } \ > > > + else > > > + > > > > If you don't want userspace to see some engines, just don't add them to > > the uabi list in intel_engines_driver_register or thereabouts? It will be dynamic. In next series I am preparing the user will be able to increase the number of CCS engines he wants to use. > > Similar as we do for gsc which uses I915_NO_UABI_CLASS, although for ccs > > you can choose a different approach, whatever is more elegant. > > > > That is also needed for i915->engine_uabi_class_count to be right, so > > userspace stats which rely on it are correct. Oh yes. Will update it. > I later realized it is more than that - everything that uses > intel_engine_lookup_user to look up class instance passed in from userspace > relies on the engine not being on the user list otherwise userspace could > bypass the fact engine query does not list it. Like PMU, Perf/POA, context > engine map and SSEU context query. Correct, will look into that, thank you! Andi