* [igt-dev] [PATCH i-g-t v2 2/4] lib/intel_batchbuffer: add bb reset
2020-06-04 9:13 [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin Zbigniew Kempczyński
@ 2020-06-04 9:13 ` Zbigniew Kempczyński
0 siblings, 0 replies; 14+ messages in thread
From: Zbigniew Kempczyński @ 2020-06-04 9:13 UTC (permalink / raw)
To: igt-dev; +Cc: Chris Wilson
For some scenarios we want to keep previous objects and their offsets
and recreate only batchbuffer object. To allow user do that add
bb reset function which can or not purge collected objects from
previous run.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
lib/intel_batchbuffer.c | 84 +++++++++++++++++++++++++++++++++++------
lib/intel_batchbuffer.h | 12 ++++--
2 files changed, 81 insertions(+), 15 deletions(-)
diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
index 49f2d0fe..2a882627 100644
--- a/lib/intel_batchbuffer.c
+++ b/lib/intel_batchbuffer.c
@@ -1203,7 +1203,7 @@ static void __reallocate_objects(struct intel_bb *ibb)
}
/**
- * __intel_bb_create:
+ * intel_bb_create:
* @i915: drm fd
* @size: size of the batchbuffer
*
@@ -1250,6 +1250,26 @@ static void __do_nothing(void *node)
(void) node;
}
+static void __intel_bb_destroy_objects(struct intel_bb *ibb)
+{
+ uint32_t i;
+
+ /* Free relocations */
+ for (i = 0; i < ibb->num_objects; i++)
+ free(from_user_pointer(ibb->objects[i].relocs_ptr));
+
+ free(ibb->objects);
+ tdestroy(ibb->root, __do_nothing);
+
+ ibb->objects = NULL;
+ ibb->root = NULL;
+ ibb->num_objects = 0;
+ ibb->num_relocs = 0;
+ ibb->allocated_objects = 0;
+ ibb->allocated_relocs = 0;
+ ibb->ptr = ibb->batch;
+}
+
/**
* intel_bb_destroy:
* @ibb: pointer to intel_bb
@@ -1258,21 +1278,33 @@ static void __do_nothing(void *node)
*/
void intel_bb_destroy(struct intel_bb *ibb)
{
- uint32_t i;
-
igt_assert(ibb);
- /* Free relocations */
- for (i = 0; i < ibb->num_objects; i++)
- free(from_user_pointer(ibb->objects[i].relocs_ptr));
+ __intel_bb_destroy_objects(ibb);
+ gem_close(ibb->i915, ibb->handle);
- free(ibb->objects);
- tdestroy(ibb->root, __do_nothing);
+ free(ibb);
+}
+
+/*
+ * intel_bb_reset:
+ * @ibb: pointer to intel_bb
+ * @purge_objects_cache: if true destroy internal execobj and relocs + cache
+ *
+ * Recreate batch bo.
+*/
+void intel_bb_reset(struct intel_bb *ibb, bool purge_objects_cache)
+{
+ if (purge_objects_cache) {
+ __intel_bb_destroy_objects(ibb);
+ __reallocate_objects(ibb);
+ }
- munmap(ibb->batch, ibb->size);
gem_close(ibb->i915, ibb->handle);
+ ibb->handle = gem_create(ibb->i915, ibb->size);
- free(ibb);
+ intel_bb_add_object(ibb, ibb->handle, 0, false);
+ ibb->ptr = ibb->batch;
}
/**
@@ -1573,7 +1605,7 @@ int __intel_bb_exec(struct intel_bb *ibb, uint32_t end_offset,
execbuf.buffers_ptr = (uintptr_t) ibb->objects;
execbuf.buffer_count = ibb->num_objects;
execbuf.batch_len = end_offset;
- execbuf.rsvd1 = ctx;
+ execbuf.rsvd1 = ibb->ctx = ctx;
execbuf.flags = flags | I915_EXEC_BATCH_FIRST;
ret = __gem_execbuf(ibb->i915, &execbuf);
@@ -1649,3 +1681,33 @@ uint64_t intel_bb_get_object_offset(struct intel_bb *ibb, uint32_t handle)
return (*found)->offset;
}
+
+/**
+ * intel_bb_object_offset_to_buf:
+ * @ibb: pointer to intel_bb
+ * @buf: buffer we want to store last exec offset and context id
+ *
+ * Copy object offset used in the batch to intel_buf to allow caller prepare
+ * other batch likely without relocations.
+ */
+bool intel_bb_object_offset_to_buf(struct intel_bb *ibb, struct intel_buf *buf)
+{
+ struct drm_i915_gem_exec_object2 object = { .handle = buf->handle };
+ struct drm_i915_gem_exec_object2 **found;
+
+ igt_assert(ibb);
+ igt_assert(buf);
+
+ found = tfind((void *) &object, &ibb->root, __compare_objects);
+ if (!found) {
+ buf->addr.offset = 0;
+ buf->addr.ctx = 0;
+
+ return false;
+ }
+
+ buf->addr.offset = (*found)->offset;
+ buf->addr.ctx = ibb->ctx;
+
+ return true;
+}
diff --git a/lib/intel_batchbuffer.h b/lib/intel_batchbuffer.h
index ae052c17..0649fc22 100644
--- a/lib/intel_batchbuffer.h
+++ b/lib/intel_batchbuffer.h
@@ -405,8 +405,8 @@ igt_vme_func_t igt_get_media_vme_func(int devid);
/**
* igt_media_spinfunc_t:
- * @batch: batchbuffer object
- * @dst: destination i-g-t buffer object
+ * @i915: drm fd
+ * @buf: destination buffer object
* @spins: number of loops to execute
*
* This is the type of the per-platform media spin functions. The
@@ -420,8 +420,8 @@ igt_vme_func_t igt_get_media_vme_func(int devid);
* destination buffer on completion. This utility provides a simple way
* to keep the render engine busy for a set time for various tests.
*/
-typedef void (*igt_media_spinfunc_t)(struct intel_batchbuffer *batch,
- const struct igt_buf *dst, uint32_t spins);
+typedef void (*igt_media_spinfunc_t)(int i915,
+ struct intel_buf *buf, uint32_t spins);
igt_media_spinfunc_t igt_get_media_spinfunc(int devid);
@@ -443,6 +443,8 @@ struct intel_bb {
uint64_t gtt_size;
bool supports_48b_address;
+ uint32_t ctx;
+
void *root;
struct drm_i915_gem_exec_object2 *objects;
uint32_t num_objects;
@@ -457,6 +459,7 @@ struct intel_bb {
struct intel_bb *intel_bb_create(int i915, uint32_t size);
void intel_bb_destroy(struct intel_bb *ibb);
+void intel_bb_reset(struct intel_bb *ibb, bool purge_objects_cache);
void intel_bb_set_debug(struct intel_bb *ibb, bool debug);
static inline uint32_t intel_bb_offset(struct intel_bb *ibb)
@@ -524,5 +527,6 @@ void intel_bb_exec_with_context(struct intel_bb *ibb, uint32_t end_offset,
uint32_t ctx, uint64_t flags, bool sync);
uint64_t intel_bb_get_object_offset(struct intel_bb *ibb, uint32_t handle);
+bool intel_bb_object_offset_to_buf(struct intel_bb *ibb, struct intel_buf *buf);
#endif
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v2 2/4] lib/intel_batchbuffer: add bb reset
2020-06-04 9:16 [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin Zbigniew Kempczyński
@ 2020-06-04 9:16 ` Zbigniew Kempczyński
0 siblings, 0 replies; 14+ messages in thread
From: Zbigniew Kempczyński @ 2020-06-04 9:16 UTC (permalink / raw)
To: igt-dev; +Cc: Chris Wilson
For some scenarios we want to keep previous objects and their offsets
and recreate only batchbuffer object. To allow user do that add
bb reset function which can or not purge collected objects from
previous run.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
lib/intel_batchbuffer.c | 84 +++++++++++++++++++++++++++++++++++------
lib/intel_batchbuffer.h | 12 ++++--
2 files changed, 81 insertions(+), 15 deletions(-)
diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
index 49f2d0fe..2a882627 100644
--- a/lib/intel_batchbuffer.c
+++ b/lib/intel_batchbuffer.c
@@ -1203,7 +1203,7 @@ static void __reallocate_objects(struct intel_bb *ibb)
}
/**
- * __intel_bb_create:
+ * intel_bb_create:
* @i915: drm fd
* @size: size of the batchbuffer
*
@@ -1250,6 +1250,26 @@ static void __do_nothing(void *node)
(void) node;
}
+static void __intel_bb_destroy_objects(struct intel_bb *ibb)
+{
+ uint32_t i;
+
+ /* Free relocations */
+ for (i = 0; i < ibb->num_objects; i++)
+ free(from_user_pointer(ibb->objects[i].relocs_ptr));
+
+ free(ibb->objects);
+ tdestroy(ibb->root, __do_nothing);
+
+ ibb->objects = NULL;
+ ibb->root = NULL;
+ ibb->num_objects = 0;
+ ibb->num_relocs = 0;
+ ibb->allocated_objects = 0;
+ ibb->allocated_relocs = 0;
+ ibb->ptr = ibb->batch;
+}
+
/**
* intel_bb_destroy:
* @ibb: pointer to intel_bb
@@ -1258,21 +1278,33 @@ static void __do_nothing(void *node)
*/
void intel_bb_destroy(struct intel_bb *ibb)
{
- uint32_t i;
-
igt_assert(ibb);
- /* Free relocations */
- for (i = 0; i < ibb->num_objects; i++)
- free(from_user_pointer(ibb->objects[i].relocs_ptr));
+ __intel_bb_destroy_objects(ibb);
+ gem_close(ibb->i915, ibb->handle);
- free(ibb->objects);
- tdestroy(ibb->root, __do_nothing);
+ free(ibb);
+}
+
+/*
+ * intel_bb_reset:
+ * @ibb: pointer to intel_bb
+ * @purge_objects_cache: if true destroy internal execobj and relocs + cache
+ *
+ * Recreate batch bo.
+*/
+void intel_bb_reset(struct intel_bb *ibb, bool purge_objects_cache)
+{
+ if (purge_objects_cache) {
+ __intel_bb_destroy_objects(ibb);
+ __reallocate_objects(ibb);
+ }
- munmap(ibb->batch, ibb->size);
gem_close(ibb->i915, ibb->handle);
+ ibb->handle = gem_create(ibb->i915, ibb->size);
- free(ibb);
+ intel_bb_add_object(ibb, ibb->handle, 0, false);
+ ibb->ptr = ibb->batch;
}
/**
@@ -1573,7 +1605,7 @@ int __intel_bb_exec(struct intel_bb *ibb, uint32_t end_offset,
execbuf.buffers_ptr = (uintptr_t) ibb->objects;
execbuf.buffer_count = ibb->num_objects;
execbuf.batch_len = end_offset;
- execbuf.rsvd1 = ctx;
+ execbuf.rsvd1 = ibb->ctx = ctx;
execbuf.flags = flags | I915_EXEC_BATCH_FIRST;
ret = __gem_execbuf(ibb->i915, &execbuf);
@@ -1649,3 +1681,33 @@ uint64_t intel_bb_get_object_offset(struct intel_bb *ibb, uint32_t handle)
return (*found)->offset;
}
+
+/**
+ * intel_bb_object_offset_to_buf:
+ * @ibb: pointer to intel_bb
+ * @buf: buffer we want to store last exec offset and context id
+ *
+ * Copy object offset used in the batch to intel_buf to allow caller prepare
+ * other batch likely without relocations.
+ */
+bool intel_bb_object_offset_to_buf(struct intel_bb *ibb, struct intel_buf *buf)
+{
+ struct drm_i915_gem_exec_object2 object = { .handle = buf->handle };
+ struct drm_i915_gem_exec_object2 **found;
+
+ igt_assert(ibb);
+ igt_assert(buf);
+
+ found = tfind((void *) &object, &ibb->root, __compare_objects);
+ if (!found) {
+ buf->addr.offset = 0;
+ buf->addr.ctx = 0;
+
+ return false;
+ }
+
+ buf->addr.offset = (*found)->offset;
+ buf->addr.ctx = ibb->ctx;
+
+ return true;
+}
diff --git a/lib/intel_batchbuffer.h b/lib/intel_batchbuffer.h
index ae052c17..0649fc22 100644
--- a/lib/intel_batchbuffer.h
+++ b/lib/intel_batchbuffer.h
@@ -405,8 +405,8 @@ igt_vme_func_t igt_get_media_vme_func(int devid);
/**
* igt_media_spinfunc_t:
- * @batch: batchbuffer object
- * @dst: destination i-g-t buffer object
+ * @i915: drm fd
+ * @buf: destination buffer object
* @spins: number of loops to execute
*
* This is the type of the per-platform media spin functions. The
@@ -420,8 +420,8 @@ igt_vme_func_t igt_get_media_vme_func(int devid);
* destination buffer on completion. This utility provides a simple way
* to keep the render engine busy for a set time for various tests.
*/
-typedef void (*igt_media_spinfunc_t)(struct intel_batchbuffer *batch,
- const struct igt_buf *dst, uint32_t spins);
+typedef void (*igt_media_spinfunc_t)(int i915,
+ struct intel_buf *buf, uint32_t spins);
igt_media_spinfunc_t igt_get_media_spinfunc(int devid);
@@ -443,6 +443,8 @@ struct intel_bb {
uint64_t gtt_size;
bool supports_48b_address;
+ uint32_t ctx;
+
void *root;
struct drm_i915_gem_exec_object2 *objects;
uint32_t num_objects;
@@ -457,6 +459,7 @@ struct intel_bb {
struct intel_bb *intel_bb_create(int i915, uint32_t size);
void intel_bb_destroy(struct intel_bb *ibb);
+void intel_bb_reset(struct intel_bb *ibb, bool purge_objects_cache);
void intel_bb_set_debug(struct intel_bb *ibb, bool debug);
static inline uint32_t intel_bb_offset(struct intel_bb *ibb)
@@ -524,5 +527,6 @@ void intel_bb_exec_with_context(struct intel_bb *ibb, uint32_t end_offset,
uint32_t ctx, uint64_t flags, bool sync);
uint64_t intel_bb_get_object_offset(struct intel_bb *ibb, uint32_t handle);
+bool intel_bb_object_offset_to_buf(struct intel_bb *ibb, struct intel_buf *buf);
#endif
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin
@ 2020-06-04 10:03 Zbigniew Kempczyński
2020-06-04 10:03 ` [igt-dev] [PATCH i-g-t v2 1/4] lib/intel_bufops: add fields for keeping offset and context Zbigniew Kempczyński
` (7 more replies)
0 siblings, 8 replies; 14+ messages in thread
From: Zbigniew Kempczyński @ 2020-06-04 10:03 UTC (permalink / raw)
To: igt-dev
All localized functions gathered in media_spin were removed.
v2: add implicit sync (set_domain)
Zbigniew Kempczyński (4):
lib/intel_bufops: add fields for keeping offset and context
lib/intel_batchbuffer: add bb reset
tests/i915_pm_sseu: remove libdrm dependency
HAX: run gpgpu|media_fill and i915_pm_sseu in BAT only
lib/gpu_cmds.c | 6 +-
lib/intel_batchbuffer.c | 84 ++++-
lib/intel_batchbuffer.h | 12 +-
lib/intel_bufops.h | 4 +
lib/media_spin.c | 469 ++++----------------------
lib/media_spin.h | 8 +-
tests/i915/i915_pm_sseu.c | 73 ++--
tests/intel-ci/fast-feedback.testlist | 162 +--------
8 files changed, 189 insertions(+), 629 deletions(-)
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v2 1/4] lib/intel_bufops: add fields for keeping offset and context
2020-06-04 10:03 [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin Zbigniew Kempczyński
@ 2020-06-04 10:03 ` Zbigniew Kempczyński
2020-06-04 10:03 ` [igt-dev] [PATCH i-g-t v2 2/4] lib/intel_batchbuffer: add bb reset Zbigniew Kempczyński
` (6 subsequent siblings)
7 siblings, 0 replies; 14+ messages in thread
From: Zbigniew Kempczyński @ 2020-06-04 10:03 UTC (permalink / raw)
To: igt-dev; +Cc: Chris Wilson
To avoid relocations when intel_buf is used we need to keep previous
offset and context. Add addr structure with offset and ctx fields.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
lib/gpu_cmds.c | 6 +++---
lib/intel_bufops.h | 4 ++++
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/lib/gpu_cmds.c b/lib/gpu_cmds.c
index 8c284eb1..417253a7 100644
--- a/lib/gpu_cmds.c
+++ b/lib/gpu_cmds.c
@@ -109,7 +109,7 @@ gen7_fill_surface_state(struct intel_bb *ibb,
address = intel_bb_offset_reloc(ibb, buf->handle,
read_domain, write_domain,
- offset + 4, 0x0);
+ offset + 4, buf->addr.offset);
igt_assert(address >> 32 == 0);
ss->ss1.base_addr = address;
@@ -161,7 +161,7 @@ gen8_fill_surface_state(struct intel_bb *ibb,
address = intel_bb_offset_reloc(ibb, buf->handle,
read_domain, write_domain,
- offset + 4 * 8, 0x0);
+ offset + 4 * 8, buf->addr.offset);
ss->ss8.base_addr = (uint32_t) address;
ss->ss9.base_addr_hi = address >> 32;
@@ -218,7 +218,7 @@ gen11_fill_surface_state(struct intel_bb *ibb,
address = intel_bb_offset_reloc(ibb, buf->handle,
read_domain, write_domain,
- offset + 4 * 8, 0x0);
+ offset + 4 * 8, buf->addr.offset);
ss->ss8.base_addr = (uint32_t) address;
ss->ss9.base_addr_hi = address >> 32;
diff --git a/lib/intel_bufops.h b/lib/intel_bufops.h
index 3a4fae4e..95217cfe 100644
--- a/lib/intel_bufops.h
+++ b/lib/intel_bufops.h
@@ -18,6 +18,10 @@ struct intel_buf {
uint32_t offset;
uint32_t stride;
} aux;
+ struct {
+ uint64_t offset;
+ uint32_t ctx;
+ } addr;
};
static inline unsigned int intel_buf_width(const struct intel_buf *buf)
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v2 2/4] lib/intel_batchbuffer: add bb reset
2020-06-04 10:03 [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin Zbigniew Kempczyński
2020-06-04 10:03 ` [igt-dev] [PATCH i-g-t v2 1/4] lib/intel_bufops: add fields for keeping offset and context Zbigniew Kempczyński
@ 2020-06-04 10:03 ` Zbigniew Kempczyński
2020-06-04 15:07 ` Chris Wilson
2020-06-04 10:10 ` [igt-dev] [PATCH i-g-t v2 3/4] tests/i915_pm_sseu: remove libdrm dependency Zbigniew Kempczyński
` (5 subsequent siblings)
7 siblings, 1 reply; 14+ messages in thread
From: Zbigniew Kempczyński @ 2020-06-04 10:03 UTC (permalink / raw)
To: igt-dev; +Cc: Chris Wilson
For some scenarios we want to keep previous objects and their offsets
and recreate only batchbuffer object. To allow user do that add
bb reset function which can or not purge collected objects from
previous run.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
lib/intel_batchbuffer.c | 84 +++++++++++++++++++++++++++++++++++------
lib/intel_batchbuffer.h | 12 ++++--
2 files changed, 81 insertions(+), 15 deletions(-)
diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
index 49f2d0fe..2a882627 100644
--- a/lib/intel_batchbuffer.c
+++ b/lib/intel_batchbuffer.c
@@ -1203,7 +1203,7 @@ static void __reallocate_objects(struct intel_bb *ibb)
}
/**
- * __intel_bb_create:
+ * intel_bb_create:
* @i915: drm fd
* @size: size of the batchbuffer
*
@@ -1250,6 +1250,26 @@ static void __do_nothing(void *node)
(void) node;
}
+static void __intel_bb_destroy_objects(struct intel_bb *ibb)
+{
+ uint32_t i;
+
+ /* Free relocations */
+ for (i = 0; i < ibb->num_objects; i++)
+ free(from_user_pointer(ibb->objects[i].relocs_ptr));
+
+ free(ibb->objects);
+ tdestroy(ibb->root, __do_nothing);
+
+ ibb->objects = NULL;
+ ibb->root = NULL;
+ ibb->num_objects = 0;
+ ibb->num_relocs = 0;
+ ibb->allocated_objects = 0;
+ ibb->allocated_relocs = 0;
+ ibb->ptr = ibb->batch;
+}
+
/**
* intel_bb_destroy:
* @ibb: pointer to intel_bb
@@ -1258,21 +1278,33 @@ static void __do_nothing(void *node)
*/
void intel_bb_destroy(struct intel_bb *ibb)
{
- uint32_t i;
-
igt_assert(ibb);
- /* Free relocations */
- for (i = 0; i < ibb->num_objects; i++)
- free(from_user_pointer(ibb->objects[i].relocs_ptr));
+ __intel_bb_destroy_objects(ibb);
+ gem_close(ibb->i915, ibb->handle);
- free(ibb->objects);
- tdestroy(ibb->root, __do_nothing);
+ free(ibb);
+}
+
+/*
+ * intel_bb_reset:
+ * @ibb: pointer to intel_bb
+ * @purge_objects_cache: if true destroy internal execobj and relocs + cache
+ *
+ * Recreate batch bo.
+*/
+void intel_bb_reset(struct intel_bb *ibb, bool purge_objects_cache)
+{
+ if (purge_objects_cache) {
+ __intel_bb_destroy_objects(ibb);
+ __reallocate_objects(ibb);
+ }
- munmap(ibb->batch, ibb->size);
gem_close(ibb->i915, ibb->handle);
+ ibb->handle = gem_create(ibb->i915, ibb->size);
- free(ibb);
+ intel_bb_add_object(ibb, ibb->handle, 0, false);
+ ibb->ptr = ibb->batch;
}
/**
@@ -1573,7 +1605,7 @@ int __intel_bb_exec(struct intel_bb *ibb, uint32_t end_offset,
execbuf.buffers_ptr = (uintptr_t) ibb->objects;
execbuf.buffer_count = ibb->num_objects;
execbuf.batch_len = end_offset;
- execbuf.rsvd1 = ctx;
+ execbuf.rsvd1 = ibb->ctx = ctx;
execbuf.flags = flags | I915_EXEC_BATCH_FIRST;
ret = __gem_execbuf(ibb->i915, &execbuf);
@@ -1649,3 +1681,33 @@ uint64_t intel_bb_get_object_offset(struct intel_bb *ibb, uint32_t handle)
return (*found)->offset;
}
+
+/**
+ * intel_bb_object_offset_to_buf:
+ * @ibb: pointer to intel_bb
+ * @buf: buffer we want to store last exec offset and context id
+ *
+ * Copy object offset used in the batch to intel_buf to allow caller prepare
+ * other batch likely without relocations.
+ */
+bool intel_bb_object_offset_to_buf(struct intel_bb *ibb, struct intel_buf *buf)
+{
+ struct drm_i915_gem_exec_object2 object = { .handle = buf->handle };
+ struct drm_i915_gem_exec_object2 **found;
+
+ igt_assert(ibb);
+ igt_assert(buf);
+
+ found = tfind((void *) &object, &ibb->root, __compare_objects);
+ if (!found) {
+ buf->addr.offset = 0;
+ buf->addr.ctx = 0;
+
+ return false;
+ }
+
+ buf->addr.offset = (*found)->offset;
+ buf->addr.ctx = ibb->ctx;
+
+ return true;
+}
diff --git a/lib/intel_batchbuffer.h b/lib/intel_batchbuffer.h
index ae052c17..0649fc22 100644
--- a/lib/intel_batchbuffer.h
+++ b/lib/intel_batchbuffer.h
@@ -405,8 +405,8 @@ igt_vme_func_t igt_get_media_vme_func(int devid);
/**
* igt_media_spinfunc_t:
- * @batch: batchbuffer object
- * @dst: destination i-g-t buffer object
+ * @i915: drm fd
+ * @buf: destination buffer object
* @spins: number of loops to execute
*
* This is the type of the per-platform media spin functions. The
@@ -420,8 +420,8 @@ igt_vme_func_t igt_get_media_vme_func(int devid);
* destination buffer on completion. This utility provides a simple way
* to keep the render engine busy for a set time for various tests.
*/
-typedef void (*igt_media_spinfunc_t)(struct intel_batchbuffer *batch,
- const struct igt_buf *dst, uint32_t spins);
+typedef void (*igt_media_spinfunc_t)(int i915,
+ struct intel_buf *buf, uint32_t spins);
igt_media_spinfunc_t igt_get_media_spinfunc(int devid);
@@ -443,6 +443,8 @@ struct intel_bb {
uint64_t gtt_size;
bool supports_48b_address;
+ uint32_t ctx;
+
void *root;
struct drm_i915_gem_exec_object2 *objects;
uint32_t num_objects;
@@ -457,6 +459,7 @@ struct intel_bb {
struct intel_bb *intel_bb_create(int i915, uint32_t size);
void intel_bb_destroy(struct intel_bb *ibb);
+void intel_bb_reset(struct intel_bb *ibb, bool purge_objects_cache);
void intel_bb_set_debug(struct intel_bb *ibb, bool debug);
static inline uint32_t intel_bb_offset(struct intel_bb *ibb)
@@ -524,5 +527,6 @@ void intel_bb_exec_with_context(struct intel_bb *ibb, uint32_t end_offset,
uint32_t ctx, uint64_t flags, bool sync);
uint64_t intel_bb_get_object_offset(struct intel_bb *ibb, uint32_t handle);
+bool intel_bb_object_offset_to_buf(struct intel_bb *ibb, struct intel_buf *buf);
#endif
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v2 3/4] tests/i915_pm_sseu: remove libdrm dependency
2020-06-04 10:03 [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin Zbigniew Kempczyński
2020-06-04 10:03 ` [igt-dev] [PATCH i-g-t v2 1/4] lib/intel_bufops: add fields for keeping offset and context Zbigniew Kempczyński
2020-06-04 10:03 ` [igt-dev] [PATCH i-g-t v2 2/4] lib/intel_batchbuffer: add bb reset Zbigniew Kempczyński
@ 2020-06-04 10:10 ` Zbigniew Kempczyński
2020-06-04 10:10 ` [igt-dev] [PATCH i-g-t v2 4/4] HAX: run gpgpu|media_fill and i915_pm_sseu in BAT only Zbigniew Kempczyński
` (4 subsequent siblings)
7 siblings, 0 replies; 14+ messages in thread
From: Zbigniew Kempczyński @ 2020-06-04 10:10 UTC (permalink / raw)
To: igt-dev; +Cc: Chris Wilson
Remove all "localized" functions in media spin and libdrm usage
in the test.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
lib/media_spin.c | 469 +++++---------------------------------
lib/media_spin.h | 8 +-
tests/i915/i915_pm_sseu.c | 73 +++---
3 files changed, 98 insertions(+), 452 deletions(-)
diff --git a/lib/media_spin.c b/lib/media_spin.c
index d3d0c278..6e81a13d 100644
--- a/lib/media_spin.c
+++ b/lib/media_spin.c
@@ -24,15 +24,13 @@
* Jeff McGee <jeff.mcgee@intel.com>
*/
-#include <intel_bufmgr.h>
#include <i915_drm.h>
#include "intel_reg.h"
#include "drmtest.h"
#include "intel_batchbuffer.h"
#include "intel_chipset.h"
-#include "gen7_media.h"
-#include "gen8_media.h"
#include "media_spin.h"
+#include "gpu_cmds.h"
static const uint32_t spin_kernel[][4] = {
{ 0x00600001, 0x20800208, 0x008d0000, 0x00000000 }, /* mov (8)r4.0<1>:ud r0.0<8;8;1>:ud */
@@ -67,6 +65,7 @@ static const uint32_t spin_kernel[][4] = {
*
*/
+#define PAGE_SIZE 4096
#define BATCH_STATE_SPLIT 2048
/* VFE STATE params */
#define THREADS 0
@@ -80,455 +79,113 @@ static const uint32_t spin_kernel[][4] = {
#define xoffset 0
#define yoffset 0
-static void
-gen7_render_flush(struct intel_batchbuffer *batch, uint32_t batch_end)
-{
- int ret;
-
- ret = drm_intel_bo_subdata(batch->bo, 0, 4096, batch->buffer);
- if (ret == 0)
- ret = drm_intel_bo_mrb_exec(batch->bo, batch_end,
- NULL, 0, 0, 0);
- igt_assert(ret == 0);
-}
-
static uint32_t
-gen7_fill_kernel(struct intel_batchbuffer *batch,
- const uint32_t kernel[][4], size_t size)
-{
- uint32_t offset;
-
- offset = intel_batchbuffer_copy_data(batch, kernel, size, 64);
-
- return offset;
-}
-
-static uint32_t
-gen7_fill_surface_state(struct intel_batchbuffer *batch,
- const struct igt_buf *buf,
- uint32_t format,
- int is_dst)
-{
- struct gen7_surface_state *ss;
- uint32_t write_domain, read_domain, offset;
- int ret;
-
- if (is_dst) {
- write_domain = read_domain = I915_GEM_DOMAIN_RENDER;
- } else {
- write_domain = 0;
- read_domain = I915_GEM_DOMAIN_SAMPLER;
- }
-
- ss = intel_batchbuffer_subdata_alloc(batch, sizeof(*ss), 64);
- offset = intel_batchbuffer_subdata_offset(batch, ss);
-
- ss->ss0.surface_type = SURFACE_2D;
- ss->ss0.surface_format = format;
- ss->ss0.render_cache_read_write = 1;
-
- if (buf->tiling == I915_TILING_X)
- ss->ss0.tiled_mode = 2;
- else if (buf->tiling == I915_TILING_Y)
- ss->ss0.tiled_mode = 3;
-
- ss->ss1.base_addr = buf->bo->offset;
- ret = drm_intel_bo_emit_reloc(batch->bo,
- intel_batchbuffer_subdata_offset(batch, ss) + 4,
- buf->bo, 0,
- read_domain, write_domain);
- igt_assert(ret == 0);
-
- ss->ss2.height = igt_buf_height(buf) - 1;
- ss->ss2.width = igt_buf_width(buf) - 1;
-
- ss->ss3.pitch = buf->surface[0].stride - 1;
-
- ss->ss7.shader_chanel_select_r = 4;
- ss->ss7.shader_chanel_select_g = 5;
- ss->ss7.shader_chanel_select_b = 6;
- ss->ss7.shader_chanel_select_a = 7;
-
- return offset;
-}
-
-static uint32_t
-gen8_fill_surface_state(struct intel_batchbuffer *batch,
- const struct igt_buf *buf,
- uint32_t format,
- int is_dst)
-{
- struct gen8_surface_state *ss;
- uint32_t write_domain, read_domain, offset;
- int ret;
-
- if (is_dst) {
- write_domain = read_domain = I915_GEM_DOMAIN_RENDER;
- } else {
- write_domain = 0;
- read_domain = I915_GEM_DOMAIN_SAMPLER;
- }
-
- ss = intel_batchbuffer_subdata_alloc(batch, sizeof(*ss), 64);
- offset = intel_batchbuffer_subdata_offset(batch, ss);
-
- ss->ss0.surface_type = SURFACE_2D;
- ss->ss0.surface_format = format;
- ss->ss0.render_cache_read_write = 1;
- ss->ss0.vertical_alignment = 1; /* align 4 */
- ss->ss0.horizontal_alignment = 1; /* align 4 */
-
- if (buf->tiling == I915_TILING_X)
- ss->ss0.tiled_mode = 2;
- else if (buf->tiling == I915_TILING_Y)
- ss->ss0.tiled_mode = 3;
-
- ss->ss8.base_addr = buf->bo->offset;
-
- ret = drm_intel_bo_emit_reloc(batch->bo,
- intel_batchbuffer_subdata_offset(batch, ss) + 8 * 4,
- buf->bo, 0, read_domain, write_domain);
- igt_assert(ret == 0);
-
- ss->ss2.height = igt_buf_height(buf) - 1;
- ss->ss2.width = igt_buf_width(buf) - 1;
- ss->ss3.pitch = buf->surface[0].stride - 1;
-
- ss->ss7.shader_chanel_select_r = 4;
- ss->ss7.shader_chanel_select_g = 5;
- ss->ss7.shader_chanel_select_b = 6;
- ss->ss7.shader_chanel_select_a = 7;
-
- return offset;
-}
-
-static uint32_t
-gen8_spin_curbe_buffer_data(struct intel_batchbuffer *batch,
- uint32_t iters)
+gen8_spin_curbe_buffer_data(struct intel_bb *ibb, uint32_t iters)
{
uint32_t *curbe_buffer;
uint32_t offset;
- curbe_buffer = intel_batchbuffer_subdata_alloc(batch, 64, 64);
- offset = intel_batchbuffer_subdata_offset(batch, curbe_buffer);
- *curbe_buffer = iters;
-
- return offset;
-}
-
-static uint32_t
-gen7_fill_binding_table(struct intel_batchbuffer *batch,
- const struct igt_buf *dst)
-{
- uint32_t *binding_table, offset;
-
- binding_table = intel_batchbuffer_subdata_alloc(batch, 32, 64);
- offset = intel_batchbuffer_subdata_offset(batch, binding_table);
- if (IS_GEN7(batch->devid))
- binding_table[0] = gen7_fill_surface_state(batch, dst,
- SURFACEFORMAT_R8_UNORM, 1);
- else
- binding_table[0] = gen8_fill_surface_state(batch, dst,
- SURFACEFORMAT_R8_UNORM, 1);
-
- return offset;
-}
-
-static uint32_t
-gen8_fill_interface_descriptor(struct intel_batchbuffer *batch,
- const struct igt_buf *dst,
- const uint32_t kernel[][4],
- size_t size)
-{
- struct gen8_interface_descriptor_data *idd;
- uint32_t offset;
- uint32_t binding_table_offset, kernel_offset;
-
- binding_table_offset = gen7_fill_binding_table(batch, dst);
- kernel_offset = gen7_fill_kernel(batch, kernel, size);
-
- idd = intel_batchbuffer_subdata_alloc(batch, sizeof(*idd), 64);
- offset = intel_batchbuffer_subdata_offset(batch, idd);
+ intel_bb_ptr_align(ibb, 64);
+ curbe_buffer = intel_bb_ptr(ibb);
+ offset = intel_bb_offset(ibb);
- idd->desc0.kernel_start_pointer = (kernel_offset >> 6);
-
- idd->desc2.single_program_flow = 1;
- idd->desc2.floating_point_mode = GEN8_FLOATING_POINT_IEEE_754;
-
- idd->desc3.sampler_count = 0; /* 0 samplers used */
- idd->desc3.sampler_state_pointer = 0;
-
- idd->desc4.binding_table_entry_count = 0;
- idd->desc4.binding_table_pointer = (binding_table_offset >> 5);
-
- idd->desc5.constant_urb_entry_read_offset = 0;
- idd->desc5.constant_urb_entry_read_length = 1; /* grf 1 */
-
- idd->desc6.num_threads_in_tg = 1;
+ *curbe_buffer = iters;
+ intel_bb_ptr_add(ibb, 64);
return offset;
}
-static void
-gen8_emit_state_base_address(struct intel_batchbuffer *batch)
-{
- OUT_BATCH(GEN8_STATE_BASE_ADDRESS | (16 - 2));
-
- /* general */
- OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
- OUT_BATCH(0);
-
- /* stateless data port */
- OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
-
- /* surface */
- OUT_RELOC(batch->bo, I915_GEM_DOMAIN_SAMPLER, 0, BASE_ADDRESS_MODIFY);
-
- /* dynamic */
- OUT_RELOC(batch->bo,
- I915_GEM_DOMAIN_RENDER | I915_GEM_DOMAIN_INSTRUCTION,
- 0, BASE_ADDRESS_MODIFY);
-
- /* indirect */
- OUT_BATCH(0);
- OUT_BATCH(0);
-
- /* instruction */
- OUT_RELOC(batch->bo, I915_GEM_DOMAIN_INSTRUCTION, 0,
- BASE_ADDRESS_MODIFY);
-
- /* general state buffer size */
- OUT_BATCH(0xfffff000 | 1);
- /* dynamic state buffer size */
- OUT_BATCH(1 << 12 | 1);
- /* indirect object buffer size */
- OUT_BATCH(0xfffff000 | 1);
- /* instruction buffer size, must set modify enable bit, otherwise it may
- * result in GPU hang
- */
- OUT_BATCH(1 << 12 | 1);
-}
-
-static void
-gen8_emit_vfe_state(struct intel_batchbuffer *batch, uint32_t threads,
- uint32_t urb_entries, uint32_t urb_size,
- uint32_t curbe_size)
-{
- OUT_BATCH(GEN7_MEDIA_VFE_STATE | (9 - 2));
-
- /* scratch buffer */
- OUT_BATCH(0);
- OUT_BATCH(0);
-
- /* number of threads & urb entries */
- OUT_BATCH(threads << 16 |
- urb_entries << 8);
-
- OUT_BATCH(0);
-
- /* urb entry size & curbe size */
- OUT_BATCH(urb_size << 16 |
- curbe_size);
-
- /* scoreboard */
- OUT_BATCH(0);
- OUT_BATCH(0);
- OUT_BATCH(0);
-}
-
-static void
-gen7_emit_curbe_load(struct intel_batchbuffer *batch, uint32_t curbe_buffer)
-{
- OUT_BATCH(GEN7_MEDIA_CURBE_LOAD | (4 - 2));
- OUT_BATCH(0);
- /* curbe total data length */
- OUT_BATCH(64);
- /* curbe data start address, is relative to the dynamics base address */
- OUT_BATCH(curbe_buffer);
-}
-
-static void
-gen7_emit_interface_descriptor_load(struct intel_batchbuffer *batch,
- uint32_t interface_descriptor)
-{
- OUT_BATCH(GEN7_MEDIA_INTERFACE_DESCRIPTOR_LOAD | (4 - 2));
- OUT_BATCH(0);
- /* interface descriptor data length */
- if (IS_GEN7(batch->devid))
- OUT_BATCH(sizeof(struct gen7_interface_descriptor_data));
- else
- OUT_BATCH(sizeof(struct gen8_interface_descriptor_data));
- /* interface descriptor address, is relative to the dynamics base
- * address
- */
- OUT_BATCH(interface_descriptor);
-}
-
-static void
-gen8_emit_media_state_flush(struct intel_batchbuffer *batch)
-{
- OUT_BATCH(GEN8_MEDIA_STATE_FLUSH | (2 - 2));
- OUT_BATCH(0);
-}
-
-static void
-gen_emit_media_object(struct intel_batchbuffer *batch,
- unsigned int xoff, unsigned int yoff)
-{
- OUT_BATCH(GEN7_MEDIA_OBJECT | (8 - 2));
-
- /* interface descriptor offset */
- OUT_BATCH(0);
-
- /* without indirect data */
- OUT_BATCH(0);
- OUT_BATCH(0);
-
- /* scoreboard */
- OUT_BATCH(0);
- OUT_BATCH(0);
-
- /* inline data (xoffset, yoffset) */
- OUT_BATCH(xoff);
- OUT_BATCH(yoff);
- if (AT_LEAST_GEN(batch->devid, 8) && !IS_CHERRYVIEW(batch->devid))
- gen8_emit_media_state_flush(batch);
-}
-
-static void
-gen9_emit_state_base_address(struct intel_batchbuffer *batch)
-{
- OUT_BATCH(GEN8_STATE_BASE_ADDRESS | (19 - 2));
-
- /* general */
- OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
- OUT_BATCH(0);
-
- /* stateless data port */
- OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
-
- /* surface */
- OUT_RELOC(batch->bo, I915_GEM_DOMAIN_SAMPLER, 0, BASE_ADDRESS_MODIFY);
-
- /* dynamic */
- OUT_RELOC(batch->bo,
- I915_GEM_DOMAIN_RENDER | I915_GEM_DOMAIN_INSTRUCTION,
- 0, BASE_ADDRESS_MODIFY);
-
- /* indirect */
- OUT_BATCH(0);
- OUT_BATCH(0);
-
- /* instruction */
- OUT_RELOC(batch->bo, I915_GEM_DOMAIN_INSTRUCTION, 0,
- BASE_ADDRESS_MODIFY);
-
- /* general state buffer size */
- OUT_BATCH(0xfffff000 | 1);
- /* dynamic state buffer size */
- OUT_BATCH(1 << 12 | 1);
- /* indirect object buffer size */
- OUT_BATCH(0xfffff000 | 1);
- /* intruction buffer size, must set modify enable bit, otherwise it may
- * result in GPU hang
- */
- OUT_BATCH(1 << 12 | 1);
-
- /* Bindless surface state base address */
- OUT_BATCH(0 | BASE_ADDRESS_MODIFY);
- OUT_BATCH(0);
- OUT_BATCH(0xfffff000);
-}
-
void
-gen8_media_spinfunc(struct intel_batchbuffer *batch,
- const struct igt_buf *dst, uint32_t spins)
+gen8_media_spinfunc(int i915, struct intel_buf *buf, uint32_t spins)
{
+ struct intel_bb *ibb;
uint32_t curbe_buffer, interface_descriptor;
- uint32_t batch_end;
- intel_batchbuffer_flush_with_context(batch, NULL);
+ ibb = intel_bb_create(i915, PAGE_SIZE);
+ intel_bb_add_object(ibb, buf->handle, 0, true);
/* setup states */
- batch->ptr = &batch->buffer[BATCH_STATE_SPLIT];
+ intel_bb_ptr_set(ibb, BATCH_STATE_SPLIT);
- curbe_buffer = gen8_spin_curbe_buffer_data(batch, spins);
- interface_descriptor = gen8_fill_interface_descriptor(batch, dst,
+ curbe_buffer = gen8_spin_curbe_buffer_data(ibb, spins);
+ interface_descriptor = gen8_fill_interface_descriptor(ibb, buf,
spin_kernel, sizeof(spin_kernel));
- igt_assert(batch->ptr < &batch->buffer[4095]);
+
+ intel_bb_ptr_set(ibb, 0);
/* media pipeline */
- batch->ptr = batch->buffer;
- OUT_BATCH(GEN8_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA);
- gen8_emit_state_base_address(batch);
+ intel_bb_out(ibb, GEN8_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA);
+ gen8_emit_state_base_address(ibb);
- gen8_emit_vfe_state(batch, THREADS, MEDIA_URB_ENTRIES,
+ gen8_emit_vfe_state(ibb, THREADS, MEDIA_URB_ENTRIES,
MEDIA_URB_SIZE, MEDIA_CURBE_SIZE);
- gen7_emit_curbe_load(batch, curbe_buffer);
+ gen7_emit_curbe_load(ibb, curbe_buffer);
- gen7_emit_interface_descriptor_load(batch, interface_descriptor);
+ gen7_emit_interface_descriptor_load(ibb, interface_descriptor);
- gen_emit_media_object(batch, xoffset, yoffset);
+ gen_emit_media_object(ibb, xoffset, yoffset);
- OUT_BATCH(MI_BATCH_BUFFER_END);
+ intel_bb_out(ibb, MI_BATCH_BUFFER_END);
+ intel_bb_ptr_align(ibb, 32);
- batch_end = intel_batchbuffer_align(batch, 8);
- igt_assert(batch_end < BATCH_STATE_SPLIT);
+ intel_bb_exec(ibb, intel_bb_offset(ibb),
+ I915_EXEC_DEFAULT | I915_EXEC_NO_RELOC, false);
- gen7_render_flush(batch, batch_end);
- intel_batchbuffer_reset(batch);
+ intel_bb_object_offset_to_buf(ibb, buf);
+ intel_bb_destroy(ibb);
}
-
void
-gen9_media_spinfunc(struct intel_batchbuffer *batch,
- const struct igt_buf *dst, uint32_t spins)
+gen9_media_spinfunc(int i915, struct intel_buf *buf, uint32_t spins)
{
+ struct intel_bb *ibb;
uint32_t curbe_buffer, interface_descriptor;
- uint32_t batch_end;
- intel_batchbuffer_flush_with_context(batch, NULL);
+ ibb = intel_bb_create(i915, PAGE_SIZE);
+ intel_bb_add_object(ibb, buf->handle, 0, true);
/* setup states */
- batch->ptr = &batch->buffer[BATCH_STATE_SPLIT];
+ intel_bb_ptr_set(ibb, BATCH_STATE_SPLIT);
- curbe_buffer = gen8_spin_curbe_buffer_data(batch, spins);
- interface_descriptor = gen8_fill_interface_descriptor(batch, dst,
+ curbe_buffer = gen8_spin_curbe_buffer_data(ibb, spins);
+ interface_descriptor = gen8_fill_interface_descriptor(ibb, buf,
spin_kernel, sizeof(spin_kernel));
- igt_assert(batch->ptr < &batch->buffer[4095]);
+
+ intel_bb_ptr_set(ibb, 0);
/* media pipeline */
- batch->ptr = batch->buffer;
- OUT_BATCH(GEN8_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA |
- GEN9_FORCE_MEDIA_AWAKE_ENABLE |
- GEN9_SAMPLER_DOP_GATE_DISABLE |
- GEN9_PIPELINE_SELECTION_MASK |
- GEN9_SAMPLER_DOP_GATE_MASK |
- GEN9_FORCE_MEDIA_AWAKE_MASK);
- gen9_emit_state_base_address(batch);
-
- gen8_emit_vfe_state(batch, THREADS, MEDIA_URB_ENTRIES,
+ intel_bb_out(ibb, GEN8_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA |
+ GEN9_FORCE_MEDIA_AWAKE_ENABLE |
+ GEN9_SAMPLER_DOP_GATE_DISABLE |
+ GEN9_PIPELINE_SELECTION_MASK |
+ GEN9_SAMPLER_DOP_GATE_MASK |
+ GEN9_FORCE_MEDIA_AWAKE_MASK);
+ gen9_emit_state_base_address(ibb);
+
+ gen8_emit_vfe_state(ibb, THREADS, MEDIA_URB_ENTRIES,
MEDIA_URB_SIZE, MEDIA_CURBE_SIZE);
- gen7_emit_curbe_load(batch, curbe_buffer);
+ gen7_emit_curbe_load(ibb, curbe_buffer);
+
+ gen7_emit_interface_descriptor_load(ibb, interface_descriptor);
- gen7_emit_interface_descriptor_load(batch, interface_descriptor);
+ gen_emit_media_object(ibb, xoffset, yoffset);
- gen_emit_media_object(batch, xoffset, yoffset);
+ intel_bb_out(ibb, GEN8_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA |
+ GEN9_FORCE_MEDIA_AWAKE_DISABLE |
+ GEN9_SAMPLER_DOP_GATE_ENABLE |
+ GEN9_PIPELINE_SELECTION_MASK |
+ GEN9_SAMPLER_DOP_GATE_MASK |
+ GEN9_FORCE_MEDIA_AWAKE_MASK);
- OUT_BATCH(GEN8_PIPELINE_SELECT | PIPELINE_SELECT_MEDIA |
- GEN9_FORCE_MEDIA_AWAKE_DISABLE |
- GEN9_SAMPLER_DOP_GATE_ENABLE |
- GEN9_PIPELINE_SELECTION_MASK |
- GEN9_SAMPLER_DOP_GATE_MASK |
- GEN9_FORCE_MEDIA_AWAKE_MASK);
+ intel_bb_out(ibb, MI_BATCH_BUFFER_END);
- OUT_BATCH(MI_BATCH_BUFFER_END);
+ intel_bb_ptr_align(ibb, 32);
- batch_end = intel_batchbuffer_align(batch, 8);
- igt_assert(batch_end < BATCH_STATE_SPLIT);
+ intel_bb_exec(ibb, intel_bb_offset(ibb),
+ I915_EXEC_DEFAULT | I915_EXEC_NO_RELOC, false);
- gen7_render_flush(batch, batch_end);
- intel_batchbuffer_reset(batch);
+ intel_bb_object_offset_to_buf(ibb, buf);
+ intel_bb_destroy(ibb);
}
diff --git a/lib/media_spin.h b/lib/media_spin.h
index 768eccc0..5e15e021 100644
--- a/lib/media_spin.h
+++ b/lib/media_spin.h
@@ -27,10 +27,10 @@
#ifndef MEDIA_SPIN_H
#define MEDIA_SPIN_H
-void gen8_media_spinfunc(struct intel_batchbuffer *batch,
- const struct igt_buf *dst, uint32_t spins);
+struct intel_buf;
-void gen9_media_spinfunc(struct intel_batchbuffer *batch,
- const struct igt_buf *dst, uint32_t spins);
+void gen8_media_spinfunc(int i915, struct intel_buf *buf, uint32_t spins);
+
+void gen9_media_spinfunc(int i915, struct intel_buf *buf, uint32_t spins);
#endif /* MEDIA_SPIN_H */
diff --git a/tests/i915/i915_pm_sseu.c b/tests/i915/i915_pm_sseu.c
index 461c70cc..30b7cfec 100644
--- a/tests/i915/i915_pm_sseu.c
+++ b/tests/i915/i915_pm_sseu.c
@@ -34,7 +34,7 @@
#include "i915/gem.h"
#include "igt.h"
-#include "intel_bufmgr.h"
+#include "intel_bufops.h"
IGT_TEST_DESCRIPTION("Tests slice/subslice/EU power gating functionality.\n");
@@ -43,10 +43,10 @@ static struct {
int drm_fd;
int devid;
int gen;
- drm_intel_bufmgr *bufmgr;
- struct intel_batchbuffer *batch;
+
+ struct buf_ops *bops;
+ struct intel_buf buf;
igt_media_spinfunc_t spinfunc;
- struct igt_buf buf;
uint32_t spins_per_msec;
} gem;
@@ -217,6 +217,7 @@ dbg_init(void)
{
igt_assert(gem.init);
dbg.status_fd = igt_debugfs_open(gem.drm_fd, "i915_sseu_status", O_RDONLY);
+
igt_skip_on_f(dbg.status_fd == -1,
"debugfs entry 'i915_sseu_status' not found\n");
dbg.init = 1;
@@ -233,11 +234,8 @@ dbg_deinit(void)
}
static void
-gem_check_spin(uint32_t spins)
+gem_check_spin(uint32_t *data, uint32_t spins)
{
- uint32_t *data;
-
- data = (uint32_t*)gem.buf.bo->virtual;
igt_assert_eq_u32(*data, spins);
}
@@ -246,8 +244,8 @@ gem_get_target_spins(double dt)
{
struct timespec tstart, tdone;
double prev_dt, cur_dt;
- uint32_t spins;
- int i, ret;
+ uint32_t spins, *ptr;
+ int i;
/* Double increments until we bound the target time */
prev_dt = 0.0;
@@ -255,13 +253,18 @@ gem_get_target_spins(double dt)
spins = 1 << i;
clock_gettime(CLOCK_MONOTONIC, &tstart);
- gem.spinfunc(gem.batch, &gem.buf, spins);
- ret = drm_intel_bo_map(gem.buf.bo, 0);
- igt_assert_eq(ret, 0);
+ gem.spinfunc(gem.drm_fd, &gem.buf, spins);
+ gem_set_domain(gem.drm_fd, gem.buf.handle,
+ I915_GEM_DOMAIN_CPU, I915_GEM_DOMAIN_CPU);
+
+ ptr = gem_mmap__device_coherent(gem.drm_fd, gem.buf.handle,
+ 0, gem.buf.size, PROT_READ);
+
clock_gettime(CLOCK_MONOTONIC, &tdone);
- gem_check_spin(spins);
- drm_intel_bo_unmap(gem.buf.bo);
+ gem_check_spin(ptr, spins);
+
+ munmap(ptr, gem.buf.size);
cur_dt = to_dt(&tstart, &tdone);
if (cur_dt > dt)
@@ -292,25 +295,12 @@ gem_init(void)
gem.spinfunc = igt_get_media_spinfunc(gem.devid);
igt_require(gem.spinfunc);
- gem.bufmgr = drm_intel_bufmgr_gem_init(gem.drm_fd, 4096);
- igt_assert(gem.bufmgr);
+ gem.bops = buf_ops_create(gem.drm_fd);
gem.init = 2;
- drm_intel_bufmgr_gem_enable_reuse(gem.bufmgr);
-
- gem.batch = intel_batchbuffer_alloc(gem.bufmgr, gem.devid);
- igt_assert(gem.batch);
+ intel_buf_init(gem.bops, &gem.buf, 1, 1, 32, 0, I915_TILING_NONE, 0);
gem.init = 3;
- gem.buf.surface[0].stride = sizeof(uint32_t);
- gem.buf.tiling = I915_TILING_NONE;
- gem.buf.surface[0].size = gem.buf.surface[0].stride;
- gem.buf.bo = drm_intel_bo_alloc(gem.bufmgr, "",
- gem.buf.surface[0].size, 4096);
- gem.buf.bpp = 32;
- igt_assert(gem.buf.bo);
- gem.init = 4;
-
gem.spins_per_msec = gem_get_target_spins(100) / 100;
}
@@ -319,13 +309,10 @@ gem_deinit(void)
{
switch (gem.init)
{
- case 4:
- drm_intel_bo_unmap(gem.buf.bo);
- drm_intel_bo_unreference(gem.buf.bo);
case 3:
- intel_batchbuffer_free(gem.batch);
+ intel_buf_close(gem.bops, &gem.buf);
case 2:
- drm_intel_bufmgr_destroy(gem.bufmgr);
+ buf_ops_destroy(gem.bops);
case 1:
close(gem.drm_fd);
}
@@ -354,7 +341,8 @@ full_enable(void)
{
struct status stat;
const int spin_msec = 10;
- int ret, spins;
+ uint32_t *ptr;
+ int spins;
/*
* Gen9 SKL is the first case in which render power gating can leave
@@ -365,16 +353,17 @@ full_enable(void)
spins = spin_msec * gem.spins_per_msec;
- gem.spinfunc(gem.batch, &gem.buf, spins);
+ gem.spinfunc(gem.drm_fd, &gem.buf, spins);
usleep(2000); /* 2ms wait to make sure batch is running */
dbg_get_status(&stat);
- ret = drm_intel_bo_map(gem.buf.bo, 0);
- igt_assert_eq(ret, 0);
-
- gem_check_spin(spins);
- drm_intel_bo_unmap(gem.buf.bo);
+ gem_set_domain(gem.drm_fd, gem.buf.handle,
+ I915_GEM_DOMAIN_CPU, I915_GEM_DOMAIN_CPU);
+ ptr = gem_mmap__device_coherent(gem.drm_fd, gem.buf.handle,
+ 0, gem.buf.size, PROT_READ);
+ gem_check_spin(ptr, spins);
+ munmap(ptr, gem.buf.size);
check_full_enable(&stat);
}
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [igt-dev] [PATCH i-g-t v2 4/4] HAX: run gpgpu|media_fill and i915_pm_sseu in BAT only
2020-06-04 10:03 [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin Zbigniew Kempczyński
` (2 preceding siblings ...)
2020-06-04 10:10 ` [igt-dev] [PATCH i-g-t v2 3/4] tests/i915_pm_sseu: remove libdrm dependency Zbigniew Kempczyński
@ 2020-06-04 10:10 ` Zbigniew Kempczyński
2020-06-04 11:04 ` [igt-dev] ✓ Fi.CI.BAT: success for Remove libdrm from media_spin Patchwork
` (3 subsequent siblings)
7 siblings, 0 replies; 14+ messages in thread
From: Zbigniew Kempczyński @ 2020-06-04 10:10 UTC (permalink / raw)
To: igt-dev
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
---
tests/intel-ci/fast-feedback.testlist | 162 +-------------------------
1 file changed, 3 insertions(+), 159 deletions(-)
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 04f6affc..694c00c6 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -1,162 +1,6 @@
# Keep alphabetically sorted by default
-igt@core_auth@basic-auth
-igt@debugfs_test@read_all_entries
-igt@fbdev@mmap
-igt@gem_basic@bad-close
-igt@gem_basic@create-close
-igt@gem_basic@create-fd-close
-igt@gem_busy@busy@all
-igt@gem_close_race@basic-process
-igt@gem_close_race@basic-threads
-igt@gem_ctx_create@basic
-igt@gem_ctx_create@basic-files
-igt@gem_ctx_exec@basic
-igt@gem_exec_basic@basic
-igt@gem_exec_create@basic
-igt@gem_exec_fence@basic-busy
-igt@gem_exec_fence@basic-wait
-igt@gem_exec_fence@basic-await
-igt@gem_exec_fence@nb-await
-igt@gem_exec_gttfill@basic
-igt@gem_exec_parallel@engines
-igt@gem_exec_store@basic
-igt@gem_exec_suspend@basic-s0
-igt@gem_exec_suspend@basic-s3
-igt@gem_flink_basic@bad-flink
-igt@gem_flink_basic@bad-open
-igt@gem_flink_basic@basic
-igt@gem_flink_basic@double-flink
-igt@gem_flink_basic@flink-lifetime
-igt@gem_linear_blits@basic
-igt@gem_mmap@basic
-igt@gem_mmap_gtt@basic
-igt@gem_render_linear_blits@basic
-igt@gem_render_tiled_blits@basic
-igt@gem_ringfill@basic-all
-igt@gem_sync@basic-all
-igt@gem_sync@basic-each
-igt@gem_tiled_blits@basic
-igt@gem_tiled_fence_blits@basic
-igt@gem_tiled_pread_basic
-igt@gem_wait@busy@all
-igt@gem_wait@wait@all
-igt@i915_getparams_basic@basic-eu-total
-igt@i915_getparams_basic@basic-subslice-total
-igt@i915_hangman@error-state-basic
-igt@kms_addfb_basic@addfb25-bad-modifier
-igt@kms_addfb_basic@addfb25-framebuffer-vs-set-tiling
-igt@kms_addfb_basic@addfb25-modifier-no-flag
-igt@kms_addfb_basic@addfb25-x-tiled
-igt@kms_addfb_basic@addfb25-x-tiled-mismatch
-igt@kms_addfb_basic@addfb25-yf-tiled
-igt@kms_addfb_basic@addfb25-y-tiled
-igt@kms_addfb_basic@addfb25-y-tiled-small
-igt@kms_addfb_basic@bad-pitch-0
-igt@kms_addfb_basic@bad-pitch-1024
-igt@kms_addfb_basic@bad-pitch-128
-igt@kms_addfb_basic@bad-pitch-256
-igt@kms_addfb_basic@bad-pitch-32
-igt@kms_addfb_basic@bad-pitch-63
-igt@kms_addfb_basic@bad-pitch-65536
-igt@kms_addfb_basic@bad-pitch-999
-igt@kms_addfb_basic@basic
-igt@kms_addfb_basic@basic-x-tiled
-igt@kms_addfb_basic@basic-y-tiled
-igt@kms_addfb_basic@bo-too-small
-igt@kms_addfb_basic@bo-too-small-due-to-tiling
-igt@kms_addfb_basic@clobberred-modifier
-igt@kms_addfb_basic@framebuffer-vs-set-tiling
-igt@kms_addfb_basic@invalid-get-prop
-igt@kms_addfb_basic@invalid-get-prop-any
-igt@kms_addfb_basic@invalid-set-prop
-igt@kms_addfb_basic@invalid-set-prop-any
-igt@kms_addfb_basic@no-handle
-igt@kms_addfb_basic@size-max
-igt@kms_addfb_basic@small-bo
-igt@kms_addfb_basic@tile-pitch-mismatch
-igt@kms_addfb_basic@too-high
-igt@kms_addfb_basic@too-wide
-igt@kms_addfb_basic@unused-handle
-igt@kms_addfb_basic@unused-modifier
-igt@kms_addfb_basic@unused-offsets
-igt@kms_addfb_basic@unused-pitches
-igt@kms_busy@basic
-igt@kms_chamelium@dp-hpd-fast
-igt@kms_chamelium@dp-edid-read
-igt@kms_chamelium@dp-crc-fast
-igt@kms_chamelium@hdmi-hpd-fast
-igt@kms_chamelium@hdmi-edid-read
-igt@kms_chamelium@hdmi-crc-fast
-igt@kms_chamelium@vga-hpd-fast
-igt@kms_chamelium@vga-edid-read
-igt@kms_chamelium@common-hpd-after-suspend
-igt@kms_prop_blob@basic
-igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic
-igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy
-igt@kms_cursor_legacy@basic-flip-after-cursor-atomic
-igt@kms_cursor_legacy@basic-flip-after-cursor-legacy
-igt@kms_cursor_legacy@basic-flip-after-cursor-varying-size
-igt@kms_cursor_legacy@basic-flip-before-cursor-atomic
-igt@kms_cursor_legacy@basic-flip-before-cursor-legacy
-igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size
-igt@kms_flip@basic-flip-vs-dpms
-igt@kms_flip@basic-flip-vs-modeset
-igt@kms_flip@basic-flip-vs-wf_vblank
-igt@kms_flip@basic-plain-flip
-igt@kms_force_connector_basic@force-connector-state
-igt@kms_force_connector_basic@force-edid
-igt@kms_force_connector_basic@force-load-detect
-igt@kms_force_connector_basic@prune-stale-modes
-igt@kms_frontbuffer_tracking@basic
-igt@kms_pipe_crc_basic@hang-read-crc-pipe-a
-igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a
-igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a-frame-sequence
-igt@kms_pipe_crc_basic@read-crc-pipe-a
-igt@kms_pipe_crc_basic@read-crc-pipe-b
-igt@kms_pipe_crc_basic@read-crc-pipe-c
-igt@kms_pipe_crc_basic@read-crc-pipe-a-frame-sequence
-igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a
-igt@kms_psr@primary_page_flip
-igt@kms_psr@cursor_plane_move
-igt@kms_psr@sprite_plane_onoff
-igt@kms_psr@primary_mmap_gtt
-igt@kms_setmode@basic-clone-single-crtc
-igt@i915_pm_backlight@basic-brightness
-igt@i915_pm_rpm@basic-pci-d3-state
-igt@i915_pm_rpm@basic-rte
-igt@i915_pm_rps@basic-api
-igt@prime_self_import@basic-llseek-bad
-igt@prime_self_import@basic-llseek-size
-igt@prime_self_import@basic-with_fd_dup
-igt@prime_self_import@basic-with_one_bo
-igt@prime_self_import@basic-with_one_bo_two_files
-igt@prime_self_import@basic-with_two_bos
-igt@prime_vgem@basic-fence-flip
-igt@prime_vgem@basic-fence-mmap
-igt@prime_vgem@basic-fence-read
-igt@prime_vgem@basic-gtt
-igt@prime_vgem@basic-read
-igt@prime_vgem@basic-write
-igt@vgem_basic@setversion
-igt@vgem_basic@create
-igt@vgem_basic@debugfs
-igt@vgem_basic@dmabuf-export
-igt@vgem_basic@dmabuf-fence
-igt@vgem_basic@dmabuf-fence-before
-igt@vgem_basic@dmabuf-mmap
-igt@vgem_basic@mmap
-igt@vgem_basic@second-client
-igt@vgem_basic@sysfs
+igt@gem_gpgpu_fill
+igt@gem_media_fill
+igt@i915_pm_sseu
-# All tests that do module unloading and reloading are executed last.
-# They will sometimes reveal issues of earlier tests leaving the
-# driver in a broken state that is not otherwise noticed in that test.
-
-igt@vgem_basic@unload
-igt@i915_module_load@reload
-igt@i915_pm_rpm@module-reload
-
-# Kernel selftests
-igt@i915_selftest@live
-igt@dmabuf@all
--
2.26.0
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Remove libdrm from media_spin
2020-06-04 10:03 [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin Zbigniew Kempczyński
` (3 preceding siblings ...)
2020-06-04 10:10 ` [igt-dev] [PATCH i-g-t v2 4/4] HAX: run gpgpu|media_fill and i915_pm_sseu in BAT only Zbigniew Kempczyński
@ 2020-06-04 11:04 ` Patchwork
2020-06-04 14:56 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
` (2 subsequent siblings)
7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2020-06-04 11:04 UTC (permalink / raw)
To: Zbigniew Kempczyński; +Cc: igt-dev
== Series Details ==
Series: Remove libdrm from media_spin
URL : https://patchwork.freedesktop.org/series/77993/
State : success
== Summary ==
CI Bug Log - changes from IGT_5695 -> IGTPW_4650
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/index.html
New tests
---------
New tests have been introduced between IGT_5695 and IGTPW_4650:
### New IGT tests (1) ###
* igt@i915_pm_sseu:
- Statuses :
- Exec time: [None] s
Changes
-------
No changes found
Participating hosts (50 -> 44)
------------------------------
Missing (6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5695 -> IGTPW_4650
CI-20190529: 20190529
CI_DRM_8581: a3ae560b4c2a6dfb0d550cc40471a7b0c7043500 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4650: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/index.html
IGT_5695: 53e8c878a6fb5708e63c99403691e8960b86ea9c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for Remove libdrm from media_spin
2020-06-04 10:03 [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin Zbigniew Kempczyński
` (4 preceding siblings ...)
2020-06-04 11:04 ` [igt-dev] ✓ Fi.CI.BAT: success for Remove libdrm from media_spin Patchwork
@ 2020-06-04 14:56 ` Patchwork
2020-06-04 18:17 ` [igt-dev] ✓ Fi.CI.BAT: success for Remove libdrm from media_spin (rev2) Patchwork
2020-06-04 21:32 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2020-06-04 14:56 UTC (permalink / raw)
To: Zbigniew Kempczyński; +Cc: igt-dev
== Series Details ==
Series: Remove libdrm from media_spin
URL : https://patchwork.freedesktop.org/series/77993/
State : failure
== Summary ==
CI Bug Log - changes from IGT_5695_full -> IGTPW_4650_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_4650_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_4650_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://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/index.html
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_4650_full:
### IGT changes ###
#### Possible regressions ####
* igt@gem_tiled_partial_pwrite_pread@reads:
- shard-tglb: [PASS][1] -> [FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-tglb5/igt@gem_tiled_partial_pwrite_pread@reads.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-tglb2/igt@gem_tiled_partial_pwrite_pread@reads.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* {igt@perf_pmu@idle-no-semaphores@vecs0}:
- shard-glk: [PASS][3] -> [DMESG-WARN][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-glk9/igt@perf_pmu@idle-no-semaphores@vecs0.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-glk7/igt@perf_pmu@idle-no-semaphores@vecs0.html
New tests
---------
New tests have been introduced between IGT_5695_full and IGTPW_4650_full:
### New IGT tests (11) ###
* igt@gem_ctx_engines@execute-allforone:
- Statuses : 7 pass(s)
- Exec time: [0.00, 0.01] s
* igt@gem_ctx_engines@execute-one:
- Statuses : 6 pass(s) 1 skip(s)
- Exec time: [0.20, 1.39] s
* igt@gem_ctx_engines@execute-oneforall:
- Statuses : 7 pass(s)
- Exec time: [0.05, 0.38] s
* igt@gem_ctx_engines@idempotent:
- Statuses : 7 pass(s)
- Exec time: [0.00] s
* igt@gem_ctx_engines@independent:
- Statuses : 5 pass(s) 1 skip(s)
- Exec time: [0.0, 0.13] s
* igt@gem_ctx_engines@invalid-engines:
- Statuses : 1 dmesg-warn(s) 6 pass(s)
- Exec time: [0.00] s
* igt@gem_ctx_shared@create-shared-gtt:
- Statuses : 6 pass(s)
- Exec time: [2.15, 2.17] s
* igt@gem_ctx_shared@detached-shared-gtt:
- Statuses : 7 pass(s)
- Exec time: [2.15, 2.16] s
* igt@gem_ctx_shared@disjoint-timelines:
- Statuses : 5 pass(s) 2 skip(s)
- Exec time: [0.0, 0.05] s
* igt@gem_ctx_shared@q-smoketest-all:
- Statuses : 5 pass(s) 2 skip(s)
- Exec time: [0.0, 32.29] s
* igt@gem_ctx_shared@single-timeline:
- Statuses : 5 pass(s) 2 skip(s)
- Exec time: [0.0, 0.01] s
Known issues
------------
Here are the changes found in IGTPW_4650_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_suspend@basic-s0:
- shard-tglb: [PASS][5] -> [INCOMPLETE][6] ([i915#1602] / [i915#456])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-tglb1/igt@gem_exec_suspend@basic-s0.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-tglb3/igt@gem_exec_suspend@basic-s0.html
* igt@gem_exec_whisper@basic-fds-forked-all:
- shard-glk: [PASS][7] -> [DMESG-WARN][8] ([i915#118] / [i915#95])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-glk2/igt@gem_exec_whisper@basic-fds-forked-all.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-glk4/igt@gem_exec_whisper@basic-fds-forked-all.html
* igt@gem_mmap_wc@bad-object:
- shard-hsw: [PASS][9] -> [DMESG-WARN][10] ([i915#1927])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-hsw4/igt@gem_mmap_wc@bad-object.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-hsw4/igt@gem_mmap_wc@bad-object.html
* igt@gem_pread@display:
- shard-glk: [PASS][11] -> [INCOMPLETE][12] ([i915#58] / [k.org#198133])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-glk8/igt@gem_pread@display.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-glk7/igt@gem_pread@display.html
* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-apl: [PASS][13] -> [DMESG-WARN][14] ([i915#180]) +2 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl4/igt@i915_suspend@fence-restore-tiled2untiled.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl1/igt@i915_suspend@fence-restore-tiled2untiled.html
* igt@kms_atomic@plane-invalid-params-fence:
- shard-kbl: [PASS][15] -> [DMESG-WARN][16] ([i915#93] / [i915#95]) +46 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-kbl2/igt@kms_atomic@plane-invalid-params-fence.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-kbl1/igt@kms_atomic@plane-invalid-params-fence.html
* igt@kms_atomic_transition@plane-primary-toggle-with-vblank-wait:
- shard-apl: [PASS][17] -> [DMESG-WARN][18] ([i915#95]) +32 similar issues
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl6/igt@kms_atomic_transition@plane-primary-toggle-with-vblank-wait.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl6/igt@kms_atomic_transition@plane-primary-toggle-with-vblank-wait.html
* igt@kms_big_fb@linear-32bpp-rotate-180:
- shard-apl: [PASS][19] -> [DMESG-FAIL][20] ([i915#95]) +1 similar issue
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl4/igt@kms_big_fb@linear-32bpp-rotate-180.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl4/igt@kms_big_fb@linear-32bpp-rotate-180.html
* igt@kms_big_fb@linear-64bpp-rotate-180:
- shard-glk: [PASS][21] -> [DMESG-FAIL][22] ([i915#118] / [i915#95])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-glk5/igt@kms_big_fb@linear-64bpp-rotate-180.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-glk8/igt@kms_big_fb@linear-64bpp-rotate-180.html
* igt@kms_big_fb@y-tiled-32bpp-rotate-0:
- shard-glk: [PASS][23] -> [TIMEOUT][24] ([i915#1958]) +2 similar issues
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-glk9/igt@kms_big_fb@y-tiled-32bpp-rotate-0.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-glk7/igt@kms_big_fb@y-tiled-32bpp-rotate-0.html
* igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-kbl: [PASS][25] -> [DMESG-WARN][26] ([i915#180]) +1 similar issue
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-kbl1/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-kbl7/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-toggle:
- shard-glk: [PASS][27] -> [DMESG-FAIL][28] ([i915#1925] / [i915#1926])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-glk6/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-glk2/igt@kms_cursor_legacy@cursorb-vs-flipa-toggle.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt:
- shard-tglb: [PASS][29] -> [DMESG-WARN][30] ([i915#402])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-tglb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite:
- shard-tglb: [PASS][31] -> [DMESG-WARN][32] ([i915#1982])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-tglb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite.html
* igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
- shard-kbl: [PASS][33] -> [DMESG-FAIL][34] ([i915#95]) +1 similar issue
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-kbl1/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-kbl2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
* igt@kms_psr2_su@frontbuffer:
- shard-tglb: [PASS][35] -> [SKIP][36] ([i915#1911])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-tglb5/igt@kms_psr2_su@frontbuffer.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-tglb5/igt@kms_psr2_su@frontbuffer.html
* igt@kms_psr@no_drrs:
- shard-iclb: [PASS][37] -> [FAIL][38] ([i915#173])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-iclb7/igt@kms_psr@no_drrs.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-iclb1/igt@kms_psr@no_drrs.html
* igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [PASS][39] -> [SKIP][40] ([fdo#109441])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-iclb5/igt@kms_psr@psr2_cursor_mmap_cpu.html
#### Possible fixes ####
* {igt@gem_ctx_isolation@preservation-s3@rcs0}:
- shard-apl: [DMESG-WARN][41] ([i915#180]) -> [PASS][42] +3 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl1/igt@gem_ctx_isolation@preservation-s3@rcs0.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl4/igt@gem_ctx_isolation@preservation-s3@rcs0.html
* {igt@gem_ctx_isolation@preservation-s3@vecs0}:
- shard-kbl: [DMESG-WARN][43] ([i915#180]) -> [PASS][44] +3 similar issues
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-kbl7/igt@gem_ctx_isolation@preservation-s3@vecs0.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-kbl2/igt@gem_ctx_isolation@preservation-s3@vecs0.html
* {igt@gem_exec_reloc@basic-concurrent0}:
- shard-apl: [FAIL][45] ([i915#1930]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl1/igt@gem_exec_reloc@basic-concurrent0.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl2/igt@gem_exec_reloc@basic-concurrent0.html
* {igt@gem_exec_schedule@implicit-write-read@rcs0}:
- shard-snb: [INCOMPLETE][47] ([i915#82]) -> [PASS][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-snb5/igt@gem_exec_schedule@implicit-write-read@rcs0.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-snb5/igt@gem_exec_schedule@implicit-write-read@rcs0.html
* igt@gem_exec_whisper@basic-queues-forked-all:
- shard-glk: [DMESG-WARN][49] ([i915#118] / [i915#95]) -> [PASS][50] +2 similar issues
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-glk8/igt@gem_exec_whisper@basic-queues-forked-all.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-glk4/igt@gem_exec_whisper@basic-queues-forked-all.html
* igt@gem_workarounds@suspend-resume-fd:
- shard-tglb: [DMESG-WARN][51] ([i915#1602]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-tglb5/igt@gem_workarounds@suspend-resume-fd.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-tglb5/igt@gem_workarounds@suspend-resume-fd.html
* igt@i915_pm_dc@dc3co-vpb-simulation:
- shard-tglb: [SKIP][53] ([i915#1904]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-tglb3/igt@i915_pm_dc@dc3co-vpb-simulation.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-tglb3/igt@i915_pm_dc@dc3co-vpb-simulation.html
* igt@i915_pm_dc@dc5-psr:
- shard-iclb: [FAIL][55] ([i915#1899]) -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-iclb2/igt@i915_pm_dc@dc5-psr.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-iclb7/igt@i915_pm_dc@dc5-psr.html
* igt@i915_suspend@debugfs-reader:
- shard-kbl: [INCOMPLETE][57] ([i915#155]) -> [PASS][58]
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-kbl3/igt@i915_suspend@debugfs-reader.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-kbl1/igt@i915_suspend@debugfs-reader.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-0:
- shard-apl: [DMESG-WARN][59] ([i915#1982]) -> [PASS][60]
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl2/igt@kms_big_fb@x-tiled-16bpp-rotate-0.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl2/igt@kms_big_fb@x-tiled-16bpp-rotate-0.html
* igt@kms_color@pipe-d-ctm-0-5:
- shard-tglb: [DMESG-WARN][61] ([i915#1149] / [i915#402]) -> [PASS][62]
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-tglb3/igt@kms_color@pipe-d-ctm-0-5.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-tglb7/igt@kms_color@pipe-d-ctm-0-5.html
* igt@kms_cursor_crc@pipe-a-cursor-64x21-offscreen:
- shard-kbl: [DMESG-FAIL][63] ([i915#54] / [i915#95]) -> [PASS][64] +3 similar issues
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-64x21-offscreen.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-kbl3/igt@kms_cursor_crc@pipe-a-cursor-64x21-offscreen.html
* igt@kms_cursor_crc@pipe-c-cursor-256x85-offscreen:
- shard-apl: [DMESG-WARN][65] ([i915#95]) -> [PASS][66] +37 similar issues
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl2/igt@kms_cursor_crc@pipe-c-cursor-256x85-offscreen.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl7/igt@kms_cursor_crc@pipe-c-cursor-256x85-offscreen.html
* igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-xtiled:
- shard-apl: [TIMEOUT][67] ([i915#1635]) -> [PASS][68] +1 similar issue
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl8/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-xtiled.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl8/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-xtiled.html
- shard-glk: [INCOMPLETE][69] ([i915#58] / [k.org#198133]) -> [PASS][70]
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-glk5/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-xtiled.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-glk5/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-xtiled.html
* igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled:
- shard-apl: [DMESG-FAIL][71] ([i915#54] / [i915#95]) -> [PASS][72] +1 similar issue
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl2/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl3/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled.html
* {igt@kms_flip@2x-flip-vs-rmfb-interruptible@ab-hdmi-a1-hdmi-a2}:
- shard-glk: [INCOMPLETE][73] ([i915#1927] / [i915#58] / [k.org#198133]) -> [PASS][74]
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-glk6/igt@kms_flip@2x-flip-vs-rmfb-interruptible@ab-hdmi-a1-hdmi-a2.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-glk8/igt@kms_flip@2x-flip-vs-rmfb-interruptible@ab-hdmi-a1-hdmi-a2.html
* igt@kms_plane_scaling@pipe-b-scaler-with-clipping-clamping:
- shard-glk: [TIMEOUT][75] ([i915#1958]) -> [PASS][76]
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-glk5/igt@kms_plane_scaling@pipe-b-scaler-with-clipping-clamping.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-glk9/igt@kms_plane_scaling@pipe-b-scaler-with-clipping-clamping.html
* igt@kms_psr2_su@page_flip:
- shard-iclb: [SKIP][77] ([fdo#109642] / [fdo#111068]) -> [PASS][78]
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-iclb5/igt@kms_psr2_su@page_flip.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-iclb2/igt@kms_psr2_su@page_flip.html
* igt@kms_psr@psr2_sprite_blt:
- shard-iclb: [SKIP][79] ([fdo#109441]) -> [PASS][80]
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-iclb7/igt@kms_psr@psr2_sprite_blt.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-iclb2/igt@kms_psr@psr2_sprite_blt.html
* igt@kms_sequence@queue-idle:
- shard-hsw: [INCOMPLETE][81] ([i915#1927] / [i915#61]) -> [PASS][82]
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-hsw7/igt@kms_sequence@queue-idle.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-hsw7/igt@kms_sequence@queue-idle.html
* igt@kms_setmode@basic:
- shard-kbl: [FAIL][83] ([i915#31]) -> [PASS][84]
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-kbl4/igt@kms_setmode@basic.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-kbl6/igt@kms_setmode@basic.html
* igt@kms_universal_plane@universal-plane-gen9-features-pipe-a:
- shard-kbl: [DMESG-WARN][85] ([i915#93] / [i915#95]) -> [PASS][86] +42 similar issues
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-kbl2/igt@kms_universal_plane@universal-plane-gen9-features-pipe-a.html
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-kbl7/igt@kms_universal_plane@universal-plane-gen9-features-pipe-a.html
* {igt@perf@blocking-parameterized}:
- shard-tglb: [FAIL][87] ([i915#1542]) -> [PASS][88]
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-tglb1/igt@perf@blocking-parameterized.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-tglb6/igt@perf@blocking-parameterized.html
* igt@syncobj_wait@invalid-multi-wait-unsubmitted-submitted:
- shard-tglb: [DMESG-WARN][89] ([i915#402]) -> [PASS][90] +1 similar issue
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-tglb3/igt@syncobj_wait@invalid-multi-wait-unsubmitted-submitted.html
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-tglb1/igt@syncobj_wait@invalid-multi-wait-unsubmitted-submitted.html
#### Warnings ####
* igt@i915_pm_dc@dc6-psr:
- shard-snb: [SKIP][91] ([fdo#109271]) -> [INCOMPLETE][92] ([i915#82])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-snb4/igt@i915_pm_dc@dc6-psr.html
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-snb5/igt@i915_pm_dc@dc6-psr.html
- shard-tglb: [FAIL][93] ([i915#454]) -> [SKIP][94] ([i915#468])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-tglb6/igt@i915_pm_dc@dc6-psr.html
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-tglb2/igt@i915_pm_dc@dc6-psr.html
* igt@kms_ccs@pipe-c-crc-primary-basic:
- shard-glk: [TIMEOUT][95] ([i915#1958]) -> [SKIP][96] ([fdo#109271])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-glk5/igt@kms_ccs@pipe-c-crc-primary-basic.html
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-glk1/igt@kms_ccs@pipe-c-crc-primary-basic.html
* igt@kms_color@pipe-c-ctm-0-25:
- shard-iclb: [DMESG-FAIL][97] ([i915#1149] / [i915#1982]) -> [FAIL][98] ([i915#1149] / [i915#315])
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-iclb2/igt@kms_color@pipe-c-ctm-0-25.html
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-iclb4/igt@kms_color@pipe-c-ctm-0-25.html
* igt@kms_color_chamelium@pipe-c-ctm-limited-range:
- shard-apl: [TIMEOUT][99] ([i915#1366] / [i915#1635]) -> [SKIP][100] ([fdo#109271] / [fdo#111827])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl8/igt@kms_color_chamelium@pipe-c-ctm-limited-range.html
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl4/igt@kms_color_chamelium@pipe-c-ctm-limited-range.html
* igt@kms_content_protection@atomic:
- shard-apl: [FAIL][101] ([fdo#110321] / [fdo#110336]) -> [TIMEOUT][102] ([i915#1319])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl2/igt@kms_content_protection@atomic.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl7/igt@kms_content_protection@atomic.html
* igt@kms_content_protection@atomic-dpms:
- shard-apl: [TIMEOUT][103] ([i915#1319]) -> [TIMEOUT][104] ([i915#1319] / [i915#1635])
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl2/igt@kms_content_protection@atomic-dpms.html
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl3/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@lic:
- shard-apl: [DMESG-FAIL][105] ([fdo#110321] / [i915#95]) -> [TIMEOUT][106] ([i915#1319] / [i915#1635])
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl1/igt@kms_content_protection@lic.html
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl1/igt@kms_content_protection@lic.html
* igt@kms_cursor_legacy@cursora-vs-flipb-toggle:
- shard-glk: [DMESG-WARN][107] ([i915#1926]) -> [DMESG-WARN][108] ([i915#1927])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-glk7/igt@kms_cursor_legacy@cursora-vs-flipb-toggle.html
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-glk8/igt@kms_cursor_legacy@cursora-vs-flipb-toggle.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-apl: [TIMEOUT][109] ([i915#1635]) -> [SKIP][110] ([fdo#109271]) +1 similar issue
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_plane_alpha_blend@pipe-a-alpha-7efc:
- shard-apl: [FAIL][111] ([fdo#108145] / [i915#265]) -> [DMESG-FAIL][112] ([fdo#108145] / [i915#95]) +1 similar issue
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-apl1/igt@kms_plane_alpha_blend@pipe-a-alpha-7efc.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-apl3/igt@kms_plane_alpha_blend@pipe-a-alpha-7efc.html
* igt@runner@aborted:
- shard-hsw: [FAIL][113] -> [FAIL][114] ([i915#1927])
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_5695/shard-hsw7/igt@runner@aborted.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/shard-hsw4/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#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110321]: https://bugs.freedesktop.org/show_bug.cgi?id=110321
[fdo#110336]: https://bugs.freedesktop.org/show_bug.cgi?id=110336
[fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1149]: https://gitlab.freedesktop.org/drm/intel/issues/1149
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#1319]: https://gitlab.freedesktop.org/drm/intel/issues/1319
[i915#1366]: https://gitlab.freedesktop.org/drm/intel/issues/1366
[i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542
[i915#155]: https://gitlab.freedesktop.org/drm/intel/issues/155
[i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
[i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635
[i915#173]: https://gitlab.freedesktop.org/drm/intel/issues/173
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1899]: https://gitlab.freedesktop.org/drm/intel/issues/1899
[i915#1904]: https://gitlab.freedesktop.org/drm/intel/issues/1904
[i915#1911]: https://gitlab.freedesktop.org/drm/intel/issues/1911
[i915#1925]: https://gitlab.freedesktop.org/drm/intel/issues/1925
[i915#1926]: https://gitlab.freedesktop.org/drm/intel/issues/1926
[i915#1927]: https://gitlab.freedesktop.org/drm/intel/issues/1927
[i915#1930]: https://gitlab.freedesktop.org/drm/intel/issues/1930
[i915#1958]: https://gitlab.freedesktop.org/drm/intel/issues/1958
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31
[i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315
[i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
[i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
[i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456
[i915#468]: https://gitlab.freedesktop.org/drm/intel/issues/468
[i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
[i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58
[i915#61]: https://gitlab.freedesktop.org/drm/intel/issues/61
[i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
[i915#93]: https://gitlab.freedesktop.org/drm/intel/issues/93
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
[k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133
Participating hosts (8 -> 8)
------------------------------
No changes in participating hosts
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5695 -> IGTPW_4650
CI-20190529: 20190529
CI_DRM_8581: a3ae560b4c2a6dfb0d550cc40471a7b0c7043500 @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4650: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/index.html
IGT_5695: 53e8c878a6fb5708e63c99403691e8960b86ea9c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4650/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 2/4] lib/intel_batchbuffer: add bb reset
2020-06-04 10:03 ` [igt-dev] [PATCH i-g-t v2 2/4] lib/intel_batchbuffer: add bb reset Zbigniew Kempczyński
@ 2020-06-04 15:07 ` Chris Wilson
2020-06-05 5:40 ` Zbigniew Kempczyński
0 siblings, 1 reply; 14+ messages in thread
From: Chris Wilson @ 2020-06-04 15:07 UTC (permalink / raw)
To: zbigniew.kempczynski, igt-dev
Quoting Zbigniew Kempczyński (2020-06-04 11:03:51)
> +/**
> + * intel_bb_object_offset_to_buf:
> + * @ibb: pointer to intel_bb
> + * @buf: buffer we want to store last exec offset and context id
> + *
> + * Copy object offset used in the batch to intel_buf to allow caller prepare
> + * other batch likely without relocations.
> + */
> +bool intel_bb_object_offset_to_buf(struct intel_bb *ibb, struct intel_buf *buf)
> +{
> + struct drm_i915_gem_exec_object2 object = { .handle = buf->handle };
> + struct drm_i915_gem_exec_object2 **found;
> +
> + igt_assert(ibb);
> + igt_assert(buf);
> +
> + found = tfind((void *) &object, &ibb->root, __compare_objects);
> + if (!found) {
> + buf->addr.offset = 0;
> + buf->addr.ctx = 0;
> +
> + return false;
> + }
> +
> + buf->addr.offset = (*found)->offset;
> + buf->addr.ctx = ibb->ctx;
Ok, so it's tracking ctx so that we can return the right offset when the
buffer is used by multiple contexts. But ctx is never compared in the
lookup?
[There's also the problem of uint32_t ctx reuse, except there it can
probably happily inherit the old addr.]
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for Remove libdrm from media_spin (rev2)
2020-06-04 10:03 [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin Zbigniew Kempczyński
` (5 preceding siblings ...)
2020-06-04 14:56 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
@ 2020-06-04 18:17 ` Patchwork
2020-06-04 21:32 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2020-06-04 18:17 UTC (permalink / raw)
To: Zbigniew Kempczyński; +Cc: igt-dev
== Series Details ==
Series: Remove libdrm from media_spin (rev2)
URL : https://patchwork.freedesktop.org/series/77993/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_8584 -> IGTPW_4651
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/index.html
New tests
---------
New tests have been introduced between CI_DRM_8584 and IGTPW_4651:
### New IGT tests (1) ###
* igt@i915_pm_sseu:
- Statuses :
- Exec time: [None] s
Changes
-------
No changes found
Participating hosts (47 -> 44)
------------------------------
Additional (4): fi-bsw-kefka fi-skl-lmem fi-cml-s fi-bsw-n3050
Missing (7): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-byt-clapper fi-bdw-samus
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5695 -> IGTPW_4651
CI-20190529: 20190529
CI_DRM_8584: 2219a8bbaa3c87f07656725f4d2ea6623d1fd09a @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4651: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/index.html
IGT_5695: 53e8c878a6fb5708e63c99403691e8960b86ea9c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* [igt-dev] ✓ Fi.CI.IGT: success for Remove libdrm from media_spin (rev2)
2020-06-04 10:03 [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin Zbigniew Kempczyński
` (6 preceding siblings ...)
2020-06-04 18:17 ` [igt-dev] ✓ Fi.CI.BAT: success for Remove libdrm from media_spin (rev2) Patchwork
@ 2020-06-04 21:32 ` Patchwork
7 siblings, 0 replies; 14+ messages in thread
From: Patchwork @ 2020-06-04 21:32 UTC (permalink / raw)
To: Zbigniew Kempczyński; +Cc: igt-dev
== Series Details ==
Series: Remove libdrm from media_spin (rev2)
URL : https://patchwork.freedesktop.org/series/77993/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_8584_full -> IGTPW_4651_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/index.html
Known issues
------------
Here are the changes found in IGTPW_4651_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_exec_reloc@basic-cpu-gtt-active:
- shard-apl: [PASS][1] -> [TIMEOUT][2] ([i915#1635])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl8/igt@gem_exec_reloc@basic-cpu-gtt-active.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl2/igt@gem_exec_reloc@basic-cpu-gtt-active.html
* igt@gem_exec_reloc@basic-wc-read:
- shard-apl: [PASS][3] -> [DMESG-WARN][4] ([i915#95]) +38 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl8/igt@gem_exec_reloc@basic-wc-read.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl1/igt@gem_exec_reloc@basic-wc-read.html
* igt@gem_exec_whisper@basic-fds-priority:
- shard-glk: [PASS][5] -> [DMESG-WARN][6] ([i915#118] / [i915#95]) +2 similar issues
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk6/igt@gem_exec_whisper@basic-fds-priority.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk9/igt@gem_exec_whisper@basic-fds-priority.html
* igt@gem_media_fill:
- shard-kbl: [PASS][7] -> [DMESG-WARN][8] ([i915#93] / [i915#95]) +45 similar issues
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-kbl4/igt@gem_media_fill.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-kbl1/igt@gem_media_fill.html
* igt@gem_mmap_wc@write-read-distinct:
- shard-tglb: [PASS][9] -> [DMESG-WARN][10] ([i915#402])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-tglb2/igt@gem_mmap_wc@write-read-distinct.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-tglb8/igt@gem_mmap_wc@write-read-distinct.html
* igt@gen9_exec_parse@allowed-all:
- shard-apl: [PASS][11] -> [DMESG-WARN][12] ([i915#1436] / [i915#716])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl4/igt@gen9_exec_parse@allowed-all.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl8/igt@gen9_exec_parse@allowed-all.html
* igt@kms_big_fb@y-tiled-32bpp-rotate-180:
- shard-glk: [PASS][13] -> [DMESG-WARN][14] ([i915#1982])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk4/igt@kms_big_fb@y-tiled-32bpp-rotate-180.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk6/igt@kms_big_fb@y-tiled-32bpp-rotate-180.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-0:
- shard-glk: [PASS][15] -> [DMESG-FAIL][16] ([i915#118] / [i915#95])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk5/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk8/igt@kms_big_fb@y-tiled-64bpp-rotate-0.html
* igt@kms_cursor_crc@pipe-a-cursor-256x256-random:
- shard-kbl: [PASS][17] -> [DMESG-FAIL][18] ([i915#54] / [i915#95]) +1 similar issue
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-kbl2/igt@kms_cursor_crc@pipe-a-cursor-256x256-random.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-kbl1/igt@kms_cursor_crc@pipe-a-cursor-256x256-random.html
* igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic:
- shard-kbl: [PASS][19] -> [DMESG-WARN][20] ([i915#1982])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-kbl7/igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-kbl3/igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic.html
* igt@kms_flip_tiling@flip-changes-tiling:
- shard-kbl: [PASS][21] -> [DMESG-FAIL][22] ([i915#95]) +2 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-kbl3/igt@kms_flip_tiling@flip-changes-tiling.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-kbl6/igt@kms_flip_tiling@flip-changes-tiling.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-tglb: [PASS][23] -> [DMESG-WARN][24] ([i915#1982])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-tglb5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-tglb1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_hdmi_inject@inject-audio:
- shard-tglb: [PASS][25] -> [SKIP][26] ([i915#433])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-tglb6/igt@kms_hdmi_inject@inject-audio.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-tglb3/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_lease@setcrtc_implicit_plane:
- shard-glk: [PASS][27] -> [TIMEOUT][28] ([i915#1958]) +1 similar issue
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk9/igt@kms_lease@setcrtc_implicit_plane.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk4/igt@kms_lease@setcrtc_implicit_plane.html
* igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
- shard-apl: [PASS][29] -> [DMESG-WARN][30] ([i915#180]) +1 similar issue
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
- shard-kbl: [PASS][31] -> [DMESG-WARN][32] ([i915#180]) +1 similar issue
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-kbl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-kbl6/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
* igt@kms_plane_cursor@pipe-a-overlay-size-64:
- shard-apl: [PASS][33] -> [DMESG-FAIL][34] ([i915#95]) +2 similar issues
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl4/igt@kms_plane_cursor@pipe-a-overlay-size-64.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl2/igt@kms_plane_cursor@pipe-a-overlay-size-64.html
* igt@kms_plane_lowres@pipe-b-tiling-y:
- shard-apl: [PASS][35] -> [FAIL][36] ([i915#899])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl8/igt@kms_plane_lowres@pipe-b-tiling-y.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl4/igt@kms_plane_lowres@pipe-b-tiling-y.html
* igt@kms_psr@psr2_primary_page_flip:
- shard-iclb: [PASS][37] -> [SKIP][38] ([fdo#109441]) +2 similar issues
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-iclb3/igt@kms_psr@psr2_primary_page_flip.html
* igt@kms_vblank@pipe-c-accuracy-idle:
- shard-glk: [PASS][39] -> [FAIL][40] ([i915#43])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk6/igt@kms_vblank@pipe-c-accuracy-idle.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk7/igt@kms_vblank@pipe-c-accuracy-idle.html
* igt@kms_vblank@pipe-c-wait-busy-hang:
- shard-apl: [PASS][41] -> [DMESG-WARN][42] ([i915#1982]) +2 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl7/igt@kms_vblank@pipe-c-wait-busy-hang.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl7/igt@kms_vblank@pipe-c-wait-busy-hang.html
#### Possible fixes ####
* igt@gem_exec_params@control:
- shard-tglb: [DMESG-WARN][43] ([i915#402]) -> [PASS][44]
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-tglb8/igt@gem_exec_params@control.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-tglb6/igt@gem_exec_params@control.html
* {igt@gem_exec_reloc@basic-concurrent0}:
- shard-glk: [FAIL][45] ([i915#1930]) -> [PASS][46]
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk9/igt@gem_exec_reloc@basic-concurrent0.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk6/igt@gem_exec_reloc@basic-concurrent0.html
* {igt@gem_exec_schedule@implicit-write-read@rcs0}:
- shard-snb: [INCOMPLETE][47] ([i915#82]) -> [PASS][48]
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-snb2/igt@gem_exec_schedule@implicit-write-read@rcs0.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-snb1/igt@gem_exec_schedule@implicit-write-read@rcs0.html
* igt@gem_exec_whisper@basic-contexts-forked:
- shard-glk: [DMESG-WARN][49] ([i915#118] / [i915#95]) -> [PASS][50] +1 similar issue
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk2/igt@gem_exec_whisper@basic-contexts-forked.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk7/igt@gem_exec_whisper@basic-contexts-forked.html
* igt@gem_workarounds@suspend-resume-fd:
- shard-tglb: [INCOMPLETE][51] ([i915#1602] / [i915#456]) -> [PASS][52]
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-tglb1/igt@gem_workarounds@suspend-resume-fd.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-tglb6/igt@gem_workarounds@suspend-resume-fd.html
* igt@i915_pm_dc@dc3co-vpb-simulation:
- shard-tglb: [SKIP][53] ([i915#1904]) -> [PASS][54]
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-tglb5/igt@i915_pm_dc@dc3co-vpb-simulation.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-tglb5/igt@i915_pm_dc@dc3co-vpb-simulation.html
* igt@i915_pm_dc@dc5-psr:
- shard-iclb: [FAIL][55] ([i915#1899]) -> [PASS][56]
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-iclb2/igt@i915_pm_dc@dc5-psr.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-iclb6/igt@i915_pm_dc@dc5-psr.html
* igt@i915_suspend@debugfs-reader:
- shard-apl: [DMESG-WARN][57] ([i915#180]) -> [PASS][58] +1 similar issue
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl6/igt@i915_suspend@debugfs-reader.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl8/igt@i915_suspend@debugfs-reader.html
* igt@i915_suspend@forcewake:
- shard-glk: [INCOMPLETE][59] ([i915#58] / [k.org#198133]) -> [PASS][60]
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk8/igt@i915_suspend@forcewake.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk7/igt@i915_suspend@forcewake.html
* igt@kms_color@pipe-d-ctm-0-5:
- shard-tglb: [DMESG-WARN][61] ([i915#1149] / [i915#402]) -> [PASS][62]
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-tglb2/igt@kms_color@pipe-d-ctm-0-5.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-tglb6/igt@kms_color@pipe-d-ctm-0-5.html
* igt@kms_cursor_crc@pipe-a-cursor-128x42-random:
- shard-kbl: [DMESG-FAIL][63] ([i915#54] / [i915#95]) -> [PASS][64] +2 similar issues
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-kbl4/igt@kms_cursor_crc@pipe-a-cursor-128x42-random.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-kbl3/igt@kms_cursor_crc@pipe-a-cursor-128x42-random.html
* igt@kms_cursor_crc@pipe-c-cursor-suspend:
- shard-glk: [DMESG-WARN][65] ([i915#1982]) -> [PASS][66] +1 similar issue
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk8/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk7/igt@kms_cursor_crc@pipe-c-cursor-suspend.html
* igt@kms_cursor_legacy@cursora-vs-flipb-toggle:
- shard-glk: [DMESG-FAIL][67] ([i915#1925] / [i915#1926]) -> [PASS][68]
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk5/igt@kms_cursor_legacy@cursora-vs-flipb-toggle.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk5/igt@kms_cursor_legacy@cursora-vs-flipb-toggle.html
* igt@kms_cursor_legacy@short-flip-after-cursor-atomic-transitions-varying-size:
- shard-apl: [DMESG-WARN][69] ([i915#1982]) -> [PASS][70]
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl4/igt@kms_cursor_legacy@short-flip-after-cursor-atomic-transitions-varying-size.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl1/igt@kms_cursor_legacy@short-flip-after-cursor-atomic-transitions-varying-size.html
* igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-xtiled:
- shard-apl: [TIMEOUT][71] ([i915#1635]) -> [PASS][72] +1 similar issue
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl2/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-xtiled.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl4/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-xtiled.html
* igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled:
- shard-apl: [DMESG-FAIL][73] ([i915#54] / [i915#95]) -> [PASS][74] +1 similar issue
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl2/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl7/igt@kms_draw_crc@draw-method-xrgb8888-mmap-gtt-untiled.html
* {igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a1-hdmi-a2}:
- shard-glk: [FAIL][75] ([i915#79]) -> [PASS][76]
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk4/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a1-hdmi-a2.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ab-hdmi-a1-hdmi-a2.html
* {igt@kms_flip@2x-plain-flip-ts-check@ab-hdmi-a1-hdmi-a2}:
- shard-glk: [FAIL][77] ([i915#1928]) -> [PASS][78]
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk9/igt@kms_flip@2x-plain-flip-ts-check@ab-hdmi-a1-hdmi-a2.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk8/igt@kms_flip@2x-plain-flip-ts-check@ab-hdmi-a1-hdmi-a2.html
* igt@kms_flip_tiling@flip-x-tiled:
- shard-apl: [DMESG-WARN][79] ([i915#95]) -> [PASS][80] +33 similar issues
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl6/igt@kms_flip_tiling@flip-x-tiled.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl1/igt@kms_flip_tiling@flip-x-tiled.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
- shard-tglb: [INCOMPLETE][81] -> [PASS][82]
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html
* igt@kms_psr@psr2_cursor_render:
- shard-iclb: [SKIP][83] ([fdo#109441]) -> [PASS][84] +2 similar issues
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-iclb5/igt@kms_psr@psr2_cursor_render.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-iclb2/igt@kms_psr@psr2_cursor_render.html
* igt@kms_universal_plane@universal-plane-gen9-features-pipe-a:
- shard-kbl: [DMESG-WARN][85] ([i915#93] / [i915#95]) -> [PASS][86] +44 similar issues
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-kbl7/igt@kms_universal_plane@universal-plane-gen9-features-pipe-a.html
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-kbl6/igt@kms_universal_plane@universal-plane-gen9-features-pipe-a.html
* {igt@perf_pmu@module-unload}:
- shard-iclb: [DMESG-WARN][87] ([i915#1982]) -> [PASS][88]
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-iclb7/igt@perf_pmu@module-unload.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-iclb1/igt@perf_pmu@module-unload.html
#### Warnings ####
* igt@gen3_render_tiledy_blits:
- shard-hsw: [DMESG-FAIL][89] ([i915#1927]) -> [SKIP][90] ([fdo#109271])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-hsw7/igt@gen3_render_tiledy_blits.html
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-hsw1/igt@gen3_render_tiledy_blits.html
* igt@kms_color_chamelium@pipe-c-ctm-limited-range:
- shard-apl: [TIMEOUT][91] ([i915#1366] / [i915#1635]) -> [SKIP][92] ([fdo#109271] / [fdo#111827])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl2/igt@kms_color_chamelium@pipe-c-ctm-limited-range.html
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl3/igt@kms_color_chamelium@pipe-c-ctm-limited-range.html
* igt@kms_color_chamelium@pipe-d-ctm-0-75:
- shard-glk: [SKIP][93] ([fdo#109271] / [fdo#111827]) -> [TIMEOUT][94] ([i915#1366] / [i915#1958])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk1/igt@kms_color_chamelium@pipe-d-ctm-0-75.html
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk4/igt@kms_color_chamelium@pipe-d-ctm-0-75.html
- shard-apl: [SKIP][95] ([fdo#109271] / [fdo#111827]) -> [TIMEOUT][96] ([i915#1366] / [i915#1635])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl6/igt@kms_color_chamelium@pipe-d-ctm-0-75.html
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl2/igt@kms_color_chamelium@pipe-d-ctm-0-75.html
* igt@kms_content_protection@atomic:
- shard-apl: [FAIL][97] ([fdo#110321] / [fdo#110336]) -> [TIMEOUT][98] ([i915#1319] / [i915#1635])
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl2/igt@kms_content_protection@atomic.html
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl3/igt@kms_content_protection@atomic.html
* igt@kms_content_protection@lic:
- shard-kbl: [DMESG-FAIL][99] ([fdo#110321] / [i915#95]) -> [TIMEOUT][100] ([i915#1319])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-kbl2/igt@kms_content_protection@lic.html
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-kbl7/igt@kms_content_protection@lic.html
* igt@kms_content_protection@srm:
- shard-apl: [DMESG-FAIL][101] ([fdo#110321] / [i915#95]) -> [TIMEOUT][102] ([i915#1319] / [i915#1635])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl4/igt@kms_content_protection@srm.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl7/igt@kms_content_protection@srm.html
* igt@kms_content_protection@uevent:
- shard-kbl: [FAIL][103] ([i915#357]) -> [DMESG-FAIL][104] ([i915#357] / [i915#95])
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-kbl1/igt@kms_content_protection@uevent.html
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-kbl1/igt@kms_content_protection@uevent.html
- shard-apl: [FAIL][105] ([i915#357]) -> [DMESG-FAIL][106] ([i915#357] / [i915#95])
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl4/igt@kms_content_protection@uevent.html
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl2/igt@kms_content_protection@uevent.html
* igt@kms_cursor_crc@pipe-d-cursor-512x512-random:
- shard-apl: [SKIP][107] ([fdo#109271]) -> [TIMEOUT][108] ([i915#1635])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl8/igt@kms_cursor_crc@pipe-d-cursor-512x512-random.html
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl2/igt@kms_cursor_crc@pipe-d-cursor-512x512-random.html
- shard-glk: [SKIP][109] ([fdo#109271]) -> [TIMEOUT][110] ([i915#1958])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-glk8/igt@kms_cursor_crc@pipe-d-cursor-512x512-random.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-glk4/igt@kms_cursor_crc@pipe-d-cursor-512x512-random.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-apl: [TIMEOUT][111] ([i915#1635]) -> [SKIP][112] ([fdo#109271]) +1 similar issue
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_8584/shard-apl2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/shard-apl7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt.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#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#110321]: https://bugs.freedesktop.org/show_bug.cgi?id=110321
[fdo#110336]: https://bugs.freedesktop.org/show_bug.cgi?id=110336
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1149]: https://gitlab.freedesktop.org/drm/intel/issues/1149
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#1319]: https://gitlab.freedesktop.org/drm/intel/issues/1319
[i915#1366]: https://gitlab.freedesktop.org/drm/intel/issues/1366
[i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
[i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602
[i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1899]: https://gitlab.freedesktop.org/drm/intel/issues/1899
[i915#1904]: https://gitlab.freedesktop.org/drm/intel/issues/1904
[i915#1925]: https://gitlab.freedesktop.org/drm/intel/issues/1925
[i915#1926]: https://gitlab.freedesktop.org/drm/intel/issues/1926
[i915#1927]: https://gitlab.freedesktop.org/drm/intel/issues/1927
[i915#1928]: https://gitlab.freedesktop.org/drm/intel/issues/1928
[i915#1930]: https://gitlab.freedesktop.org/drm/intel/issues/1930
[i915#1958]: https://gitlab.freedesktop.org/drm/intel/issues/1958
[i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
[i915#357]: https://gitlab.freedesktop.org/drm/intel/issues/357
[i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402
[i915#43]: https://gitlab.freedesktop.org/drm/intel/issues/43
[i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
[i915#456]: https://gitlab.freedesktop.org/drm/intel/issues/456
[i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54
[i915#58]: https://gitlab.freedesktop.org/drm/intel/issues/58
[i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82
[i915#899]: https://gitlab.freedesktop.org/drm/intel/issues/899
[i915#93]: https://gitlab.freedesktop.org/drm/intel/issues/93
[i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95
[k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133
Participating hosts (10 -> 8)
------------------------------
Missing (2): pig-skl-6260u pig-glk-j5005
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_5695 -> IGTPW_4651
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_8584: 2219a8bbaa3c87f07656725f4d2ea6623d1fd09a @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_4651: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_4651/index.html
IGT_5695: 53e8c878a6fb5708e63c99403691e8960b86ea9c @ 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_4651/index.html
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 2/4] lib/intel_batchbuffer: add bb reset
2020-06-04 15:07 ` Chris Wilson
@ 2020-06-05 5:40 ` Zbigniew Kempczyński
2020-06-05 14:17 ` Chris Wilson
0 siblings, 1 reply; 14+ messages in thread
From: Zbigniew Kempczyński @ 2020-06-05 5:40 UTC (permalink / raw)
To: Chris Wilson; +Cc: igt-dev
On Thu, Jun 04, 2020 at 04:07:49PM +0100, Chris Wilson wrote:
> Quoting Zbigniew Kempczyński (2020-06-04 11:03:51)
> > +/**
> > + * intel_bb_object_offset_to_buf:
> > + * @ibb: pointer to intel_bb
> > + * @buf: buffer we want to store last exec offset and context id
> > + *
> > + * Copy object offset used in the batch to intel_buf to allow caller prepare
> > + * other batch likely without relocations.
> > + */
> > +bool intel_bb_object_offset_to_buf(struct intel_bb *ibb, struct intel_buf *buf)
> > +{
> > + struct drm_i915_gem_exec_object2 object = { .handle = buf->handle };
> > + struct drm_i915_gem_exec_object2 **found;
> > +
> > + igt_assert(ibb);
> > + igt_assert(buf);
> > +
> > + found = tfind((void *) &object, &ibb->root, __compare_objects);
> > + if (!found) {
> > + buf->addr.offset = 0;
> > + buf->addr.ctx = 0;
> > +
> > + return false;
> > + }
> > +
> > + buf->addr.offset = (*found)->offset;
> > + buf->addr.ctx = ibb->ctx;
>
> Ok, so it's tracking ctx so that we can return the right offset when the
> buffer is used by multiple contexts. But ctx is never compared in the
> lookup?
Do you think should I add such multictx tracking to the intel_bb? It will
require additional collecting tree (current one is an index tree over
objects allocated, so for caching ctx/address new one is necessary).
I assumed intel_bb_objects_offset_to_buf() is enough to provide the user
ability to collect the addresses on its own (if it really requires that).
--
Zbigniew
>
> [There's also the problem of uint32_t ctx reuse, except there it can
> probably happily inherit the old addr.]
> -Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [igt-dev] [PATCH i-g-t v2 2/4] lib/intel_batchbuffer: add bb reset
2020-06-05 5:40 ` Zbigniew Kempczyński
@ 2020-06-05 14:17 ` Chris Wilson
0 siblings, 0 replies; 14+ messages in thread
From: Chris Wilson @ 2020-06-05 14:17 UTC (permalink / raw)
To: zbigniew.kempczynski; +Cc: igt-dev
Quoting Zbigniew Kempczyński (2020-06-05 06:40:50)
> On Thu, Jun 04, 2020 at 04:07:49PM +0100, Chris Wilson wrote:
> > Quoting Zbigniew Kempczyński (2020-06-04 11:03:51)
> > > +/**
> > > + * intel_bb_object_offset_to_buf:
> > > + * @ibb: pointer to intel_bb
> > > + * @buf: buffer we want to store last exec offset and context id
> > > + *
> > > + * Copy object offset used in the batch to intel_buf to allow caller prepare
> > > + * other batch likely without relocations.
> > > + */
> > > +bool intel_bb_object_offset_to_buf(struct intel_bb *ibb, struct intel_buf *buf)
> > > +{
> > > + struct drm_i915_gem_exec_object2 object = { .handle = buf->handle };
> > > + struct drm_i915_gem_exec_object2 **found;
> > > +
> > > + igt_assert(ibb);
> > > + igt_assert(buf);
> > > +
> > > + found = tfind((void *) &object, &ibb->root, __compare_objects);
> > > + if (!found) {
> > > + buf->addr.offset = 0;
> > > + buf->addr.ctx = 0;
> > > +
> > > + return false;
> > > + }
> > > +
> > > + buf->addr.offset = (*found)->offset;
> > > + buf->addr.ctx = ibb->ctx;
> >
> > Ok, so it's tracking ctx so that we can return the right offset when the
> > buffer is used by multiple contexts. But ctx is never compared in the
> > lookup?
>
> Do you think should I add such multictx tracking to the intel_bb? It will
> require additional collecting tree (current one is an index tree over
> objects allocated, so for caching ctx/address new one is necessary).
> I assumed intel_bb_objects_offset_to_buf() is enough to provide the user
> ability to collect the addresses on its own (if it really requires that).
Ok, so this is an export. I was thinking it was an internal lookup.
My main concern was that something was using the ctx, and that appears
to be satisfied. I may suggest that it is backwards and the caller
should be telling the batch which context it was constructed for, but
time will tell :)
-Chris
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2020-06-05 14:18 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-04 10:03 [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin Zbigniew Kempczyński
2020-06-04 10:03 ` [igt-dev] [PATCH i-g-t v2 1/4] lib/intel_bufops: add fields for keeping offset and context Zbigniew Kempczyński
2020-06-04 10:03 ` [igt-dev] [PATCH i-g-t v2 2/4] lib/intel_batchbuffer: add bb reset Zbigniew Kempczyński
2020-06-04 15:07 ` Chris Wilson
2020-06-05 5:40 ` Zbigniew Kempczyński
2020-06-05 14:17 ` Chris Wilson
2020-06-04 10:10 ` [igt-dev] [PATCH i-g-t v2 3/4] tests/i915_pm_sseu: remove libdrm dependency Zbigniew Kempczyński
2020-06-04 10:10 ` [igt-dev] [PATCH i-g-t v2 4/4] HAX: run gpgpu|media_fill and i915_pm_sseu in BAT only Zbigniew Kempczyński
2020-06-04 11:04 ` [igt-dev] ✓ Fi.CI.BAT: success for Remove libdrm from media_spin Patchwork
2020-06-04 14:56 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2020-06-04 18:17 ` [igt-dev] ✓ Fi.CI.BAT: success for Remove libdrm from media_spin (rev2) Patchwork
2020-06-04 21:32 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2020-06-04 9:16 [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin Zbigniew Kempczyński
2020-06-04 9:16 ` [igt-dev] [PATCH i-g-t v2 2/4] lib/intel_batchbuffer: add bb reset Zbigniew Kempczyński
2020-06-04 9:13 [igt-dev] [PATCH i-g-t v2 0/4] Remove libdrm from media_spin Zbigniew Kempczyński
2020-06-04 9:13 ` [igt-dev] [PATCH i-g-t v2 2/4] lib/intel_batchbuffer: add bb reset Zbigniew Kempczyński
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox