On Wed, Aug 23, 2023 at 05:39:01PM -0400, Rodrigo Vivi wrote: > Let's introduce the basic documentation about CCS. > While doing that, also removed the legacy execution flag name. That flag > simply doesn't exist for CCS and it is not needed on current context > submission. Those flag names are only needed on legacy context, > while on new ones we only need to pass the engine ID. > > It is worth mention that this documentation should probably live with > the engine definitions rather than in the i915.rst file directly and > that more updates are likely need in this section. But this should > come later. It may be better to just delete this completely and instead provide a reference to the better engine documentation we already have in include/uapi/drm/i915_drm.h? > > Fixes: 944823c94639 ("drm/i915/xehp: Define compute class and engine") > Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> > Cc: Sushma Venkatesh Reddy <sushma.venkatesh.reddy@xxxxxxxxx> > Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > --- > Documentation/gpu/i915.rst | 24 +++++++++++------------- > 1 file changed, 11 insertions(+), 13 deletions(-) > > diff --git a/Documentation/gpu/i915.rst b/Documentation/gpu/i915.rst > index 60ea21734902..87bdcd616944 100644 > --- a/Documentation/gpu/i915.rst > +++ b/Documentation/gpu/i915.rst > @@ -267,19 +267,17 @@ i915 driver. > Intel GPU Basics > ---------------- > > -An Intel GPU has multiple engines. There are several engine types. > - > -- RCS engine is for rendering 3D and performing compute, this is named > - `I915_EXEC_RENDER` in user space. > -- BCS is a blitting (copy) engine, this is named `I915_EXEC_BLT` in user > - space. > -- VCS is a video encode and decode engine, this is named `I915_EXEC_BSD` > - in user space > -- VECS is video enhancement engine, this is named `I915_EXEC_VEBOX` in user > - space. > -- The enumeration `I915_EXEC_DEFAULT` does not refer to specific engine; > - instead it is to be used by user space to specify a default rendering > - engine (for 3D) that may or may not be the same as RCS. > +An Intel GPU has multiple engines. There are several engine types: > + > +- Render Command Streamer (RCS). An engine for rendering 3D and > + performing compute on platforms without CCS. I don't think the "without CCS" here is accurate; even platforms with CCS engines can still access the GPGPU pipeline via the RCS. > +- Blitting Command Streamer (BCS). An engine for performing blitting and/or > + copying operations. > +- Video Command Streamer. An engine used for video decoding. For historical > + reasons this engine was alsso called 'BCS'. I don't think this is true? As far as I recall, BCS has always referred to the blitter/copy engines, not the VCS. Matt > +- Video Enhancement Command Streamer (VECS). The engine used only by media. > +- Compute Command Streamer (CCS). An engine that has access to the media and > + GPGPU pipelines, but not the 3D pipeline. > > The Intel GPU family is a family of integrated GPU's using Unified > Memory Access. For having the GPU "do work", user space will feed the > -- > 2.41.0 > -- Matt Roper Graphics Software Engineer Linux GPU Platform Enablement Intel Corporation