mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 04:56:13 +02:00
drm/xe/doc: Add documentation for Execution Queues
Add documentation for Xe Execution Queues and add xe_exec_queue.rst
file.
v2: Add info about how Execution queue interfaces
with other components in the driver (Matt Brost)
Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://lore.kernel.org/r/20251002044319.450181-2-niranjana.vishwanathapura@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
This commit is contained in:
parent
e4863f1159
commit
b56bc81078
|
|
@ -14,6 +14,7 @@ DG2, etc is provided to prototype the driver.
|
|||
xe_mm
|
||||
xe_map
|
||||
xe_migrate
|
||||
xe_exec_queue
|
||||
xe_cs
|
||||
xe_pm
|
||||
xe_gt_freq
|
||||
|
|
|
|||
20
Documentation/gpu/xe/xe_exec_queue.rst
Normal file
20
Documentation/gpu/xe/xe_exec_queue.rst
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
.. SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
|
||||
===============
|
||||
Execution Queue
|
||||
===============
|
||||
|
||||
.. kernel-doc:: drivers/gpu/drm/xe/xe_exec_queue.c
|
||||
:doc: Execution Queue
|
||||
|
||||
Internal API
|
||||
============
|
||||
|
||||
.. kernel-doc:: drivers/gpu/drm/xe/xe_exec_queue_types.h
|
||||
:internal:
|
||||
|
||||
.. kernel-doc:: drivers/gpu/drm/xe/xe_exec_queue.h
|
||||
:internal:
|
||||
|
||||
.. kernel-doc:: drivers/gpu/drm/xe/xe_exec_queue.c
|
||||
:internal:
|
||||
|
|
@ -28,6 +28,29 @@
|
|||
#include "xe_vm.h"
|
||||
#include "xe_pxp.h"
|
||||
|
||||
/**
|
||||
* DOC: Execution Queue
|
||||
*
|
||||
* An Execution queue is an interface for the HW context of execution.
|
||||
* The user creates an execution queue, submits the GPU jobs through those
|
||||
* queues and in the end destroys them.
|
||||
*
|
||||
* Execution queues can also be created by XeKMD itself for driver internal
|
||||
* operations like object migration etc.
|
||||
*
|
||||
* An execution queue is associated with a specified HW engine or a group of
|
||||
* engines (belonging to the same tile and engine class) and any GPU job
|
||||
* submitted on the queue will be run on one of these engines.
|
||||
*
|
||||
* An execution queue is tied to an address space (VM). It holds a reference
|
||||
* of the associated VM and the underlying Logical Ring Context/s (LRC/s)
|
||||
* until the queue is destroyed.
|
||||
*
|
||||
* The execution queue sits on top of the submission backend. It opaquely
|
||||
* handles the GuC and Execlist backends whichever the platform uses, and
|
||||
* the ring operations the different engine classes support.
|
||||
*/
|
||||
|
||||
enum xe_exec_queue_sched_prop {
|
||||
XE_EXEC_QUEUE_JOB_TIMEOUT = 0,
|
||||
XE_EXEC_QUEUE_TIMESLICE = 1,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user