drm/i915/uapi: Add kerneldoc for engine class enum
We'll be adding a new type of engine soon. Let's document the existing engine classes first to help make it clear what each type of engine is used for. Cc: Andi Shyti <andi.shyti@linux.intel.com> Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220428041926.1483683-2-matthew.d.roper@intel.com
This commit is contained in:
parent
ad6ade8e34
commit
991b4de327
1 changed files with 47 additions and 6 deletions
|
@ -154,21 +154,62 @@ enum i915_mocs_table_index {
|
||||||
I915_MOCS_CACHED,
|
I915_MOCS_CACHED,
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/**
|
||||||
|
* enum drm_i915_gem_engine_class - uapi engine type enumeration
|
||||||
|
*
|
||||||
* Different engines serve different roles, and there may be more than one
|
* Different engines serve different roles, and there may be more than one
|
||||||
* engine serving each role. enum drm_i915_gem_engine_class provides a
|
* engine serving each role. This enum provides a classification of the role
|
||||||
* classification of the role of the engine, which may be used when requesting
|
* of the engine, which may be used when requesting operations to be performed
|
||||||
* operations to be performed on a certain subset of engines, or for providing
|
* on a certain subset of engines, or for providing information about that
|
||||||
* information about that group.
|
* group.
|
||||||
*/
|
*/
|
||||||
enum drm_i915_gem_engine_class {
|
enum drm_i915_gem_engine_class {
|
||||||
|
/**
|
||||||
|
* @I915_ENGINE_CLASS_RENDER:
|
||||||
|
*
|
||||||
|
* Render engines support instructions used for 3D, Compute (GPGPU),
|
||||||
|
* and programmable media workloads. These instructions fetch data and
|
||||||
|
* dispatch individual work items to threads that operate in parallel.
|
||||||
|
* The threads run small programs (called "kernels" or "shaders") on
|
||||||
|
* the GPU's execution units (EUs).
|
||||||
|
*/
|
||||||
I915_ENGINE_CLASS_RENDER = 0,
|
I915_ENGINE_CLASS_RENDER = 0,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @I915_ENGINE_CLASS_COPY:
|
||||||
|
*
|
||||||
|
* Copy engines (also referred to as "blitters") support instructions
|
||||||
|
* that move blocks of data from one location in memory to another,
|
||||||
|
* or that fill a specified location of memory with fixed data.
|
||||||
|
* Copy engines can perform pre-defined logical or bitwise operations
|
||||||
|
* on the source, destination, or pattern data.
|
||||||
|
*/
|
||||||
I915_ENGINE_CLASS_COPY = 1,
|
I915_ENGINE_CLASS_COPY = 1,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @I915_ENGINE_CLASS_VIDEO:
|
||||||
|
*
|
||||||
|
* Video engines (also referred to as "bit stream decode" (BSD) or
|
||||||
|
* "vdbox") support instructions that perform fixed-function media
|
||||||
|
* decode and encode.
|
||||||
|
*/
|
||||||
I915_ENGINE_CLASS_VIDEO = 2,
|
I915_ENGINE_CLASS_VIDEO = 2,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @I915_ENGINE_CLASS_VIDEO_ENHANCE:
|
||||||
|
*
|
||||||
|
* Video enhancement engines (also referred to as "vebox") support
|
||||||
|
* instructions related to image enhancement.
|
||||||
|
*/
|
||||||
I915_ENGINE_CLASS_VIDEO_ENHANCE = 3,
|
I915_ENGINE_CLASS_VIDEO_ENHANCE = 3,
|
||||||
|
|
||||||
/* should be kept compact */
|
/* Values in this enum should be kept compact. */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @I915_ENGINE_CLASS_INVALID:
|
||||||
|
*
|
||||||
|
* Placeholder value to represent an invalid engine class assignment.
|
||||||
|
*/
|
||||||
I915_ENGINE_CLASS_INVALID = -1
|
I915_ENGINE_CLASS_INVALID = -1
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue