* [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking
@ 2023-07-27 6:41 Jouni Högander
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 1/4] drm/i915: Add macros to get i915 device from i915_gem_object Jouni Högander
` (7 more replies)
0 siblings, 8 replies; 13+ messages in thread
From: Jouni Högander @ 2023-07-27 6:41 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula, Nirmoy Das, Rodrigo Vivi
We are preparing for Xe driver. Binary objects will have differing
implementation in Xe driver. Due this we want to remove direct
accesses to i915_gem_object members and leave details to binary object
implementation.
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
v4:
- Fix intel_frontbuffer_get return value
- s/front_ret/cur/
v3:
- Move gem object frontbuffer getter/setter into header file
- operate on and return pointer in defined macros
v2: desribe i915_ggtt_clear_scanout function parameter
Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Jouni Högander (4):
drm/i915: Add macros to get i915 device from i915_gem_object
drm/i915: Add getter/setter for i915_gem_object->frontbuffer
drm/i915/display: Remove i915_gem_object_types.h from
intel_frontbuffer.h
drm/i915: Add function to clear scanout flag for vmas
.../gpu/drm/i915/display/intel_frontbuffer.c | 46 +++++--------
.../gpu/drm/i915/display/intel_frontbuffer.h | 28 --------
drivers/gpu/drm/i915/gem/i915_gem_object.c | 4 +-
drivers/gpu/drm/i915/gem/i915_gem_object.h | 67 +++++++++++++++++++
.../gpu/drm/i915/gem/i915_gem_object_types.h | 3 +
drivers/gpu/drm/i915/i915_vma.c | 22 +++++-
drivers/gpu/drm/i915/i915_vma.h | 2 +
7 files changed, 112 insertions(+), 60 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Intel-gfx] [PATCH v4 1/4] drm/i915: Add macros to get i915 device from i915_gem_object
2023-07-27 6:41 [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking Jouni Högander
@ 2023-07-27 6:41 ` Jouni Högander
2023-07-31 9:32 ` Nirmoy Das
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 2/4] drm/i915: Add getter/setter for i915_gem_object->frontbuffer Jouni Högander
` (6 subsequent siblings)
7 siblings, 1 reply; 13+ messages in thread
From: Jouni Högander @ 2023-07-27 6:41 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula
We want to stop touching directly i915_gem_object struct members in
intel_frontbuffer code. As a part of this we add helper macro to get i915
device from i915_gem_object.
v2: operate on and return pointer in defined macros
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
---
.../gpu/drm/i915/display/intel_frontbuffer.c | 18 +++++++++---------
.../gpu/drm/i915/gem/i915_gem_object_types.h | 3 +++
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.c b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
index 17a7aa8b28c2..3ce0436a0c7d 100644
--- a/drivers/gpu/drm/i915/display/intel_frontbuffer.c
+++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
@@ -167,7 +167,7 @@ void __intel_fb_invalidate(struct intel_frontbuffer *front,
enum fb_op_origin origin,
unsigned int frontbuffer_bits)
{
- struct drm_i915_private *i915 = to_i915(front->obj->base.dev);
+ struct drm_i915_private *i915 = intel_bo_to_i915(front->obj);
if (origin == ORIGIN_CS) {
spin_lock(&i915->display.fb_tracking.lock);
@@ -188,7 +188,7 @@ void __intel_fb_flush(struct intel_frontbuffer *front,
enum fb_op_origin origin,
unsigned int frontbuffer_bits)
{
- struct drm_i915_private *i915 = to_i915(front->obj->base.dev);
+ struct drm_i915_private *i915 = intel_bo_to_i915(front->obj);
if (origin == ORIGIN_CS) {
spin_lock(&i915->display.fb_tracking.lock);
@@ -221,14 +221,14 @@ static void frontbuffer_retire(struct i915_active *ref)
}
static void frontbuffer_release(struct kref *ref)
- __releases(&to_i915(front->obj->base.dev)->display.fb_tracking.lock)
+ __releases(&intel_bo_to_i915(front->obj)->display.fb_tracking.lock)
{
struct intel_frontbuffer *front =
container_of(ref, typeof(*front), ref);
struct drm_i915_gem_object *obj = front->obj;
struct i915_vma *vma;
- drm_WARN_ON(obj->base.dev, atomic_read(&front->bits));
+ drm_WARN_ON(&intel_bo_to_i915(obj)->drm, atomic_read(&front->bits));
spin_lock(&obj->vma.lock);
for_each_ggtt_vma(vma, obj) {
@@ -238,7 +238,7 @@ static void frontbuffer_release(struct kref *ref)
spin_unlock(&obj->vma.lock);
RCU_INIT_POINTER(obj->frontbuffer, NULL);
- spin_unlock(&to_i915(obj->base.dev)->display.fb_tracking.lock);
+ spin_unlock(&intel_bo_to_i915(obj)->display.fb_tracking.lock);
i915_active_fini(&front->write);
@@ -249,7 +249,7 @@ static void frontbuffer_release(struct kref *ref)
struct intel_frontbuffer *
intel_frontbuffer_get(struct drm_i915_gem_object *obj)
{
- struct drm_i915_private *i915 = to_i915(obj->base.dev);
+ struct drm_i915_private *i915 = intel_bo_to_i915(obj);
struct intel_frontbuffer *front;
front = __intel_frontbuffer_get(obj);
@@ -286,7 +286,7 @@ void intel_frontbuffer_put(struct intel_frontbuffer *front)
{
kref_put_lock(&front->ref,
frontbuffer_release,
- &to_i915(front->obj->base.dev)->display.fb_tracking.lock);
+ &intel_bo_to_i915(front->obj)->display.fb_tracking.lock);
}
/**
@@ -315,13 +315,13 @@ void intel_frontbuffer_track(struct intel_frontbuffer *old,
BUILD_BUG_ON(I915_MAX_PLANES > INTEL_FRONTBUFFER_BITS_PER_PIPE);
if (old) {
- drm_WARN_ON(old->obj->base.dev,
+ drm_WARN_ON(&intel_bo_to_i915(old->obj)->drm,
!(atomic_read(&old->bits) & frontbuffer_bits));
atomic_andnot(frontbuffer_bits, &old->bits);
}
if (new) {
- drm_WARN_ON(new->obj->base.dev,
+ drm_WARN_ON(&intel_bo_to_i915(new->obj)->drm,
atomic_read(&new->bits) & frontbuffer_bits);
atomic_or(frontbuffer_bits, &new->bits);
}
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
index e72c57716bee..3de7db70f4ed 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
@@ -718,6 +718,9 @@ struct drm_i915_gem_object {
};
};
+#define intel_bo_to_drm_bo(bo) (&(bo)->base)
+#define intel_bo_to_i915(bo) to_i915(intel_bo_to_drm_bo(bo)->dev)
+
static inline struct drm_i915_gem_object *
to_intel_bo(struct drm_gem_object *gem)
{
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Intel-gfx] [PATCH v4 2/4] drm/i915: Add getter/setter for i915_gem_object->frontbuffer
2023-07-27 6:41 [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking Jouni Högander
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 1/4] drm/i915: Add macros to get i915 device from i915_gem_object Jouni Högander
@ 2023-07-27 6:41 ` Jouni Högander
2023-07-31 9:34 ` Nirmoy Das
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 3/4] drm/i915/display: Remove i915_gem_object_types.h from intel_frontbuffer.h Jouni Högander
` (5 subsequent siblings)
7 siblings, 1 reply; 13+ messages in thread
From: Jouni Högander @ 2023-07-27 6:41 UTC (permalink / raw)
To: intel-gfx
Add getter/setter for i915_gem_object->frontbuffer and use it instead of
directly touching i915_gem_object->frontbuffer frontbuffer pointer.
v3:
- Fix intel_frontbuffer_get return value
- s/front_ret/cur/
v2: Move getter/setter into i915_gem_object.h
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
---
.../gpu/drm/i915/display/intel_frontbuffer.c | 20 ++----
.../gpu/drm/i915/display/intel_frontbuffer.h | 27 --------
drivers/gpu/drm/i915/gem/i915_gem_object.c | 4 +-
drivers/gpu/drm/i915/gem/i915_gem_object.h | 67 +++++++++++++++++++
drivers/gpu/drm/i915/i915_vma.c | 2 +-
5 files changed, 77 insertions(+), 43 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.c b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
index 3ce0436a0c7d..56f45370fee0 100644
--- a/drivers/gpu/drm/i915/display/intel_frontbuffer.c
+++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
@@ -237,7 +237,7 @@ static void frontbuffer_release(struct kref *ref)
}
spin_unlock(&obj->vma.lock);
- RCU_INIT_POINTER(obj->frontbuffer, NULL);
+ i915_gem_object_set_frontbuffer(obj, NULL);
spin_unlock(&intel_bo_to_i915(obj)->display.fb_tracking.lock);
i915_active_fini(&front->write);
@@ -250,9 +250,9 @@ struct intel_frontbuffer *
intel_frontbuffer_get(struct drm_i915_gem_object *obj)
{
struct drm_i915_private *i915 = intel_bo_to_i915(obj);
- struct intel_frontbuffer *front;
+ struct intel_frontbuffer *front, *cur;
- front = __intel_frontbuffer_get(obj);
+ front = i915_gem_object_get_frontbuffer(obj);
if (front)
return front;
@@ -269,17 +269,11 @@ intel_frontbuffer_get(struct drm_i915_gem_object *obj)
I915_ACTIVE_RETIRE_SLEEPS);
spin_lock(&i915->display.fb_tracking.lock);
- if (rcu_access_pointer(obj->frontbuffer)) {
- kfree(front);
- front = rcu_dereference_protected(obj->frontbuffer, true);
- kref_get(&front->ref);
- } else {
- i915_gem_object_get(obj);
- rcu_assign_pointer(obj->frontbuffer, front);
- }
+ cur = i915_gem_object_set_frontbuffer(obj, front);
spin_unlock(&i915->display.fb_tracking.lock);
-
- return front;
+ if (cur != front)
+ kfree(front);
+ return cur;
}
void intel_frontbuffer_put(struct intel_frontbuffer *front)
diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.h b/drivers/gpu/drm/i915/display/intel_frontbuffer.h
index 3c474ed937fb..eeccc847331d 100644
--- a/drivers/gpu/drm/i915/display/intel_frontbuffer.h
+++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.h
@@ -75,33 +75,6 @@ void intel_frontbuffer_flip(struct drm_i915_private *i915,
void intel_frontbuffer_put(struct intel_frontbuffer *front);
-static inline struct intel_frontbuffer *
-__intel_frontbuffer_get(const struct drm_i915_gem_object *obj)
-{
- struct intel_frontbuffer *front;
-
- if (likely(!rcu_access_pointer(obj->frontbuffer)))
- return NULL;
-
- rcu_read_lock();
- do {
- front = rcu_dereference(obj->frontbuffer);
- if (!front)
- break;
-
- if (unlikely(!kref_get_unless_zero(&front->ref)))
- continue;
-
- if (likely(front == rcu_access_pointer(obj->frontbuffer)))
- break;
-
- intel_frontbuffer_put(front);
- } while (1);
- rcu_read_unlock();
-
- return front;
-}
-
struct intel_frontbuffer *
intel_frontbuffer_get(struct drm_i915_gem_object *obj);
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c
index 97ac6fb37958..148468098082 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_object.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c
@@ -469,7 +469,7 @@ void __i915_gem_object_flush_frontbuffer(struct drm_i915_gem_object *obj,
{
struct intel_frontbuffer *front;
- front = __intel_frontbuffer_get(obj);
+ front = i915_gem_object_get_frontbuffer(obj);
if (front) {
intel_frontbuffer_flush(front, origin);
intel_frontbuffer_put(front);
@@ -481,7 +481,7 @@ void __i915_gem_object_invalidate_frontbuffer(struct drm_i915_gem_object *obj,
{
struct intel_frontbuffer *front;
- front = __intel_frontbuffer_get(obj);
+ front = i915_gem_object_get_frontbuffer(obj);
if (front) {
intel_frontbuffer_invalidate(front, origin);
intel_frontbuffer_put(front);
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h
index 884a17275b3a..112c130cfaaa 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_object.h
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h
@@ -891,4 +891,71 @@ static inline int i915_gem_object_userptr_validate(struct drm_i915_gem_object *o
#endif
+/**
+ * i915_gem_object_get_frontbuffer - Get the object's frontbuffer
+ * @obj: The object whose frontbuffer to get.
+ *
+ * Get pointer to object's frontbuffer if such exists. Please note that RCU
+ * mechanism is used to handle e.g. ongoing removal of frontbuffer pointer.
+ *
+ * Return: pointer to object's frontbuffer is such exists or NULL
+ */
+static inline struct intel_frontbuffer *
+i915_gem_object_get_frontbuffer(const struct drm_i915_gem_object *obj)
+{
+ struct intel_frontbuffer *front;
+
+ if (likely(!rcu_access_pointer(obj->frontbuffer)))
+ return NULL;
+
+ rcu_read_lock();
+ do {
+ front = rcu_dereference(obj->frontbuffer);
+ if (!front)
+ break;
+
+ if (unlikely(!kref_get_unless_zero(&front->ref)))
+ continue;
+
+ if (likely(front == rcu_access_pointer(obj->frontbuffer)))
+ break;
+
+ intel_frontbuffer_put(front);
+ } while (1);
+ rcu_read_unlock();
+
+ return front;
+}
+
+/**
+ * i915_gem_object_set_frontbuffer - Set the object's frontbuffer
+ * @obj: The object whose frontbuffer to set.
+ * @front: The frontbuffer to set
+ *
+ * Set object's frontbuffer pointer. If frontbuffer is already set for the
+ * object keep it and return it's pointer to the caller. Please note that RCU
+ * mechanism is used to handle e.g. ongoing removal of frontbuffer pointer. This
+ * function is protected by i915->display.fb_tracking.lock
+ *
+ * Return: pointer to frontbuffer which was set.
+ */
+static inline struct intel_frontbuffer *
+i915_gem_object_set_frontbuffer(struct drm_i915_gem_object *obj,
+ struct intel_frontbuffer *front)
+{
+ struct intel_frontbuffer *cur = front;
+
+ if (!front) {
+ RCU_INIT_POINTER(obj->frontbuffer, NULL);
+ } else if (rcu_access_pointer(obj->frontbuffer)) {
+ cur = rcu_dereference_protected(obj->frontbuffer, true);
+ kref_get(&cur->ref);
+ } else {
+ drm_gem_object_get(intel_bo_to_drm_bo(obj));
+ rcu_assign_pointer(obj->frontbuffer, front);
+ }
+
+ return cur;
+}
+
#endif
diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
index af2e49f90f2f..e90b9c812180 100644
--- a/drivers/gpu/drm/i915/i915_vma.c
+++ b/drivers/gpu/drm/i915/i915_vma.c
@@ -1908,7 +1908,7 @@ int _i915_vma_move_to_active(struct i915_vma *vma,
if (flags & EXEC_OBJECT_WRITE) {
struct intel_frontbuffer *front;
- front = __intel_frontbuffer_get(obj);
+ front = i915_gem_object_get_frontbuffer(obj);
if (unlikely(front)) {
if (intel_frontbuffer_invalidate(front, ORIGIN_CS))
i915_active_add_request(&front->write, rq);
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Intel-gfx] [PATCH v4 3/4] drm/i915/display: Remove i915_gem_object_types.h from intel_frontbuffer.h
2023-07-27 6:41 [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking Jouni Högander
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 1/4] drm/i915: Add macros to get i915 device from i915_gem_object Jouni Högander
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 2/4] drm/i915: Add getter/setter for i915_gem_object->frontbuffer Jouni Högander
@ 2023-07-27 6:41 ` Jouni Högander
2023-08-01 5:26 ` B, Jeevan
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 4/4] drm/i915: Add function to clear scanout flag for vmas Jouni Högander
` (4 subsequent siblings)
7 siblings, 1 reply; 13+ messages in thread
From: Jouni Högander @ 2023-07-27 6:41 UTC (permalink / raw)
To: intel-gfx
Now as we have removed all the references to internals of i915_gem_object
from the frontbuffer header we can also remove including
i915_gem_object_types.h.
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
---
drivers/gpu/drm/i915/display/intel_frontbuffer.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.h b/drivers/gpu/drm/i915/display/intel_frontbuffer.h
index eeccc847331d..72d89be3284b 100644
--- a/drivers/gpu/drm/i915/display/intel_frontbuffer.h
+++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.h
@@ -28,7 +28,6 @@
#include <linux/bits.h>
#include <linux/kref.h>
-#include "gem/i915_gem_object_types.h"
#include "i915_active_types.h"
struct drm_i915_private;
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Intel-gfx] [PATCH v4 4/4] drm/i915: Add function to clear scanout flag for vmas
2023-07-27 6:41 [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking Jouni Högander
` (2 preceding siblings ...)
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 3/4] drm/i915/display: Remove i915_gem_object_types.h from intel_frontbuffer.h Jouni Högander
@ 2023-07-27 6:41 ` Jouni Högander
2023-07-31 9:47 ` Nirmoy Das
2023-07-27 7:17 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Do not access i915_gem_object members from frontbuffer tracking (rev4) Patchwork
` (3 subsequent siblings)
7 siblings, 1 reply; 13+ messages in thread
From: Jouni Högander @ 2023-07-27 6:41 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula
Currently frontbuffer tracking code is directly iterating over object vmas
and clearing scanout flags for them. Add function to clear scanout flag for
vmas and use it from frontbuffer tracking code.
v2: describe function parameter.
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
---
.../gpu/drm/i915/display/intel_frontbuffer.c | 8 +-------
drivers/gpu/drm/i915/i915_vma.c | 20 +++++++++++++++++++
drivers/gpu/drm/i915/i915_vma.h | 2 ++
3 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.c b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
index 56f45370fee0..22392f94b626 100644
--- a/drivers/gpu/drm/i915/display/intel_frontbuffer.c
+++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
@@ -226,16 +226,10 @@ static void frontbuffer_release(struct kref *ref)
struct intel_frontbuffer *front =
container_of(ref, typeof(*front), ref);
struct drm_i915_gem_object *obj = front->obj;
- struct i915_vma *vma;
drm_WARN_ON(&intel_bo_to_i915(obj)->drm, atomic_read(&front->bits));
- spin_lock(&obj->vma.lock);
- for_each_ggtt_vma(vma, obj) {
- i915_vma_clear_scanout(vma);
- vma->display_alignment = I915_GTT_MIN_ALIGNMENT;
- }
- spin_unlock(&obj->vma.lock);
+ i915_ggtt_clear_scanout(obj);
i915_gem_object_set_frontbuffer(obj, NULL);
spin_unlock(&intel_bo_to_i915(obj)->display.fb_tracking.lock);
diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
index e90b9c812180..63e111266de1 100644
--- a/drivers/gpu/drm/i915/i915_vma.c
+++ b/drivers/gpu/drm/i915/i915_vma.c
@@ -1629,6 +1629,26 @@ int i915_ggtt_pin(struct i915_vma *vma, struct i915_gem_ww_ctx *ww,
return err;
}
+/**
+ * i915_ggtt_clear_scanout - Clear scanout flag for all objects ggtt vmas
+ * @obj: i915 GEM object
+ * This function clears scanout flags for objects ggtt vmas. These flags are set
+ * when object is pinned for display use and this function to clear them all is
+ * targeted to be called by frontbuffer tracking code when the frontbuffer is
+ * about to be released.
+ */
+void i915_ggtt_clear_scanout(struct drm_i915_gem_object *obj)
+{
+ struct i915_vma *vma;
+
+ spin_lock(&obj->vma.lock);
+ for_each_ggtt_vma(vma, obj) {
+ i915_vma_clear_scanout(vma);
+ vma->display_alignment = I915_GTT_MIN_ALIGNMENT;
+ }
+ spin_unlock(&obj->vma.lock);
+}
+
static void __vma_close(struct i915_vma *vma, struct intel_gt *gt)
{
/*
diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h
index 9a9729205d5b..eaa310864370 100644
--- a/drivers/gpu/drm/i915/i915_vma.h
+++ b/drivers/gpu/drm/i915/i915_vma.h
@@ -435,6 +435,8 @@ static inline void i915_vma_clear_scanout(struct i915_vma *vma)
clear_bit(I915_VMA_SCANOUT_BIT, __i915_vma_flags(vma));
}
+void i915_ggtt_clear_scanout(struct drm_i915_gem_object *obj);
+
#define for_each_until(cond) if (cond) break; else
/**
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Do not access i915_gem_object members from frontbuffer tracking (rev4)
2023-07-27 6:41 [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking Jouni Högander
` (3 preceding siblings ...)
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 4/4] drm/i915: Add function to clear scanout flag for vmas Jouni Högander
@ 2023-07-27 7:17 ` Patchwork
2023-07-27 7:36 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
` (2 subsequent siblings)
7 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2023-07-27 7:17 UTC (permalink / raw)
To: Hogander, Jouni; +Cc: intel-gfx
== Series Details ==
Series: Do not access i915_gem_object members from frontbuffer tracking (rev4)
URL : https://patchwork.freedesktop.org/series/118475/
State : warning
== Summary ==
Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for Do not access i915_gem_object members from frontbuffer tracking (rev4)
2023-07-27 6:41 [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking Jouni Högander
` (4 preceding siblings ...)
2023-07-27 7:17 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Do not access i915_gem_object members from frontbuffer tracking (rev4) Patchwork
@ 2023-07-27 7:36 ` Patchwork
2023-07-27 8:53 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2023-08-01 7:04 ` [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking Hogander, Jouni
7 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2023-07-27 7:36 UTC (permalink / raw)
To: Hogander, Jouni; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 9266 bytes --]
== Series Details ==
Series: Do not access i915_gem_object members from frontbuffer tracking (rev4)
URL : https://patchwork.freedesktop.org/series/118475/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13426 -> Patchwork_118475v4
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/index.html
Participating hosts (41 -> 42)
------------------------------
Additional (2): fi-kbl-soraka bat-adlp-11
Missing (1): fi-snb-2520m
Known issues
------------
Here are the changes found in Patchwork_118475v4 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_huc_copy@huc-copy:
- fi-kbl-soraka: NOTRUN -> [SKIP][1] ([fdo#109271] / [i915#2190])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@basic:
- fi-kbl-soraka: NOTRUN -> [SKIP][2] ([fdo#109271] / [i915#4613]) +3 similar issues
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/fi-kbl-soraka/igt@gem_lmem_swapping@basic.html
* igt@i915_module_load@load:
- bat-adlp-11: NOTRUN -> [ABORT][3] ([i915#4423])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/bat-adlp-11/igt@i915_module_load@load.html
* igt@i915_pm_rpm@basic-rte:
- fi-skl-guc: [PASS][4] -> [FAIL][5] ([i915#7940])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/fi-skl-guc/igt@i915_pm_rpm@basic-rte.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/fi-skl-guc/igt@i915_pm_rpm@basic-rte.html
* igt@i915_selftest@live@gt_heartbeat:
- fi-kbl-soraka: NOTRUN -> [DMESG-FAIL][6] ([i915#5334] / [i915#7872])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
* igt@i915_selftest@live@gt_pm:
- fi-kbl-soraka: NOTRUN -> [DMESG-FAIL][7] ([i915#1886] / [i915#7913])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html
* igt@i915_selftest@live@hangcheck:
- bat-rpls-2: NOTRUN -> [ABORT][8] ([i915#7677] / [i915#7913])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/bat-rpls-2/igt@i915_selftest@live@hangcheck.html
* igt@i915_selftest@live@migrate:
- bat-dg2-11: [PASS][9] -> [DMESG-WARN][10] ([i915#7699])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/bat-dg2-11/igt@i915_selftest@live@migrate.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/bat-dg2-11/igt@i915_selftest@live@migrate.html
* igt@i915_selftest@live@requests:
- bat-rpls-1: [PASS][11] -> [ABORT][12] ([i915#7911] / [i915#7920])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/bat-rpls-1/igt@i915_selftest@live@requests.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/bat-rpls-1/igt@i915_selftest@live@requests.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic:
- fi-kbl-soraka: NOTRUN -> [SKIP][13] ([fdo#109271]) +15 similar issues
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html
#### Possible fixes ####
* igt@i915_pm_rpm@basic-pci-d3-state:
- bat-adlp-9: [FAIL][14] ([i915#7940]) -> [PASS][15]
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/bat-adlp-9/igt@i915_pm_rpm@basic-pci-d3-state.html
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/bat-adlp-9/igt@i915_pm_rpm@basic-pci-d3-state.html
* igt@i915_pm_rpm@basic-rte:
- fi-kbl-x1275: [FAIL][16] ([i915#8843]) -> [PASS][17]
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/fi-kbl-x1275/igt@i915_pm_rpm@basic-rte.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/fi-kbl-x1275/igt@i915_pm_rpm@basic-rte.html
* igt@i915_pm_rpm@module-reload:
- fi-rkl-11600: [FAIL][18] ([i915#7940]) -> [PASS][19]
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/fi-rkl-11600/igt@i915_pm_rpm@module-reload.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/fi-rkl-11600/igt@i915_pm_rpm@module-reload.html
* igt@i915_selftest@live@gt_heartbeat:
- fi-apl-guc: [DMESG-FAIL][20] ([i915#5334]) -> [PASS][21]
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
* igt@i915_selftest@live@migrate:
- bat-mtlp-6: [DMESG-FAIL][22] ([i915#7699]) -> [PASS][23]
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/bat-mtlp-6/igt@i915_selftest@live@migrate.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/bat-mtlp-6/igt@i915_selftest@live@migrate.html
- bat-mtlp-8: [DMESG-FAIL][24] ([i915#7699]) -> [PASS][25]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/bat-mtlp-8/igt@i915_selftest@live@migrate.html
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/bat-mtlp-8/igt@i915_selftest@live@migrate.html
* igt@i915_selftest@live@requests:
- bat-mtlp-8: [DMESG-FAIL][26] ([i915#8497]) -> [PASS][27]
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/bat-mtlp-8/igt@i915_selftest@live@requests.html
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/bat-mtlp-8/igt@i915_selftest@live@requests.html
- bat-mtlp-6: [DMESG-FAIL][28] ([i915#7269]) -> [PASS][29]
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/bat-mtlp-6/igt@i915_selftest@live@requests.html
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/bat-mtlp-6/igt@i915_selftest@live@requests.html
* igt@i915_selftest@live@reset:
- bat-rpls-2: [ABORT][30] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#8347]) -> [PASS][31]
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/bat-rpls-2/igt@i915_selftest@live@reset.html
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/bat-rpls-2/igt@i915_selftest@live@reset.html
#### Warnings ####
* igt@kms_psr@cursor_plane_move:
- bat-rplp-1: [SKIP][32] ([i915#1072]) -> [ABORT][33] ([i915#8434] / [i915#8668])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/bat-rplp-1/igt@kms_psr@cursor_plane_move.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/bat-rplp-1/igt@kms_psr@cursor_plane_move.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
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
[i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
[i915#7269]: https://gitlab.freedesktop.org/drm/intel/issues/7269
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7677]: https://gitlab.freedesktop.org/drm/intel/issues/7677
[i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699
[i915#7872]: https://gitlab.freedesktop.org/drm/intel/issues/7872
[i915#7911]: https://gitlab.freedesktop.org/drm/intel/issues/7911
[i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
[i915#7920]: https://gitlab.freedesktop.org/drm/intel/issues/7920
[i915#7940]: https://gitlab.freedesktop.org/drm/intel/issues/7940
[i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
[i915#8434]: https://gitlab.freedesktop.org/drm/intel/issues/8434
[i915#8497]: https://gitlab.freedesktop.org/drm/intel/issues/8497
[i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668
[i915#8843]: https://gitlab.freedesktop.org/drm/intel/issues/8843
Build changes
-------------
* Linux: CI_DRM_13426 -> Patchwork_118475v4
CI-20190529: 20190529
CI_DRM_13426: 50f130ab3021dd575aca3fab9c08eae15cd323a8 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7405: 6745761cb6050514a12aac973d02aeccdff06255 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_118475v4: 50f130ab3021dd575aca3fab9c08eae15cd323a8 @ git://anongit.freedesktop.org/gfx-ci/linux
### Linux commits
b1f8d4374389 drm/i915: Add function to clear scanout flag for vmas
c86f5338d767 drm/i915/display: Remove i915_gem_object_types.h from intel_frontbuffer.h
a3d1bcff85e6 drm/i915: Add getter/setter for i915_gem_object->frontbuffer
d6537f84a00e drm/i915: Add macros to get i915 device from i915_gem_object
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/index.html
[-- Attachment #2: Type: text/html, Size: 10970 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for Do not access i915_gem_object members from frontbuffer tracking (rev4)
2023-07-27 6:41 [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking Jouni Högander
` (5 preceding siblings ...)
2023-07-27 7:36 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2023-07-27 8:53 ` Patchwork
2023-08-01 7:04 ` [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking Hogander, Jouni
7 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2023-07-27 8:53 UTC (permalink / raw)
To: Hogander, Jouni; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 45486 bytes --]
== Series Details ==
Series: Do not access i915_gem_object members from frontbuffer tracking (rev4)
URL : https://patchwork.freedesktop.org/series/118475/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_13426_full -> Patchwork_118475v4_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (10 -> 10)
------------------------------
No changes in participating hosts
New tests
---------
New tests have been introduced between CI_DRM_13426_full and Patchwork_118475v4_full:
### New IGT tests (12) ###
* igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-a-hdmi-a-4:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
* igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-b-hdmi-a-4:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
* igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-c-hdmi-a-4:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
* igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-hdmi-a-4:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-5@pipe-a-hdmi-a-4:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-5@pipe-b-hdmi-a-4:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-5@pipe-c-hdmi-a-4:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-5@pipe-d-hdmi-a-4:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
* igt@kms_plane_scaling@plane-upscale-with-modifiers-20x20@pipe-a-hdmi-a-4:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
* igt@kms_plane_scaling@plane-upscale-with-modifiers-20x20@pipe-b-hdmi-a-4:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
* igt@kms_plane_scaling@plane-upscale-with-modifiers-20x20@pipe-c-hdmi-a-4:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
* igt@kms_plane_scaling@plane-upscale-with-modifiers-20x20@pipe-d-hdmi-a-4:
- Statuses : 1 pass(s)
- Exec time: [0.0] s
Known issues
------------
Here are the changes found in Patchwork_118475v4_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@drm_fdinfo@most-busy-check-all@rcs0:
- shard-rkl: [PASS][1] -> [FAIL][2] ([i915#7742])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-rkl-1/igt@drm_fdinfo@most-busy-check-all@rcs0.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-7/igt@drm_fdinfo@most-busy-check-all@rcs0.html
* igt@drm_fdinfo@most-busy-idle-check-all@ccs0:
- shard-mtlp: NOTRUN -> [SKIP][3] ([i915#8414]) +5 similar issues
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-8/igt@drm_fdinfo@most-busy-idle-check-all@ccs0.html
* igt@gem_basic@multigpu-create-close:
- shard-rkl: NOTRUN -> [SKIP][4] ([i915#7697])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@gem_basic@multigpu-create-close.html
* igt@gem_ctx_isolation@preservation-s3@vecs0:
- shard-dg1: [PASS][5] -> [DMESG-WARN][6] ([i915#4423])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-19/igt@gem_ctx_isolation@preservation-s3@vecs0.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-14/igt@gem_ctx_isolation@preservation-s3@vecs0.html
* igt@gem_ctx_persistence@file:
- shard-snb: NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#1099])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-snb2/igt@gem_ctx_persistence@file.html
* igt@gem_eio@hibernate:
- shard-dg1: [PASS][8] -> [ABORT][9] ([i915#4391] / [i915#7975] / [i915#8213])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-19/igt@gem_eio@hibernate.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-14/igt@gem_eio@hibernate.html
- shard-tglu: [PASS][10] -> [ABORT][11] ([i915#7975] / [i915#8213] / [i915#8398])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-tglu-9/igt@gem_eio@hibernate.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-tglu-10/igt@gem_eio@hibernate.html
* igt@gem_eio@in-flight-contexts-10ms:
- shard-apl: [PASS][12] -> [TIMEOUT][13] ([i915#3063])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-apl6/igt@gem_eio@in-flight-contexts-10ms.html
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-apl1/igt@gem_eio@in-flight-contexts-10ms.html
* igt@gem_exec_balancer@invalid-bonds:
- shard-mtlp: NOTRUN -> [SKIP][14] ([i915#4036])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-7/igt@gem_exec_balancer@invalid-bonds.html
* igt@gem_exec_balancer@parallel-balancer:
- shard-rkl: NOTRUN -> [SKIP][15] ([i915#4525])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@gem_exec_balancer@parallel-balancer.html
* igt@gem_exec_fair@basic-flow@rcs0:
- shard-tglu: [PASS][16] -> [FAIL][17] ([i915#2842])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-tglu-8/igt@gem_exec_fair@basic-flow@rcs0.html
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-tglu-7/igt@gem_exec_fair@basic-flow@rcs0.html
* igt@gem_exec_fair@basic-none-solo@rcs0:
- shard-apl: [PASS][18] -> [FAIL][19] ([i915#2842])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-apl4/igt@gem_exec_fair@basic-none-solo@rcs0.html
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-apl1/igt@gem_exec_fair@basic-none-solo@rcs0.html
* igt@gem_exec_fair@basic-pace@vecs0:
- shard-rkl: [PASS][20] -> [FAIL][21] ([i915#2842])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-rkl-2/igt@gem_exec_fair@basic-pace@vecs0.html
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-4/igt@gem_exec_fair@basic-pace@vecs0.html
* igt@gem_exec_reloc@basic-cpu-gtt-active:
- shard-rkl: NOTRUN -> [SKIP][22] ([i915#3281])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@gem_exec_reloc@basic-cpu-gtt-active.html
* igt@gem_exec_reloc@basic-gtt:
- shard-mtlp: NOTRUN -> [SKIP][23] ([i915#3281])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-8/igt@gem_exec_reloc@basic-gtt.html
* igt@gem_exec_suspend@basic-s3@smem:
- shard-snb: NOTRUN -> [DMESG-WARN][24] ([i915#8841]) +4 similar issues
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-snb6/igt@gem_exec_suspend@basic-s3@smem.html
* igt@gem_lmem_swapping@heavy-random:
- shard-glk: NOTRUN -> [SKIP][25] ([fdo#109271] / [i915#4613])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-glk8/igt@gem_lmem_swapping@heavy-random.html
* igt@gem_lmem_swapping@parallel-multi:
- shard-rkl: NOTRUN -> [SKIP][26] ([i915#4613])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@gem_lmem_swapping@parallel-multi.html
* igt@gem_partial_pwrite_pread@writes-after-reads-uncached:
- shard-rkl: NOTRUN -> [SKIP][27] ([i915#3282])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html
* igt@gem_pwrite@basic-exhaustion:
- shard-snb: NOTRUN -> [WARN][28] ([i915#2658])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-snb6/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_pxp@reject-modify-context-protection-on:
- shard-rkl: NOTRUN -> [SKIP][29] ([i915#4270])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@gem_pxp@reject-modify-context-protection-on.html
* igt@gem_userptr_blits@forbidden-operations:
- shard-mtlp: NOTRUN -> [SKIP][30] ([i915#3282])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-8/igt@gem_userptr_blits@forbidden-operations.html
* igt@gem_userptr_blits@readonly-pwrite-unsync:
- shard-rkl: NOTRUN -> [SKIP][31] ([i915#3297])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@gem_userptr_blits@readonly-pwrite-unsync.html
* igt@gen7_exec_parse@cmd-crossing-page:
- shard-rkl: NOTRUN -> [SKIP][32] ([fdo#109289])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@gen7_exec_parse@cmd-crossing-page.html
* igt@gen9_exec_parse@bb-start-out:
- shard-rkl: NOTRUN -> [SKIP][33] ([i915#2527])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@gen9_exec_parse@bb-start-out.html
* igt@i915_pm_freq_mult@media-freq@gt0:
- shard-rkl: NOTRUN -> [SKIP][34] ([i915#6590])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@i915_pm_freq_mult@media-freq@gt0.html
* igt@i915_pm_rc6_residency@rc6-accuracy:
- shard-dg2: [PASS][35] -> [FAIL][36] ([i915#8230])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg2-12/igt@i915_pm_rc6_residency@rc6-accuracy.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-10/igt@i915_pm_rc6_residency@rc6-accuracy.html
* igt@i915_pm_rc6_residency@rc6-idle@vecs0:
- shard-dg1: [PASS][37] -> [FAIL][38] ([i915#3591])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-17/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-16/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html
* igt@i915_pm_rpm@basic-pci-d3-state:
- shard-dg1: [PASS][39] -> [FAIL][40] ([i915#7691])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-19/igt@i915_pm_rpm@basic-pci-d3-state.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-13/igt@i915_pm_rpm@basic-pci-d3-state.html
* igt@i915_pm_rpm@dpms-mode-unset-lpsp:
- shard-dg2: [PASS][41] -> [SKIP][42] ([i915#1397])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg2-10/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-3/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
* igt@i915_pm_rpm@i2c:
- shard-dg2: [PASS][43] -> [FAIL][44] ([i915#8717])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg2-11/igt@i915_pm_rpm@i2c.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-2/igt@i915_pm_rpm@i2c.html
* igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait:
- shard-dg1: [PASS][45] -> [SKIP][46] ([i915#1397]) +2 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-18/igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-19/igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait.html
* igt@i915_pm_rpm@sysfs-read:
- shard-dg1: [PASS][47] -> [FAIL][48] ([i915#7940]) +1 similar issue
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-17/igt@i915_pm_rpm@sysfs-read.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-16/igt@i915_pm_rpm@sysfs-read.html
* igt@i915_pm_rpm@system-suspend-devices:
- shard-tglu: [PASS][49] -> [FAIL][50] ([i915#7940]) +2 similar issues
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-tglu-10/igt@i915_pm_rpm@system-suspend-devices.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-tglu-2/igt@i915_pm_rpm@system-suspend-devices.html
* igt@kms_async_flips@crc@pipe-c-hdmi-a-1:
- shard-dg1: NOTRUN -> [FAIL][51] ([i915#8247]) +3 similar issues
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-19/igt@kms_async_flips@crc@pipe-c-hdmi-a-1.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
- shard-snb: NOTRUN -> [SKIP][52] ([fdo#109271] / [i915#1769])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-snb6/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
* igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
- shard-rkl: NOTRUN -> [SKIP][53] ([i915#1769] / [i915#3555])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-0:
- shard-rkl: NOTRUN -> [SKIP][54] ([i915#5286]) +1 similar issue
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0:
- shard-mtlp: [PASS][55] -> [FAIL][56] ([i915#5138])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-mtlp-7/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-8/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-90:
- shard-rkl: NOTRUN -> [SKIP][57] ([fdo#111614] / [i915#3638])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_big_fb@x-tiled-16bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-270:
- shard-mtlp: NOTRUN -> [SKIP][58] ([fdo#111615])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-8/igt@kms_big_fb@yf-tiled-32bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-64bpp-rotate-0:
- shard-rkl: NOTRUN -> [SKIP][59] ([fdo#110723]) +1 similar issue
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_big_fb@yf-tiled-64bpp-rotate-0.html
* igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_mc_ccs:
- shard-glk: NOTRUN -> [SKIP][60] ([fdo#109271] / [i915#3886]) +3 similar issues
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-glk8/igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-b-ccs-on-another-bo-yf_tiled_ccs:
- shard-rkl: NOTRUN -> [SKIP][61] ([i915#3734] / [i915#5354] / [i915#6095])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_ccs@pipe-b-ccs-on-another-bo-yf_tiled_ccs.html
* igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_ccs:
- shard-snb: NOTRUN -> [SKIP][62] ([fdo#109271]) +181 similar issues
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-snb2/igt@kms_ccs@pipe-b-crc-primary-rotation-180-y_tiled_ccs.html
* igt@kms_ccs@pipe-b-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs_cc:
- shard-rkl: NOTRUN -> [SKIP][63] ([i915#5354] / [i915#6095]) +4 similar issues
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs_cc.html
* igt@kms_ccs@pipe-c-random-ccs-data-yf_tiled_ccs:
- shard-rkl: NOTRUN -> [SKIP][64] ([i915#5354]) +7 similar issues
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_ccs@pipe-c-random-ccs-data-yf_tiled_ccs.html
* igt@kms_ccs@pipe-d-bad-rotation-90-y_tiled_gen12_rc_ccs_cc:
- shard-mtlp: NOTRUN -> [SKIP][65] ([i915#6095]) +3 similar issues
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-7/igt@kms_ccs@pipe-d-bad-rotation-90-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_chamelium_color@ctm-0-75:
- shard-rkl: NOTRUN -> [SKIP][66] ([fdo#111827])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_chamelium_color@ctm-0-75.html
* igt@kms_chamelium_hpd@hdmi-hpd-fast:
- shard-rkl: NOTRUN -> [SKIP][67] ([i915#7828]) +1 similar issue
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_chamelium_hpd@hdmi-hpd-fast.html
* igt@kms_concurrent@pipe-c:
- shard-rkl: NOTRUN -> [SKIP][68] ([i915#4070] / [i915#6768]) +1 similar issue
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_concurrent@pipe-c.html
* igt@kms_content_protection@atomic@pipe-a-dp-4:
- shard-dg2: NOTRUN -> [TIMEOUT][69] ([i915#7173])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-11/igt@kms_content_protection@atomic@pipe-a-dp-4.html
* igt@kms_cursor_crc@cursor-sliding-32x32:
- shard-rkl: NOTRUN -> [SKIP][70] ([i915#3555])
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_cursor_crc@cursor-sliding-32x32.html
* igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-3:
- shard-dg2: [PASS][71] -> [FAIL][72] ([fdo#103375]) +1 similar issue
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg2-6/igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-3.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-5/igt@kms_cursor_crc@cursor-suspend@pipe-a-hdmi-a-3.html
* igt@kms_cursor_legacy@cursor-vs-flip-toggle:
- shard-mtlp: [PASS][73] -> [FAIL][74] ([i915#8248])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-mtlp-2/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-7/igt@kms_cursor_legacy@cursor-vs-flip-toggle.html
* igt@kms_flip@2x-plain-flip-interruptible:
- shard-rkl: NOTRUN -> [SKIP][75] ([fdo#111825]) +1 similar issue
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_flip@2x-plain-flip-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1:
- shard-glk: [PASS][76] -> [FAIL][77] ([i915#79]) +1 similar issue
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-glk8/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-glk6/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][78] ([i915#2672])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt:
- shard-dg2: [PASS][79] -> [FAIL][80] ([i915#6880]) +2 similar issues
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg2-3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-onoff:
- shard-rkl: NOTRUN -> [SKIP][81] ([fdo#111825] / [i915#1825]) +7 similar issues
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcpsr-farfromfence-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][82] ([i915#3023]) +5 similar issues
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_frontbuffer_tracking@fbcpsr-farfromfence-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-apl: NOTRUN -> [SKIP][83] ([fdo#109271]) +4 similar issues
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-apl6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_hdr@invalid-hdr:
- shard-rkl: NOTRUN -> [SKIP][84] ([i915#3555] / [i915#8228])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_hdr@invalid-hdr.html
* igt@kms_hdr@static-swap:
- shard-dg2: NOTRUN -> [SKIP][85] ([i915#3555] / [i915#8228]) +1 similar issue
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-10/igt@kms_hdr@static-swap.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4:
- shard-dg2: NOTRUN -> [FAIL][86] ([i915#8292])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-11/igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [FAIL][87] ([i915#8292])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-7/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-1.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-3:
- shard-dg1: NOTRUN -> [FAIL][88] ([i915#8292])
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-13/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-3.html
* igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-d-dp-4:
- shard-dg2: NOTRUN -> [SKIP][89] ([i915#5176]) +7 similar issues
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-11/igt@kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25@pipe-d-dp-4.html
* igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][90] ([i915#5176]) +1 similar issue
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25@pipe-b-hdmi-a-2.html
* igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-5@pipe-b-hdmi-a-1:
- shard-dg1: NOTRUN -> [SKIP][91] ([i915#5176]) +15 similar issues
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-19/igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-5@pipe-b-hdmi-a-1.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][92] ([i915#5235]) +7 similar issues
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-3/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][93] ([i915#5235]) +11 similar issues
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-14/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d-hdmi-a-4.html
* igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
- shard-glk: NOTRUN -> [SKIP][94] ([fdo#109271] / [i915#658]) +1 similar issue
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-glk8/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr@primary_mmap_cpu:
- shard-rkl: NOTRUN -> [SKIP][95] ([i915#1072])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_psr@primary_mmap_cpu.html
* igt@kms_setmode@basic@pipe-a-vga-1:
- shard-snb: NOTRUN -> [FAIL][96] ([i915#5465]) +1 similar issue
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-snb5/igt@kms_setmode@basic@pipe-a-vga-1.html
* igt@kms_vblank@pipe-a-ts-continuation-suspend:
- shard-apl: [PASS][97] -> [ABORT][98] ([i915#180])
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-apl3/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-apl3/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
* igt@kms_vblank@pipe-d-query-busy:
- shard-rkl: NOTRUN -> [SKIP][99] ([i915#4070] / [i915#533] / [i915#6768]) +1 similar issue
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_vblank@pipe-d-query-busy.html
* igt@kms_vblank@pipe-d-wait-busy-hang:
- shard-glk: NOTRUN -> [SKIP][100] ([fdo#109271]) +30 similar issues
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-glk8/igt@kms_vblank@pipe-d-wait-busy-hang.html
* igt@perf@enable-disable@0-rcs0:
- shard-dg2: [PASS][101] -> [FAIL][102] ([i915#8724])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg2-5/igt@perf@enable-disable@0-rcs0.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-11/igt@perf@enable-disable@0-rcs0.html
* igt@prime_udl:
- shard-mtlp: NOTRUN -> [SKIP][103] ([fdo#109291])
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-7/igt@prime_udl.html
* igt@v3d/v3d_get_param@get-bad-flags:
- shard-mtlp: NOTRUN -> [SKIP][104] ([i915#2575]) +1 similar issue
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-7/igt@v3d/v3d_get_param@get-bad-flags.html
* igt@v3d/v3d_submit_csd@valid-multisync-submission:
- shard-rkl: NOTRUN -> [SKIP][105] ([fdo#109315]) +2 similar issues
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@v3d/v3d_submit_csd@valid-multisync-submission.html
* igt@vc4/vc4_mmap@mmap-bo:
- shard-rkl: NOTRUN -> [SKIP][106] ([i915#7711]) +1 similar issue
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@vc4/vc4_mmap@mmap-bo.html
#### Possible fixes ####
* igt@gem_barrier_race@remote-request@rcs0:
- shard-apl: [ABORT][107] ([i915#7461] / [i915#8211] / [i915#8234] / [i915#8690]) -> [PASS][108]
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-apl2/igt@gem_barrier_race@remote-request@rcs0.html
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-apl6/igt@gem_barrier_race@remote-request@rcs0.html
* igt@gem_caching@reads:
- shard-dg1: [DMESG-WARN][109] ([i915#4423]) -> [PASS][110]
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-15/igt@gem_caching@reads.html
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-17/igt@gem_caching@reads.html
* igt@gem_create@hog-create@smem0:
- shard-dg2: [FAIL][111] ([i915#5892] / [i915#8758]) -> [PASS][112]
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg2-5/igt@gem_create@hog-create@smem0.html
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-5/igt@gem_create@hog-create@smem0.html
* igt@gem_eio@unwedge-stress:
- shard-dg1: [FAIL][113] ([i915#5784]) -> [PASS][114]
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-14/igt@gem_eio@unwedge-stress.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-19/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_balancer@full-pulse:
- shard-dg2: [FAIL][115] ([i915#6032]) -> [PASS][116]
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg2-5/igt@gem_exec_balancer@full-pulse.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-5/igt@gem_exec_balancer@full-pulse.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-tglu: [FAIL][117] ([i915#2842]) -> [PASS][118]
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-tglu-4/igt@gem_exec_fair@basic-pace-share@rcs0.html
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-tglu-10/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@gem_exec_fair@basic-pace@bcs0:
- shard-rkl: [FAIL][119] ([i915#2842]) -> [PASS][120]
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-rkl-2/igt@gem_exec_fair@basic-pace@bcs0.html
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-4/igt@gem_exec_fair@basic-pace@bcs0.html
* igt@i915_pipe_stress@stress-xrgb8888-untiled:
- shard-mtlp: [FAIL][121] ([i915#8691]) -> [PASS][122]
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-mtlp-2/igt@i915_pipe_stress@stress-xrgb8888-untiled.html
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-3/igt@i915_pipe_stress@stress-xrgb8888-untiled.html
* igt@i915_pm_rc6_residency@rc6-idle@bcs0:
- shard-dg1: [FAIL][123] ([i915#3591]) -> [PASS][124]
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-17/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-16/igt@i915_pm_rc6_residency@rc6-idle@bcs0.html
* igt@i915_pm_rpm@dpms-lpsp:
- shard-dg1: [SKIP][125] ([i915#1397]) -> [PASS][126] +1 similar issue
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-16/igt@i915_pm_rpm@dpms-lpsp.html
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-19/igt@i915_pm_rpm@dpms-lpsp.html
- shard-dg2: [SKIP][127] ([i915#1397]) -> [PASS][128]
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg2-7/igt@i915_pm_rpm@dpms-lpsp.html
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-12/igt@i915_pm_rpm@dpms-lpsp.html
* igt@i915_selftest@live@gt_mocs:
- shard-mtlp: [DMESG-FAIL][129] ([i915#7059]) -> [PASS][130]
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-mtlp-1/igt@i915_selftest@live@gt_mocs.html
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-5/igt@i915_selftest@live@gt_mocs.html
* igt@i915_selftest@live@requests:
- shard-mtlp: [DMESG-FAIL][131] ([i915#7269]) -> [PASS][132]
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-mtlp-1/igt@i915_selftest@live@requests.html
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-5/igt@i915_selftest@live@requests.html
* igt@kms_async_flips@alternate-sync-async-flip@pipe-a-edp-1:
- shard-mtlp: [FAIL][133] ([i915#2521]) -> [PASS][134]
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-mtlp-7/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-edp-1.html
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-8/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-edp-1.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-180:
- shard-mtlp: [FAIL][135] ([i915#5138]) -> [PASS][136]
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-mtlp-4/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-2/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
- shard-mtlp: [FAIL][137] ([i915#3743]) -> [PASS][138] +2 similar issues
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-4/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
* igt@kms_flip@flip-vs-expired-vblank@d-hdmi-a4:
- shard-dg1: [FAIL][139] ([i915#8986]) -> [PASS][140]
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-17/igt@kms_flip@flip-vs-expired-vblank@d-hdmi-a4.html
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-16/igt@kms_flip@flip-vs-expired-vblank@d-hdmi-a4.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move:
- shard-dg2: [FAIL][141] ([i915#6880]) -> [PASS][142] +2 similar issues
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move.html
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move.html
* igt@kms_rotation_crc@primary-rotation-90:
- shard-rkl: [ABORT][143] ([i915#8311]) -> [PASS][144]
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-rkl-6/igt@kms_rotation_crc@primary-rotation-90.html
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_rotation_crc@primary-rotation-90.html
* igt@perf@non-zero-reason@0-rcs0:
- shard-dg2: [FAIL][145] ([i915#7484]) -> [PASS][146]
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg2-7/igt@perf@non-zero-reason@0-rcs0.html
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-12/igt@perf@non-zero-reason@0-rcs0.html
* igt@perf@stress-open-close@0-rcs0:
- shard-glk: [ABORT][147] ([i915#5213] / [i915#7941]) -> [PASS][148]
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-glk6/igt@perf@stress-open-close@0-rcs0.html
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-glk8/igt@perf@stress-open-close@0-rcs0.html
#### Warnings ####
* igt@gem_lmem_swapping@smem-oom@lmem0:
- shard-dg2: [DMESG-WARN][149] ([i915#4936] / [i915#5493]) -> [TIMEOUT][150] ([i915#5493])
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg2-3/igt@gem_lmem_swapping@smem-oom@lmem0.html
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-2/igt@gem_lmem_swapping@smem-oom@lmem0.html
* igt@i915_pm_rpm@i2c:
- shard-dg1: [DMESG-WARN][151] ([i915#4391]) -> [DMESG-WARN][152] ([i915#4391] / [i915#4423])
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-19/igt@i915_pm_rpm@i2c.html
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-18/igt@i915_pm_rpm@i2c.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
- shard-mtlp: [FAIL][153] ([i915#2346]) -> [DMESG-FAIL][154] ([i915#2017] / [i915#5954])
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-mtlp-3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-mtlp-7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
* igt@kms_fbcon_fbt@psr-suspend:
- shard-rkl: [SKIP][155] ([fdo#110189] / [i915#3955]) -> [SKIP][156] ([i915#3955])
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-rkl-1/igt@kms_fbcon_fbt@psr-suspend.html
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-6/igt@kms_fbcon_fbt@psr-suspend.html
* igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible:
- shard-dg1: [SKIP][157] ([fdo#111825] / [i915#4423]) -> [SKIP][158] ([fdo#111825])
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-15/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-17/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html
* igt@kms_force_connector_basic@force-load-detect:
- shard-rkl: [SKIP][159] ([fdo#109285]) -> [SKIP][160] ([fdo#109285] / [i915#4098])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-rkl-6/igt@kms_force_connector_basic@force-load-detect.html
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-rkl-1/igt@kms_force_connector_basic@force-load-detect.html
* igt@kms_psr@cursor_plane_move:
- shard-dg1: [SKIP][161] ([i915#1072]) -> [SKIP][162] ([i915#1072] / [i915#4078]) +2 similar issues
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-17/igt@kms_psr@cursor_plane_move.html
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-16/igt@kms_psr@cursor_plane_move.html
* igt@kms_psr@sprite_plane_onoff:
- shard-dg1: [SKIP][163] ([i915#1072] / [i915#4078]) -> [SKIP][164] ([i915#1072])
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg1-13/igt@kms_psr@sprite_plane_onoff.html
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg1-15/igt@kms_psr@sprite_plane_onoff.html
* igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem:
- shard-dg2: [INCOMPLETE][165] ([i915#5493]) -> [CRASH][166] ([i915#7331])
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13426/shard-dg2-5/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/shard-dg2-11/igt@prime_mmap@test_aperture_limit@test_aperture_limit-smem.html
### Piglit changes ###
#### Issues hit ####
* igt@i915_pm_rpm@basic-pci-d3-state:
- pig-kbl-iris: NOTRUN -> [FAIL][167] ([i915#5603])
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/pig-kbl-iris/igt@i915_pm_rpm@basic-pci-d3-state.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
[fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
[fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
[i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
[i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
[i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
[i915#2017]: https://gitlab.freedesktop.org/drm/intel/issues/2017
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
[i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
[i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063
[i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
[i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
[i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
[i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
[i915#4036]: https://gitlab.freedesktop.org/drm/intel/issues/4036
[i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
[i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
[i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
[i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4936]: https://gitlab.freedesktop.org/drm/intel/issues/4936
[i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5213]: https://gitlab.freedesktop.org/drm/intel/issues/5213
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
[i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
[i915#5465]: https://gitlab.freedesktop.org/drm/intel/issues/5465
[i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
[i915#5603]: https://gitlab.freedesktop.org/drm/intel/issues/5603
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#5892]: https://gitlab.freedesktop.org/drm/intel/issues/5892
[i915#5954]: https://gitlab.freedesktop.org/drm/intel/issues/5954
[i915#6032]: https://gitlab.freedesktop.org/drm/intel/issues/6032
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
[i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
[i915#6880]: https://gitlab.freedesktop.org/drm/intel/issues/6880
[i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059
[i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173
[i915#7269]: https://gitlab.freedesktop.org/drm/intel/issues/7269
[i915#7331]: https://gitlab.freedesktop.org/drm/intel/issues/7331
[i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
[i915#7484]: https://gitlab.freedesktop.org/drm/intel/issues/7484
[i915#7691]: https://gitlab.freedesktop.org/drm/intel/issues/7691
[i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
[i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
[i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
[i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
[i915#7940]: https://gitlab.freedesktop.org/drm/intel/issues/7940
[i915#7941]: https://gitlab.freedesktop.org/drm/intel/issues/7941
[i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
[i915#8211]: https://gitlab.freedesktop.org/drm/intel/issues/8211
[i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
[i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228
[i915#8230]: https://gitlab.freedesktop.org/drm/intel/issues/8230
[i915#8234]: https://gitlab.freedesktop.org/drm/intel/issues/8234
[i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
[i915#8248]: https://gitlab.freedesktop.org/drm/intel/issues/8248
[i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
[i915#8311]: https://gitlab.freedesktop.org/drm/intel/issues/8311
[i915#8398]: https://gitlab.freedesktop.org/drm/intel/issues/8398
[i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414
[i915#8502]: https://gitlab.freedesktop.org/drm/intel/issues/8502
[i915#8661]: https://gitlab.freedesktop.org/drm/intel/issues/8661
[i915#8690]: https://gitlab.freedesktop.org/drm/intel/issues/8690
[i915#8691]: https://gitlab.freedesktop.org/drm/intel/issues/8691
[i915#8717]: https://gitlab.freedesktop.org/drm/intel/issues/8717
[i915#8724]: https://gitlab.freedesktop.org/drm/intel/issues/8724
[i915#8758]: https://gitlab.freedesktop.org/drm/intel/issues/8758
[i915#8841]: https://gitlab.freedesktop.org/drm/intel/issues/8841
[i915#8986]: https://gitlab.freedesktop.org/drm/intel/issues/8986
Build changes
-------------
* Linux: CI_DRM_13426 -> Patchwork_118475v4
CI-20190529: 20190529
CI_DRM_13426: 50f130ab3021dd575aca3fab9c08eae15cd323a8 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_7405: 6745761cb6050514a12aac973d02aeccdff06255 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_118475v4: 50f130ab3021dd575aca3fab9c08eae15cd323a8 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_118475v4/index.html
[-- Attachment #2: Type: text/html, Size: 52746 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Intel-gfx] [PATCH v4 1/4] drm/i915: Add macros to get i915 device from i915_gem_object
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 1/4] drm/i915: Add macros to get i915 device from i915_gem_object Jouni Högander
@ 2023-07-31 9:32 ` Nirmoy Das
0 siblings, 0 replies; 13+ messages in thread
From: Nirmoy Das @ 2023-07-31 9:32 UTC (permalink / raw)
To: Jouni Högander, intel-gfx; +Cc: Jani Nikula
On 7/27/2023 8:41 AM, Jouni Högander wrote:
> We want to stop touching directly i915_gem_object struct members in
> intel_frontbuffer code. As a part of this we add helper macro to get i915
> device from i915_gem_object.
>
> v2: operate on and return pointer in defined macros
>
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
> ---
> .../gpu/drm/i915/display/intel_frontbuffer.c | 18 +++++++++---------
> .../gpu/drm/i915/gem/i915_gem_object_types.h | 3 +++
> 2 files changed, 12 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.c b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> index 17a7aa8b28c2..3ce0436a0c7d 100644
> --- a/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> +++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> @@ -167,7 +167,7 @@ void __intel_fb_invalidate(struct intel_frontbuffer *front,
> enum fb_op_origin origin,
> unsigned int frontbuffer_bits)
> {
> - struct drm_i915_private *i915 = to_i915(front->obj->base.dev);
> + struct drm_i915_private *i915 = intel_bo_to_i915(front->obj);
>
> if (origin == ORIGIN_CS) {
> spin_lock(&i915->display.fb_tracking.lock);
> @@ -188,7 +188,7 @@ void __intel_fb_flush(struct intel_frontbuffer *front,
> enum fb_op_origin origin,
> unsigned int frontbuffer_bits)
> {
> - struct drm_i915_private *i915 = to_i915(front->obj->base.dev);
> + struct drm_i915_private *i915 = intel_bo_to_i915(front->obj);
>
> if (origin == ORIGIN_CS) {
> spin_lock(&i915->display.fb_tracking.lock);
> @@ -221,14 +221,14 @@ static void frontbuffer_retire(struct i915_active *ref)
> }
>
> static void frontbuffer_release(struct kref *ref)
> - __releases(&to_i915(front->obj->base.dev)->display.fb_tracking.lock)
> + __releases(&intel_bo_to_i915(front->obj)->display.fb_tracking.lock)
> {
> struct intel_frontbuffer *front =
> container_of(ref, typeof(*front), ref);
> struct drm_i915_gem_object *obj = front->obj;
> struct i915_vma *vma;
>
> - drm_WARN_ON(obj->base.dev, atomic_read(&front->bits));
> + drm_WARN_ON(&intel_bo_to_i915(obj)->drm, atomic_read(&front->bits));
>
> spin_lock(&obj->vma.lock);
> for_each_ggtt_vma(vma, obj) {
> @@ -238,7 +238,7 @@ static void frontbuffer_release(struct kref *ref)
> spin_unlock(&obj->vma.lock);
>
> RCU_INIT_POINTER(obj->frontbuffer, NULL);
> - spin_unlock(&to_i915(obj->base.dev)->display.fb_tracking.lock);
> + spin_unlock(&intel_bo_to_i915(obj)->display.fb_tracking.lock);
>
> i915_active_fini(&front->write);
>
> @@ -249,7 +249,7 @@ static void frontbuffer_release(struct kref *ref)
> struct intel_frontbuffer *
> intel_frontbuffer_get(struct drm_i915_gem_object *obj)
> {
> - struct drm_i915_private *i915 = to_i915(obj->base.dev);
> + struct drm_i915_private *i915 = intel_bo_to_i915(obj);
> struct intel_frontbuffer *front;
>
> front = __intel_frontbuffer_get(obj);
> @@ -286,7 +286,7 @@ void intel_frontbuffer_put(struct intel_frontbuffer *front)
> {
> kref_put_lock(&front->ref,
> frontbuffer_release,
> - &to_i915(front->obj->base.dev)->display.fb_tracking.lock);
> + &intel_bo_to_i915(front->obj)->display.fb_tracking.lock);
> }
>
> /**
> @@ -315,13 +315,13 @@ void intel_frontbuffer_track(struct intel_frontbuffer *old,
> BUILD_BUG_ON(I915_MAX_PLANES > INTEL_FRONTBUFFER_BITS_PER_PIPE);
>
> if (old) {
> - drm_WARN_ON(old->obj->base.dev,
> + drm_WARN_ON(&intel_bo_to_i915(old->obj)->drm,
> !(atomic_read(&old->bits) & frontbuffer_bits));
> atomic_andnot(frontbuffer_bits, &old->bits);
> }
>
> if (new) {
> - drm_WARN_ON(new->obj->base.dev,
> + drm_WARN_ON(&intel_bo_to_i915(new->obj)->drm,
> atomic_read(&new->bits) & frontbuffer_bits);
> atomic_or(frontbuffer_bits, &new->bits);
> }
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
> index e72c57716bee..3de7db70f4ed 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_object_types.h
> @@ -718,6 +718,9 @@ struct drm_i915_gem_object {
> };
> };
>
> +#define intel_bo_to_drm_bo(bo) (&(bo)->base)
> +#define intel_bo_to_i915(bo) to_i915(intel_bo_to_drm_bo(bo)->dev)
> +
> static inline struct drm_i915_gem_object *
> to_intel_bo(struct drm_gem_object *gem)
> {
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Intel-gfx] [PATCH v4 2/4] drm/i915: Add getter/setter for i915_gem_object->frontbuffer
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 2/4] drm/i915: Add getter/setter for i915_gem_object->frontbuffer Jouni Högander
@ 2023-07-31 9:34 ` Nirmoy Das
0 siblings, 0 replies; 13+ messages in thread
From: Nirmoy Das @ 2023-07-31 9:34 UTC (permalink / raw)
To: Jouni Högander, intel-gfx
On 7/27/2023 8:41 AM, Jouni Högander wrote:
> Add getter/setter for i915_gem_object->frontbuffer and use it instead of
> directly touching i915_gem_object->frontbuffer frontbuffer pointer.
>
> v3:
> - Fix intel_frontbuffer_get return value
> - s/front_ret/cur/
> v2: Move getter/setter into i915_gem_object.h
>
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
> ---
> .../gpu/drm/i915/display/intel_frontbuffer.c | 20 ++----
> .../gpu/drm/i915/display/intel_frontbuffer.h | 27 --------
> drivers/gpu/drm/i915/gem/i915_gem_object.c | 4 +-
> drivers/gpu/drm/i915/gem/i915_gem_object.h | 67 +++++++++++++++++++
> drivers/gpu/drm/i915/i915_vma.c | 2 +-
> 5 files changed, 77 insertions(+), 43 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.c b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> index 3ce0436a0c7d..56f45370fee0 100644
> --- a/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> +++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> @@ -237,7 +237,7 @@ static void frontbuffer_release(struct kref *ref)
> }
> spin_unlock(&obj->vma.lock);
>
> - RCU_INIT_POINTER(obj->frontbuffer, NULL);
> + i915_gem_object_set_frontbuffer(obj, NULL);
> spin_unlock(&intel_bo_to_i915(obj)->display.fb_tracking.lock);
>
> i915_active_fini(&front->write);
> @@ -250,9 +250,9 @@ struct intel_frontbuffer *
> intel_frontbuffer_get(struct drm_i915_gem_object *obj)
> {
> struct drm_i915_private *i915 = intel_bo_to_i915(obj);
> - struct intel_frontbuffer *front;
> + struct intel_frontbuffer *front, *cur;
>
> - front = __intel_frontbuffer_get(obj);
> + front = i915_gem_object_get_frontbuffer(obj);
> if (front)
> return front;
>
> @@ -269,17 +269,11 @@ intel_frontbuffer_get(struct drm_i915_gem_object *obj)
> I915_ACTIVE_RETIRE_SLEEPS);
>
> spin_lock(&i915->display.fb_tracking.lock);
> - if (rcu_access_pointer(obj->frontbuffer)) {
> - kfree(front);
> - front = rcu_dereference_protected(obj->frontbuffer, true);
> - kref_get(&front->ref);
> - } else {
> - i915_gem_object_get(obj);
> - rcu_assign_pointer(obj->frontbuffer, front);
> - }
> + cur = i915_gem_object_set_frontbuffer(obj, front);
> spin_unlock(&i915->display.fb_tracking.lock);
> -
> - return front;
> + if (cur != front)
> + kfree(front);
> + return cur;
> }
>
> void intel_frontbuffer_put(struct intel_frontbuffer *front)
> diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.h b/drivers/gpu/drm/i915/display/intel_frontbuffer.h
> index 3c474ed937fb..eeccc847331d 100644
> --- a/drivers/gpu/drm/i915/display/intel_frontbuffer.h
> +++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.h
> @@ -75,33 +75,6 @@ void intel_frontbuffer_flip(struct drm_i915_private *i915,
>
> void intel_frontbuffer_put(struct intel_frontbuffer *front);
>
> -static inline struct intel_frontbuffer *
> -__intel_frontbuffer_get(const struct drm_i915_gem_object *obj)
> -{
> - struct intel_frontbuffer *front;
> -
> - if (likely(!rcu_access_pointer(obj->frontbuffer)))
> - return NULL;
> -
> - rcu_read_lock();
> - do {
> - front = rcu_dereference(obj->frontbuffer);
> - if (!front)
> - break;
> -
> - if (unlikely(!kref_get_unless_zero(&front->ref)))
> - continue;
> -
> - if (likely(front == rcu_access_pointer(obj->frontbuffer)))
> - break;
> -
> - intel_frontbuffer_put(front);
> - } while (1);
> - rcu_read_unlock();
> -
> - return front;
> -}
> -
> struct intel_frontbuffer *
> intel_frontbuffer_get(struct drm_i915_gem_object *obj);
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c
> index 97ac6fb37958..148468098082 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_object.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c
> @@ -469,7 +469,7 @@ void __i915_gem_object_flush_frontbuffer(struct drm_i915_gem_object *obj,
> {
> struct intel_frontbuffer *front;
>
> - front = __intel_frontbuffer_get(obj);
> + front = i915_gem_object_get_frontbuffer(obj);
> if (front) {
> intel_frontbuffer_flush(front, origin);
> intel_frontbuffer_put(front);
> @@ -481,7 +481,7 @@ void __i915_gem_object_invalidate_frontbuffer(struct drm_i915_gem_object *obj,
> {
> struct intel_frontbuffer *front;
>
> - front = __intel_frontbuffer_get(obj);
> + front = i915_gem_object_get_frontbuffer(obj);
> if (front) {
> intel_frontbuffer_invalidate(front, origin);
> intel_frontbuffer_put(front);
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h
> index 884a17275b3a..112c130cfaaa 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_object.h
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h
> @@ -891,4 +891,71 @@ static inline int i915_gem_object_userptr_validate(struct drm_i915_gem_object *o
>
> #endif
>
> +/**
> + * i915_gem_object_get_frontbuffer - Get the object's frontbuffer
> + * @obj: The object whose frontbuffer to get.
> + *
> + * Get pointer to object's frontbuffer if such exists. Please note that RCU
> + * mechanism is used to handle e.g. ongoing removal of frontbuffer pointer.
> + *
> + * Return: pointer to object's frontbuffer is such exists or NULL
> + */
> +static inline struct intel_frontbuffer *
> +i915_gem_object_get_frontbuffer(const struct drm_i915_gem_object *obj)
> +{
> + struct intel_frontbuffer *front;
> +
> + if (likely(!rcu_access_pointer(obj->frontbuffer)))
> + return NULL;
> +
> + rcu_read_lock();
> + do {
> + front = rcu_dereference(obj->frontbuffer);
> + if (!front)
> + break;
> +
> + if (unlikely(!kref_get_unless_zero(&front->ref)))
> + continue;
> +
> + if (likely(front == rcu_access_pointer(obj->frontbuffer)))
> + break;
> +
> + intel_frontbuffer_put(front);
> + } while (1);
> + rcu_read_unlock();
> +
> + return front;
> +}
> +
> +/**
> + * i915_gem_object_set_frontbuffer - Set the object's frontbuffer
> + * @obj: The object whose frontbuffer to set.
> + * @front: The frontbuffer to set
> + *
> + * Set object's frontbuffer pointer. If frontbuffer is already set for the
> + * object keep it and return it's pointer to the caller. Please note that RCU
> + * mechanism is used to handle e.g. ongoing removal of frontbuffer pointer. This
> + * function is protected by i915->display.fb_tracking.lock
> + *
> + * Return: pointer to frontbuffer which was set.
> + */
> +static inline struct intel_frontbuffer *
> +i915_gem_object_set_frontbuffer(struct drm_i915_gem_object *obj,
> + struct intel_frontbuffer *front)
> +{
> + struct intel_frontbuffer *cur = front;
> +
> + if (!front) {
> + RCU_INIT_POINTER(obj->frontbuffer, NULL);
> + } else if (rcu_access_pointer(obj->frontbuffer)) {
> + cur = rcu_dereference_protected(obj->frontbuffer, true);
> + kref_get(&cur->ref);
> + } else {
> + drm_gem_object_get(intel_bo_to_drm_bo(obj));
> + rcu_assign_pointer(obj->frontbuffer, front);
> + }
> +
> + return cur;
> +}
> +
> #endif
> diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
> index af2e49f90f2f..e90b9c812180 100644
> --- a/drivers/gpu/drm/i915/i915_vma.c
> +++ b/drivers/gpu/drm/i915/i915_vma.c
> @@ -1908,7 +1908,7 @@ int _i915_vma_move_to_active(struct i915_vma *vma,
> if (flags & EXEC_OBJECT_WRITE) {
> struct intel_frontbuffer *front;
>
> - front = __intel_frontbuffer_get(obj);
> + front = i915_gem_object_get_frontbuffer(obj);
> if (unlikely(front)) {
> if (intel_frontbuffer_invalidate(front, ORIGIN_CS))
> i915_active_add_request(&front->write, rq);
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Intel-gfx] [PATCH v4 4/4] drm/i915: Add function to clear scanout flag for vmas
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 4/4] drm/i915: Add function to clear scanout flag for vmas Jouni Högander
@ 2023-07-31 9:47 ` Nirmoy Das
0 siblings, 0 replies; 13+ messages in thread
From: Nirmoy Das @ 2023-07-31 9:47 UTC (permalink / raw)
To: Jouni Högander, intel-gfx; +Cc: Jani Nikula
On 7/27/2023 8:41 AM, Jouni Högander wrote:
> Currently frontbuffer tracking code is directly iterating over object vmas
> and clearing scanout flags for them. Add function to clear scanout flag for
> vmas and use it from frontbuffer tracking code.
>
> v2: describe function parameter.
>
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
> ---
> .../gpu/drm/i915/display/intel_frontbuffer.c | 8 +-------
> drivers/gpu/drm/i915/i915_vma.c | 20 +++++++++++++++++++
> drivers/gpu/drm/i915/i915_vma.h | 2 ++
> 3 files changed, 23 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.c b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> index 56f45370fee0..22392f94b626 100644
> --- a/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> +++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.c
> @@ -226,16 +226,10 @@ static void frontbuffer_release(struct kref *ref)
> struct intel_frontbuffer *front =
> container_of(ref, typeof(*front), ref);
> struct drm_i915_gem_object *obj = front->obj;
> - struct i915_vma *vma;
>
> drm_WARN_ON(&intel_bo_to_i915(obj)->drm, atomic_read(&front->bits));
>
> - spin_lock(&obj->vma.lock);
> - for_each_ggtt_vma(vma, obj) {
> - i915_vma_clear_scanout(vma);
> - vma->display_alignment = I915_GTT_MIN_ALIGNMENT;
> - }
> - spin_unlock(&obj->vma.lock);
> + i915_ggtt_clear_scanout(obj);
>
> i915_gem_object_set_frontbuffer(obj, NULL);
> spin_unlock(&intel_bo_to_i915(obj)->display.fb_tracking.lock);
> diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
> index e90b9c812180..63e111266de1 100644
> --- a/drivers/gpu/drm/i915/i915_vma.c
> +++ b/drivers/gpu/drm/i915/i915_vma.c
> @@ -1629,6 +1629,26 @@ int i915_ggtt_pin(struct i915_vma *vma, struct i915_gem_ww_ctx *ww,
> return err;
> }
>
> +/**
> + * i915_ggtt_clear_scanout - Clear scanout flag for all objects ggtt vmas
> + * @obj: i915 GEM object
> + * This function clears scanout flags for objects ggtt vmas. These flags are set
> + * when object is pinned for display use and this function to clear them all is
> + * targeted to be called by frontbuffer tracking code when the frontbuffer is
> + * about to be released.
> + */
> +void i915_ggtt_clear_scanout(struct drm_i915_gem_object *obj)
> +{
> + struct i915_vma *vma;
> +
> + spin_lock(&obj->vma.lock);
> + for_each_ggtt_vma(vma, obj) {
> + i915_vma_clear_scanout(vma);
> + vma->display_alignment = I915_GTT_MIN_ALIGNMENT;
> + }
> + spin_unlock(&obj->vma.lock);
> +}
> +
> static void __vma_close(struct i915_vma *vma, struct intel_gt *gt)
> {
> /*
> diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h
> index 9a9729205d5b..eaa310864370 100644
> --- a/drivers/gpu/drm/i915/i915_vma.h
> +++ b/drivers/gpu/drm/i915/i915_vma.h
> @@ -435,6 +435,8 @@ static inline void i915_vma_clear_scanout(struct i915_vma *vma)
> clear_bit(I915_VMA_SCANOUT_BIT, __i915_vma_flags(vma));
> }
>
> +void i915_ggtt_clear_scanout(struct drm_i915_gem_object *obj);
> +
> #define for_each_until(cond) if (cond) break; else
>
> /**
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Intel-gfx] [PATCH v4 3/4] drm/i915/display: Remove i915_gem_object_types.h from intel_frontbuffer.h
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 3/4] drm/i915/display: Remove i915_gem_object_types.h from intel_frontbuffer.h Jouni Högander
@ 2023-08-01 5:26 ` B, Jeevan
0 siblings, 0 replies; 13+ messages in thread
From: B, Jeevan @ 2023-08-01 5:26 UTC (permalink / raw)
To: Hogander, Jouni, intel-gfx@lists.freedesktop.org
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
> Jouni Högander
> Sent: Thursday, July 27, 2023 12:12 PM
> To: intel-gfx@lists.freedesktop.org
> Subject: [Intel-gfx] [PATCH v4 3/4] drm/i915/display: Remove
> i915_gem_object_types.h from intel_frontbuffer.h
>
> Now as we have removed all the references to internals of i915_gem_object
> from the frontbuffer header we can also remove including
> i915_gem_object_types.h.
>
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Jeevan B <jeevan.b@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_frontbuffer.h | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_frontbuffer.h
> b/drivers/gpu/drm/i915/display/intel_frontbuffer.h
> index eeccc847331d..72d89be3284b 100644
> --- a/drivers/gpu/drm/i915/display/intel_frontbuffer.h
> +++ b/drivers/gpu/drm/i915/display/intel_frontbuffer.h
> @@ -28,7 +28,6 @@
> #include <linux/bits.h>
> #include <linux/kref.h>
>
> -#include "gem/i915_gem_object_types.h"
> #include "i915_active_types.h"
>
> struct drm_i915_private;
> --
> 2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking
2023-07-27 6:41 [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking Jouni Högander
` (6 preceding siblings ...)
2023-07-27 8:53 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
@ 2023-08-01 7:04 ` Hogander, Jouni
7 siblings, 0 replies; 13+ messages in thread
From: Hogander, Jouni @ 2023-08-01 7:04 UTC (permalink / raw)
To: intel-gfx@lists.freedesktop.org; +Cc: Nikula, Jani, Vivi, Rodrigo, Das, Nirmoy
On Thu, 2023-07-27 at 09:41 +0300, Jouni Högander wrote:
> We are preparing for Xe driver. Binary objects will have differing
> implementation in Xe driver. Due this we want to remove direct
> accesses to i915_gem_object members and leave details to binary
> object
> implementation.
Thank you Nirmoy, Jani and Jeevan for reviews. This is now merged.
BR,
Jouni Högander
>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Nirmoy Das <nirmoy.das@intel.com>
>
> v4:
> - Fix intel_frontbuffer_get return value
> - s/front_ret/cur/
> v3:
> - Move gem object frontbuffer getter/setter into header file
> - operate on and return pointer in defined macros
> v2: desribe i915_ggtt_clear_scanout function parameter
>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>
> Jouni Högander (4):
> drm/i915: Add macros to get i915 device from i915_gem_object
> drm/i915: Add getter/setter for i915_gem_object->frontbuffer
> drm/i915/display: Remove i915_gem_object_types.h from
> intel_frontbuffer.h
> drm/i915: Add function to clear scanout flag for vmas
>
> .../gpu/drm/i915/display/intel_frontbuffer.c | 46 +++++--------
> .../gpu/drm/i915/display/intel_frontbuffer.h | 28 --------
> drivers/gpu/drm/i915/gem/i915_gem_object.c | 4 +-
> drivers/gpu/drm/i915/gem/i915_gem_object.h | 67
> +++++++++++++++++++
> .../gpu/drm/i915/gem/i915_gem_object_types.h | 3 +
> drivers/gpu/drm/i915/i915_vma.c | 22 +++++-
> drivers/gpu/drm/i915/i915_vma.h | 2 +
> 7 files changed, 112 insertions(+), 60 deletions(-)
>
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2023-08-01 7:04 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-27 6:41 [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking Jouni Högander
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 1/4] drm/i915: Add macros to get i915 device from i915_gem_object Jouni Högander
2023-07-31 9:32 ` Nirmoy Das
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 2/4] drm/i915: Add getter/setter for i915_gem_object->frontbuffer Jouni Högander
2023-07-31 9:34 ` Nirmoy Das
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 3/4] drm/i915/display: Remove i915_gem_object_types.h from intel_frontbuffer.h Jouni Högander
2023-08-01 5:26 ` B, Jeevan
2023-07-27 6:41 ` [Intel-gfx] [PATCH v4 4/4] drm/i915: Add function to clear scanout flag for vmas Jouni Högander
2023-07-31 9:47 ` Nirmoy Das
2023-07-27 7:17 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Do not access i915_gem_object members from frontbuffer tracking (rev4) Patchwork
2023-07-27 7:36 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-07-27 8:53 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
2023-08-01 7:04 ` [Intel-gfx] [PATCH v4 0/4] Do not access i915_gem_object members from frontbuffer tracking Hogander, Jouni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox