Re: [PATCH] drm/i915: Add missing CCS documentation.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux