* [igt-dev] [PATCH i-g-t] drm-uapi: Import i915_drm.h upto a88b6e4cbafd
@ 2019-05-22 8:29 Chris Wilson
2019-05-22 8:30 ` [Intel-gfx] " Chris Wilson
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Chris Wilson @ 2019-05-22 8:29 UTC (permalink / raw)
To: intel-gfx; +Cc: igt-dev, tvrtko.ursulin
commit a88b6e4cbafd6f23b3450c087acdbe23d90e7606
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Tue May 21 22:11:34 2019 +0100
drm/i915: Allow specification of parallel execbuf
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
include/drm-uapi/i915_drm.h | 164 +++++++++++++++++++++++++++++++++++-
1 file changed, 162 insertions(+), 2 deletions(-)
diff --git a/include/drm-uapi/i915_drm.h b/include/drm-uapi/i915_drm.h
index e01b3e1fd..72be2705e 100644
--- a/include/drm-uapi/i915_drm.h
+++ b/include/drm-uapi/i915_drm.h
@@ -136,6 +136,8 @@ enum drm_i915_gem_engine_class {
struct i915_engine_class_instance {
__u16 engine_class; /* see enum drm_i915_gem_engine_class */
__u16 engine_instance;
+#define I915_ENGINE_CLASS_INVALID_NONE -1
+#define I915_ENGINE_CLASS_INVALID_VIRTUAL -2
};
/**
@@ -355,6 +357,8 @@ typedef struct _drm_i915_sarea {
#define DRM_I915_PERF_ADD_CONFIG 0x37
#define DRM_I915_PERF_REMOVE_CONFIG 0x38
#define DRM_I915_QUERY 0x39
+#define DRM_I915_GEM_VM_CREATE 0x3a
+#define DRM_I915_GEM_VM_DESTROY 0x3b
/* Must be kept compact -- no holes */
#define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)
@@ -415,6 +419,8 @@ typedef struct _drm_i915_sarea {
#define DRM_IOCTL_I915_PERF_ADD_CONFIG DRM_IOW(DRM_COMMAND_BASE + DRM_I915_PERF_ADD_CONFIG, struct drm_i915_perf_oa_config)
#define DRM_IOCTL_I915_PERF_REMOVE_CONFIG DRM_IOW(DRM_COMMAND_BASE + DRM_I915_PERF_REMOVE_CONFIG, __u64)
#define DRM_IOCTL_I915_QUERY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_QUERY, struct drm_i915_query)
+#define DRM_IOCTL_I915_GEM_VM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_CREATE, struct drm_i915_gem_vm_control)
+#define DRM_IOCTL_I915_GEM_VM_DESTROY DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_VM_DESTROY, struct drm_i915_gem_vm_control)
/* Allow drivers to submit batchbuffers directly to hardware, relying
* on the security mechanisms provided by hardware.
@@ -598,6 +604,12 @@ typedef struct drm_i915_irq_wait {
*/
#define I915_PARAM_MMAP_GTT_COHERENT 52
+/*
+ * Query whether DRM_I915_GEM_EXECBUFFER2 supports coordination of parallel
+ * execution through use of explicit fence support.
+ * See I915_EXEC_FENCE_OUT and I915_EXEC_FENCE_SUBMIT.
+ */
+#define I915_PARAM_HAS_EXEC_SUBMIT_FENCE 53
/* Must be kept compact -- no holes and well documented */
typedef struct drm_i915_getparam {
@@ -1120,7 +1132,16 @@ struct drm_i915_gem_execbuffer2 {
*/
#define I915_EXEC_FENCE_ARRAY (1<<19)
-#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_ARRAY<<1))
+/*
+ * Setting I915_EXEC_FENCE_SUBMIT implies that lower_32_bits(rsvd2) represent
+ * a sync_file fd to wait upon (in a nonblocking manner) prior to executing
+ * the batch.
+ *
+ * Returns -EINVAL if the sync_file fd cannot be found.
+ */
+#define I915_EXEC_FENCE_SUBMIT (1 << 20)
+
+#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_SUBMIT << 1))
#define I915_EXEC_CONTEXT_ID_MASK (0xffffffff)
#define i915_execbuffer2_set_context_id(eb2, context) \
@@ -1464,8 +1485,9 @@ struct drm_i915_gem_context_create_ext {
__u32 ctx_id; /* output: id of new context*/
__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_USE_EXTENSIONS << 1))
+ (-(I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE << 1))
__u64 extensions;
};
@@ -1507,6 +1529,41 @@ struct drm_i915_gem_context_param {
* On creation, all new contexts are marked as recoverable.
*/
#define I915_CONTEXT_PARAM_RECOVERABLE 0x8
+
+ /*
+ * The id of the associated virtual memory address space (ppGTT) of
+ * this context. Can be retrieved and passed to another context
+ * (on the same fd) for both to use the same ppGTT and so share
+ * address layouts, and avoid reloading the page tables on context
+ * switches between themselves.
+ *
+ * See DRM_I915_GEM_VM_CREATE and DRM_I915_GEM_VM_DESTROY.
+ */
+#define I915_CONTEXT_PARAM_VM 0x9
+
+/*
+ * I915_CONTEXT_PARAM_ENGINES:
+ *
+ * Bind this context to operate on this subset of available engines. Henceforth,
+ * the I915_EXEC_RING selector for DRM_IOCTL_I915_GEM_EXECBUFFER2 operates as
+ * an index into this array of engines; I915_EXEC_DEFAULT selecting engine[0]
+ * and upwards. Slots 0...N are filled in using the specified (class, instance).
+ * Use
+ * engine_class: I915_ENGINE_CLASS_INVALID,
+ * engine_instance: I915_ENGINE_CLASS_INVALID_NONE
+ * to specify a gap in the array that can be filled in later, e.g. by a
+ * virtual engine used for load balancing.
+ *
+ * Setting the number of engines bound to the context to 0, by passing a zero
+ * sized argument, will revert back to default settings.
+ *
+ * See struct i915_context_param_engines.
+ *
+ * Extensions:
+ * i915_context_engines_load_balance (I915_CONTEXT_ENGINES_EXT_LOAD_BALANCE)
+ * i915_context_engines_bond (I915_CONTEXT_ENGINES_EXT_BOND)
+ */
+#define I915_CONTEXT_PARAM_ENGINES 0xa
/* Must be kept compact -- no holes and well documented */
__u64 value;
@@ -1570,12 +1627,115 @@ struct drm_i915_gem_context_param_sseu {
__u32 rsvd;
};
+/*
+ * i915_context_engines_load_balance:
+ *
+ * Enable load balancing across this set of engines.
+ *
+ * Into the I915_EXEC_DEFAULT slot [0], a virtual engine is created that when
+ * used will proxy the execbuffer request onto one of the set of engines
+ * in such a way as to distribute the load evenly across the set.
+ *
+ * The set of engines must be compatible (e.g. the same HW class) as they
+ * will share the same logical GPU context and ring.
+ *
+ * To intermix rendering with the virtual engine and direct rendering onto
+ * the backing engines (bypassing the load balancing proxy), the context must
+ * be defined to use a single timeline for all engines.
+ */
+struct i915_context_engines_load_balance {
+ struct i915_user_extension base;
+
+ __u16 engine_index;
+ __u16 num_siblings;
+ __u32 flags; /* all undefined flags must be zero */
+
+ __u64 mbz64; /* reserved for future use; must be zero */
+
+ struct i915_engine_class_instance engines[0];
+} __attribute__((packed));
+
+#define I915_DEFINE_CONTEXT_ENGINES_LOAD_BALANCE(name__, N__) struct { \
+ struct i915_user_extension base; \
+ __u16 engine_index; \
+ __u16 num_siblings; \
+ __u32 flags; \
+ __u64 mbz64; \
+ struct i915_engine_class_instance engines[N__]; \
+} __attribute__((packed)) name__
+
+/*
+ * i915_context_engines_bond:
+ *
+ * Constructed bonded pairs for execution within a virtual engine.
+ *
+ * All engines are equal, but some are more equal than others. Given
+ * the distribution of resources in the HW, it may be preferable to run
+ * a request on a given subset of engines in parallel to a request on a
+ * specific engine. We enable this selection of engines within a virtual
+ * engine by specifying bonding pairs, for any given master engine we will
+ * only execute on one of the corresponding siblings within the virtual engine.
+ *
+ * To execute a request in parallel on the master engine and a sibling requires
+ * coordination with a I915_EXEC_FENCE_SUBMIT.
+ */
+struct i915_context_engines_bond {
+ struct i915_user_extension base;
+
+ struct i915_engine_class_instance master;
+
+ __u16 virtual_index; /* index of virtual engine in ctx->engines[] */
+ __u16 num_bonds;
+
+ __u64 flags; /* all undefined flags must be zero */
+ __u64 mbz64[4]; /* reserved for future use; must be zero */
+
+ struct i915_engine_class_instance engines[0];
+} __attribute__((packed));
+
+#define I915_DEFINE_CONTEXT_ENGINES_BOND(name__, N__) struct { \
+ struct i915_user_extension base; \
+ struct i915_engine_class_instance master; \
+ __u16 virtual_index; \
+ __u16 num_bonds; \
+ __u64 flags; \
+ __u64 mbz64[4]; \
+ struct i915_engine_class_instance engines[N__]; \
+} __attribute__((packed)) name__
+
+struct i915_context_param_engines {
+ __u64 extensions; /* linked chain of extension blocks, 0 terminates */
+#define I915_CONTEXT_ENGINES_EXT_LOAD_BALANCE 0 /* see i915_context_engines_load_balance */
+#define I915_CONTEXT_ENGINES_EXT_BOND 1 /* see i915_context_engines_bond */
+ struct i915_engine_class_instance engines[0];
+} __attribute__((packed));
+
+#define I915_DEFINE_CONTEXT_PARAM_ENGINES(name__, N__) struct { \
+ __u64 extensions; \
+ struct i915_engine_class_instance engines[N__]; \
+} __attribute__((packed)) name__
+
struct drm_i915_gem_context_create_ext_setparam {
#define I915_CONTEXT_CREATE_EXT_SETPARAM 0
struct i915_user_extension base;
struct drm_i915_gem_context_param param;
};
+struct drm_i915_gem_context_create_ext_clone {
+#define I915_CONTEXT_CREATE_EXT_CLONE 1
+ struct i915_user_extension base;
+ __u32 clone_id;
+ __u32 flags;
+#define I915_CONTEXT_CLONE_ENGINES (1u << 0)
+#define I915_CONTEXT_CLONE_FLAGS (1u << 1)
+#define I915_CONTEXT_CLONE_SCHEDATTR (1u << 2)
+#define I915_CONTEXT_CLONE_SSEU (1u << 3)
+#define I915_CONTEXT_CLONE_TIMELINE (1u << 4)
+#define I915_CONTEXT_CLONE_VM (1u << 5)
+#define I915_CONTEXT_CLONE_UNKNOWN -(I915_CONTEXT_CLONE_VM << 1)
+ __u64 rsvd;
+};
+
struct drm_i915_gem_context_destroy {
__u32 ctx_id;
__u32 pad;
--
2.20.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 5+ messages in thread* [Intel-gfx] [PATCH i-g-t] drm-uapi: Import i915_drm.h upto a88b6e4cbafd 2019-05-22 8:29 [igt-dev] [PATCH i-g-t] drm-uapi: Import i915_drm.h upto a88b6e4cbafd Chris Wilson @ 2019-05-22 8:30 ` Chris Wilson 2019-05-22 8:42 ` [igt-dev] " Tvrtko Ursulin 2019-05-22 9:04 ` [igt-dev] ✓ Fi.CI.BAT: success for drm-uapi: Import i915_drm.h upto a88b6e4cbafd (rev2) Patchwork 2019-05-22 20:01 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 2 siblings, 1 reply; 5+ messages in thread From: Chris Wilson @ 2019-05-22 8:30 UTC (permalink / raw) To: intel-gfx; +Cc: igt-dev commit a88b6e4cbafd6f23b3450c087acdbe23d90e7606 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Tue May 21 22:11:34 2019 +0100 drm/i915: Allow specification of parallel execbuf Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- include/drm-uapi/i915_drm.h | 167 +++++++++++++++++++++++++++++++++++- 1 file changed, 164 insertions(+), 3 deletions(-) diff --git a/include/drm-uapi/i915_drm.h b/include/drm-uapi/i915_drm.h index e01b3e1fd..de7be1bc6 100644 --- a/include/drm-uapi/i915_drm.h +++ b/include/drm-uapi/i915_drm.h @@ -136,6 +136,8 @@ enum drm_i915_gem_engine_class { struct i915_engine_class_instance { __u16 engine_class; /* see enum drm_i915_gem_engine_class */ __u16 engine_instance; +#define I915_ENGINE_CLASS_INVALID_NONE -1 +#define I915_ENGINE_CLASS_INVALID_VIRTUAL -2 }; /** @@ -355,6 +357,8 @@ typedef struct _drm_i915_sarea { #define DRM_I915_PERF_ADD_CONFIG 0x37 #define DRM_I915_PERF_REMOVE_CONFIG 0x38 #define DRM_I915_QUERY 0x39 +#define DRM_I915_GEM_VM_CREATE 0x3a +#define DRM_I915_GEM_VM_DESTROY 0x3b /* Must be kept compact -- no holes */ #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) @@ -415,6 +419,8 @@ typedef struct _drm_i915_sarea { #define DRM_IOCTL_I915_PERF_ADD_CONFIG DRM_IOW(DRM_COMMAND_BASE + DRM_I915_PERF_ADD_CONFIG, struct drm_i915_perf_oa_config) #define DRM_IOCTL_I915_PERF_REMOVE_CONFIG DRM_IOW(DRM_COMMAND_BASE + DRM_I915_PERF_REMOVE_CONFIG, __u64) #define DRM_IOCTL_I915_QUERY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_QUERY, struct drm_i915_query) +#define DRM_IOCTL_I915_GEM_VM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_CREATE, struct drm_i915_gem_vm_control) +#define DRM_IOCTL_I915_GEM_VM_DESTROY DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_VM_DESTROY, struct drm_i915_gem_vm_control) /* Allow drivers to submit batchbuffers directly to hardware, relying * on the security mechanisms provided by hardware. @@ -598,6 +604,12 @@ typedef struct drm_i915_irq_wait { */ #define I915_PARAM_MMAP_GTT_COHERENT 52 +/* + * Query whether DRM_I915_GEM_EXECBUFFER2 supports coordination of parallel + * execution through use of explicit fence support. + * See I915_EXEC_FENCE_OUT and I915_EXEC_FENCE_SUBMIT. + */ +#define I915_PARAM_HAS_EXEC_SUBMIT_FENCE 53 /* Must be kept compact -- no holes and well documented */ typedef struct drm_i915_getparam { @@ -1120,7 +1132,16 @@ struct drm_i915_gem_execbuffer2 { */ #define I915_EXEC_FENCE_ARRAY (1<<19) -#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_ARRAY<<1)) +/* + * Setting I915_EXEC_FENCE_SUBMIT implies that lower_32_bits(rsvd2) represent + * a sync_file fd to wait upon (in a nonblocking manner) prior to executing + * the batch. + * + * Returns -EINVAL if the sync_file fd cannot be found. + */ +#define I915_EXEC_FENCE_SUBMIT (1 << 20) + +#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_SUBMIT << 1)) #define I915_EXEC_CONTEXT_ID_MASK (0xffffffff) #define i915_execbuffer2_set_context_id(eb2, context) \ @@ -1464,8 +1485,9 @@ struct drm_i915_gem_context_create_ext { __u32 ctx_id; /* output: id of new context*/ __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_USE_EXTENSIONS << 1)) + (-(I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE << 1)) __u64 extensions; }; @@ -1507,6 +1529,41 @@ struct drm_i915_gem_context_param { * On creation, all new contexts are marked as recoverable. */ #define I915_CONTEXT_PARAM_RECOVERABLE 0x8 + + /* + * The id of the associated virtual memory address space (ppGTT) of + * this context. Can be retrieved and passed to another context + * (on the same fd) for both to use the same ppGTT and so share + * address layouts, and avoid reloading the page tables on context + * switches between themselves. + * + * See DRM_I915_GEM_VM_CREATE and DRM_I915_GEM_VM_DESTROY. + */ +#define I915_CONTEXT_PARAM_VM 0x9 + +/* + * I915_CONTEXT_PARAM_ENGINES: + * + * Bind this context to operate on this subset of available engines. Henceforth, + * the I915_EXEC_RING selector for DRM_IOCTL_I915_GEM_EXECBUFFER2 operates as + * an index into this array of engines; I915_EXEC_DEFAULT selecting engine[0] + * and upwards. Slots 0...N are filled in using the specified (class, instance). + * Use + * engine_class: I915_ENGINE_CLASS_INVALID, + * engine_instance: I915_ENGINE_CLASS_INVALID_NONE + * to specify a gap in the array that can be filled in later, e.g. by a + * virtual engine used for load balancing. + * + * Setting the number of engines bound to the context to 0, by passing a zero + * sized argument, will revert back to default settings. + * + * See struct i915_context_param_engines. + * + * Extensions: + * i915_context_engines_load_balance (I915_CONTEXT_ENGINES_EXT_LOAD_BALANCE) + * i915_context_engines_bond (I915_CONTEXT_ENGINES_EXT_BOND) + */ +#define I915_CONTEXT_PARAM_ENGINES 0xa /* Must be kept compact -- no holes and well documented */ __u64 value; @@ -1540,9 +1597,10 @@ struct drm_i915_gem_context_param_sseu { struct i915_engine_class_instance engine; /* - * Unused for now. Must be cleared to zero. + * Unknown flags must be cleared to zero. */ __u32 flags; +#define I915_CONTEXT_SSEU_FLAG_ENGINE_INDEX (1u << 0) /* * Mask of slices to enable for the context. Valid values are a subset @@ -1570,12 +1628,115 @@ struct drm_i915_gem_context_param_sseu { __u32 rsvd; }; +/* + * i915_context_engines_load_balance: + * + * Enable load balancing across this set of engines. + * + * Into the I915_EXEC_DEFAULT slot [0], a virtual engine is created that when + * used will proxy the execbuffer request onto one of the set of engines + * in such a way as to distribute the load evenly across the set. + * + * The set of engines must be compatible (e.g. the same HW class) as they + * will share the same logical GPU context and ring. + * + * To intermix rendering with the virtual engine and direct rendering onto + * the backing engines (bypassing the load balancing proxy), the context must + * be defined to use a single timeline for all engines. + */ +struct i915_context_engines_load_balance { + struct i915_user_extension base; + + __u16 engine_index; + __u16 num_siblings; + __u32 flags; /* all undefined flags must be zero */ + + __u64 mbz64; /* reserved for future use; must be zero */ + + struct i915_engine_class_instance engines[0]; +} __attribute__((packed)); + +#define I915_DEFINE_CONTEXT_ENGINES_LOAD_BALANCE(name__, N__) struct { \ + struct i915_user_extension base; \ + __u16 engine_index; \ + __u16 num_siblings; \ + __u32 flags; \ + __u64 mbz64; \ + struct i915_engine_class_instance engines[N__]; \ +} __attribute__((packed)) name__ + +/* + * i915_context_engines_bond: + * + * Constructed bonded pairs for execution within a virtual engine. + * + * All engines are equal, but some are more equal than others. Given + * the distribution of resources in the HW, it may be preferable to run + * a request on a given subset of engines in parallel to a request on a + * specific engine. We enable this selection of engines within a virtual + * engine by specifying bonding pairs, for any given master engine we will + * only execute on one of the corresponding siblings within the virtual engine. + * + * To execute a request in parallel on the master engine and a sibling requires + * coordination with a I915_EXEC_FENCE_SUBMIT. + */ +struct i915_context_engines_bond { + struct i915_user_extension base; + + struct i915_engine_class_instance master; + + __u16 virtual_index; /* index of virtual engine in ctx->engines[] */ + __u16 num_bonds; + + __u64 flags; /* all undefined flags must be zero */ + __u64 mbz64[4]; /* reserved for future use; must be zero */ + + struct i915_engine_class_instance engines[0]; +} __attribute__((packed)); + +#define I915_DEFINE_CONTEXT_ENGINES_BOND(name__, N__) struct { \ + struct i915_user_extension base; \ + struct i915_engine_class_instance master; \ + __u16 virtual_index; \ + __u16 num_bonds; \ + __u64 flags; \ + __u64 mbz64[4]; \ + struct i915_engine_class_instance engines[N__]; \ +} __attribute__((packed)) name__ + +struct i915_context_param_engines { + __u64 extensions; /* linked chain of extension blocks, 0 terminates */ +#define I915_CONTEXT_ENGINES_EXT_LOAD_BALANCE 0 /* see i915_context_engines_load_balance */ +#define I915_CONTEXT_ENGINES_EXT_BOND 1 /* see i915_context_engines_bond */ + struct i915_engine_class_instance engines[0]; +} __attribute__((packed)); + +#define I915_DEFINE_CONTEXT_PARAM_ENGINES(name__, N__) struct { \ + __u64 extensions; \ + struct i915_engine_class_instance engines[N__]; \ +} __attribute__((packed)) name__ + struct drm_i915_gem_context_create_ext_setparam { #define I915_CONTEXT_CREATE_EXT_SETPARAM 0 struct i915_user_extension base; struct drm_i915_gem_context_param param; }; +struct drm_i915_gem_context_create_ext_clone { +#define I915_CONTEXT_CREATE_EXT_CLONE 1 + struct i915_user_extension base; + __u32 clone_id; + __u32 flags; +#define I915_CONTEXT_CLONE_ENGINES (1u << 0) +#define I915_CONTEXT_CLONE_FLAGS (1u << 1) +#define I915_CONTEXT_CLONE_SCHEDATTR (1u << 2) +#define I915_CONTEXT_CLONE_SSEU (1u << 3) +#define I915_CONTEXT_CLONE_TIMELINE (1u << 4) +#define I915_CONTEXT_CLONE_VM (1u << 5) +#define I915_CONTEXT_CLONE_UNKNOWN -(I915_CONTEXT_CLONE_VM << 1) + __u64 rsvd; +}; + struct drm_i915_gem_context_destroy { __u32 ctx_id; __u32 pad; -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [igt-dev] [PATCH i-g-t] drm-uapi: Import i915_drm.h upto a88b6e4cbafd 2019-05-22 8:30 ` [Intel-gfx] " Chris Wilson @ 2019-05-22 8:42 ` Tvrtko Ursulin 0 siblings, 0 replies; 5+ messages in thread From: Tvrtko Ursulin @ 2019-05-22 8:42 UTC (permalink / raw) To: Chris Wilson, intel-gfx; +Cc: igt-dev, tvrtko.ursulin On 22/05/2019 09:30, Chris Wilson wrote: > commit a88b6e4cbafd6f23b3450c087acdbe23d90e7606 > Author: Chris Wilson <chris@chris-wilson.co.uk> > Date: Tue May 21 22:11:34 2019 +0100 > > drm/i915: Allow specification of parallel execbuf > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Regards, Tvrtko > --- > include/drm-uapi/i915_drm.h | 167 +++++++++++++++++++++++++++++++++++- > 1 file changed, 164 insertions(+), 3 deletions(-) > > diff --git a/include/drm-uapi/i915_drm.h b/include/drm-uapi/i915_drm.h > index e01b3e1fd..de7be1bc6 100644 > --- a/include/drm-uapi/i915_drm.h > +++ b/include/drm-uapi/i915_drm.h > @@ -136,6 +136,8 @@ enum drm_i915_gem_engine_class { > struct i915_engine_class_instance { > __u16 engine_class; /* see enum drm_i915_gem_engine_class */ > __u16 engine_instance; > +#define I915_ENGINE_CLASS_INVALID_NONE -1 > +#define I915_ENGINE_CLASS_INVALID_VIRTUAL -2 > }; > > /** > @@ -355,6 +357,8 @@ typedef struct _drm_i915_sarea { > #define DRM_I915_PERF_ADD_CONFIG 0x37 > #define DRM_I915_PERF_REMOVE_CONFIG 0x38 > #define DRM_I915_QUERY 0x39 > +#define DRM_I915_GEM_VM_CREATE 0x3a > +#define DRM_I915_GEM_VM_DESTROY 0x3b > /* Must be kept compact -- no holes */ > > #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) > @@ -415,6 +419,8 @@ typedef struct _drm_i915_sarea { > #define DRM_IOCTL_I915_PERF_ADD_CONFIG DRM_IOW(DRM_COMMAND_BASE + DRM_I915_PERF_ADD_CONFIG, struct drm_i915_perf_oa_config) > #define DRM_IOCTL_I915_PERF_REMOVE_CONFIG DRM_IOW(DRM_COMMAND_BASE + DRM_I915_PERF_REMOVE_CONFIG, __u64) > #define DRM_IOCTL_I915_QUERY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_QUERY, struct drm_i915_query) > +#define DRM_IOCTL_I915_GEM_VM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_VM_CREATE, struct drm_i915_gem_vm_control) > +#define DRM_IOCTL_I915_GEM_VM_DESTROY DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_VM_DESTROY, struct drm_i915_gem_vm_control) > > /* Allow drivers to submit batchbuffers directly to hardware, relying > * on the security mechanisms provided by hardware. > @@ -598,6 +604,12 @@ typedef struct drm_i915_irq_wait { > */ > #define I915_PARAM_MMAP_GTT_COHERENT 52 > > +/* > + * Query whether DRM_I915_GEM_EXECBUFFER2 supports coordination of parallel > + * execution through use of explicit fence support. > + * See I915_EXEC_FENCE_OUT and I915_EXEC_FENCE_SUBMIT. > + */ > +#define I915_PARAM_HAS_EXEC_SUBMIT_FENCE 53 > /* Must be kept compact -- no holes and well documented */ > > typedef struct drm_i915_getparam { > @@ -1120,7 +1132,16 @@ struct drm_i915_gem_execbuffer2 { > */ > #define I915_EXEC_FENCE_ARRAY (1<<19) > > -#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_ARRAY<<1)) > +/* > + * Setting I915_EXEC_FENCE_SUBMIT implies that lower_32_bits(rsvd2) represent > + * a sync_file fd to wait upon (in a nonblocking manner) prior to executing > + * the batch. > + * > + * Returns -EINVAL if the sync_file fd cannot be found. > + */ > +#define I915_EXEC_FENCE_SUBMIT (1 << 20) > + > +#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_SUBMIT << 1)) > > #define I915_EXEC_CONTEXT_ID_MASK (0xffffffff) > #define i915_execbuffer2_set_context_id(eb2, context) \ > @@ -1464,8 +1485,9 @@ struct drm_i915_gem_context_create_ext { > __u32 ctx_id; /* output: id of new context*/ > __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_USE_EXTENSIONS << 1)) > + (-(I915_CONTEXT_CREATE_FLAGS_SINGLE_TIMELINE << 1)) > __u64 extensions; > }; > > @@ -1507,6 +1529,41 @@ struct drm_i915_gem_context_param { > * On creation, all new contexts are marked as recoverable. > */ > #define I915_CONTEXT_PARAM_RECOVERABLE 0x8 > + > + /* > + * The id of the associated virtual memory address space (ppGTT) of > + * this context. Can be retrieved and passed to another context > + * (on the same fd) for both to use the same ppGTT and so share > + * address layouts, and avoid reloading the page tables on context > + * switches between themselves. > + * > + * See DRM_I915_GEM_VM_CREATE and DRM_I915_GEM_VM_DESTROY. > + */ > +#define I915_CONTEXT_PARAM_VM 0x9 > + > +/* > + * I915_CONTEXT_PARAM_ENGINES: > + * > + * Bind this context to operate on this subset of available engines. Henceforth, > + * the I915_EXEC_RING selector for DRM_IOCTL_I915_GEM_EXECBUFFER2 operates as > + * an index into this array of engines; I915_EXEC_DEFAULT selecting engine[0] > + * and upwards. Slots 0...N are filled in using the specified (class, instance). > + * Use > + * engine_class: I915_ENGINE_CLASS_INVALID, > + * engine_instance: I915_ENGINE_CLASS_INVALID_NONE > + * to specify a gap in the array that can be filled in later, e.g. by a > + * virtual engine used for load balancing. > + * > + * Setting the number of engines bound to the context to 0, by passing a zero > + * sized argument, will revert back to default settings. > + * > + * See struct i915_context_param_engines. > + * > + * Extensions: > + * i915_context_engines_load_balance (I915_CONTEXT_ENGINES_EXT_LOAD_BALANCE) > + * i915_context_engines_bond (I915_CONTEXT_ENGINES_EXT_BOND) > + */ > +#define I915_CONTEXT_PARAM_ENGINES 0xa > /* Must be kept compact -- no holes and well documented */ > > __u64 value; > @@ -1540,9 +1597,10 @@ struct drm_i915_gem_context_param_sseu { > struct i915_engine_class_instance engine; > > /* > - * Unused for now. Must be cleared to zero. > + * Unknown flags must be cleared to zero. > */ > __u32 flags; > +#define I915_CONTEXT_SSEU_FLAG_ENGINE_INDEX (1u << 0) > > /* > * Mask of slices to enable for the context. Valid values are a subset > @@ -1570,12 +1628,115 @@ struct drm_i915_gem_context_param_sseu { > __u32 rsvd; > }; > > +/* > + * i915_context_engines_load_balance: > + * > + * Enable load balancing across this set of engines. > + * > + * Into the I915_EXEC_DEFAULT slot [0], a virtual engine is created that when > + * used will proxy the execbuffer request onto one of the set of engines > + * in such a way as to distribute the load evenly across the set. > + * > + * The set of engines must be compatible (e.g. the same HW class) as they > + * will share the same logical GPU context and ring. > + * > + * To intermix rendering with the virtual engine and direct rendering onto > + * the backing engines (bypassing the load balancing proxy), the context must > + * be defined to use a single timeline for all engines. > + */ > +struct i915_context_engines_load_balance { > + struct i915_user_extension base; > + > + __u16 engine_index; > + __u16 num_siblings; > + __u32 flags; /* all undefined flags must be zero */ > + > + __u64 mbz64; /* reserved for future use; must be zero */ > + > + struct i915_engine_class_instance engines[0]; > +} __attribute__((packed)); > + > +#define I915_DEFINE_CONTEXT_ENGINES_LOAD_BALANCE(name__, N__) struct { \ > + struct i915_user_extension base; \ > + __u16 engine_index; \ > + __u16 num_siblings; \ > + __u32 flags; \ > + __u64 mbz64; \ > + struct i915_engine_class_instance engines[N__]; \ > +} __attribute__((packed)) name__ > + > +/* > + * i915_context_engines_bond: > + * > + * Constructed bonded pairs for execution within a virtual engine. > + * > + * All engines are equal, but some are more equal than others. Given > + * the distribution of resources in the HW, it may be preferable to run > + * a request on a given subset of engines in parallel to a request on a > + * specific engine. We enable this selection of engines within a virtual > + * engine by specifying bonding pairs, for any given master engine we will > + * only execute on one of the corresponding siblings within the virtual engine. > + * > + * To execute a request in parallel on the master engine and a sibling requires > + * coordination with a I915_EXEC_FENCE_SUBMIT. > + */ > +struct i915_context_engines_bond { > + struct i915_user_extension base; > + > + struct i915_engine_class_instance master; > + > + __u16 virtual_index; /* index of virtual engine in ctx->engines[] */ > + __u16 num_bonds; > + > + __u64 flags; /* all undefined flags must be zero */ > + __u64 mbz64[4]; /* reserved for future use; must be zero */ > + > + struct i915_engine_class_instance engines[0]; > +} __attribute__((packed)); > + > +#define I915_DEFINE_CONTEXT_ENGINES_BOND(name__, N__) struct { \ > + struct i915_user_extension base; \ > + struct i915_engine_class_instance master; \ > + __u16 virtual_index; \ > + __u16 num_bonds; \ > + __u64 flags; \ > + __u64 mbz64[4]; \ > + struct i915_engine_class_instance engines[N__]; \ > +} __attribute__((packed)) name__ > + > +struct i915_context_param_engines { > + __u64 extensions; /* linked chain of extension blocks, 0 terminates */ > +#define I915_CONTEXT_ENGINES_EXT_LOAD_BALANCE 0 /* see i915_context_engines_load_balance */ > +#define I915_CONTEXT_ENGINES_EXT_BOND 1 /* see i915_context_engines_bond */ > + struct i915_engine_class_instance engines[0]; > +} __attribute__((packed)); > + > +#define I915_DEFINE_CONTEXT_PARAM_ENGINES(name__, N__) struct { \ > + __u64 extensions; \ > + struct i915_engine_class_instance engines[N__]; \ > +} __attribute__((packed)) name__ > + > struct drm_i915_gem_context_create_ext_setparam { > #define I915_CONTEXT_CREATE_EXT_SETPARAM 0 > struct i915_user_extension base; > struct drm_i915_gem_context_param param; > }; > > +struct drm_i915_gem_context_create_ext_clone { > +#define I915_CONTEXT_CREATE_EXT_CLONE 1 > + struct i915_user_extension base; > + __u32 clone_id; > + __u32 flags; > +#define I915_CONTEXT_CLONE_ENGINES (1u << 0) > +#define I915_CONTEXT_CLONE_FLAGS (1u << 1) > +#define I915_CONTEXT_CLONE_SCHEDATTR (1u << 2) > +#define I915_CONTEXT_CLONE_SSEU (1u << 3) > +#define I915_CONTEXT_CLONE_TIMELINE (1u << 4) > +#define I915_CONTEXT_CLONE_VM (1u << 5) > +#define I915_CONTEXT_CLONE_UNKNOWN -(I915_CONTEXT_CLONE_VM << 1) > + __u64 rsvd; > +}; > + > struct drm_i915_gem_context_destroy { > __u32 ctx_id; > __u32 pad; > _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 5+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for drm-uapi: Import i915_drm.h upto a88b6e4cbafd (rev2) 2019-05-22 8:29 [igt-dev] [PATCH i-g-t] drm-uapi: Import i915_drm.h upto a88b6e4cbafd Chris Wilson 2019-05-22 8:30 ` [Intel-gfx] " Chris Wilson @ 2019-05-22 9:04 ` Patchwork 2019-05-22 20:01 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork 2 siblings, 0 replies; 5+ messages in thread From: Patchwork @ 2019-05-22 9:04 UTC (permalink / raw) To: Chris Wilson; +Cc: igt-dev == Series Details == Series: drm-uapi: Import i915_drm.h upto a88b6e4cbafd (rev2) URL : https://patchwork.freedesktop.org/series/60941/ State : success == Summary == CI Bug Log - changes from CI_DRM_6117 -> IGTPW_3019 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://patchwork.freedesktop.org/api/1.0/series/60941/revisions/2/mbox/ Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_3019: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * igt@runner@aborted: - {fi-icl-dsi}: NOTRUN -> [FAIL][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/fi-icl-dsi/igt@runner@aborted.html Known issues ------------ Here are the changes found in IGTPW_3019 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live_evict: - fi-bsw-kefka: [PASS][2] -> [DMESG-WARN][3] ([fdo#107709]) [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/fi-bsw-kefka/igt@i915_selftest@live_evict.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/fi-bsw-kefka/igt@i915_selftest@live_evict.html #### Possible fixes #### * igt@gem_ctx_create@basic-files: - {fi-icl-y}: [INCOMPLETE][4] ([fdo#107713] / [fdo#109100]) -> [PASS][5] [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/fi-icl-y/igt@gem_ctx_create@basic-files.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/fi-icl-y/igt@gem_ctx_create@basic-files.html * igt@gem_ctx_switch@basic-default: - {fi-icl-u2}: [INCOMPLETE][6] ([fdo#107713] / [fdo#108569]) -> [PASS][7] [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/fi-icl-u2/igt@gem_ctx_switch@basic-default.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/fi-icl-u2/igt@gem_ctx_switch@basic-default.html * igt@i915_selftest@live_contexts: - fi-bdw-gvtdvm: [DMESG-FAIL][8] ([fdo#110235]) -> [PASS][9] [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html #### Warnings #### * igt@i915_selftest@live_hangcheck: - fi-apl-guc: [INCOMPLETE][10] ([fdo#103927] / [fdo#110624]) -> [DMESG-FAIL][11] ([fdo#110620]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/fi-apl-guc/igt@i915_selftest@live_hangcheck.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/fi-apl-guc/igt@i915_selftest@live_hangcheck.html * igt@runner@aborted: - fi-apl-guc: [FAIL][12] ([fdo#110624]) -> [FAIL][13] ([fdo#110622]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/fi-apl-guc/igt@runner@aborted.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/fi-apl-guc/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#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927 [fdo#107709]: https://bugs.freedesktop.org/show_bug.cgi?id=107709 [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713 [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569 [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100 [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235 [fdo#110246]: https://bugs.freedesktop.org/show_bug.cgi?id=110246 [fdo#110620]: https://bugs.freedesktop.org/show_bug.cgi?id=110620 [fdo#110622]: https://bugs.freedesktop.org/show_bug.cgi?id=110622 [fdo#110624]: https://bugs.freedesktop.org/show_bug.cgi?id=110624 Participating hosts (52 -> 46) ------------------------------ Additional (1): fi-skl-lmem Missing (7): fi-kbl-soraka fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-byt-clapper fi-bdw-samus Build changes ------------- * IGT: IGT_5000 -> IGTPW_3019 CI_DRM_6117: 1040a90807e1031a027e2aed339b160ed8be5cca @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_3019: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/ IGT_5000: f9961d14d76b3a0fa1296e547f7c065e2f93955c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/ _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 5+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for drm-uapi: Import i915_drm.h upto a88b6e4cbafd (rev2) 2019-05-22 8:29 [igt-dev] [PATCH i-g-t] drm-uapi: Import i915_drm.h upto a88b6e4cbafd Chris Wilson 2019-05-22 8:30 ` [Intel-gfx] " Chris Wilson 2019-05-22 9:04 ` [igt-dev] ✓ Fi.CI.BAT: success for drm-uapi: Import i915_drm.h upto a88b6e4cbafd (rev2) Patchwork @ 2019-05-22 20:01 ` Patchwork 2 siblings, 0 replies; 5+ messages in thread From: Patchwork @ 2019-05-22 20:01 UTC (permalink / raw) To: Chris Wilson; +Cc: igt-dev == Series Details == Series: drm-uapi: Import i915_drm.h upto a88b6e4cbafd (rev2) URL : https://patchwork.freedesktop.org/series/60941/ State : failure == Summary == CI Bug Log - changes from CI_DRM_6117_full -> IGTPW_3019_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with IGTPW_3019_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in IGTPW_3019_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://patchwork.freedesktop.org/api/1.0/series/60941/revisions/2/mbox/ Possible new issues ------------------- Here are the unknown changes that may have been introduced in IGTPW_3019_full: ### IGT changes ### #### Possible regressions #### * igt@runner@aborted: - shard-snb: NOTRUN -> [FAIL][1] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-snb7/igt@runner@aborted.html Known issues ------------ Here are the changes found in IGTPW_3019_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_isolation@rcs0-s3: - shard-apl: [PASS][2] -> [DMESG-WARN][3] ([fdo#108566]) +5 similar issues [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-apl3/igt@gem_ctx_isolation@rcs0-s3.html [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-apl6/igt@gem_ctx_isolation@rcs0-s3.html * igt@i915_pm_rpm@reg-read-ioctl: - shard-iclb: [PASS][4] -> [INCOMPLETE][5] ([fdo#107713] / [fdo#108840]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-iclb7/igt@i915_pm_rpm@reg-read-ioctl.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-iclb7/igt@i915_pm_rpm@reg-read-ioctl.html * igt@kms_busy@extended-modeset-hang-newfb-render-b: - shard-snb: [PASS][6] -> [DMESG-WARN][7] ([fdo#110222]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-snb7/igt@kms_busy@extended-modeset-hang-newfb-render-b.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-snb7/igt@kms_busy@extended-modeset-hang-newfb-render-b.html * igt@kms_cursor_edge_walk@pipe-b-64x64-top-edge: - shard-glk: [PASS][8] -> [INCOMPLETE][9] ([fdo#103359] / [k.org#198133]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-glk5/igt@kms_cursor_edge_walk@pipe-b-64x64-top-edge.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-glk9/igt@kms_cursor_edge_walk@pipe-b-64x64-top-edge.html * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy: - shard-glk: [PASS][10] -> [FAIL][11] ([fdo#104873]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-glk1/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-glk4/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-legacy.html * igt@kms_cursor_legacy@cursor-vs-flip-toggle: - shard-glk: [PASS][12] -> [FAIL][13] ([fdo#103355]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-glk9/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-glk9/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html * igt@kms_flip@2x-flip-vs-expired-vblank-interruptible: - shard-glk: [PASS][14] -> [FAIL][15] ([fdo#102887]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-glk1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-glk9/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt: - shard-glk: [PASS][16] -> [FAIL][17] ([fdo#103167]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-glk5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-glk4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite: - shard-iclb: [PASS][18] -> [FAIL][19] ([fdo#103167]) +1 similar issue [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-iclb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-iclb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html * igt@perf@short-reads: - shard-kbl: [PASS][20] -> [FAIL][21] ([fdo#103183]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-kbl1/igt@perf@short-reads.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-kbl2/igt@perf@short-reads.html #### Possible fixes #### * igt@gem_tiled_swapping@non-threaded: - shard-glk: [DMESG-WARN][22] ([fdo#108686]) -> [PASS][23] [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-glk8/igt@gem_tiled_swapping@non-threaded.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-glk9/igt@gem_tiled_swapping@non-threaded.html * igt@i915_suspend@debugfs-reader: - shard-apl: [DMESG-WARN][24] ([fdo#108566]) -> [PASS][25] +5 similar issues [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-apl4/igt@i915_suspend@debugfs-reader.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-apl1/igt@i915_suspend@debugfs-reader.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-glk: [FAIL][26] ([fdo#102670]) -> [PASS][27] [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-kbl: [FAIL][28] ([fdo#102670]) -> [PASS][29] [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-kbl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-kbl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite: - shard-iclb: [FAIL][30] ([fdo#103167]) -> [PASS][31] +5 similar issues [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-iclb2/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@psr-rgb565-draw-blt: - shard-iclb: [INCOMPLETE][32] ([fdo#106978] / [fdo#107713]) -> [PASS][33] [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-iclb7/igt@kms_frontbuffer_tracking@psr-rgb565-draw-blt.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-iclb3/igt@kms_frontbuffer_tracking@psr-rgb565-draw-blt.html * igt@kms_psr@psr2_cursor_render: - shard-iclb: [SKIP][34] ([fdo#109441]) -> [PASS][35] +1 similar issue [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-iclb7/igt@kms_psr@psr2_cursor_render.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-iclb2/igt@kms_psr@psr2_cursor_render.html * igt@kms_setmode@basic: - shard-apl: [FAIL][36] ([fdo#99912]) -> [PASS][37] [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-apl7/igt@kms_setmode@basic.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-apl6/igt@kms_setmode@basic.html * igt@perf@blocking: - shard-iclb: [FAIL][38] ([fdo#110728]) -> [PASS][39] [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-iclb3/igt@perf@blocking.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-iclb2/igt@perf@blocking.html #### Warnings #### * igt@gem_mmap_gtt@forked-big-copy: - shard-iclb: [INCOMPLETE][40] ([fdo#107713] / [fdo#109100]) -> [TIMEOUT][41] ([fdo#109673]) [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6117/shard-iclb7/igt@gem_mmap_gtt@forked-big-copy.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/shard-iclb7/igt@gem_mmap_gtt@forked-big-copy.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#102670]: https://bugs.freedesktop.org/show_bug.cgi?id=102670 [fdo#102887]: https://bugs.freedesktop.org/show_bug.cgi?id=102887 [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167 [fdo#103183]: https://bugs.freedesktop.org/show_bug.cgi?id=103183 [fdo#103355]: https://bugs.freedesktop.org/show_bug.cgi?id=103355 [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359 [fdo#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873 [fdo#106978]: https://bugs.freedesktop.org/show_bug.cgi?id=106978 [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713 [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566 [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686 [fdo#108840]: https://bugs.freedesktop.org/show_bug.cgi?id=108840 [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#109673]: https://bugs.freedesktop.org/show_bug.cgi?id=109673 [fdo#110222]: https://bugs.freedesktop.org/show_bug.cgi?id=110222 [fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728 [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912 [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133 Participating hosts (11 -> 6) ------------------------------ Missing (5): shard-skl pig-hsw-4770r pig-snb-2600 pig-glk-j5005 pig-skl-6260u Build changes ------------- * IGT: IGT_5000 -> IGTPW_3019 * Piglit: piglit_4509 -> None CI_DRM_6117: 1040a90807e1031a027e2aed339b160ed8be5cca @ git://anongit.freedesktop.org/gfx-ci/linux IGTPW_3019: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/ IGT_5000: f9961d14d76b3a0fa1296e547f7c065e2f93955c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_3019/ _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-05-22 20:01 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-05-22 8:29 [igt-dev] [PATCH i-g-t] drm-uapi: Import i915_drm.h upto a88b6e4cbafd Chris Wilson 2019-05-22 8:30 ` [Intel-gfx] " Chris Wilson 2019-05-22 8:42 ` [igt-dev] " Tvrtko Ursulin 2019-05-22 9:04 ` [igt-dev] ✓ Fi.CI.BAT: success for drm-uapi: Import i915_drm.h upto a88b6e4cbafd (rev2) Patchwork 2019-05-22 20:01 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox