On Thu, Aug 24, 2023 at 06:06:10PM -0400, Rodrigo Vivi wrote: > On Wed, Aug 23, 2023 at 03:22:07PM -0700, Matt Roper wrote: > > 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? > > I thought about that, but I believe the 2 different documentation have > different reader targets, although there are some overlapping. > > But probably the right way is indeed to move these things to the .h where > they are defined... or we are sentenced to keep forgetting to update > this one way or another. > > > > > > > > > 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. > > indeed. > > > > > > +- 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. > > doh! I meant 'BSD' to reflect the removed I915_EXEC_BSD... I can't even > recall why that ever got the BSD name to start with. BSD = "Bitstream decode" Matt > > > > > > > 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 -- Matt Roper Graphics Software Engineer Linux GPU Platform Enablement Intel Corporation