* [Intel-gfx] [PATCH v5 1/3] drm/doc/rfc: VM_BIND feature design document
2022-06-24 5:32 [Intel-gfx] [PATCH v5 0/3] drm/doc/rfc: i915 VM_BIND feature design + uapi Niranjana Vishwanathapura
@ 2022-06-24 5:32 ` Niranjana Vishwanathapura
2022-06-24 5:32 ` [Intel-gfx] [PATCH v5 2/3] drm/i915: Update i915 uapi documentation Niranjana Vishwanathapura
` (5 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Niranjana Vishwanathapura @ 2022-06-24 5:32 UTC (permalink / raw)
To: intel-gfx, dri-devel
Cc: paulo.r.zanoni, chris.p.wilson, thomas.hellstrom, matthew.auld,
daniel.vetter, christian.koenig
VM_BIND design document with description of intended use cases.
v2: Reduce the scope to simple Mesa use case.
v3: Expand documentation on dma-resv usage, TLB flushing and
execbuf3.
v4: Remove vm_bind tlb flush request support.
v5: Update TLB flushing documentation.
Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
---
Documentation/gpu/rfc/i915_vm_bind.rst | 246 +++++++++++++++++++++++++
Documentation/gpu/rfc/index.rst | 4 +
2 files changed, 250 insertions(+)
create mode 100644 Documentation/gpu/rfc/i915_vm_bind.rst
diff --git a/Documentation/gpu/rfc/i915_vm_bind.rst b/Documentation/gpu/rfc/i915_vm_bind.rst
new file mode 100644
index 000000000000..534adf0c6c7a
--- /dev/null
+++ b/Documentation/gpu/rfc/i915_vm_bind.rst
@@ -0,0 +1,246 @@
+==========================================
+I915 VM_BIND feature design and use cases
+==========================================
+
+VM_BIND feature
+================
+DRM_I915_GEM_VM_BIND/UNBIND ioctls allows UMD to bind/unbind GEM buffer
+objects (BOs) or sections of a BOs at specified GPU virtual addresses on a
+specified address space (VM). These mappings (also referred to as persistent
+mappings) will be persistent across multiple GPU submissions (execbuf calls)
+issued by the UMD, without user having to provide a list of all required
+mappings during each submission (as required by older execbuf mode).
+
+The VM_BIND/UNBIND calls allow UMDs to request a timeline fence for signaling
+the completion of bind/unbind operation.
+
+VM_BIND feature is advertised to user via I915_PARAM_HAS_VM_BIND.
+User has to opt-in for VM_BIND mode of binding for an address space (VM)
+during VM creation time via I915_VM_CREATE_FLAGS_USE_VM_BIND extension.
+
+The bind/unbind operation can get completed asynchronously and out of
+submission order. The out fence when specified will be signaled upon
+completion of bind/unbind operation.
+
+VM_BIND features include:
+
+* Multiple Virtual Address (VA) mappings can map to the same physical pages
+ of an object (aliasing).
+* VA mapping can map to a partial section of the BO (partial binding).
+* Support capture of persistent mappings in the dump upon GPU error.
+* Support for userptr gem objects (no special uapi is required for this).
+
+TLB flush consideration
+------------------------
+The i915 driver flushes the TLB for each submission and when an object's
+pages are released. The VM_BIND/UNBIND operation will not do any additional
+TLB flush. Any VM_BIND mapping added will be in the working set for subsequent
+submissions on that VM and will not be in the working set for currently running
+batches (which would require additional TLB flushes, which is not supported).
+
+Execbuf ioctl in VM_BIND mode
+-------------------------------
+A VM in VM_BIND mode will not support older execbuf mode of binding.
+The execbuf ioctl handling in VM_BIND mode differs significantly from the
+older execbuf2 ioctl (See struct drm_i915_gem_execbuffer2).
+Hence, a new execbuf3 ioctl has been added to support VM_BIND mode. (See
+struct drm_i915_gem_execbuffer3). The execbuf3 ioctl will not accept any
+execlist. Hence, no support for implicit sync. It is expected that the below
+work will be able to support requirements of object dependency setting in all
+use cases:
+
+"dma-buf: Add an API for exporting sync files"
+(https://lwn.net/Articles/859290/)
+
+The new execbuf3 ioctl only works in VM_BIND mode and the VM_BIND mode only
+works with execbuf3 ioctl for submission. All BOs mapped on that VM (through
+VM_BIND call) at the time of execbuf3 call are deemed required for that
+submission.
+
+The execbuf3 ioctl directly specifies the batch addresses instead of as
+object handles as in execbuf2 ioctl. The execbuf3 ioctl will also not
+support many of the older features like in/out/submit fences, fence array,
+default gem context and many more (See struct drm_i915_gem_execbuffer3).
+
+In VM_BIND mode, VA allocation is completely managed by the user instead of
+the i915 driver. Hence all VA assignment, eviction are not applicable in
+VM_BIND mode. Also, for determining object activeness, VM_BIND mode will not
+be using the i915_vma active reference tracking. It will instead use dma-resv
+object for that (See `VM_BIND dma_resv usage`_).
+
+So, a lot of existing code supporting execbuf2 ioctl, like relocations, VA
+evictions, vma lookup table, implicit sync, vma active reference tracking etc.,
+are not applicable for execbuf3 ioctl. Hence, all execbuf3 specific handling
+should be in a separate file and only functionalities common to these ioctls
+can be the shared code where possible.
+
+VM_PRIVATE objects
+-------------------
+By default, BOs can be mapped on multiple VMs and can also be dma-buf
+exported. Hence these BOs are referred to as Shared BOs.
+During each execbuf submission, the request fence must be added to the
+dma-resv fence list of all shared BOs mapped on the VM.
+
+VM_BIND feature introduces an optimization where user can create BO which
+is private to a specified VM via I915_GEM_CREATE_EXT_VM_PRIVATE flag during
+BO creation. Unlike Shared BOs, these VM private BOs can only be mapped on
+the VM they are private to and can't be dma-buf exported.
+All private BOs of a VM share the dma-resv object. Hence during each execbuf
+submission, they need only one dma-resv fence list updated. Thus, the fast
+path (where required mappings are already bound) submission latency is O(1)
+w.r.t the number of VM private BOs.
+
+VM_BIND locking hirarchy
+-------------------------
+The locking design here supports the older (execlist based) execbuf mode, the
+newer VM_BIND mode, the VM_BIND mode with GPU page faults and possible future
+system allocator support (See `Shared Virtual Memory (SVM) support`_).
+The older execbuf mode and the newer VM_BIND mode without page faults manages
+residency of backing storage using dma_fence. The VM_BIND mode with page faults
+and the system allocator support do not use any dma_fence at all.
+
+VM_BIND locking order is as below.
+
+1) Lock-A: A vm_bind mutex will protect vm_bind lists. This lock is taken in
+ vm_bind/vm_unbind ioctl calls, in the execbuf path and while releasing the
+ mapping.
+
+ In future, when GPU page faults are supported, we can potentially use a
+ rwsem instead, so that multiple page fault handlers can take the read side
+ lock to lookup the mapping and hence can run in parallel.
+ The older execbuf mode of binding do not need this lock.
+
+2) Lock-B: The object's dma-resv lock will protect i915_vma state and needs to
+ be held while binding/unbinding a vma in the async worker and while updating
+ dma-resv fence list of an object. Note that private BOs of a VM will all
+ share a dma-resv object.
+
+ The future system allocator support will use the HMM prescribed locking
+ instead.
+
+3) Lock-C: Spinlock/s to protect some of the VM's lists like the list of
+ invalidated vmas (due to eviction and userptr invalidation) etc.
+
+When GPU page faults are supported, the execbuf path do not take any of these
+locks. There we will simply smash the new batch buffer address into the ring and
+then tell the scheduler run that. The lock taking only happens from the page
+fault handler, where we take lock-A in read mode, whichever lock-B we need to
+find the backing storage (dma_resv lock for gem objects, and hmm/core mm for
+system allocator) and some additional locks (lock-D) for taking care of page
+table races. Page fault mode should not need to ever manipulate the vm lists,
+so won't ever need lock-C.
+
+VM_BIND LRU handling
+---------------------
+We need to ensure VM_BIND mapped objects are properly LRU tagged to avoid
+performance degradation. We will also need support for bulk LRU movement of
+VM_BIND objects to avoid additional latencies in execbuf path.
+
+The page table pages are similar to VM_BIND mapped objects (See
+`Evictable page table allocations`_) and are maintained per VM and needs to
+be pinned in memory when VM is made active (ie., upon an execbuf call with
+that VM). So, bulk LRU movement of page table pages is also needed.
+
+VM_BIND dma_resv usage
+-----------------------
+Fences needs to be added to all VM_BIND mapped objects. During each execbuf
+submission, they are added with DMA_RESV_USAGE_BOOKKEEP usage to prevent
+over sync (See enum dma_resv_usage). One can override it with either
+DMA_RESV_USAGE_READ or DMA_RESV_USAGE_WRITE usage during explicit object
+dependency setting.
+
+Note that DRM_I915_GEM_WAIT and DRM_I915_GEM_BUSY ioctls do not check for
+DMA_RESV_USAGE_BOOKKEEP usage and hence should not be used for end of batch
+check. Instead, the execbuf3 out fence should be used for end of batch check
+(See struct drm_i915_gem_execbuffer3).
+
+Also, in VM_BIND mode, use dma-resv apis for determining object activeness
+(See dma_resv_test_signaled() and dma_resv_wait_timeout()) and do not use the
+older i915_vma active reference tracking which is deprecated. This should be
+easier to get it working with the current TTM backend.
+
+Mesa use case
+--------------
+VM_BIND can potentially reduce the CPU overhead in Mesa (both Vulkan and Iris),
+hence improving performance of CPU-bound applications. It also allows us to
+implement Vulkan's Sparse Resources. With increasing GPU hardware performance,
+reducing CPU overhead becomes more impactful.
+
+
+Other VM_BIND use cases
+========================
+
+Long running Compute contexts
+------------------------------
+Usage of dma-fence expects that they complete in reasonable amount of time.
+Compute on the other hand can be long running. Hence it is appropriate for
+compute to use user/memory fence (See `User/Memory Fence`_) and dma-fence usage
+must be limited to in-kernel consumption only.
+
+Where GPU page faults are not available, kernel driver upon buffer invalidation
+will initiate a suspend (preemption) of long running context, finish the
+invalidation, revalidate the BO and then resume the compute context. This is
+done by having a per-context preempt fence which is enabled when someone tries
+to wait on it and triggers the context preemption.
+
+User/Memory Fence
+~~~~~~~~~~~~~~~~~~
+User/Memory fence is a <address, value> pair. To signal the user fence, the
+specified value will be written at the specified virtual address and wakeup the
+waiting process. User fence can be signaled either by the GPU or kernel async
+worker (like upon bind completion). User can wait on a user fence with a new
+user fence wait ioctl.
+
+Here is some prior work on this:
+https://patchwork.freedesktop.org/patch/349417/
+
+Low Latency Submission
+~~~~~~~~~~~~~~~~~~~~~~~
+Allows compute UMD to directly submit GPU jobs instead of through execbuf
+ioctl. This is made possible by VM_BIND is not being synchronized against
+execbuf. VM_BIND allows bind/unbind of mappings required for the directly
+submitted jobs.
+
+Debugger
+---------
+With debug event interface user space process (debugger) is able to keep track
+of and act upon resources created by another process (debugged) and attached
+to GPU via vm_bind interface.
+
+GPU page faults
+----------------
+GPU page faults when supported (in future), will only be supported in the
+VM_BIND mode. While both the older execbuf mode and the newer VM_BIND mode of
+binding will require using dma-fence to ensure residency, the GPU page faults
+mode when supported, will not use any dma-fence as residency is purely managed
+by installing and removing/invalidating page table entries.
+
+Page level hints settings
+--------------------------
+VM_BIND allows any hints setting per mapping instead of per BO.
+Possible hints include read-only mapping, placement and atomicity.
+Sub-BO level placement hint will be even more relevant with
+upcoming GPU on-demand page fault support.
+
+Page level Cache/CLOS settings
+-------------------------------
+VM_BIND allows cache/CLOS settings per mapping instead of per BO.
+
+Evictable page table allocations
+---------------------------------
+Make pagetable allocations evictable and manage them similar to VM_BIND
+mapped objects. Page table pages are similar to persistent mappings of a
+VM (difference here are that the page table pages will not have an i915_vma
+structure and after swapping pages back in, parent page link needs to be
+updated).
+
+Shared Virtual Memory (SVM) support
+------------------------------------
+VM_BIND interface can be used to map system memory directly (without gem BO
+abstraction) using the HMM interface. SVM is only supported with GPU page
+faults enabled.
+
+VM_BIND UAPI
+=============
+
+.. kernel-doc:: Documentation/gpu/rfc/i915_vm_bind.h
diff --git a/Documentation/gpu/rfc/index.rst b/Documentation/gpu/rfc/index.rst
index 91e93a705230..7d10c36b268d 100644
--- a/Documentation/gpu/rfc/index.rst
+++ b/Documentation/gpu/rfc/index.rst
@@ -23,3 +23,7 @@ host such documentation:
.. toctree::
i915_scheduler.rst
+
+.. toctree::
+
+ i915_vm_bind.rst
--
2.21.0.rc0.32.g243a4c7e27
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Intel-gfx] [PATCH v5 2/3] drm/i915: Update i915 uapi documentation
2022-06-24 5:32 [Intel-gfx] [PATCH v5 0/3] drm/doc/rfc: i915 VM_BIND feature design + uapi Niranjana Vishwanathapura
2022-06-24 5:32 ` [Intel-gfx] [PATCH v5 1/3] drm/doc/rfc: VM_BIND feature design document Niranjana Vishwanathapura
@ 2022-06-24 5:32 ` Niranjana Vishwanathapura
2022-06-24 5:32 ` [Intel-gfx] [PATCH v5 3/3] drm/doc/rfc: VM_BIND uapi definition Niranjana Vishwanathapura
` (4 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Niranjana Vishwanathapura @ 2022-06-24 5:32 UTC (permalink / raw)
To: intel-gfx, dri-devel
Cc: paulo.r.zanoni, chris.p.wilson, thomas.hellstrom, matthew.auld,
daniel.vetter, christian.koenig
Add some missing i915 upai documentation which the new
i915 VM_BIND feature documentation will be refer to.
Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
---
include/uapi/drm/i915_drm.h | 205 ++++++++++++++++++++++++++++--------
1 file changed, 160 insertions(+), 45 deletions(-)
diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
index de49b68b4fc8..4afe95d8b98b 100644
--- a/include/uapi/drm/i915_drm.h
+++ b/include/uapi/drm/i915_drm.h
@@ -751,14 +751,27 @@ typedef struct drm_i915_irq_wait {
/* Must be kept compact -- no holes and well documented */
-typedef struct drm_i915_getparam {
+/**
+ * struct drm_i915_getparam - Driver parameter query structure.
+ */
+struct drm_i915_getparam {
+ /** @param: Driver parameter to query. */
__s32 param;
- /*
+
+ /**
+ * @value: Address of memory where queried value should be put.
+ *
* WARNING: Using pointers instead of fixed-size u64 means we need to write
* compat32 code. Don't repeat this mistake.
*/
int __user *value;
-} drm_i915_getparam_t;
+};
+
+/**
+ * typedef drm_i915_getparam_t - Driver parameter query structure.
+ * See struct drm_i915_getparam.
+ */
+typedef struct drm_i915_getparam drm_i915_getparam_t;
/* Ioctl to set kernel params:
*/
@@ -1239,76 +1252,119 @@ struct drm_i915_gem_exec_object2 {
__u64 rsvd2;
};
+/**
+ * struct drm_i915_gem_exec_fence - An input or output fence for the execbuf
+ * ioctl.
+ *
+ * The request will wait for input fence to signal before submission.
+ *
+ * The returned output fence will be signaled after the completion of the
+ * request.
+ */
struct drm_i915_gem_exec_fence {
- /**
- * User's handle for a drm_syncobj to wait on or signal.
- */
+ /** @handle: User's handle for a drm_syncobj to wait on or signal. */
__u32 handle;
+ /**
+ * @flags: Supported flags are:
+ *
+ * I915_EXEC_FENCE_WAIT:
+ * Wait for the input fence before request submission.
+ *
+ * I915_EXEC_FENCE_SIGNAL:
+ * Return request completion fence as output
+ */
+ __u32 flags;
#define I915_EXEC_FENCE_WAIT (1<<0)
#define I915_EXEC_FENCE_SIGNAL (1<<1)
#define __I915_EXEC_FENCE_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_SIGNAL << 1))
- __u32 flags;
};
-/*
- * See drm_i915_gem_execbuffer_ext_timeline_fences.
- */
-#define DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES 0
-
-/*
+/**
+ * struct drm_i915_gem_execbuffer_ext_timeline_fences - Timeline fences
+ * for execbuf ioctl.
+ *
* This structure describes an array of drm_syncobj and associated points for
* timeline variants of drm_syncobj. It is invalid to append this structure to
* the execbuf if I915_EXEC_FENCE_ARRAY is set.
*/
struct drm_i915_gem_execbuffer_ext_timeline_fences {
+#define DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES 0
+ /** @base: Extension link. See struct i915_user_extension. */
struct i915_user_extension base;
/**
- * Number of element in the handles_ptr & value_ptr arrays.
+ * @fence_count: Number of elements in the @handles_ptr & @value_ptr
+ * arrays.
*/
__u64 fence_count;
/**
- * Pointer to an array of struct drm_i915_gem_exec_fence of length
- * fence_count.
+ * @handles_ptr: Pointer to an array of struct drm_i915_gem_exec_fence
+ * of length @fence_count.
*/
__u64 handles_ptr;
/**
- * Pointer to an array of u64 values of length fence_count. Values
- * must be 0 for a binary drm_syncobj. A Value of 0 for a timeline
- * drm_syncobj is invalid as it turns a drm_syncobj into a binary one.
+ * @values_ptr: Pointer to an array of u64 values of length
+ * @fence_count.
+ * Values must be 0 for a binary drm_syncobj. A Value of 0 for a
+ * timeline drm_syncobj is invalid as it turns a drm_syncobj into a
+ * binary one.
*/
__u64 values_ptr;
};
+/**
+ * struct drm_i915_gem_execbuffer2 - Structure for DRM_I915_GEM_EXECBUFFER2
+ * ioctl.
+ */
struct drm_i915_gem_execbuffer2 {
- /**
- * List of gem_exec_object2 structs
- */
+ /** @buffers_ptr: Pointer to a list of gem_exec_object2 structs */
__u64 buffers_ptr;
+
+ /** @buffer_count: Number of elements in @buffers_ptr array */
__u32 buffer_count;
- /** Offset in the batchbuffer to start execution from. */
+ /**
+ * @batch_start_offset: Offset in the batchbuffer to start execution
+ * from.
+ */
__u32 batch_start_offset;
- /** Bytes used in batchbuffer from batch_start_offset */
+
+ /**
+ * @batch_len: Length in bytes of the batch buffer, starting from the
+ * @batch_start_offset. If 0, length is assumed to be the batch buffer
+ * object size.
+ */
__u32 batch_len;
+
+ /** @DR1: deprecated */
__u32 DR1;
+
+ /** @DR4: deprecated */
__u32 DR4;
+
+ /** @num_cliprects: See @cliprects_ptr */
__u32 num_cliprects;
+
/**
- * This is a struct drm_clip_rect *cliprects if I915_EXEC_FENCE_ARRAY
- * & I915_EXEC_USE_EXTENSIONS are not set.
+ * @cliprects_ptr: Kernel clipping was a DRI1 misfeature.
+ *
+ * It is invalid to use this field if I915_EXEC_FENCE_ARRAY or
+ * I915_EXEC_USE_EXTENSIONS flags are not set.
*
* If I915_EXEC_FENCE_ARRAY is set, then this is a pointer to an array
- * of struct drm_i915_gem_exec_fence and num_cliprects is the length
- * of the array.
+ * of &drm_i915_gem_exec_fence and @num_cliprects is the length of the
+ * array.
*
* If I915_EXEC_USE_EXTENSIONS is set, then this is a pointer to a
- * single struct i915_user_extension and num_cliprects is 0.
+ * single &i915_user_extension and num_cliprects is 0.
*/
__u64 cliprects_ptr;
+
+ /** @flags: Execbuf flags */
+ __u64 flags;
#define I915_EXEC_RING_MASK (0x3f)
#define I915_EXEC_DEFAULT (0<<0)
#define I915_EXEC_RENDER (1<<0)
@@ -1326,10 +1382,6 @@ struct drm_i915_gem_execbuffer2 {
#define I915_EXEC_CONSTANTS_REL_GENERAL (0<<6) /* default */
#define I915_EXEC_CONSTANTS_ABSOLUTE (1<<6)
#define I915_EXEC_CONSTANTS_REL_SURFACE (2<<6) /* gen4/5 only */
- __u64 flags;
- __u64 rsvd1; /* now used for context info */
- __u64 rsvd2;
-};
/** Resets the SO write offset registers for transform feedback on gen7. */
#define I915_EXEC_GEN7_SOL_RESET (1<<8)
@@ -1432,9 +1484,23 @@ struct drm_i915_gem_execbuffer2 {
* drm_i915_gem_execbuffer_ext enum.
*/
#define I915_EXEC_USE_EXTENSIONS (1 << 21)
-
#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_USE_EXTENSIONS << 1))
+ /** @rsvd1: Context id */
+ __u64 rsvd1;
+
+ /**
+ * @rsvd2: in and out sync_file file descriptors.
+ *
+ * When I915_EXEC_FENCE_IN or I915_EXEC_FENCE_SUBMIT flag is set, the
+ * lower 32 bits of this field will have the in sync_file fd (input).
+ *
+ * When I915_EXEC_FENCE_OUT flag is set, the upper 32 bits of this
+ * field will have the out sync_file fd (output).
+ */
+ __u64 rsvd2;
+};
+
#define I915_EXEC_CONTEXT_ID_MASK (0xffffffff)
#define i915_execbuffer2_set_context_id(eb2, context) \
(eb2).rsvd1 = context & I915_EXEC_CONTEXT_ID_MASK
@@ -1814,19 +1880,58 @@ struct drm_i915_gem_context_create {
__u32 pad;
};
+/**
+ * struct drm_i915_gem_context_create_ext - Structure for creating contexts.
+ */
struct drm_i915_gem_context_create_ext {
- __u32 ctx_id; /* output: id of new context*/
+ /** @ctx_id: Id of the created context (output) */
+ __u32 ctx_id;
+
+ /**
+ * @flags: Supported flags are:
+ *
+ * I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS:
+ *
+ * Extensions may be appended to this structure and driver must check
+ * for those. See @extensions.
+ *
+ * I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE
+ *
+ * Created context will have single timeline.
+ */
__u32 flags;
#define I915_CONTEXT_CREATE_FLAGS_USE_EXTENSIONS (1u << 0)
#define I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE (1u << 1)
#define I915_CONTEXT_CREATE_FLAGS_UNKNOWN \
(-(I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE << 1))
+
+ /**
+ * @extensions: Zero-terminated chain of extensions.
+ *
+ * I915_CONTEXT_CREATE_EXT_SETPARAM:
+ * Context parameter to set or query during context creation.
+ * See struct drm_i915_gem_context_create_ext_setparam.
+ *
+ * I915_CONTEXT_CREATE_EXT_CLONE:
+ * This extension has been removed. On the off chance someone somewhere
+ * has attempted to use it, never re-use this extension number.
+ */
__u64 extensions;
+#define I915_CONTEXT_CREATE_EXT_SETPARAM 0
+#define I915_CONTEXT_CREATE_EXT_CLONE 1
};
+/**
+ * struct drm_i915_gem_context_param - Context parameter to set or query.
+ */
struct drm_i915_gem_context_param {
+ /** @ctx_id: Context id */
__u32 ctx_id;
+
+ /** @size: Size of the parameter @value */
__u32 size;
+
+ /** @param: Parameter to set or query */
__u64 param;
#define I915_CONTEXT_PARAM_BAN_PERIOD 0x1
/* I915_CONTEXT_PARAM_NO_ZEROMAP has been removed. On the off chance
@@ -1973,6 +2078,7 @@ struct drm_i915_gem_context_param {
#define I915_CONTEXT_PARAM_PROTECTED_CONTENT 0xd
/* Must be kept compact -- no holes and well documented */
+ /** @value: Context parameter value to be set or queried */
__u64 value;
};
@@ -2371,23 +2477,29 @@ struct i915_context_param_engines {
struct i915_engine_class_instance engines[N__]; \
} __attribute__((packed)) name__
+/**
+ * struct drm_i915_gem_context_create_ext_setparam - Context parameter
+ * to set or query during context creation.
+ */
struct drm_i915_gem_context_create_ext_setparam {
-#define I915_CONTEXT_CREATE_EXT_SETPARAM 0
+ /** @base: Extension link. See struct i915_user_extension. */
struct i915_user_extension base;
+
+ /**
+ * @param: Context parameter to set or query.
+ * See struct drm_i915_gem_context_param.
+ */
struct drm_i915_gem_context_param param;
};
-/* This API has been removed. On the off chance someone somewhere has
- * attempted to use it, never re-use this extension number.
- */
-#define I915_CONTEXT_CREATE_EXT_CLONE 1
-
struct drm_i915_gem_context_destroy {
__u32 ctx_id;
__u32 pad;
};
-/*
+/**
+ * struct drm_i915_gem_vm_control - Structure to create or destroy VM.
+ *
* DRM_I915_GEM_VM_CREATE -
*
* Create a new virtual memory address space (ppGTT) for use within a context
@@ -2397,20 +2509,23 @@ struct drm_i915_gem_context_destroy {
* The id of new VM (bound to the fd) for use with I915_CONTEXT_PARAM_VM is
* returned in the outparam @id.
*
- * No flags are defined, with all bits reserved and must be zero.
- *
* An extension chain maybe provided, starting with @extensions, and terminated
* by the @next_extension being 0. Currently, no extensions are defined.
*
* DRM_I915_GEM_VM_DESTROY -
*
- * Destroys a previously created VM id, specified in @id.
+ * Destroys a previously created VM id, specified in @vm_id.
*
* No extensions or flags are allowed currently, and so must be zero.
*/
struct drm_i915_gem_vm_control {
+ /** @extensions: Zero-terminated chain of extensions. */
__u64 extensions;
+
+ /** @flags: reserved for future usage, currently MBZ */
__u32 flags;
+
+ /** @vm_id: Id of the VM created or to be destroyed */
__u32 vm_id;
};
--
2.21.0.rc0.32.g243a4c7e27
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Intel-gfx] [PATCH v5 3/3] drm/doc/rfc: VM_BIND uapi definition
2022-06-24 5:32 [Intel-gfx] [PATCH v5 0/3] drm/doc/rfc: i915 VM_BIND feature design + uapi Niranjana Vishwanathapura
2022-06-24 5:32 ` [Intel-gfx] [PATCH v5 1/3] drm/doc/rfc: VM_BIND feature design document Niranjana Vishwanathapura
2022-06-24 5:32 ` [Intel-gfx] [PATCH v5 2/3] drm/i915: Update i915 uapi documentation Niranjana Vishwanathapura
@ 2022-06-24 5:32 ` Niranjana Vishwanathapura
2022-06-24 5:45 ` Niranjana Vishwanathapura
2022-06-24 8:11 ` Tvrtko Ursulin
2022-06-24 6:10 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/doc/rfc: i915 VM_BIND feature design + uapi Patchwork
` (3 subsequent siblings)
6 siblings, 2 replies; 14+ messages in thread
From: Niranjana Vishwanathapura @ 2022-06-24 5:32 UTC (permalink / raw)
To: intel-gfx, dri-devel
Cc: paulo.r.zanoni, chris.p.wilson, thomas.hellstrom, matthew.auld,
daniel.vetter, christian.koenig
VM_BIND and related uapi definitions
v2: Reduce the scope to simple Mesa use case.
v3: Expand VM_UNBIND documentation and add
I915_GEM_VM_BIND/UNBIND_FENCE_VALID
and I915_GEM_VM_BIND_TLB_FLUSH flags.
v4: Remove I915_GEM_VM_BIND_TLB_FLUSH flag and add additional
documentation for vm_bind/unbind.
v5: Remove TLB flush requirement on VM_UNBIND.
Add version support to stage implementation.
Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
---
Documentation/gpu/rfc/i915_vm_bind.h | 256 +++++++++++++++++++++++++++
1 file changed, 256 insertions(+)
create mode 100644 Documentation/gpu/rfc/i915_vm_bind.h
diff --git a/Documentation/gpu/rfc/i915_vm_bind.h b/Documentation/gpu/rfc/i915_vm_bind.h
new file mode 100644
index 000000000000..8af6c035ccf4
--- /dev/null
+++ b/Documentation/gpu/rfc/i915_vm_bind.h
@@ -0,0 +1,256 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2022 Intel Corporation
+ */
+
+/**
+ * DOC: I915_PARAM_HAS_VM_BIND
+ *
+ * VM_BIND feature availability.
+ * See typedef drm_i915_getparam_t param.
+ * bit[0]: If set, VM_BIND is supported, otherwise not.
+ * bits[8-15]: VM_BIND implementation version.
+ * Version 0 requires in VM_UNBIND call, UMDs to specify the exact mapping
+ * created previously with the VM_BIND call. i.e., i915 will not support
+ * splitting/merging of the mappings created with VM_BIND call (See
+ * struct drm_i915_gem_vm_bind and struct drm_i915_gem_vm_unbind).
+ */
+#define I915_PARAM_HAS_VM_BIND 57
+
+/**
+ * DOC: I915_VM_CREATE_FLAGS_USE_VM_BIND
+ *
+ * Flag to opt-in for VM_BIND mode of binding during VM creation.
+ * See struct drm_i915_gem_vm_control flags.
+ *
+ * The older execbuf2 ioctl will not support VM_BIND mode of operation.
+ * For VM_BIND mode, we have new execbuf3 ioctl which will not accept any
+ * execlist (See struct drm_i915_gem_execbuffer3 for more details).
+ *
+ */
+#define I915_VM_CREATE_FLAGS_USE_VM_BIND (1 << 0)
+
+/* VM_BIND related ioctls */
+#define DRM_I915_GEM_VM_BIND 0x3d
+#define DRM_I915_GEM_VM_UNBIND 0x3e
+#define DRM_I915_GEM_EXECBUFFER3 0x3f
+
+#define DRM_IOCTL_I915_GEM_VM_BIND DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_BIND, struct drm_i915_gem_vm_bind)
+#define DRM_IOCTL_I915_GEM_VM_UNBIND DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_UNBIND, struct drm_i915_gem_vm_bind)
+#define DRM_IOCTL_I915_GEM_EXECBUFFER3 DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER3, struct drm_i915_gem_execbuffer3)
+
+/**
+ * struct drm_i915_gem_vm_bind_fence - Bind/unbind completion notification.
+ *
+ * A timeline out fence for vm_bind/unbind completion notification.
+ */
+struct drm_i915_gem_vm_bind_fence {
+ /** @handle: User's handle for a drm_syncobj to signal. */
+ __u32 handle;
+
+ /** @rsvd: Reserved, MBZ */
+ __u32 rsvd;
+
+ /**
+ * @value: A point in the timeline.
+ * Value must be 0 for a binary drm_syncobj. A Value of 0 for a
+ * timeline drm_syncobj is invalid as it turns a drm_syncobj into a
+ * binary one.
+ */
+ __u64 value;
+};
+
+/**
+ * struct drm_i915_gem_vm_bind - VA to object mapping to bind.
+ *
+ * This structure is passed to VM_BIND ioctl and specifies the mapping of GPU
+ * virtual address (VA) range to the section of an object that should be bound
+ * in the device page table of the specified address space (VM).
+ * The VA range specified must be unique (ie., not currently bound) and can
+ * be mapped to whole object or a section of the object (partial binding).
+ * Multiple VA mappings can be created to the same section of the object
+ * (aliasing).
+ *
+ * The @start, @offset and @length should be 4K page aligned. However the DG2
+ * and XEHPSDV has 64K page size for device local-memory and has compact page
+ * table. On those platforms, for binding device local-memory objects, the
+ * @start should be 2M aligned, @offset and @length should be 64K aligned.
+ * Also, on those platforms, error -ENOSPC will be returned if user tries to
+ * bind a device local-memory object and a system memory object in a single 2M
+ * section of VA range.
+ *
+ * Error code -EINVAL will be returned if @start, @offset and @length are not
+ * properly aligned. Error code of -ENOSPC will be returned if the VA range
+ * specified can't be reserved.
+ *
+ * The bind operation can get completed asynchronously and out of submission
+ * order. When I915_GEM_VM_BIND_FENCE_VALID flag is set, the @fence will be
+ * signaled upon completion of bind operation.
+ */
+struct drm_i915_gem_vm_bind {
+ /** @vm_id: VM (address space) id to bind */
+ __u32 vm_id;
+
+ /** @handle: Object handle */
+ __u32 handle;
+
+ /** @start: Virtual Address start to bind */
+ __u64 start;
+
+ /** @offset: Offset in object to bind */
+ __u64 offset;
+
+ /** @length: Length of mapping to bind */
+ __u64 length;
+
+ /**
+ * @flags: Supported flags are:
+ *
+ * I915_GEM_VM_BIND_FENCE_VALID:
+ * @fence is valid, needs bind completion notification.
+ *
+ * I915_GEM_VM_BIND_READONLY:
+ * Mapping is read-only.
+ *
+ * I915_GEM_VM_BIND_CAPTURE:
+ * Capture this mapping in the dump upon GPU error.
+ */
+ __u64 flags;
+#define I915_GEM_VM_BIND_FENCE_VALID (1 << 0)
+#define I915_GEM_VM_BIND_READONLY (1 << 1)
+#define I915_GEM_VM_BIND_CAPTURE (1 << 2)
+
+ /** @fence: Timeline fence for bind completion signaling */
+ struct drm_i915_gem_vm_bind_fence fence;
+
+ /** @extensions: 0-terminated chain of extensions */
+ __u64 extensions;
+};
+
+/**
+ * struct drm_i915_gem_vm_unbind - VA to object mapping to unbind.
+ *
+ * This structure is passed to VM_UNBIND ioctl and specifies the GPU virtual
+ * address (VA) range that should be unbound from the device page table of the
+ * specified address space (VM). VM_UNBIND will force unbind the specified
+ * range from device page table without waiting for any GPU job to complete.
+ * It is UMDs responsibility to ensure the mapping is no longer in use before
+ * calling VM_UNBIND.
+ *
+ * If the specified mapping is not found, the ioctl will simply return without
+ * any error.
+ *
+ * The unbind operation can get completed asynchronously and out of submission
+ * order. When I915_GEM_VM_UNBIND_FENCE_VALID flag is set, the @fence will be
+ * signaled upon completion of unbind operation.
+ */
+struct drm_i915_gem_vm_unbind {
+ /** @vm_id: VM (address space) id to bind */
+ __u32 vm_id;
+
+ /** @rsvd: Reserved, MBZ */
+ __u32 rsvd;
+
+ /** @start: Virtual Address start to unbind */
+ __u64 start;
+
+ /** @length: Length of mapping to unbind */
+ __u64 length;
+
+ /**
+ * @flags: Supported flags are:
+ *
+ * I915_GEM_VM_UNBIND_FENCE_VALID:
+ * @fence is valid, needs unbind completion notification.
+ */
+ __u64 flags;
+#define I915_GEM_VM_UNBIND_FENCE_VALID (1 << 0)
+
+ /** @fence: Timeline fence for unbind completion signaling */
+ struct drm_i915_gem_vm_bind_fence fence;
+
+ /** @extensions: 0-terminated chain of extensions */
+ __u64 extensions;
+};
+
+/**
+ * struct drm_i915_gem_execbuffer3 - Structure for DRM_I915_GEM_EXECBUFFER3
+ * ioctl.
+ *
+ * DRM_I915_GEM_EXECBUFFER3 ioctl only works in VM_BIND mode and VM_BIND mode
+ * only works with this ioctl for submission.
+ * See I915_VM_CREATE_FLAGS_USE_VM_BIND.
+ */
+struct drm_i915_gem_execbuffer3 {
+ /**
+ * @ctx_id: Context id
+ *
+ * Only contexts with user engine map are allowed.
+ */
+ __u32 ctx_id;
+
+ /**
+ * @engine_idx: Engine index
+ *
+ * An index in the user engine map of the context specified by @ctx_id.
+ */
+ __u32 engine_idx;
+
+ /** @rsvd1: Reserved, MBZ */
+ __u32 rsvd1;
+
+ /**
+ * @batch_count: Number of batches in @batch_address array.
+ *
+ * 0 is invalid. For parallel submission, it should be equal to the
+ * number of (parallel) engines involved in that submission.
+ */
+ __u32 batch_count;
+
+ /**
+ * @batch_address: Array of batch gpu virtual addresses.
+ *
+ * If @batch_count is 1, then it is the gpu virtual address of the
+ * batch buffer. If @batch_count > 1, then it is a pointer to an array
+ * of batch buffer gpu virtual addresses.
+ */
+ __u64 batch_address;
+
+ /**
+ * @flags: Supported flags are:
+ *
+ * I915_EXEC3_SECURE:
+ * Request a privileged ("secure") batch buffer/s.
+ * It is only available for DRM_ROOT_ONLY | DRM_MASTER processes.
+ */
+ __u64 flags;
+#define I915_EXEC3_SECURE (1<<0)
+
+ /** @rsvd2: Reserved, MBZ */
+ __u64 rsvd2;
+
+ /**
+ * @extensions: Zero-terminated chain of extensions.
+ *
+ * DRM_I915_GEM_EXECBUFFER3_EXT_TIMELINE_FENCES:
+ * It has same format as DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES.
+ * See struct drm_i915_gem_execbuffer_ext_timeline_fences.
+ */
+ __u64 extensions;
+#define DRM_I915_GEM_EXECBUFFER3_EXT_TIMELINE_FENCES 0
+};
+
+/**
+ * struct drm_i915_gem_create_ext_vm_private - Extension to make the object
+ * private to the specified VM.
+ *
+ * See struct drm_i915_gem_create_ext.
+ */
+struct drm_i915_gem_create_ext_vm_private {
+#define I915_GEM_CREATE_EXT_VM_PRIVATE 2
+ /** @base: Extension link. See struct i915_user_extension. */
+ struct i915_user_extension base;
+
+ /** @vm_id: Id of the VM to which the object is private */
+ __u32 vm_id;
+};
--
2.21.0.rc0.32.g243a4c7e27
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Intel-gfx] [PATCH v5 3/3] drm/doc/rfc: VM_BIND uapi definition
2022-06-24 5:32 ` [Intel-gfx] [PATCH v5 3/3] drm/doc/rfc: VM_BIND uapi definition Niranjana Vishwanathapura
@ 2022-06-24 5:45 ` Niranjana Vishwanathapura
2022-06-24 8:11 ` Tvrtko Ursulin
1 sibling, 0 replies; 14+ messages in thread
From: Niranjana Vishwanathapura @ 2022-06-24 5:45 UTC (permalink / raw)
To: intel-gfx, dri-devel
Cc: paulo.r.zanoni, chris.p.wilson, thomas.hellstrom, daniel.vetter,
christian.koenig, matthew.auld
On Thu, Jun 23, 2022 at 10:32:08PM -0700, Niranjana Vishwanathapura wrote:
>VM_BIND and related uapi definitions
>
>v2: Reduce the scope to simple Mesa use case.
>v3: Expand VM_UNBIND documentation and add
> I915_GEM_VM_BIND/UNBIND_FENCE_VALID
> and I915_GEM_VM_BIND_TLB_FLUSH flags.
>v4: Remove I915_GEM_VM_BIND_TLB_FLUSH flag and add additional
> documentation for vm_bind/unbind.
>v5: Remove TLB flush requirement on VM_UNBIND.
> Add version support to stage implementation.
>
>Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
>---
> Documentation/gpu/rfc/i915_vm_bind.h | 256 +++++++++++++++++++++++++++
> 1 file changed, 256 insertions(+)
> create mode 100644 Documentation/gpu/rfc/i915_vm_bind.h
>
>diff --git a/Documentation/gpu/rfc/i915_vm_bind.h b/Documentation/gpu/rfc/i915_vm_bind.h
>new file mode 100644
>index 000000000000..8af6c035ccf4
>--- /dev/null
>+++ b/Documentation/gpu/rfc/i915_vm_bind.h
>@@ -0,0 +1,256 @@
>+/* SPDX-License-Identifier: MIT */
>+/*
>+ * Copyright © 2022 Intel Corporation
>+ */
>+
>+/**
>+ * DOC: I915_PARAM_HAS_VM_BIND
>+ *
>+ * VM_BIND feature availability.
>+ * See typedef drm_i915_getparam_t param.
>+ * bit[0]: If set, VM_BIND is supported, otherwise not.
>+ * bits[8-15]: VM_BIND implementation version.
>+ * Version 0 requires in VM_UNBIND call, UMDs to specify the exact mapping
>+ * created previously with the VM_BIND call. i.e., i915 will not support
>+ * splitting/merging of the mappings created with VM_BIND call (See
>+ * struct drm_i915_gem_vm_bind and struct drm_i915_gem_vm_unbind).
>+ */
>+#define I915_PARAM_HAS_VM_BIND 57
>+
>+/**
>+ * DOC: I915_VM_CREATE_FLAGS_USE_VM_BIND
>+ *
>+ * Flag to opt-in for VM_BIND mode of binding during VM creation.
>+ * See struct drm_i915_gem_vm_control flags.
>+ *
>+ * The older execbuf2 ioctl will not support VM_BIND mode of operation.
>+ * For VM_BIND mode, we have new execbuf3 ioctl which will not accept any
>+ * execlist (See struct drm_i915_gem_execbuffer3 for more details).
>+ *
>+ */
>+#define I915_VM_CREATE_FLAGS_USE_VM_BIND (1 << 0)
>+
>+/* VM_BIND related ioctls */
>+#define DRM_I915_GEM_VM_BIND 0x3d
>+#define DRM_I915_GEM_VM_UNBIND 0x3e
>+#define DRM_I915_GEM_EXECBUFFER3 0x3f
>+
>+#define DRM_IOCTL_I915_GEM_VM_BIND DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_BIND, struct drm_i915_gem_vm_bind)
>+#define DRM_IOCTL_I915_GEM_VM_UNBIND DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_UNBIND, struct drm_i915_gem_vm_bind)
>+#define DRM_IOCTL_I915_GEM_EXECBUFFER3 DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER3, struct drm_i915_gem_execbuffer3)
>+
>+/**
>+ * struct drm_i915_gem_vm_bind_fence - Bind/unbind completion notification.
>+ *
>+ * A timeline out fence for vm_bind/unbind completion notification.
>+ */
>+struct drm_i915_gem_vm_bind_fence {
>+ /** @handle: User's handle for a drm_syncobj to signal. */
>+ __u32 handle;
>+
>+ /** @rsvd: Reserved, MBZ */
>+ __u32 rsvd;
>+
>+ /**
>+ * @value: A point in the timeline.
>+ * Value must be 0 for a binary drm_syncobj. A Value of 0 for a
>+ * timeline drm_syncobj is invalid as it turns a drm_syncobj into a
>+ * binary one.
>+ */
>+ __u64 value;
>+};
>+
>+/**
>+ * struct drm_i915_gem_vm_bind - VA to object mapping to bind.
>+ *
>+ * This structure is passed to VM_BIND ioctl and specifies the mapping of GPU
>+ * virtual address (VA) range to the section of an object that should be bound
>+ * in the device page table of the specified address space (VM).
>+ * The VA range specified must be unique (ie., not currently bound) and can
>+ * be mapped to whole object or a section of the object (partial binding).
>+ * Multiple VA mappings can be created to the same section of the object
>+ * (aliasing).
>+ *
>+ * The @start, @offset and @length should be 4K page aligned. However the DG2
>+ * and XEHPSDV has 64K page size for device local-memory and has compact page
>+ * table. On those platforms, for binding device local-memory objects, the
>+ * @start should be 2M aligned, @offset and @length should be 64K aligned.
>+ * Also, on those platforms, error -ENOSPC will be returned if user tries to
>+ * bind a device local-memory object and a system memory object in a single 2M
>+ * section of VA range.
>+ *
>+ * Error code -EINVAL will be returned if @start, @offset and @length are not
>+ * properly aligned. Error code of -ENOSPC will be returned if the VA range
>+ * specified can't be reserved.
>+ *
>+ * The bind operation can get completed asynchronously and out of submission
>+ * order. When I915_GEM_VM_BIND_FENCE_VALID flag is set, the @fence will be
>+ * signaled upon completion of bind operation.
>+ */
>+struct drm_i915_gem_vm_bind {
>+ /** @vm_id: VM (address space) id to bind */
>+ __u32 vm_id;
>+
>+ /** @handle: Object handle */
>+ __u32 handle;
>+
>+ /** @start: Virtual Address start to bind */
>+ __u64 start;
>+
>+ /** @offset: Offset in object to bind */
>+ __u64 offset;
>+
>+ /** @length: Length of mapping to bind */
>+ __u64 length;
>+
>+ /**
>+ * @flags: Supported flags are:
>+ *
>+ * I915_GEM_VM_BIND_FENCE_VALID:
>+ * @fence is valid, needs bind completion notification.
>+ *
>+ * I915_GEM_VM_BIND_READONLY:
>+ * Mapping is read-only.
>+ *
>+ * I915_GEM_VM_BIND_CAPTURE:
>+ * Capture this mapping in the dump upon GPU error.
>+ */
>+ __u64 flags;
>+#define I915_GEM_VM_BIND_FENCE_VALID (1 << 0)
>+#define I915_GEM_VM_BIND_READONLY (1 << 1)
>+#define I915_GEM_VM_BIND_CAPTURE (1 << 2)
>+
>+ /** @fence: Timeline fence for bind completion signaling */
>+ struct drm_i915_gem_vm_bind_fence fence;
>+
>+ /** @extensions: 0-terminated chain of extensions */
>+ __u64 extensions;
>+};
>+
>+/**
>+ * struct drm_i915_gem_vm_unbind - VA to object mapping to unbind.
>+ *
>+ * This structure is passed to VM_UNBIND ioctl and specifies the GPU virtual
>+ * address (VA) range that should be unbound from the device page table of the
>+ * specified address space (VM). VM_UNBIND will force unbind the specified
>+ * range from device page table without waiting for any GPU job to complete.
>+ * It is UMDs responsibility to ensure the mapping is no longer in use before
>+ * calling VM_UNBIND.
>+ *
>+ * If the specified mapping is not found, the ioctl will simply return without
>+ * any error.
>+ *
>+ * The unbind operation can get completed asynchronously and out of submission
>+ * order. When I915_GEM_VM_UNBIND_FENCE_VALID flag is set, the @fence will be
>+ * signaled upon completion of unbind operation.
>+ */
>+struct drm_i915_gem_vm_unbind {
>+ /** @vm_id: VM (address space) id to bind */
>+ __u32 vm_id;
>+
>+ /** @rsvd: Reserved, MBZ */
>+ __u32 rsvd;
>+
>+ /** @start: Virtual Address start to unbind */
>+ __u64 start;
>+
>+ /** @length: Length of mapping to unbind */
>+ __u64 length;
>+
>+ /**
>+ * @flags: Supported flags are:
>+ *
>+ * I915_GEM_VM_UNBIND_FENCE_VALID:
>+ * @fence is valid, needs unbind completion notification.
>+ */
>+ __u64 flags;
>+#define I915_GEM_VM_UNBIND_FENCE_VALID (1 << 0)
>+
>+ /** @fence: Timeline fence for unbind completion signaling */
>+ struct drm_i915_gem_vm_bind_fence fence;
>+
>+ /** @extensions: 0-terminated chain of extensions */
>+ __u64 extensions;
>+};
>+
>+/**
>+ * struct drm_i915_gem_execbuffer3 - Structure for DRM_I915_GEM_EXECBUFFER3
>+ * ioctl.
>+ *
>+ * DRM_I915_GEM_EXECBUFFER3 ioctl only works in VM_BIND mode and VM_BIND mode
>+ * only works with this ioctl for submission.
>+ * See I915_VM_CREATE_FLAGS_USE_VM_BIND.
>+ */
>+struct drm_i915_gem_execbuffer3 {
>+ /**
>+ * @ctx_id: Context id
>+ *
>+ * Only contexts with user engine map are allowed.
>+ */
>+ __u32 ctx_id;
>+
>+ /**
>+ * @engine_idx: Engine index
>+ *
>+ * An index in the user engine map of the context specified by @ctx_id.
>+ */
>+ __u32 engine_idx;
>+
>+ /** @rsvd1: Reserved, MBZ */
>+ __u32 rsvd1;
>+
>+ /**
>+ * @batch_count: Number of batches in @batch_address array.
>+ *
>+ * 0 is invalid. For parallel submission, it should be equal to the
>+ * number of (parallel) engines involved in that submission.
>+ */
>+ __u32 batch_count;
>+
>+ /**
>+ * @batch_address: Array of batch gpu virtual addresses.
>+ *
>+ * If @batch_count is 1, then it is the gpu virtual address of the
>+ * batch buffer. If @batch_count > 1, then it is a pointer to an array
>+ * of batch buffer gpu virtual addresses.
>+ */
>+ __u64 batch_address;
>+
>+ /**
>+ * @flags: Supported flags are:
>+ *
>+ * I915_EXEC3_SECURE:
>+ * Request a privileged ("secure") batch buffer/s.
>+ * It is only available for DRM_ROOT_ONLY | DRM_MASTER processes.
>+ */
>+ __u64 flags;
>+#define I915_EXEC3_SECURE (1<<0)
>+
>+ /** @rsvd2: Reserved, MBZ */
>+ __u64 rsvd2;
>+
>+ /**
>+ * @extensions: Zero-terminated chain of extensions.
>+ *
>+ * DRM_I915_GEM_EXECBUFFER3_EXT_TIMELINE_FENCES:
>+ * It has same format as DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES.
>+ * See struct drm_i915_gem_execbuffer_ext_timeline_fences.
Here we are using drm_i915_gem_execbuffer_ext_timeline_fences (same as
execbuf2), which has separate handles_ptr and values_ptr arrays. This is
probably because this extension uses the same drm_i915_gem_exec_fence
which is defined for older fence_array (cliprects_ptr) support.
For execbuf3, we can get rid of separate values_ptr array and include it
in the same structure as handle (similar to drm_i915_gem_vm_bind_fence).
In fact, we can use drm_i915_gem_vm_bind_fence as execbuf3 timeline fence
array element as well (convert to rsvd to flags for FENCE_WAIT/FENCE_SIGNAL).
I think this is better option here.
But this means, for execbuf3 we can't share the timeline fence array handling
code with execbuf2.
What do you guys suggest?
Niranjana
>+ */
>+ __u64 extensions;
>+#define DRM_I915_GEM_EXECBUFFER3_EXT_TIMELINE_FENCES 0
>+};
>+
>+/**
>+ * struct drm_i915_gem_create_ext_vm_private - Extension to make the object
>+ * private to the specified VM.
>+ *
>+ * See struct drm_i915_gem_create_ext.
>+ */
>+struct drm_i915_gem_create_ext_vm_private {
>+#define I915_GEM_CREATE_EXT_VM_PRIVATE 2
>+ /** @base: Extension link. See struct i915_user_extension. */
>+ struct i915_user_extension base;
>+
>+ /** @vm_id: Id of the VM to which the object is private */
>+ __u32 vm_id;
>+};
>--
>2.21.0.rc0.32.g243a4c7e27
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Intel-gfx] [PATCH v5 3/3] drm/doc/rfc: VM_BIND uapi definition
2022-06-24 5:32 ` [Intel-gfx] [PATCH v5 3/3] drm/doc/rfc: VM_BIND uapi definition Niranjana Vishwanathapura
2022-06-24 5:45 ` Niranjana Vishwanathapura
@ 2022-06-24 8:11 ` Tvrtko Ursulin
2022-06-24 14:59 ` Niranjana Vishwanathapura
1 sibling, 1 reply; 14+ messages in thread
From: Tvrtko Ursulin @ 2022-06-24 8:11 UTC (permalink / raw)
To: Niranjana Vishwanathapura, intel-gfx, dri-devel
Cc: paulo.r.zanoni, chris.p.wilson, thomas.hellstrom, matthew.auld,
daniel.vetter, christian.koenig
On 24/06/2022 06:32, Niranjana Vishwanathapura wrote:
> VM_BIND and related uapi definitions
>
> v2: Reduce the scope to simple Mesa use case.
> v3: Expand VM_UNBIND documentation and add
> I915_GEM_VM_BIND/UNBIND_FENCE_VALID
> and I915_GEM_VM_BIND_TLB_FLUSH flags.
> v4: Remove I915_GEM_VM_BIND_TLB_FLUSH flag and add additional
> documentation for vm_bind/unbind.
> v5: Remove TLB flush requirement on VM_UNBIND.
> Add version support to stage implementation.
Mostly LGTM with one final question.
Would an extension to execbuf3 saying "async wait on any ongoing
bind/unbind activity on this vm"? Would such an easy "fire and forget"
mechanism be useful to userspace? Or are separate "queues" the minimal
useful thing?
Regards,
Tvrtko
> Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
> ---
> Documentation/gpu/rfc/i915_vm_bind.h | 256 +++++++++++++++++++++++++++
> 1 file changed, 256 insertions(+)
> create mode 100644 Documentation/gpu/rfc/i915_vm_bind.h
>
> diff --git a/Documentation/gpu/rfc/i915_vm_bind.h b/Documentation/gpu/rfc/i915_vm_bind.h
> new file mode 100644
> index 000000000000..8af6c035ccf4
> --- /dev/null
> +++ b/Documentation/gpu/rfc/i915_vm_bind.h
> @@ -0,0 +1,256 @@
> +/* SPDX-License-Identifier: MIT */
> +/*
> + * Copyright © 2022 Intel Corporation
> + */
> +
> +/**
> + * DOC: I915_PARAM_HAS_VM_BIND
> + *
> + * VM_BIND feature availability.
> + * See typedef drm_i915_getparam_t param.
> + * bit[0]: If set, VM_BIND is supported, otherwise not.
> + * bits[8-15]: VM_BIND implementation version.
> + * Version 0 requires in VM_UNBIND call, UMDs to specify the exact mapping
> + * created previously with the VM_BIND call. i.e., i915 will not support
> + * splitting/merging of the mappings created with VM_BIND call (See
> + * struct drm_i915_gem_vm_bind and struct drm_i915_gem_vm_unbind).
> + */
> +#define I915_PARAM_HAS_VM_BIND 57
> +
> +/**
> + * DOC: I915_VM_CREATE_FLAGS_USE_VM_BIND
> + *
> + * Flag to opt-in for VM_BIND mode of binding during VM creation.
> + * See struct drm_i915_gem_vm_control flags.
> + *
> + * The older execbuf2 ioctl will not support VM_BIND mode of operation.
> + * For VM_BIND mode, we have new execbuf3 ioctl which will not accept any
> + * execlist (See struct drm_i915_gem_execbuffer3 for more details).
> + *
> + */
> +#define I915_VM_CREATE_FLAGS_USE_VM_BIND (1 << 0)
> +
> +/* VM_BIND related ioctls */
> +#define DRM_I915_GEM_VM_BIND 0x3d
> +#define DRM_I915_GEM_VM_UNBIND 0x3e
> +#define DRM_I915_GEM_EXECBUFFER3 0x3f
> +
> +#define DRM_IOCTL_I915_GEM_VM_BIND DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_BIND, struct drm_i915_gem_vm_bind)
> +#define DRM_IOCTL_I915_GEM_VM_UNBIND DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_UNBIND, struct drm_i915_gem_vm_bind)
> +#define DRM_IOCTL_I915_GEM_EXECBUFFER3 DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER3, struct drm_i915_gem_execbuffer3)
> +
> +/**
> + * struct drm_i915_gem_vm_bind_fence - Bind/unbind completion notification.
> + *
> + * A timeline out fence for vm_bind/unbind completion notification.
> + */
> +struct drm_i915_gem_vm_bind_fence {
> + /** @handle: User's handle for a drm_syncobj to signal. */
> + __u32 handle;
> +
> + /** @rsvd: Reserved, MBZ */
> + __u32 rsvd;
> +
> + /**
> + * @value: A point in the timeline.
> + * Value must be 0 for a binary drm_syncobj. A Value of 0 for a
> + * timeline drm_syncobj is invalid as it turns a drm_syncobj into a
> + * binary one.
> + */
> + __u64 value;
> +};
> +
> +/**
> + * struct drm_i915_gem_vm_bind - VA to object mapping to bind.
> + *
> + * This structure is passed to VM_BIND ioctl and specifies the mapping of GPU
> + * virtual address (VA) range to the section of an object that should be bound
> + * in the device page table of the specified address space (VM).
> + * The VA range specified must be unique (ie., not currently bound) and can
> + * be mapped to whole object or a section of the object (partial binding).
> + * Multiple VA mappings can be created to the same section of the object
> + * (aliasing).
> + *
> + * The @start, @offset and @length should be 4K page aligned. However the DG2
> + * and XEHPSDV has 64K page size for device local-memory and has compact page
> + * table. On those platforms, for binding device local-memory objects, the
> + * @start should be 2M aligned, @offset and @length should be 64K aligned.
> + * Also, on those platforms, error -ENOSPC will be returned if user tries to
> + * bind a device local-memory object and a system memory object in a single 2M
> + * section of VA range.
> + *
> + * Error code -EINVAL will be returned if @start, @offset and @length are not
> + * properly aligned. Error code of -ENOSPC will be returned if the VA range
> + * specified can't be reserved.
> + *
> + * The bind operation can get completed asynchronously and out of submission
> + * order. When I915_GEM_VM_BIND_FENCE_VALID flag is set, the @fence will be
> + * signaled upon completion of bind operation.
> + */
> +struct drm_i915_gem_vm_bind {
> + /** @vm_id: VM (address space) id to bind */
> + __u32 vm_id;
> +
> + /** @handle: Object handle */
> + __u32 handle;
> +
> + /** @start: Virtual Address start to bind */
> + __u64 start;
> +
> + /** @offset: Offset in object to bind */
> + __u64 offset;
> +
> + /** @length: Length of mapping to bind */
> + __u64 length;
> +
> + /**
> + * @flags: Supported flags are:
> + *
> + * I915_GEM_VM_BIND_FENCE_VALID:
> + * @fence is valid, needs bind completion notification.
> + *
> + * I915_GEM_VM_BIND_READONLY:
> + * Mapping is read-only.
> + *
> + * I915_GEM_VM_BIND_CAPTURE:
> + * Capture this mapping in the dump upon GPU error.
> + */
> + __u64 flags;
> +#define I915_GEM_VM_BIND_FENCE_VALID (1 << 0)
> +#define I915_GEM_VM_BIND_READONLY (1 << 1)
> +#define I915_GEM_VM_BIND_CAPTURE (1 << 2)
> +
> + /** @fence: Timeline fence for bind completion signaling */
> + struct drm_i915_gem_vm_bind_fence fence;
> +
> + /** @extensions: 0-terminated chain of extensions */
> + __u64 extensions;
> +};
> +
> +/**
> + * struct drm_i915_gem_vm_unbind - VA to object mapping to unbind.
> + *
> + * This structure is passed to VM_UNBIND ioctl and specifies the GPU virtual
> + * address (VA) range that should be unbound from the device page table of the
> + * specified address space (VM). VM_UNBIND will force unbind the specified
> + * range from device page table without waiting for any GPU job to complete.
> + * It is UMDs responsibility to ensure the mapping is no longer in use before
> + * calling VM_UNBIND.
> + *
> + * If the specified mapping is not found, the ioctl will simply return without
> + * any error.
> + *
> + * The unbind operation can get completed asynchronously and out of submission
> + * order. When I915_GEM_VM_UNBIND_FENCE_VALID flag is set, the @fence will be
> + * signaled upon completion of unbind operation.
> + */
> +struct drm_i915_gem_vm_unbind {
> + /** @vm_id: VM (address space) id to bind */
> + __u32 vm_id;
> +
> + /** @rsvd: Reserved, MBZ */
> + __u32 rsvd;
> +
> + /** @start: Virtual Address start to unbind */
> + __u64 start;
> +
> + /** @length: Length of mapping to unbind */
> + __u64 length;
> +
> + /**
> + * @flags: Supported flags are:
> + *
> + * I915_GEM_VM_UNBIND_FENCE_VALID:
> + * @fence is valid, needs unbind completion notification.
> + */
> + __u64 flags;
> +#define I915_GEM_VM_UNBIND_FENCE_VALID (1 << 0)
> +
> + /** @fence: Timeline fence for unbind completion signaling */
> + struct drm_i915_gem_vm_bind_fence fence;
> +
> + /** @extensions: 0-terminated chain of extensions */
> + __u64 extensions;
> +};
> +
> +/**
> + * struct drm_i915_gem_execbuffer3 - Structure for DRM_I915_GEM_EXECBUFFER3
> + * ioctl.
> + *
> + * DRM_I915_GEM_EXECBUFFER3 ioctl only works in VM_BIND mode and VM_BIND mode
> + * only works with this ioctl for submission.
> + * See I915_VM_CREATE_FLAGS_USE_VM_BIND.
> + */
> +struct drm_i915_gem_execbuffer3 {
> + /**
> + * @ctx_id: Context id
> + *
> + * Only contexts with user engine map are allowed.
> + */
> + __u32 ctx_id;
> +
> + /**
> + * @engine_idx: Engine index
> + *
> + * An index in the user engine map of the context specified by @ctx_id.
> + */
> + __u32 engine_idx;
> +
> + /** @rsvd1: Reserved, MBZ */
> + __u32 rsvd1;
> +
> + /**
> + * @batch_count: Number of batches in @batch_address array.
> + *
> + * 0 is invalid. For parallel submission, it should be equal to the
> + * number of (parallel) engines involved in that submission.
> + */
> + __u32 batch_count;
> +
> + /**
> + * @batch_address: Array of batch gpu virtual addresses.
> + *
> + * If @batch_count is 1, then it is the gpu virtual address of the
> + * batch buffer. If @batch_count > 1, then it is a pointer to an array
> + * of batch buffer gpu virtual addresses.
> + */
> + __u64 batch_address;
> +
> + /**
> + * @flags: Supported flags are:
> + *
> + * I915_EXEC3_SECURE:
> + * Request a privileged ("secure") batch buffer/s.
> + * It is only available for DRM_ROOT_ONLY | DRM_MASTER processes.
> + */
> + __u64 flags;
> +#define I915_EXEC3_SECURE (1<<0)
> +
> + /** @rsvd2: Reserved, MBZ */
> + __u64 rsvd2;
> +
> + /**
> + * @extensions: Zero-terminated chain of extensions.
> + *
> + * DRM_I915_GEM_EXECBUFFER3_EXT_TIMELINE_FENCES:
> + * It has same format as DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES.
> + * See struct drm_i915_gem_execbuffer_ext_timeline_fences.
> + */
> + __u64 extensions;
> +#define DRM_I915_GEM_EXECBUFFER3_EXT_TIMELINE_FENCES 0
> +};
> +
> +/**
> + * struct drm_i915_gem_create_ext_vm_private - Extension to make the object
> + * private to the specified VM.
> + *
> + * See struct drm_i915_gem_create_ext.
> + */
> +struct drm_i915_gem_create_ext_vm_private {
> +#define I915_GEM_CREATE_EXT_VM_PRIVATE 2
> + /** @base: Extension link. See struct i915_user_extension. */
> + struct i915_user_extension base;
> +
> + /** @vm_id: Id of the VM to which the object is private */
> + __u32 vm_id;
> +};
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Intel-gfx] [PATCH v5 3/3] drm/doc/rfc: VM_BIND uapi definition
2022-06-24 8:11 ` Tvrtko Ursulin
@ 2022-06-24 14:59 ` Niranjana Vishwanathapura
0 siblings, 0 replies; 14+ messages in thread
From: Niranjana Vishwanathapura @ 2022-06-24 14:59 UTC (permalink / raw)
To: Tvrtko Ursulin
Cc: paulo.r.zanoni, intel-gfx, chris.p.wilson, thomas.hellstrom,
dri-devel, daniel.vetter, christian.koenig, matthew.auld
On Fri, Jun 24, 2022 at 09:11:35AM +0100, Tvrtko Ursulin wrote:
>
>On 24/06/2022 06:32, Niranjana Vishwanathapura wrote:
>>VM_BIND and related uapi definitions
>>
>>v2: Reduce the scope to simple Mesa use case.
>>v3: Expand VM_UNBIND documentation and add
>> I915_GEM_VM_BIND/UNBIND_FENCE_VALID
>> and I915_GEM_VM_BIND_TLB_FLUSH flags.
>>v4: Remove I915_GEM_VM_BIND_TLB_FLUSH flag and add additional
>> documentation for vm_bind/unbind.
>>v5: Remove TLB flush requirement on VM_UNBIND.
>> Add version support to stage implementation.
>
>Mostly LGTM with one final question.
>
>Would an extension to execbuf3 saying "async wait on any ongoing
>bind/unbind activity on this vm"? Would such an easy "fire and forget"
>mechanism be useful to userspace? Or are separate "queues" the minimal
>useful thing?
UMDs can easily do this with timeline fence array which execbuf3 supports.
I think adding any new mechanism for the same is not required here.
Niranjana
>
>Regards,
>
>Tvrtko
>
>>Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
>>---
>> Documentation/gpu/rfc/i915_vm_bind.h | 256 +++++++++++++++++++++++++++
>> 1 file changed, 256 insertions(+)
>> create mode 100644 Documentation/gpu/rfc/i915_vm_bind.h
>>
>>diff --git a/Documentation/gpu/rfc/i915_vm_bind.h b/Documentation/gpu/rfc/i915_vm_bind.h
>>new file mode 100644
>>index 000000000000..8af6c035ccf4
>>--- /dev/null
>>+++ b/Documentation/gpu/rfc/i915_vm_bind.h
>>@@ -0,0 +1,256 @@
>>+/* SPDX-License-Identifier: MIT */
>>+/*
>>+ * Copyright © 2022 Intel Corporation
>>+ */
>>+
>>+/**
>>+ * DOC: I915_PARAM_HAS_VM_BIND
>>+ *
>>+ * VM_BIND feature availability.
>>+ * See typedef drm_i915_getparam_t param.
>>+ * bit[0]: If set, VM_BIND is supported, otherwise not.
>>+ * bits[8-15]: VM_BIND implementation version.
>>+ * Version 0 requires in VM_UNBIND call, UMDs to specify the exact mapping
>>+ * created previously with the VM_BIND call. i.e., i915 will not support
>>+ * splitting/merging of the mappings created with VM_BIND call (See
>>+ * struct drm_i915_gem_vm_bind and struct drm_i915_gem_vm_unbind).
>>+ */
>>+#define I915_PARAM_HAS_VM_BIND 57
>>+
>>+/**
>>+ * DOC: I915_VM_CREATE_FLAGS_USE_VM_BIND
>>+ *
>>+ * Flag to opt-in for VM_BIND mode of binding during VM creation.
>>+ * See struct drm_i915_gem_vm_control flags.
>>+ *
>>+ * The older execbuf2 ioctl will not support VM_BIND mode of operation.
>>+ * For VM_BIND mode, we have new execbuf3 ioctl which will not accept any
>>+ * execlist (See struct drm_i915_gem_execbuffer3 for more details).
>>+ *
>>+ */
>>+#define I915_VM_CREATE_FLAGS_USE_VM_BIND (1 << 0)
>>+
>>+/* VM_BIND related ioctls */
>>+#define DRM_I915_GEM_VM_BIND 0x3d
>>+#define DRM_I915_GEM_VM_UNBIND 0x3e
>>+#define DRM_I915_GEM_EXECBUFFER3 0x3f
>>+
>>+#define DRM_IOCTL_I915_GEM_VM_BIND DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_BIND, struct drm_i915_gem_vm_bind)
>>+#define DRM_IOCTL_I915_GEM_VM_UNBIND DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_UNBIND, struct drm_i915_gem_vm_bind)
>>+#define DRM_IOCTL_I915_GEM_EXECBUFFER3 DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER3, struct drm_i915_gem_execbuffer3)
>>+
>>+/**
>>+ * struct drm_i915_gem_vm_bind_fence - Bind/unbind completion notification.
>>+ *
>>+ * A timeline out fence for vm_bind/unbind completion notification.
>>+ */
>>+struct drm_i915_gem_vm_bind_fence {
>>+ /** @handle: User's handle for a drm_syncobj to signal. */
>>+ __u32 handle;
>>+
>>+ /** @rsvd: Reserved, MBZ */
>>+ __u32 rsvd;
>>+
>>+ /**
>>+ * @value: A point in the timeline.
>>+ * Value must be 0 for a binary drm_syncobj. A Value of 0 for a
>>+ * timeline drm_syncobj is invalid as it turns a drm_syncobj into a
>>+ * binary one.
>>+ */
>>+ __u64 value;
>>+};
>>+
>>+/**
>>+ * struct drm_i915_gem_vm_bind - VA to object mapping to bind.
>>+ *
>>+ * This structure is passed to VM_BIND ioctl and specifies the mapping of GPU
>>+ * virtual address (VA) range to the section of an object that should be bound
>>+ * in the device page table of the specified address space (VM).
>>+ * The VA range specified must be unique (ie., not currently bound) and can
>>+ * be mapped to whole object or a section of the object (partial binding).
>>+ * Multiple VA mappings can be created to the same section of the object
>>+ * (aliasing).
>>+ *
>>+ * The @start, @offset and @length should be 4K page aligned. However the DG2
>>+ * and XEHPSDV has 64K page size for device local-memory and has compact page
>>+ * table. On those platforms, for binding device local-memory objects, the
>>+ * @start should be 2M aligned, @offset and @length should be 64K aligned.
>>+ * Also, on those platforms, error -ENOSPC will be returned if user tries to
>>+ * bind a device local-memory object and a system memory object in a single 2M
>>+ * section of VA range.
>>+ *
>>+ * Error code -EINVAL will be returned if @start, @offset and @length are not
>>+ * properly aligned. Error code of -ENOSPC will be returned if the VA range
>>+ * specified can't be reserved.
>>+ *
>>+ * The bind operation can get completed asynchronously and out of submission
>>+ * order. When I915_GEM_VM_BIND_FENCE_VALID flag is set, the @fence will be
>>+ * signaled upon completion of bind operation.
>>+ */
>>+struct drm_i915_gem_vm_bind {
>>+ /** @vm_id: VM (address space) id to bind */
>>+ __u32 vm_id;
>>+
>>+ /** @handle: Object handle */
>>+ __u32 handle;
>>+
>>+ /** @start: Virtual Address start to bind */
>>+ __u64 start;
>>+
>>+ /** @offset: Offset in object to bind */
>>+ __u64 offset;
>>+
>>+ /** @length: Length of mapping to bind */
>>+ __u64 length;
>>+
>>+ /**
>>+ * @flags: Supported flags are:
>>+ *
>>+ * I915_GEM_VM_BIND_FENCE_VALID:
>>+ * @fence is valid, needs bind completion notification.
>>+ *
>>+ * I915_GEM_VM_BIND_READONLY:
>>+ * Mapping is read-only.
>>+ *
>>+ * I915_GEM_VM_BIND_CAPTURE:
>>+ * Capture this mapping in the dump upon GPU error.
>>+ */
>>+ __u64 flags;
>>+#define I915_GEM_VM_BIND_FENCE_VALID (1 << 0)
>>+#define I915_GEM_VM_BIND_READONLY (1 << 1)
>>+#define I915_GEM_VM_BIND_CAPTURE (1 << 2)
>>+
>>+ /** @fence: Timeline fence for bind completion signaling */
>>+ struct drm_i915_gem_vm_bind_fence fence;
>>+
>>+ /** @extensions: 0-terminated chain of extensions */
>>+ __u64 extensions;
>>+};
>>+
>>+/**
>>+ * struct drm_i915_gem_vm_unbind - VA to object mapping to unbind.
>>+ *
>>+ * This structure is passed to VM_UNBIND ioctl and specifies the GPU virtual
>>+ * address (VA) range that should be unbound from the device page table of the
>>+ * specified address space (VM). VM_UNBIND will force unbind the specified
>>+ * range from device page table without waiting for any GPU job to complete.
>>+ * It is UMDs responsibility to ensure the mapping is no longer in use before
>>+ * calling VM_UNBIND.
>>+ *
>>+ * If the specified mapping is not found, the ioctl will simply return without
>>+ * any error.
>>+ *
>>+ * The unbind operation can get completed asynchronously and out of submission
>>+ * order. When I915_GEM_VM_UNBIND_FENCE_VALID flag is set, the @fence will be
>>+ * signaled upon completion of unbind operation.
>>+ */
>>+struct drm_i915_gem_vm_unbind {
>>+ /** @vm_id: VM (address space) id to bind */
>>+ __u32 vm_id;
>>+
>>+ /** @rsvd: Reserved, MBZ */
>>+ __u32 rsvd;
>>+
>>+ /** @start: Virtual Address start to unbind */
>>+ __u64 start;
>>+
>>+ /** @length: Length of mapping to unbind */
>>+ __u64 length;
>>+
>>+ /**
>>+ * @flags: Supported flags are:
>>+ *
>>+ * I915_GEM_VM_UNBIND_FENCE_VALID:
>>+ * @fence is valid, needs unbind completion notification.
>>+ */
>>+ __u64 flags;
>>+#define I915_GEM_VM_UNBIND_FENCE_VALID (1 << 0)
>>+
>>+ /** @fence: Timeline fence for unbind completion signaling */
>>+ struct drm_i915_gem_vm_bind_fence fence;
>>+
>>+ /** @extensions: 0-terminated chain of extensions */
>>+ __u64 extensions;
>>+};
>>+
>>+/**
>>+ * struct drm_i915_gem_execbuffer3 - Structure for DRM_I915_GEM_EXECBUFFER3
>>+ * ioctl.
>>+ *
>>+ * DRM_I915_GEM_EXECBUFFER3 ioctl only works in VM_BIND mode and VM_BIND mode
>>+ * only works with this ioctl for submission.
>>+ * See I915_VM_CREATE_FLAGS_USE_VM_BIND.
>>+ */
>>+struct drm_i915_gem_execbuffer3 {
>>+ /**
>>+ * @ctx_id: Context id
>>+ *
>>+ * Only contexts with user engine map are allowed.
>>+ */
>>+ __u32 ctx_id;
>>+
>>+ /**
>>+ * @engine_idx: Engine index
>>+ *
>>+ * An index in the user engine map of the context specified by @ctx_id.
>>+ */
>>+ __u32 engine_idx;
>>+
>>+ /** @rsvd1: Reserved, MBZ */
>>+ __u32 rsvd1;
>>+
>>+ /**
>>+ * @batch_count: Number of batches in @batch_address array.
>>+ *
>>+ * 0 is invalid. For parallel submission, it should be equal to the
>>+ * number of (parallel) engines involved in that submission.
>>+ */
>>+ __u32 batch_count;
>>+
>>+ /**
>>+ * @batch_address: Array of batch gpu virtual addresses.
>>+ *
>>+ * If @batch_count is 1, then it is the gpu virtual address of the
>>+ * batch buffer. If @batch_count > 1, then it is a pointer to an array
>>+ * of batch buffer gpu virtual addresses.
>>+ */
>>+ __u64 batch_address;
>>+
>>+ /**
>>+ * @flags: Supported flags are:
>>+ *
>>+ * I915_EXEC3_SECURE:
>>+ * Request a privileged ("secure") batch buffer/s.
>>+ * It is only available for DRM_ROOT_ONLY | DRM_MASTER processes.
>>+ */
>>+ __u64 flags;
>>+#define I915_EXEC3_SECURE (1<<0)
>>+
>>+ /** @rsvd2: Reserved, MBZ */
>>+ __u64 rsvd2;
>>+
>>+ /**
>>+ * @extensions: Zero-terminated chain of extensions.
>>+ *
>>+ * DRM_I915_GEM_EXECBUFFER3_EXT_TIMELINE_FENCES:
>>+ * It has same format as DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES.
>>+ * See struct drm_i915_gem_execbuffer_ext_timeline_fences.
>>+ */
>>+ __u64 extensions;
>>+#define DRM_I915_GEM_EXECBUFFER3_EXT_TIMELINE_FENCES 0
>>+};
>>+
>>+/**
>>+ * struct drm_i915_gem_create_ext_vm_private - Extension to make the object
>>+ * private to the specified VM.
>>+ *
>>+ * See struct drm_i915_gem_create_ext.
>>+ */
>>+struct drm_i915_gem_create_ext_vm_private {
>>+#define I915_GEM_CREATE_EXT_VM_PRIVATE 2
>>+ /** @base: Extension link. See struct i915_user_extension. */
>>+ struct i915_user_extension base;
>>+
>>+ /** @vm_id: Id of the VM to which the object is private */
>>+ __u32 vm_id;
>>+};
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/doc/rfc: i915 VM_BIND feature design + uapi
2022-06-24 5:32 [Intel-gfx] [PATCH v5 0/3] drm/doc/rfc: i915 VM_BIND feature design + uapi Niranjana Vishwanathapura
` (2 preceding siblings ...)
2022-06-24 5:32 ` [Intel-gfx] [PATCH v5 3/3] drm/doc/rfc: VM_BIND uapi definition Niranjana Vishwanathapura
@ 2022-06-24 6:10 ` Patchwork
2022-06-24 6:10 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
` (2 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2022-06-24 6:10 UTC (permalink / raw)
To: Niranjana Vishwanathapura; +Cc: intel-gfx
== Series Details ==
Series: drm/doc/rfc: i915 VM_BIND feature design + uapi
URL : https://patchwork.freedesktop.org/series/105577/
State : warning
== Summary ==
Error: dim checkpatch failed
088efc82aee4 drm/doc/rfc: VM_BIND feature design document
-:17: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#17:
new file mode 100644
-:22: WARNING:SPDX_LICENSE_TAG: Missing or malformed SPDX-License-Identifier tag in line 1
#22: FILE: Documentation/gpu/rfc/i915_vm_bind.rst:1:
+==========================================
total: 0 errors, 2 warnings, 0 checks, 253 lines checked
6f05206ed62b drm/i915: Update i915 uapi documentation
-:43: WARNING:NEW_TYPEDEFS: do not add new typedefs
#43: FILE: include/uapi/drm/i915_drm.h:774:
+typedef struct drm_i915_getparam drm_i915_getparam_t;
total: 0 errors, 1 warnings, 0 checks, 337 lines checked
e352bf45048c drm/doc/rfc: VM_BIND uapi definition
Traceback (most recent call last):
File "scripts/spdxcheck.py", line 6, in <module>
from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
-:20: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#20:
new file mode 100644
-:62: WARNING:LONG_LINE: line length of 126 exceeds 100 columns
#62: FILE: Documentation/gpu/rfc/i915_vm_bind.h:38:
+#define DRM_IOCTL_I915_GEM_VM_BIND DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_BIND, struct drm_i915_gem_vm_bind)
-:63: WARNING:LONG_LINE: line length of 128 exceeds 100 columns
#63: FILE: Documentation/gpu/rfc/i915_vm_bind.h:39:
+#define DRM_IOCTL_I915_GEM_VM_UNBIND DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_UNBIND, struct drm_i915_gem_vm_bind)
-:64: WARNING:LONG_LINE: line length of 134 exceeds 100 columns
#64: FILE: Documentation/gpu/rfc/i915_vm_bind.h:40:
+#define DRM_IOCTL_I915_GEM_EXECBUFFER3 DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER3, struct drm_i915_gem_execbuffer3)
-:251: CHECK:SPACING: spaces preferred around that '<<' (ctx:VxV)
#251: FILE: Documentation/gpu/rfc/i915_vm_bind.h:227:
+#define I915_EXEC3_SECURE (1<<0)
^
total: 0 errors, 4 warnings, 1 checks, 256 lines checked
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for drm/doc/rfc: i915 VM_BIND feature design + uapi
2022-06-24 5:32 [Intel-gfx] [PATCH v5 0/3] drm/doc/rfc: i915 VM_BIND feature design + uapi Niranjana Vishwanathapura
` (3 preceding siblings ...)
2022-06-24 6:10 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/doc/rfc: i915 VM_BIND feature design + uapi Patchwork
@ 2022-06-24 6:10 ` Patchwork
2022-06-24 6:32 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-06-27 18:07 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
6 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2022-06-24 6:10 UTC (permalink / raw)
To: Niranjana Vishwanathapura; +Cc: intel-gfx
== Series Details ==
Series: drm/doc/rfc: i915 VM_BIND feature design + uapi
URL : https://patchwork.freedesktop.org/series/105577/
State : warning
== Summary ==
Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/doc/rfc: i915 VM_BIND feature design + uapi
2022-06-24 5:32 [Intel-gfx] [PATCH v5 0/3] drm/doc/rfc: i915 VM_BIND feature design + uapi Niranjana Vishwanathapura
` (4 preceding siblings ...)
2022-06-24 6:10 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
@ 2022-06-24 6:32 ` Patchwork
2022-06-27 18:07 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
6 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2022-06-24 6:32 UTC (permalink / raw)
To: Niranjana Vishwanathapura; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 6252 bytes --]
== Series Details ==
Series: drm/doc/rfc: i915 VM_BIND feature design + uapi
URL : https://patchwork.freedesktop.org/series/105577/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_11802 -> Patchwork_105577v1
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/index.html
Participating hosts (36 -> 36)
------------------------------
Additional (1): fi-pnv-d510
Missing (1): fi-bdw-samus
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_105577v1:
### IGT changes ###
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@i915_pm_rpm@module-reload:
- {bat-adln-1}: NOTRUN -> [INCOMPLETE][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/bat-adln-1/igt@i915_pm_rpm@module-reload.html
Known issues
------------
Here are the changes found in Patchwork_105577v1 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live@hangcheck:
- bat-dg1-6: NOTRUN -> [DMESG-FAIL][2] ([i915#4494] / [i915#4957])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/bat-dg1-6/igt@i915_selftest@live@hangcheck.html
* igt@i915_selftest@live@requests:
- fi-pnv-d510: NOTRUN -> [DMESG-FAIL][3] ([i915#4528])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/fi-pnv-d510/igt@i915_selftest@live@requests.html
* igt@i915_suspend@basic-s2idle-without-i915:
- bat-dg1-6: NOTRUN -> [INCOMPLETE][4] ([i915#6011])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/bat-dg1-6/igt@i915_suspend@basic-s2idle-without-i915.html
* igt@i915_suspend@basic-s3-without-i915:
- fi-rkl-11600: [PASS][5] -> [INCOMPLETE][6] ([i915#5982])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html
* igt@kms_chamelium@common-hpd-after-suspend:
- fi-hsw-4770: NOTRUN -> [SKIP][7] ([fdo#109271] / [fdo#111827])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/fi-hsw-4770/igt@kms_chamelium@common-hpd-after-suspend.html
* igt@kms_psr@primary_page_flip:
- fi-pnv-d510: NOTRUN -> [SKIP][8] ([fdo#109271]) +42 similar issues
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/fi-pnv-d510/igt@kms_psr@primary_page_flip.html
* igt@runner@aborted:
- fi-pnv-d510: NOTRUN -> [FAIL][9] ([fdo#109271] / [i915#2403] / [i915#4312])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/fi-pnv-d510/igt@runner@aborted.html
#### Possible fixes ####
* igt@i915_module_load@reload:
- {bat-adln-1}: [DMESG-WARN][10] -> [PASS][11]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/bat-adln-1/igt@i915_module_load@reload.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/bat-adln-1/igt@i915_module_load@reload.html
* igt@i915_selftest@live@gt_engines:
- bat-dg1-6: [INCOMPLETE][12] ([i915#4418]) -> [PASS][13]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/bat-dg1-6/igt@i915_selftest@live@gt_engines.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/bat-dg1-6/igt@i915_selftest@live@gt_engines.html
* igt@i915_selftest@live@hangcheck:
- fi-hsw-4770: [INCOMPLETE][14] ([i915#3303] / [i915#4785]) -> [PASS][15]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
- bat-dg1-5: [DMESG-FAIL][16] ([i915#4494] / [i915#4957]) -> [PASS][17]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/bat-dg1-5/igt@i915_selftest@live@hangcheck.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/bat-dg1-5/igt@i915_selftest@live@hangcheck.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#2403]: https://gitlab.freedesktop.org/drm/intel/issues/2403
[i915#3303]: https://gitlab.freedesktop.org/drm/intel/issues/3303
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4418]: https://gitlab.freedesktop.org/drm/intel/issues/4418
[i915#4494]: https://gitlab.freedesktop.org/drm/intel/issues/4494
[i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785
[i915#4957]: https://gitlab.freedesktop.org/drm/intel/issues/4957
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5763]: https://gitlab.freedesktop.org/drm/intel/issues/5763
[i915#5903]: https://gitlab.freedesktop.org/drm/intel/issues/5903
[i915#5982]: https://gitlab.freedesktop.org/drm/intel/issues/5982
[i915#6011]: https://gitlab.freedesktop.org/drm/intel/issues/6011
Build changes
-------------
* Linux: CI_DRM_11802 -> Patchwork_105577v1
CI-20190529: 20190529
CI_DRM_11802: a9cd66449a986ed9cd1e90f0dbda3bf1a11619d9 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_6541: 02153f109bd422d93cfce7f5aa9d7b0e22fab13c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_105577v1: a9cd66449a986ed9cd1e90f0dbda3bf1a11619d9 @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
c0e698153eb7 drm/doc/rfc: VM_BIND uapi definition
e9e9c8edbec6 drm/i915: Update i915 uapi documentation
899a3305e771 drm/doc/rfc: VM_BIND feature design document
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/index.html
[-- Attachment #2: Type: text/html, Size: 7163 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/doc/rfc: i915 VM_BIND feature design + uapi
2022-06-24 5:32 [Intel-gfx] [PATCH v5 0/3] drm/doc/rfc: i915 VM_BIND feature design + uapi Niranjana Vishwanathapura
` (5 preceding siblings ...)
2022-06-24 6:32 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2022-06-27 18:07 ` Patchwork
6 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2022-06-27 18:07 UTC (permalink / raw)
To: Niranjana Vishwanathapura; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 53413 bytes --]
== Series Details ==
Series: drm/doc/rfc: i915 VM_BIND feature design + uapi
URL : https://patchwork.freedesktop.org/series/105577/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_11802_full -> Patchwork_105577v1_full
====================================================
Summary
-------
**WARNING**
Minor unknown changes coming with Patchwork_105577v1_full need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_105577v1_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (13 -> 13)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_105577v1_full:
### IGT changes ###
#### Possible regressions ####
* {igt@kms_cursor_crc@cursor-rapid-movement@pipe-a-hdmi-a-3-32x10} (NEW):
- {shard-dg1}: NOTRUN -> [SKIP][1] +15 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-dg1-18/igt@kms_cursor_crc@cursor-rapid-movement@pipe-a-hdmi-a-3-32x10.html
#### Warnings ####
* igt@i915_pm_dc@dc6-psr:
- shard-skl: [FAIL][2] ([i915#454]) -> [INCOMPLETE][3]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-skl4/igt@i915_pm_dc@dc6-psr.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl3/igt@i915_pm_dc@dc6-psr.html
New tests
---------
New tests have been introduced between CI_DRM_11802_full and Patchwork_105577v1_full:
### New IGT tests (43) ###
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-a-hdmi-a-3-128x128:
- Statuses : 1 pass(s)
- Exec time: [0.25] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-a-hdmi-a-3-128x42:
- Statuses : 1 pass(s)
- Exec time: [0.25] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-a-hdmi-a-3-256x256:
- Statuses : 1 pass(s)
- Exec time: [0.25] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-a-hdmi-a-3-256x85:
- Statuses : 1 pass(s)
- Exec time: [0.25] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-a-hdmi-a-3-32x10:
- Statuses : 1 skip(s)
- Exec time: [0.01] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-a-hdmi-a-3-32x32:
- Statuses : 1 skip(s)
- Exec time: [0.01] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-a-hdmi-a-3-512x170:
- Statuses : 1 skip(s)
- Exec time: [0.0] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-a-hdmi-a-3-512x512:
- Statuses : 1 skip(s)
- Exec time: [0.0] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-a-hdmi-a-3-64x21:
- Statuses : 1 pass(s)
- Exec time: [0.25] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-a-hdmi-a-3-64x64:
- Statuses : 1 pass(s)
- Exec time: [0.29] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-b-hdmi-a-3-128x128:
- Statuses : 1 pass(s)
- Exec time: [0.23] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-b-hdmi-a-3-128x42:
- Statuses : 1 pass(s)
- Exec time: [0.23] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-b-hdmi-a-3-256x256:
- Statuses : 1 pass(s)
- Exec time: [0.24] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-b-hdmi-a-3-256x85:
- Statuses : 1 pass(s)
- Exec time: [0.23] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-b-hdmi-a-3-32x10:
- Statuses : 1 skip(s)
- Exec time: [0.01] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-b-hdmi-a-3-32x32:
- Statuses : 1 skip(s)
- Exec time: [0.01] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-b-hdmi-a-3-512x170:
- Statuses : 1 skip(s)
- Exec time: [0.0] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-b-hdmi-a-3-512x512:
- Statuses : 1 skip(s)
- Exec time: [0.0] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-b-hdmi-a-3-64x21:
- Statuses : 1 pass(s)
- Exec time: [0.23] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-b-hdmi-a-3-64x64:
- Statuses : 1 pass(s)
- Exec time: [0.24] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-c-hdmi-a-3-128x128:
- Statuses : 1 pass(s)
- Exec time: [0.24] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-c-hdmi-a-3-128x42:
- Statuses : 1 pass(s)
- Exec time: [0.24] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-c-hdmi-a-3-256x256:
- Statuses : 1 pass(s)
- Exec time: [0.24] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-c-hdmi-a-3-256x85:
- Statuses : 1 pass(s)
- Exec time: [0.24] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-c-hdmi-a-3-32x10:
- Statuses : 1 skip(s)
- Exec time: [0.01] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-c-hdmi-a-3-32x32:
- Statuses : 1 skip(s)
- Exec time: [0.01] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-c-hdmi-a-3-512x170:
- Statuses : 1 skip(s)
- Exec time: [0.0] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-c-hdmi-a-3-512x512:
- Statuses : 1 skip(s)
- Exec time: [0.0] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-c-hdmi-a-3-64x21:
- Statuses : 1 pass(s)
- Exec time: [0.24] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-c-hdmi-a-3-64x64:
- Statuses : 1 pass(s)
- Exec time: [0.24] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-d-hdmi-a-3-128x128:
- Statuses : 1 pass(s)
- Exec time: [0.25] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-d-hdmi-a-3-128x42:
- Statuses : 1 pass(s)
- Exec time: [0.24] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-d-hdmi-a-3-256x256:
- Statuses : 1 pass(s)
- Exec time: [0.24] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-d-hdmi-a-3-256x85:
- Statuses : 1 pass(s)
- Exec time: [0.25] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-d-hdmi-a-3-32x10:
- Statuses : 1 skip(s)
- Exec time: [0.01] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-d-hdmi-a-3-32x32:
- Statuses : 1 skip(s)
- Exec time: [0.01] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-d-hdmi-a-3-512x170:
- Statuses : 1 skip(s)
- Exec time: [0.0] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-d-hdmi-a-3-512x512:
- Statuses : 1 skip(s)
- Exec time: [0.0] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-d-hdmi-a-3-64x21:
- Statuses : 1 pass(s)
- Exec time: [0.25] s
* igt@kms_cursor_crc@cursor-rapid-movement@pipe-d-hdmi-a-3-64x64:
- Statuses : 1 pass(s)
- Exec time: [0.24] s
* igt@kms_cursor_edge_walk@top-bottom@pipe-a-hdmi-a-3-128x128:
- Statuses : 1 pass(s)
- Exec time: [3.22] s
* igt@kms_cursor_edge_walk@top-bottom@pipe-a-hdmi-a-3-256x256:
- Statuses : 1 pass(s)
- Exec time: [3.23] s
* igt@kms_cursor_edge_walk@top-bottom@pipe-a-hdmi-a-3-64x64:
- Statuses : 1 pass(s)
- Exec time: [3.28] s
Known issues
------------
Here are the changes found in Patchwork_105577v1_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_ctx_isolation@preservation-s3@vcs0:
- shard-kbl: [PASS][4] -> [DMESG-WARN][5] ([i915#180]) +3 similar issues
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-kbl7/igt@gem_ctx_isolation@preservation-s3@vcs0.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl6/igt@gem_ctx_isolation@preservation-s3@vcs0.html
* igt@gem_exec_balancer@parallel-keep-submit-fence:
- shard-iclb: [PASS][6] -> [SKIP][7] ([i915#4525])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-iclb2/igt@gem_exec_balancer@parallel-keep-submit-fence.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-iclb8/igt@gem_exec_balancer@parallel-keep-submit-fence.html
* igt@gem_exec_fair@basic-flow@rcs0:
- shard-tglb: [PASS][8] -> [FAIL][9] ([i915#2842])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-tglb1/igt@gem_exec_fair@basic-flow@rcs0.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-tglb7/igt@gem_exec_fair@basic-flow@rcs0.html
* igt@gem_exec_fair@basic-none-solo@rcs0:
- shard-apl: [PASS][10] -> [FAIL][11] ([i915#2842])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-apl2/igt@gem_exec_fair@basic-none-solo@rcs0.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl1/igt@gem_exec_fair@basic-none-solo@rcs0.html
* igt@gem_exec_fair@basic-none@vcs1:
- shard-kbl: NOTRUN -> [FAIL][12] ([i915#2842]) +3 similar issues
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl1/igt@gem_exec_fair@basic-none@vcs1.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-glk: [PASS][13] -> [FAIL][14] ([i915#2842]) +2 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-glk7/igt@gem_exec_fair@basic-pace-share@rcs0.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-glk6/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_fair@basic-pace@vecs0:
- shard-kbl: [PASS][15] -> [FAIL][16] ([i915#2842]) +4 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-kbl7/igt@gem_exec_fair@basic-pace@vecs0.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl3/igt@gem_exec_fair@basic-pace@vecs0.html
* igt@gem_huc_copy@huc-copy:
- shard-tglb: [PASS][17] -> [SKIP][18] ([i915#2190])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-tglb2/igt@gem_huc_copy@huc-copy.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-tglb6/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@heavy-verify-random:
- shard-kbl: NOTRUN -> [SKIP][19] ([fdo#109271] / [i915#4613]) +1 similar issue
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl1/igt@gem_lmem_swapping@heavy-verify-random.html
* igt@gem_lmem_swapping@smem-oom:
- shard-skl: NOTRUN -> [SKIP][20] ([fdo#109271] / [i915#4613]) +3 similar issues
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl3/igt@gem_lmem_swapping@smem-oom.html
* igt@gem_lmem_swapping@verify-random:
- shard-apl: NOTRUN -> [SKIP][21] ([fdo#109271] / [i915#4613])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl2/igt@gem_lmem_swapping@verify-random.html
* igt@gem_pread@exhaustion:
- shard-kbl: NOTRUN -> [WARN][22] ([i915#2658])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl7/igt@gem_pread@exhaustion.html
* igt@gem_pwrite@basic-exhaustion:
- shard-skl: NOTRUN -> [WARN][23] ([i915#2658])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl9/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_softpin@evict-single-offset:
- shard-kbl: NOTRUN -> [FAIL][24] ([i915#4171])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl1/igt@gem_softpin@evict-single-offset.html
* igt@gem_userptr_blits@input-checking:
- shard-skl: NOTRUN -> [DMESG-WARN][25] ([i915#4991])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl9/igt@gem_userptr_blits@input-checking.html
* igt@gen9_exec_parse@allowed-all:
- shard-glk: [PASS][26] -> [DMESG-WARN][27] ([i915#5566] / [i915#716])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-glk8/igt@gen9_exec_parse@allowed-all.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-glk8/igt@gen9_exec_parse@allowed-all.html
* igt@gen9_exec_parse@allowed-single:
- shard-skl: [PASS][28] -> [DMESG-WARN][29] ([i915#5566] / [i915#716])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-skl10/igt@gen9_exec_parse@allowed-single.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl4/igt@gen9_exec_parse@allowed-single.html
- shard-apl: [PASS][30] -> [DMESG-WARN][31] ([i915#5566] / [i915#716])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-apl7/igt@gen9_exec_parse@allowed-single.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl4/igt@gen9_exec_parse@allowed-single.html
* igt@i915_pm_dc@dc6-psr:
- shard-iclb: [PASS][32] -> [FAIL][33] ([i915#454])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-iclb6/igt@i915_pm_dc@dc6-psr.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-iclb7/igt@i915_pm_dc@dc6-psr.html
* igt@i915_selftest@live@hangcheck:
- shard-snb: [PASS][34] -> [INCOMPLETE][35] ([i915#3921])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-snb6/igt@i915_selftest@live@hangcheck.html
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-snb6/igt@i915_selftest@live@hangcheck.html
* igt@kms_async_flips@alternate-sync-async-flip@pipe-c-edp-1:
- shard-skl: [PASS][36] -> [FAIL][37] ([i915#2521])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-skl10/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-edp-1.html
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl9/igt@kms_async_flips@alternate-sync-async-flip@pipe-c-edp-1.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
- shard-skl: NOTRUN -> [FAIL][38] ([i915#3763])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl3/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
* igt@kms_ccs@pipe-a-crc-primary-rotation-180-4_tiled_dg2_mc_ccs:
- shard-apl: NOTRUN -> [SKIP][39] ([fdo#109271]) +78 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl4/igt@kms_ccs@pipe-a-crc-primary-rotation-180-4_tiled_dg2_mc_ccs.html
* igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
- shard-skl: NOTRUN -> [SKIP][40] ([fdo#109271] / [i915#3886]) +5 similar issues
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl3/igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_mc_ccs:
- shard-apl: NOTRUN -> [SKIP][41] ([fdo#109271] / [i915#3886]) +4 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl4/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs_cc:
- shard-kbl: NOTRUN -> [SKIP][42] ([fdo#109271] / [i915#3886]) +4 similar issues
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl3/igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_chamelium@vga-hpd-enable-disable-mode:
- shard-skl: NOTRUN -> [SKIP][43] ([fdo#109271] / [fdo#111827]) +7 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl4/igt@kms_chamelium@vga-hpd-enable-disable-mode.html
* igt@kms_chamelium@vga-hpd-fast:
- shard-kbl: NOTRUN -> [SKIP][44] ([fdo#109271] / [fdo#111827]) +6 similar issues
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl3/igt@kms_chamelium@vga-hpd-fast.html
* igt@kms_color_chamelium@pipe-a-ctm-negative:
- shard-apl: NOTRUN -> [SKIP][45] ([fdo#109271] / [fdo#111827]) +8 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl4/igt@kms_color_chamelium@pipe-a-ctm-negative.html
* igt@kms_content_protection@uevent:
- shard-apl: NOTRUN -> [FAIL][46] ([i915#2105])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl4/igt@kms_content_protection@uevent.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-apl: [PASS][47] -> [FAIL][48] ([i915#4767])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-apl8/igt@kms_fbcon_fbt@fbc-suspend.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl2/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
- shard-skl: NOTRUN -> [SKIP][49] ([fdo#109271]) +142 similar issues
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl3/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank@c-edp1:
- shard-skl: [PASS][50] -> [FAIL][51] ([i915#79])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-skl10/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl9/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
* igt@kms_flip@plain-flip-ts-check@b-edp1:
- shard-skl: NOTRUN -> [FAIL][52] ([i915#2122]) +2 similar issues
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl3/igt@kms_flip@plain-flip-ts-check@b-edp1.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
- shard-iclb: [PASS][53] -> [SKIP][54] ([i915#3701]) +1 similar issue
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-iclb3/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling:
- shard-skl: NOTRUN -> [SKIP][55] ([fdo#109271] / [i915#3701])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl9/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-render:
- shard-kbl: NOTRUN -> [SKIP][56] ([fdo#109271]) +100 similar issues
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl3/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html
* igt@kms_hdr@bpc-switch-suspend@pipe-a-dp-1:
- shard-kbl: [PASS][57] -> [DMESG-FAIL][58] ([i915#180])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-kbl1/igt@kms_hdr@bpc-switch-suspend@pipe-a-dp-1.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl6/igt@kms_hdr@bpc-switch-suspend@pipe-a-dp-1.html
* igt@kms_plane_alpha_blend@pipe-a-alpha-basic:
- shard-apl: NOTRUN -> [FAIL][59] ([fdo#108145] / [i915#265])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl4/igt@kms_plane_alpha_blend@pipe-a-alpha-basic.html
* igt@kms_psr2_sf@cursor-plane-move-continuous-sf:
- shard-kbl: NOTRUN -> [SKIP][60] ([fdo#109271] / [i915#658]) +1 similar issue
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl1/igt@kms_psr2_sf@cursor-plane-move-continuous-sf.html
* igt@kms_psr2_su@page_flip-p010:
- shard-apl: NOTRUN -> [SKIP][61] ([fdo#109271] / [i915#658]) +1 similar issue
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl4/igt@kms_psr2_su@page_flip-p010.html
* igt@kms_psr2_su@page_flip-xrgb8888:
- shard-iclb: [PASS][62] -> [SKIP][63] ([fdo#109642] / [fdo#111068] / [i915#658])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-iclb2/igt@kms_psr2_su@page_flip-xrgb8888.html
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-iclb5/igt@kms_psr2_su@page_flip-xrgb8888.html
- shard-skl: NOTRUN -> [SKIP][64] ([fdo#109271] / [i915#658])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl4/igt@kms_psr2_su@page_flip-xrgb8888.html
* igt@kms_psr@psr2_primary_blt:
- shard-iclb: [PASS][65] -> [SKIP][66] ([fdo#109441]) +3 similar issues
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-iclb2/igt@kms_psr@psr2_primary_blt.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-iclb5/igt@kms_psr@psr2_primary_blt.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-tglb: [PASS][67] -> [SKIP][68] ([i915#5519])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-tglb1/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-tglb1/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@kms_vblank@pipe-c-ts-continuation-suspend:
- shard-apl: [PASS][69] -> [DMESG-WARN][70] ([i915#180]) +1 similar issue
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-apl3/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl8/igt@kms_vblank@pipe-c-ts-continuation-suspend.html
* igt@kms_writeback@writeback-check-output:
- shard-kbl: NOTRUN -> [SKIP][71] ([fdo#109271] / [i915#2437])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl7/igt@kms_writeback@writeback-check-output.html
* igt@kms_writeback@writeback-invalid-parameters:
- shard-skl: NOTRUN -> [SKIP][72] ([fdo#109271] / [i915#2437]) +1 similar issue
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl3/igt@kms_writeback@writeback-invalid-parameters.html
* igt@perf@polling-parameterized:
- shard-skl: [PASS][73] -> [FAIL][74] ([i915#5639])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-skl10/igt@perf@polling-parameterized.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl9/igt@perf@polling-parameterized.html
* igt@sysfs_clients@fair-7:
- shard-kbl: NOTRUN -> [SKIP][75] ([fdo#109271] / [i915#2994])
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl7/igt@sysfs_clients@fair-7.html
* igt@sysfs_clients@recycle:
- shard-skl: NOTRUN -> [SKIP][76] ([fdo#109271] / [i915#2994])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl9/igt@sysfs_clients@recycle.html
* igt@sysfs_clients@split-25:
- shard-apl: NOTRUN -> [SKIP][77] ([fdo#109271] / [i915#2994])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl2/igt@sysfs_clients@split-25.html
#### Possible fixes ####
* igt@fbdev@nullptr:
- {shard-rkl}: [SKIP][78] ([i915#2582]) -> [PASS][79]
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@fbdev@nullptr.html
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@fbdev@nullptr.html
* igt@gem_ctx_isolation@preservation-s3@vecs0:
- shard-apl: [DMESG-WARN][80] ([i915#180]) -> [PASS][81]
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-apl8/igt@gem_ctx_isolation@preservation-s3@vecs0.html
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl2/igt@gem_ctx_isolation@preservation-s3@vecs0.html
* igt@gem_ctx_persistence@engines-hostile@vcs0:
- {shard-dg1}: [FAIL][82] ([i915#4883]) -> [PASS][83]
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-dg1-16/igt@gem_ctx_persistence@engines-hostile@vcs0.html
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-dg1-18/igt@gem_ctx_persistence@engines-hostile@vcs0.html
* igt@gem_ctx_persistence@hang:
- {shard-rkl}: [SKIP][84] ([i915#6252]) -> [PASS][85]
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@gem_ctx_persistence@hang.html
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-1/igt@gem_ctx_persistence@hang.html
* igt@gem_eio@unwedge-stress:
- shard-iclb: [TIMEOUT][86] ([i915#3070]) -> [PASS][87]
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-iclb7/igt@gem_eio@unwedge-stress.html
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-iclb6/igt@gem_eio@unwedge-stress.html
- shard-skl: [TIMEOUT][88] ([i915#3063]) -> [PASS][89]
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-skl9/igt@gem_eio@unwedge-stress.html
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl10/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_balancer@parallel-contexts:
- shard-iclb: [SKIP][90] ([i915#4525]) -> [PASS][91] +2 similar issues
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-iclb3/igt@gem_exec_balancer@parallel-contexts.html
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-iclb2/igt@gem_exec_balancer@parallel-contexts.html
* igt@gem_exec_fair@basic-none-share@rcs0:
- {shard-tglu}: [FAIL][92] ([i915#2842]) -> [PASS][93]
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-tglu-8/igt@gem_exec_fair@basic-none-share@rcs0.html
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-tglu-5/igt@gem_exec_fair@basic-none-share@rcs0.html
* igt@gem_exec_fair@basic-pace@rcs0:
- shard-glk: [FAIL][94] ([i915#2842]) -> [PASS][95]
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-glk2/igt@gem_exec_fair@basic-pace@rcs0.html
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-glk9/igt@gem_exec_fair@basic-pace@rcs0.html
* igt@gem_exec_reloc@basic-write-read-noreloc:
- {shard-rkl}: [SKIP][96] ([i915#3281]) -> [PASS][97] +9 similar issues
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-1/igt@gem_exec_reloc@basic-write-read-noreloc.html
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-5/igt@gem_exec_reloc@basic-write-read-noreloc.html
* igt@gem_exec_whisper@basic-fds-priority-all:
- shard-apl: [INCOMPLETE][98] ([i915#5843]) -> [PASS][99]
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-apl4/igt@gem_exec_whisper@basic-fds-priority-all.html
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl4/igt@gem_exec_whisper@basic-fds-priority-all.html
* igt@gem_exec_whisper@basic-queues-priority-all:
- shard-glk: [DMESG-WARN][100] ([i915#118]) -> [PASS][101]
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-glk6/igt@gem_exec_whisper@basic-queues-priority-all.html
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-glk3/igt@gem_exec_whisper@basic-queues-priority-all.html
* igt@gem_pwrite@basic-random:
- {shard-rkl}: [SKIP][102] ([i915#3282]) -> [PASS][103] +4 similar issues
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-6/igt@gem_pwrite@basic-random.html
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-5/igt@gem_pwrite@basic-random.html
* igt@gen9_exec_parse@allowed-single:
- shard-kbl: [DMESG-WARN][104] ([i915#5566] / [i915#716]) -> [PASS][105]
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-kbl1/igt@gen9_exec_parse@allowed-single.html
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl1/igt@gen9_exec_parse@allowed-single.html
* igt@gen9_exec_parse@bb-start-param:
- {shard-rkl}: [SKIP][106] ([i915#2527]) -> [PASS][107] +4 similar issues
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-1/igt@gen9_exec_parse@bb-start-param.html
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-5/igt@gen9_exec_parse@bb-start-param.html
* igt@i915_pm_dc@dc6-dpms:
- {shard-rkl}: [SKIP][108] ([i915#3361]) -> [PASS][109]
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@i915_pm_dc@dc6-dpms.html
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-1/igt@i915_pm_dc@dc6-dpms.html
* igt@i915_pm_dc@dc6-psr:
- {shard-rkl}: [SKIP][110] ([i915#658]) -> [PASS][111]
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@i915_pm_dc@dc6-psr.html
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@i915_pm_dc@dc6-psr.html
* igt@i915_pm_rpm@drm-resources-equal:
- {shard-rkl}: [SKIP][112] ([fdo#109308]) -> [PASS][113]
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@i915_pm_rpm@drm-resources-equal.html
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@i915_pm_rpm@drm-resources-equal.html
* igt@i915_pm_rpm@modeset-non-lpsp:
- {shard-dg1}: [SKIP][114] ([i915#1397]) -> [PASS][115]
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-dg1-16/igt@i915_pm_rpm@modeset-non-lpsp.html
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-dg1-18/igt@i915_pm_rpm@modeset-non-lpsp.html
* igt@i915_selftest@live@gt_pm:
- {shard-tglu}: [DMESG-FAIL][116] ([i915#3987]) -> [PASS][117]
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-tglu-5/igt@i915_selftest@live@gt_pm.html
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-tglu-3/igt@i915_selftest@live@gt_pm.html
* igt@i915_selftest@live@hangcheck:
- shard-tglb: [DMESG-WARN][118] ([i915#5591]) -> [PASS][119]
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-tglb3/igt@i915_selftest@live@hangcheck.html
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-tglb7/igt@i915_selftest@live@hangcheck.html
* igt@i915_suspend@debugfs-reader:
- {shard-rkl}: [FAIL][120] ([fdo#103375]) -> [PASS][121]
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@i915_suspend@debugfs-reader.html
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@i915_suspend@debugfs-reader.html
* igt@kms_big_fb@x-tiled-64bpp-rotate-0:
- {shard-rkl}: [SKIP][122] ([i915#1845] / [i915#4098]) -> [PASS][123] +22 similar issues
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@kms_big_fb@x-tiled-64bpp-rotate-0.html
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@kms_big_fb@x-tiled-64bpp-rotate-0.html
* igt@kms_color@pipe-a-ctm-red-to-blue:
- {shard-rkl}: [SKIP][124] ([i915#1149] / [i915#1849] / [i915#4098]) -> [PASS][125] +1 similar issue
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@kms_color@pipe-a-ctm-red-to-blue.html
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@kms_color@pipe-a-ctm-red-to-blue.html
* igt@kms_color@pipe-b-gamma:
- {shard-rkl}: [SKIP][126] ([i915#1149] / [i915#1849] / [i915#4070] / [i915#4098]) -> [PASS][127] +3 similar issues
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-1/igt@kms_color@pipe-b-gamma.html
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@kms_color@pipe-b-gamma.html
* igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
- shard-glk: [FAIL][128] ([i915#72]) -> [PASS][129]
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-glk8/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-glk8/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
* igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions:
- shard-glk: [FAIL][130] ([i915#2346]) -> [PASS][131]
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-glk5/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-glk2/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html
* igt@kms_draw_crc@draw-method-xrgb2101010-render-ytiled:
- {shard-rkl}: [SKIP][132] ([fdo#111314] / [i915#4098] / [i915#4369]) -> [PASS][133] +6 similar issues
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@kms_draw_crc@draw-method-xrgb2101010-render-ytiled.html
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@kms_draw_crc@draw-method-xrgb2101010-render-ytiled.html
* igt@kms_flip@flip-vs-suspend-interruptible@c-dp1:
- shard-kbl: [DMESG-WARN][134] ([i915#180]) -> [PASS][135] +3 similar issues
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-kbl6/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl7/igt@kms_flip@flip-vs-suspend-interruptible@c-dp1.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling:
- {shard-rkl}: [SKIP][136] ([i915#3701]) -> [PASS][137]
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling.html
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt:
- {shard-rkl}: [SKIP][138] ([i915#1849] / [i915#4098]) -> [PASS][139] +25 similar issues
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt.html
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-suspend:
- shard-skl: [INCOMPLETE][140] ([i915#1982] / [i915#4939]) -> [PASS][141]
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-skl1/igt@kms_frontbuffer_tracking@psr-suspend.html
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl4/igt@kms_frontbuffer_tracking@psr-suspend.html
* igt@kms_invalid_mode@bad-htotal:
- {shard-rkl}: [SKIP][142] ([i915#4278]) -> [PASS][143]
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@kms_invalid_mode@bad-htotal.html
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@kms_invalid_mode@bad-htotal.html
* igt@kms_plane@pixel-format-source-clamping@pipe-b-planes:
- {shard-rkl}: [SKIP][144] ([i915#3558]) -> [PASS][145] +1 similar issue
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-1/igt@kms_plane@pixel-format-source-clamping@pipe-b-planes.html
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@kms_plane@pixel-format-source-clamping@pipe-b-planes.html
* igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min:
- {shard-rkl}: [SKIP][146] ([i915#1849] / [i915#4070] / [i915#4098]) -> [PASS][147] +1 similar issue
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-1/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@kms_plane_alpha_blend@pipe-b-constant-alpha-min.html
* igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-a-edp-1:
- shard-iclb: [SKIP][148] ([i915#5176]) -> [PASS][149] +2 similar issues
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-iclb2/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-a-edp-1.html
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-iclb8/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5@pipe-a-edp-1.html
* igt@kms_properties@plane-properties-atomic:
- {shard-rkl}: [SKIP][150] ([i915#1849]) -> [PASS][151]
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@kms_properties@plane-properties-atomic.html
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@kms_properties@plane-properties-atomic.html
* igt@kms_psr2_su@frontbuffer-xrgb8888:
- shard-iclb: [SKIP][152] ([fdo#109642] / [fdo#111068] / [i915#658]) -> [PASS][153]
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-iclb3/igt@kms_psr2_su@frontbuffer-xrgb8888.html
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-iclb2/igt@kms_psr2_su@frontbuffer-xrgb8888.html
* igt@kms_psr@cursor_blt:
- {shard-rkl}: [SKIP][154] ([i915#1072]) -> [PASS][155] +2 similar issues
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-5/igt@kms_psr@cursor_blt.html
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-6/igt@kms_psr@cursor_blt.html
* igt@kms_psr@psr2_cursor_plane_onoff:
- shard-iclb: [SKIP][156] ([fdo#109441]) -> [PASS][157]
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-iclb3/igt@kms_psr@psr2_cursor_plane_onoff.html
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html
* igt@kms_sequence@queue-busy@edp-1-pipe-b:
- shard-skl: [FAIL][158] -> [PASS][159]
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-skl3/igt@kms_sequence@queue-busy@edp-1-pipe-b.html
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-skl4/igt@kms_sequence@queue-busy@edp-1-pipe-b.html
* igt@perf@polling-small-buf:
- {shard-rkl}: [FAIL][160] ([i915#1722]) -> [PASS][161]
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-1/igt@perf@polling-small-buf.html
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-5/igt@perf@polling-small-buf.html
* igt@prime_vgem@basic-read:
- {shard-rkl}: [SKIP][162] ([fdo#109295] / [i915#3291] / [i915#3708]) -> [PASS][163]
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-rkl-6/igt@prime_vgem@basic-read.html
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-rkl-5/igt@prime_vgem@basic-read.html
#### Warnings ####
* igt@gem_exec_balancer@parallel-ordering:
- shard-iclb: [SKIP][164] ([i915#4525]) -> [FAIL][165] ([i915#6117])
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-iclb5/igt@gem_exec_balancer@parallel-ordering.html
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-iclb4/igt@gem_exec_balancer@parallel-ordering.html
* igt@gem_exec_fair@basic-pace-solo@rcs0:
- shard-glk: [FAIL][166] ([i915#2842]) -> [FAIL][167] ([i915#2851])
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-glk8/igt@gem_exec_fair@basic-pace-solo@rcs0.html
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-glk3/igt@gem_exec_fair@basic-pace-solo@rcs0.html
* igt@gem_exec_fair@basic-throttle@rcs0:
- shard-iclb: [FAIL][168] ([i915#2842]) -> [FAIL][169] ([i915#2849])
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-iclb7/igt@gem_exec_fair@basic-throttle@rcs0.html
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-iclb6/igt@gem_exec_fair@basic-throttle@rcs0.html
* igt@kms_psr2_su@page_flip-p010:
- shard-iclb: [SKIP][170] ([fdo#109642] / [fdo#111068] / [i915#658]) -> [FAIL][171] ([i915#5939])
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-iclb3/igt@kms_psr2_su@page_flip-p010.html
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-iclb2/igt@kms_psr2_su@page_flip-p010.html
* igt@runner@aborted:
- shard-apl: ([FAIL][172], [FAIL][173], [FAIL][174], [FAIL][175]) ([i915#180] / [i915#3002] / [i915#4312] / [i915#5257]) -> ([FAIL][176], [FAIL][177], [FAIL][178], [FAIL][179], [FAIL][180]) ([fdo#109271] / [i915#180] / [i915#3002] / [i915#4312] / [i915#5257])
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-apl1/igt@runner@aborted.html
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-apl8/igt@runner@aborted.html
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-apl4/igt@runner@aborted.html
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-apl4/igt@runner@aborted.html
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl8/igt@runner@aborted.html
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl7/igt@runner@aborted.html
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl3/igt@runner@aborted.html
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl8/igt@runner@aborted.html
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-apl4/igt@runner@aborted.html
- shard-kbl: ([FAIL][181], [FAIL][182], [FAIL][183], [FAIL][184], [FAIL][185]) ([fdo#109271] / [i915#180] / [i915#3002] / [i915#4312] / [i915#5257] / [i915#716]) -> ([FAIL][186], [FAIL][187], [FAIL][188], [FAIL][189], [FAIL][190], [FAIL][191]) ([i915#180] / [i915#3002] / [i915#4312] / [i915#5257])
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-kbl3/igt@runner@aborted.html
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-kbl1/igt@runner@aborted.html
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-kbl7/igt@runner@aborted.html
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-kbl6/igt@runner@aborted.html
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11802/shard-kbl6/igt@runner@aborted.html
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl6/igt@runner@aborted.html
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl6/igt@runner@aborted.html
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl6/igt@runner@aborted.html
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl3/igt@runner@aborted.html
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl3/igt@runner@aborted.html
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/shard-kbl6/igt@runner@aborted.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
[fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
[fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111314]: https://bugs.freedesktop.org/show_bug.cgi?id=111314
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1149]: https://gitlab.freedesktop.org/drm/intel/issues/1149
[i915#1155]: https://gitlab.freedesktop.org/drm/intel/issues/1155
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
[i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#1836]: https://gitlab.freedesktop.org/drm/intel/issues/1836
[i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
[i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
[i915#1911]: https://gitlab.freedesktop.org/drm/intel/issues/1911
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#2105]: https://gitlab.freedesktop.org/drm/intel/issues/2105
[i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2436]: https://gitlab.freedesktop.org/drm/intel/issues/2436
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
[i915#2532]: https://gitlab.freedesktop.org/drm/intel/issues/2532
[i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
[i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
[i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2849]: https://gitlab.freedesktop.org/drm/intel/issues/2849
[i915#2851]: https://gitlab.freedesktop.org/drm/intel/issues/2851
[i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
[i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
[i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
[i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063
[i915#3070]: https://gitlab.freedesktop.org/drm/intel/issues/3070
[i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
[i915#3318]: https://gitlab.freedesktop.org/drm/intel/issues/3318
[i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
[i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
[i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
[i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3701]: https://gitlab.freedesktop.org/drm/intel/issues/3701
[i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
[i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
[i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
[i915#3763]: https://gitlab.freedesktop.org/drm/intel/issues/3763
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3921]: https://gitlab.freedesktop.org/drm/intel/issues/3921
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#3987]: https://gitlab.freedesktop.org/drm/intel/issues/3987
[i915#4016]: https://gitlab.freedesktop.org/drm/intel/issues/4016
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
[i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
[i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4171]: https://gitlab.freedesktop.org/drm/intel/issues/4171
[i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4278]: https://gitlab.freedesktop.org/drm/intel/issues/4278
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4369]: https://gitlab.freedesktop.org/drm/intel/issues/4369
[i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
[i915#4462]: https://gitlab.freedesktop.org/drm/intel/issues/4462
[i915#4494]: https://gitlab.freedesktop.org/drm/intel/issues/4494
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
[i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
[i915#4853]: https://gitlab.freedesktop.org/drm/intel/issues/4853
[i915#4854]: https://gitlab.freedesktop.org/drm/intel/issues/4854
[i915#4855]: https://gitlab.freedesktop.org/drm/intel/issues/4855
[i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
[i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
[i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
[i915#4883]: https://gitlab.freedesktop.org/drm/intel/issues/4883
[i915#4939]: https://gitlab.freedesktop.org/drm/intel/issues/4939
[i915#4957]: https://gitlab.freedesktop.org/drm/intel/issues/4957
[i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5234]: https://gitlab.freedesktop.org/drm/intel/issues/5234
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5287]: https://gitlab.freedesktop.org/drm/intel/issues/5287
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5519]: https://gitlab.freedesktop.org/drm/intel/issues/5519
[i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#5591]: https://gitlab.freedesktop.org/drm/intel/issues/5591
[i915#5639]: https://gitlab.freedesktop.org/drm/intel/issues/5639
[i915#5843]: https://gitlab.freedesktop.org/drm/intel/issues/5843
[i915#5939]: https://gitlab.freedesktop.org/drm/intel/issues/5939
[i915#6011]: https://gitlab.freedesktop.org/drm/intel/issues/6011
[i915#6076]: https://gitlab.freedesktop.org/drm/intel/issues/6076
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117
[i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
[i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252
[i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
[i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
Build changes
-------------
* Linux: CI_DRM_11802 -> Patchwork_105577v1
CI-20190529: 20190529
CI_DRM_11802: a9cd66449a986ed9cd1e90f0dbda3bf1a11619d9 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_6541: 02153f109bd422d93cfce7f5aa9d7b0e22fab13c @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_105577v1: a9cd66449a986ed9cd1e90f0dbda3bf1a11619d9 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_105577v1/index.html
[-- Attachment #2: Type: text/html, Size: 59821 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread