All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen
@ 2023-06-14  5:17 Jouni Högander
  2023-06-14  5:17 ` [Intel-gfx] [PATCH v2 1/3] drm/i915: Move stolen memory handling " Jouni Högander
                   ` (13 more replies)
  0 siblings, 14 replies; 23+ messages in thread
From: Jouni Högander @ 2023-06-14  5:17 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula, Rodrigo Vivi

We are preparing for Xe driver. Stolen memory handling will be
different in Xe driver. Due to this we want to remove all stolen
memory handling details away from FBC code.

v2:
 - Fix couple of checkpatch warnings
 - Fix intel_gt_support_legacy_fencing macro

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

Jouni Högander (3):
  drm/i915: Move stolen memory handling into i915_gem_stolen
  drm/i915/fbc: Make FBC check stolen at use time
  drm/i915/fbc: Moved fence related code away from intel_fbc

 drivers/gpu/drm/i915/display/intel_fbc.c   | 64 ++++++++++++----------
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 36 ++++++++++++
 drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 13 +++++
 drivers/gpu/drm/i915/gt/intel_gt_types.h   |  2 +
 drivers/gpu/drm/i915/i915_vma.h            |  5 ++
 5 files changed, 90 insertions(+), 30 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Intel-gfx] [PATCH v2 1/3] drm/i915: Move stolen memory handling into i915_gem_stolen
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
@ 2023-06-14  5:17 ` Jouni Högander
  2023-08-01  8:02   ` Nirmoy Das
  2023-06-14  5:17 ` [Intel-gfx] [PATCH v2 2/3] drm/i915/fbc: Make FBC check stolen at use time Jouni Högander
                   ` (12 subsequent siblings)
  13 siblings, 1 reply; 23+ messages in thread
From: Jouni Högander @ 2023-06-14  5:17 UTC (permalink / raw)
  To: intel-gfx

We are preparing for Xe. Xe stolen memory handling differs from i915 so we
want to move stolen memory handling details into i915_gem_stolen.

Also add a common type for fbc compressed fb and use it from fbc code
instead of underlying type directly. This way we can have common type
i915_stolen_fb for both i915 and Xe.

v2: Fix couple of checkpatch warnings

Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_fbc.c   | 46 +++++++++++-----------
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 36 +++++++++++++++++
 drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 13 ++++++
 3 files changed, 73 insertions(+), 22 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index 7f8b2d7713c7..a18e84efe911 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -94,8 +94,7 @@ struct intel_fbc {
 	struct mutex lock;
 	unsigned int busy_bits;
 
-	struct drm_mm_node compressed_fb;
-	struct drm_mm_node compressed_llb;
+	struct i915_stolen_fb compressed_fb, compressed_llb;
 
 	enum intel_fbc_id id;
 
@@ -332,15 +331,16 @@ static void i8xx_fbc_program_cfb(struct intel_fbc *fbc)
 {
 	struct drm_i915_private *i915 = fbc->i915;
 
-	GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.stolen.start,
-					 fbc->compressed_fb.start, U32_MAX));
-	GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.stolen.start,
-					 fbc->compressed_llb.start, U32_MAX));
-
+	GEM_BUG_ON(range_overflows_end_t(u64, i915_gem_stolen_area_address(i915),
+					 i915_gem_stolen_node_offset(&fbc->compressed_fb),
+					 U32_MAX));
+	GEM_BUG_ON(range_overflows_end_t(u64, i915_gem_stolen_area_address(i915),
+					 i915_gem_stolen_node_offset(&fbc->compressed_llb),
+					 U32_MAX));
 	intel_de_write(i915, FBC_CFB_BASE,
-		       i915->dsm.stolen.start + fbc->compressed_fb.start);
+		       i915_gem_stolen_node_address(i915, &fbc->compressed_fb));
 	intel_de_write(i915, FBC_LL_BASE,
-		       i915->dsm.stolen.start + fbc->compressed_llb.start);
+		       i915_gem_stolen_node_address(i915, &fbc->compressed_llb));
 }
 
 static const struct intel_fbc_funcs i8xx_fbc_funcs = {
@@ -447,7 +447,8 @@ static void g4x_fbc_program_cfb(struct intel_fbc *fbc)
 {
 	struct drm_i915_private *i915 = fbc->i915;
 
-	intel_de_write(i915, DPFC_CB_BASE, fbc->compressed_fb.start);
+	intel_de_write(i915, DPFC_CB_BASE,
+		       i915_gem_stolen_node_offset(&fbc->compressed_fb));
 }
 
 static const struct intel_fbc_funcs g4x_fbc_funcs = {
@@ -498,7 +499,8 @@ static void ilk_fbc_program_cfb(struct intel_fbc *fbc)
 {
 	struct drm_i915_private *i915 = fbc->i915;
 
-	intel_de_write(i915, ILK_DPFC_CB_BASE(fbc->id), fbc->compressed_fb.start);
+	intel_de_write(i915, ILK_DPFC_CB_BASE(fbc->id),
+		       i915_gem_stolen_node_offset(&fbc->compressed_fb));
 }
 
 static const struct intel_fbc_funcs ilk_fbc_funcs = {
@@ -713,7 +715,7 @@ static u64 intel_fbc_stolen_end(struct drm_i915_private *i915)
 	 * underruns, even if that range is not reserved by the BIOS. */
 	if (IS_BROADWELL(i915) ||
 	    (DISPLAY_VER(i915) == 9 && !IS_BROXTON(i915)))
-		end = resource_size(&i915->dsm.stolen) - 8 * 1024 * 1024;
+		end = i915_gem_stolen_area_size(i915) - 8 * 1024 * 1024;
 	else
 		end = U64_MAX;
 
@@ -770,9 +772,9 @@ static int intel_fbc_alloc_cfb(struct intel_fbc *fbc,
 	int ret;
 
 	drm_WARN_ON(&i915->drm,
-		    drm_mm_node_allocated(&fbc->compressed_fb));
+		    i915_gem_stolen_node_allocated(&fbc->compressed_fb));
 	drm_WARN_ON(&i915->drm,
-		    drm_mm_node_allocated(&fbc->compressed_llb));
+		    i915_gem_stolen_node_allocated(&fbc->compressed_llb));
 
 	if (DISPLAY_VER(i915) < 5 && !IS_G4X(i915)) {
 		ret = i915_gem_stolen_insert_node(i915, &fbc->compressed_llb,
@@ -792,15 +794,14 @@ static int intel_fbc_alloc_cfb(struct intel_fbc *fbc,
 
 	drm_dbg_kms(&i915->drm,
 		    "reserved %llu bytes of contiguous stolen space for FBC, limit: %d\n",
-		    fbc->compressed_fb.size, fbc->limit);
-
+		    i915_gem_stolen_node_size(&fbc->compressed_fb), fbc->limit);
 	return 0;
 
 err_llb:
-	if (drm_mm_node_allocated(&fbc->compressed_llb))
+	if (i915_gem_stolen_node_allocated(&fbc->compressed_llb))
 		i915_gem_stolen_remove_node(i915, &fbc->compressed_llb);
 err:
-	if (drm_mm_initialized(&i915->mm.stolen))
+	if (i915_gem_stolen_initialized(i915))
 		drm_info_once(&i915->drm, "not enough stolen space for compressed buffer (need %d more bytes), disabling. Hint: you may be able to increase stolen memory size in the BIOS to avoid this.\n", size);
 	return -ENOSPC;
 }
@@ -825,9 +826,9 @@ static void __intel_fbc_cleanup_cfb(struct intel_fbc *fbc)
 	if (WARN_ON(intel_fbc_hw_is_active(fbc)))
 		return;
 
-	if (drm_mm_node_allocated(&fbc->compressed_llb))
+	if (i915_gem_stolen_node_allocated(&fbc->compressed_llb))
 		i915_gem_stolen_remove_node(i915, &fbc->compressed_llb);
-	if (drm_mm_node_allocated(&fbc->compressed_fb))
+	if (i915_gem_stolen_node_allocated(&fbc->compressed_fb))
 		i915_gem_stolen_remove_node(i915, &fbc->compressed_fb);
 }
 
@@ -1030,7 +1031,8 @@ static bool intel_fbc_is_cfb_ok(const struct intel_plane_state *plane_state)
 	struct intel_fbc *fbc = plane->fbc;
 
 	return intel_fbc_min_limit(plane_state) <= fbc->limit &&
-		intel_fbc_cfb_size(plane_state) <= fbc->compressed_fb.size * fbc->limit;
+		intel_fbc_cfb_size(plane_state) <= fbc->limit *
+			i915_gem_stolen_node_size(&fbc->compressed_fb);
 }
 
 static bool intel_fbc_is_ok(const struct intel_plane_state *plane_state)
@@ -1707,7 +1709,7 @@ void intel_fbc_init(struct drm_i915_private *i915)
 {
 	enum intel_fbc_id fbc_id;
 
-	if (!drm_mm_initialized(&i915->mm.stolen))
+	if (!i915_gem_stolen_initialized(i915))
 		DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
 
 	if (need_fbc_vtd_wa(i915))
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
index 3b094d36a0b0..78bac1e611dd 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
@@ -974,3 +974,39 @@ bool i915_gem_object_is_stolen(const struct drm_i915_gem_object *obj)
 {
 	return obj->ops == &i915_gem_object_stolen_ops;
 }
+
+bool i915_gem_stolen_initialized(const struct drm_i915_private *i915)
+{
+	return drm_mm_initialized(&i915->mm.stolen);
+}
+
+u64 i915_gem_stolen_area_address(const struct drm_i915_private *i915)
+{
+	return i915->dsm.stolen.start;
+}
+
+u64 i915_gem_stolen_area_size(const struct drm_i915_private *i915)
+{
+	return resource_size(&i915->dsm.stolen);
+}
+
+u64 i915_gem_stolen_node_address(const struct drm_i915_private *i915,
+				 const struct drm_mm_node *node)
+{
+	return i915->dsm.stolen.start + i915_gem_stolen_node_offset(node);
+}
+
+bool i915_gem_stolen_node_allocated(const struct drm_mm_node *node)
+{
+	return drm_mm_node_allocated(node);
+}
+
+u64 i915_gem_stolen_node_offset(const struct drm_mm_node *node)
+{
+	return node->start;
+}
+
+u64 i915_gem_stolen_node_size(const struct drm_mm_node *node)
+{
+	return node->size;
+}
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.h b/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
index d5005a39d130..258381d1c054 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
+++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
@@ -12,6 +12,8 @@ struct drm_i915_private;
 struct drm_mm_node;
 struct drm_i915_gem_object;
 
+#define i915_stolen_fb drm_mm_node
+
 int i915_gem_stolen_insert_node(struct drm_i915_private *dev_priv,
 				struct drm_mm_node *node, u64 size,
 				unsigned alignment);
@@ -36,4 +38,15 @@ bool i915_gem_object_is_stolen(const struct drm_i915_gem_object *obj);
 
 #define I915_GEM_STOLEN_BIAS SZ_128K
 
+bool i915_gem_stolen_initialized(const struct drm_i915_private *i915);
+u64 i915_gem_stolen_area_address(const struct drm_i915_private *i915);
+u64 i915_gem_stolen_area_size(const struct drm_i915_private *i915);
+
+u64 i915_gem_stolen_node_address(const struct drm_i915_private *i915,
+				 const struct drm_mm_node *node);
+
+bool i915_gem_stolen_node_allocated(const struct drm_mm_node *node);
+u64 i915_gem_stolen_node_offset(const struct drm_mm_node *node);
+u64 i915_gem_stolen_node_size(const struct drm_mm_node *node);
+
 #endif /* __I915_GEM_STOLEN_H__ */
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [Intel-gfx] [PATCH v2 2/3] drm/i915/fbc: Make FBC check stolen at use time
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
  2023-06-14  5:17 ` [Intel-gfx] [PATCH v2 1/3] drm/i915: Move stolen memory handling " Jouni Högander
@ 2023-06-14  5:17 ` Jouni Högander
  2023-08-03 10:18   ` B, Jeevan
  2023-06-14  5:17 ` [Intel-gfx] [PATCH v2 3/3] drm/i915/fbc: Moved fence related code away from intel_fbc Jouni Högander
                   ` (11 subsequent siblings)
  13 siblings, 1 reply; 23+ messages in thread
From: Jouni Högander @ 2023-06-14  5:17 UTC (permalink / raw)
  To: intel-gfx

As a preparation for Xe change stolen memory initialization check to be
done in use-time instead of during initialization.

In case of xe, stolen memory is initialised much later so it can't be
checked during init. There is no specific reason to check this in init for
i915 either -> perform the check in use-time. This also gives us benefit
fbc_no_reason reporting missing initialization being reason for disabled
fbc.

Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
---
 drivers/gpu/drm/i915/display/intel_fbc.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index a18e84efe911..da8166eedf93 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -1056,6 +1056,11 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
 	if (!fbc)
 		return 0;
 
+	if (!i915_gem_stolen_initialized(i915)) {
+		plane_state->no_fbc_reason = "stolen memory not initialised";
+		return 0;
+	}
+
 	if (intel_vgpu_active(i915)) {
 		plane_state->no_fbc_reason = "VGPU active";
 		return 0;
@@ -1709,9 +1714,6 @@ void intel_fbc_init(struct drm_i915_private *i915)
 {
 	enum intel_fbc_id fbc_id;
 
-	if (!i915_gem_stolen_initialized(i915))
-		DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
-
 	if (need_fbc_vtd_wa(i915))
 		DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [Intel-gfx] [PATCH v2 3/3] drm/i915/fbc: Moved fence related code away from intel_fbc
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
  2023-06-14  5:17 ` [Intel-gfx] [PATCH v2 1/3] drm/i915: Move stolen memory handling " Jouni Högander
  2023-06-14  5:17 ` [Intel-gfx] [PATCH v2 2/3] drm/i915/fbc: Make FBC check stolen at use time Jouni Högander
@ 2023-06-14  5:17 ` Jouni Högander
  2023-08-01  7:42   ` Nirmoy Das
  2023-06-14  6:00 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Move stolen memory handling details into i915_gem_stolen (rev2) Patchwork
                   ` (10 subsequent siblings)
  13 siblings, 1 reply; 23+ messages in thread
From: Jouni Högander @ 2023-06-14  5:17 UTC (permalink / raw)
  To: intel-gfx

As a preparation for Xe move HW fence details away from intel_fbc code.
Add new functions to check support for legacy fencing and fence id and use
these in fbc code. Xe doesn't support legacy fencing.

v2: Fix intel_gt_support_legacy_fencing macro

Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
---
 drivers/gpu/drm/i915/display/intel_fbc.c | 12 ++++++------
 drivers/gpu/drm/i915/gt/intel_gt_types.h |  2 ++
 drivers/gpu/drm/i915/i915_vma.h          |  5 +++++
 3 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index da8166eedf93..25382022cd27 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -47,6 +47,7 @@
 #include "i915_reg.h"
 #include "i915_utils.h"
 #include "i915_vgpu.h"
+#include "i915_vma.h"
 #include "intel_cdclk.h"
 #include "intel_de.h"
 #include "intel_display_trace.h"
@@ -607,7 +608,7 @@ static void ivb_fbc_activate(struct intel_fbc *fbc)
 	else if (DISPLAY_VER(i915) == 9)
 		skl_fbc_program_cfb_stride(fbc);
 
-	if (to_gt(i915)->ggtt->num_fences)
+	if (intel_gt_support_legacy_fencing(to_gt(i915)))
 		snb_fbc_program_fence(fbc);
 
 	intel_de_write(i915, ILK_DPFC_CONTROL(fbc->id),
@@ -991,11 +992,10 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
 	fbc_state->fence_y_offset = intel_plane_fence_y_offset(plane_state);
 
 	drm_WARN_ON(&i915->drm, plane_state->flags & PLANE_HAS_FENCE &&
-		    !plane_state->ggtt_vma->fence);
+		    !intel_gt_support_legacy_fencing(to_gt(i915)));
 
-	if (plane_state->flags & PLANE_HAS_FENCE &&
-	    plane_state->ggtt_vma->fence)
-		fbc_state->fence_id = plane_state->ggtt_vma->fence->id;
+	if (plane_state->flags & PLANE_HAS_FENCE)
+		fbc_state->fence_id =  i915_vma_fence_id(plane_state->ggtt_vma);
 	else
 		fbc_state->fence_id = -1;
 
@@ -1022,7 +1022,7 @@ static bool intel_fbc_is_fence_ok(const struct intel_plane_state *plane_state)
 	 */
 	return DISPLAY_VER(i915) >= 9 ||
 		(plane_state->flags & PLANE_HAS_FENCE &&
-		 plane_state->ggtt_vma->fence);
+		 i915_vma_fence_id(plane_state->ggtt_vma) != -1);
 }
 
 static bool intel_fbc_is_cfb_ok(const struct intel_plane_state *plane_state)
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_types.h b/drivers/gpu/drm/i915/gt/intel_gt_types.h
index f08c2556aa25..121a53f908d1 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt_types.h
+++ b/drivers/gpu/drm/i915/gt/intel_gt_types.h
@@ -306,4 +306,6 @@ enum intel_gt_scratch_field {
 	INTEL_GT_SCRATCH_FIELD_COHERENTL3_WA = 256,
 };
 
+#define intel_gt_support_legacy_fencing(gt) (gt->ggtt->num_fences > 0)
+
 #endif /* __INTEL_GT_TYPES_H__ */
diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h
index 9a9729205d5b..6fdf6205c290 100644
--- a/drivers/gpu/drm/i915/i915_vma.h
+++ b/drivers/gpu/drm/i915/i915_vma.h
@@ -418,6 +418,11 @@ i915_vma_unpin_fence(struct i915_vma *vma)
 		__i915_vma_unpin_fence(vma);
 }
 
+static inline int i915_vma_fence_id(const struct i915_vma *vma)
+{
+	return vma->fence ? vma->fence->id : -1;
+}
+
 void i915_vma_parked(struct intel_gt *gt);
 
 static inline bool i915_vma_is_scanout(const struct i915_vma *vma)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 23+ messages in thread

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Move stolen memory handling details into i915_gem_stolen (rev2)
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
                   ` (2 preceding siblings ...)
  2023-06-14  5:17 ` [Intel-gfx] [PATCH v2 3/3] drm/i915/fbc: Moved fence related code away from intel_fbc Jouni Högander
@ 2023-06-14  6:00 ` Patchwork
  2023-06-14  6:00 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-06-14  6:00 UTC (permalink / raw)
  To: Jouni Högander; +Cc: intel-gfx

== Series Details ==

Series: Move stolen memory handling details into i915_gem_stolen (rev2)
URL   : https://patchwork.freedesktop.org/series/119123/
State : warning

== Summary ==

Error: dim checkpatch failed
830cf12c0926 drm/i915: Move stolen memory handling into i915_gem_stolen
-:44: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#44: FILE: drivers/gpu/drm/i915/display/intel_fbc.c:334:
+	GEM_BUG_ON(range_overflows_end_t(u64, i915_gem_stolen_area_address(i915),

-:47: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#47: FILE: drivers/gpu/drm/i915/display/intel_fbc.c:337:
+	GEM_BUG_ON(range_overflows_end_t(u64, i915_gem_stolen_area_address(i915),

total: 0 errors, 2 warnings, 0 checks, 177 lines checked
3cca8a412473 drm/i915/fbc: Make FBC check stolen at use time
a839dbeb012a drm/i915/fbc: Moved fence related code away from intel_fbc
-:70: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'gt' may be better as '(gt)' to avoid precedence issues
#70: FILE: drivers/gpu/drm/i915/gt/intel_gt_types.h:309:
+#define intel_gt_support_legacy_fencing(gt) (gt->ggtt->num_fences > 0)

total: 0 errors, 0 warnings, 1 checks, 54 lines checked



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Move stolen memory handling details into i915_gem_stolen (rev2)
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
                   ` (3 preceding siblings ...)
  2023-06-14  6:00 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Move stolen memory handling details into i915_gem_stolen (rev2) Patchwork
@ 2023-06-14  6:00 ` Patchwork
  2023-06-14  6:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-06-14  6:00 UTC (permalink / raw)
  To: Jouni Högander; +Cc: intel-gfx

== Series Details ==

Series: Move stolen memory handling details into i915_gem_stolen (rev2)
URL   : https://patchwork.freedesktop.org/series/119123/
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] 23+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for Move stolen memory handling details into i915_gem_stolen (rev2)
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
                   ` (4 preceding siblings ...)
  2023-06-14  6:00 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
@ 2023-06-14  6:13 ` Patchwork
  2023-06-14  9:29 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-06-14  6:13 UTC (permalink / raw)
  To: Jouni Högander; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 6084 bytes --]

== Series Details ==

Series: Move stolen memory handling details into i915_gem_stolen (rev2)
URL   : https://patchwork.freedesktop.org/series/119123/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13269 -> Patchwork_119123v2
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/index.html

Participating hosts (40 -> 38)
------------------------------

  Missing    (2): bat-adlp-6 fi-snb-2520m 

Known issues
------------

  Here are the changes found in Patchwork_119123v2 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@execlists:
    - fi-bsw-nick:        [PASS][1] -> [ABORT][2] ([i915#7911] / [i915#7913])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/fi-bsw-nick/igt@i915_selftest@live@execlists.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/fi-bsw-nick/igt@i915_selftest@live@execlists.html

  * igt@i915_selftest@live@gt_mocs:
    - bat-mtlp-8:         [PASS][3] -> [DMESG-FAIL][4] ([i915#7059])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/bat-mtlp-8/igt@i915_selftest@live@gt_mocs.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/bat-mtlp-8/igt@i915_selftest@live@gt_mocs.html

  * igt@i915_selftest@live@reset:
    - bat-rpls-1:         NOTRUN -> [ABORT][5] ([i915#4983] / [i915#7461] / [i915#7981] / [i915#8347] / [i915#8384])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/bat-rpls-1/igt@i915_selftest@live@reset.html

  * igt@i915_selftest@live@slpc:
    - bat-mtlp-6:         [PASS][6] -> [DMESG-WARN][7] ([i915#6367])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/bat-mtlp-6/igt@i915_selftest@live@slpc.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/bat-mtlp-6/igt@i915_selftest@live@slpc.html
    - bat-mtlp-8:         [PASS][8] -> [DMESG-WARN][9] ([i915#6367])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/bat-mtlp-8/igt@i915_selftest@live@slpc.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/bat-mtlp-8/igt@i915_selftest@live@slpc.html

  * igt@i915_selftest@live@workarounds:
    - bat-mtlp-6:         [PASS][10] -> [DMESG-FAIL][11] ([i915#6763])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/bat-mtlp-6/igt@i915_selftest@live@workarounds.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1:
    - bat-dg2-8:          [PASS][12] -> [FAIL][13] ([i915#7932]) +1 similar issue
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@requests:
    - bat-mtlp-8:         [DMESG-FAIL][14] ([i915#8497]) -> [PASS][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/bat-mtlp-8/igt@i915_selftest@live@requests.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/bat-mtlp-8/igt@i915_selftest@live@requests.html
    - bat-rpls-1:         [ABORT][16] ([i915#7911] / [i915#7920]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/bat-rpls-1/igt@i915_selftest@live@requests.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/bat-rpls-1/igt@i915_selftest@live@requests.html
    - bat-mtlp-6:         [DMESG-FAIL][18] ([i915#8497]) -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/bat-mtlp-6/igt@i915_selftest@live@requests.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/bat-mtlp-6/igt@i915_selftest@live@requests.html

  
#### Warnings ####

  * igt@i915_module_load@load:
    - bat-adlp-11:        [DMESG-WARN][20] ([i915#4423]) -> [ABORT][21] ([i915#4423])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/bat-adlp-11/igt@i915_module_load@load.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/bat-adlp-11/igt@i915_module_load@load.html

  
  [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6763]: https://gitlab.freedesktop.org/drm/intel/issues/6763
  [i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059
  [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
  [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#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932
  [i915#7981]: https://gitlab.freedesktop.org/drm/intel/issues/7981
  [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
  [i915#8384]: https://gitlab.freedesktop.org/drm/intel/issues/8384
  [i915#8497]: https://gitlab.freedesktop.org/drm/intel/issues/8497


Build changes
-------------

  * Linux: CI_DRM_13269 -> Patchwork_119123v2

  CI-20190529: 20190529
  CI_DRM_13269: c73de42e50dc07f5ae9342b28be76f2ee015e5af @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7327: 34e48b7d6402c3d7af19a40d8951eae017cf64df @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_119123v2: c73de42e50dc07f5ae9342b28be76f2ee015e5af @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

37a010bc2bea drm/i915/fbc: Moved fence related code away from intel_fbc
41cb3e372ac0 drm/i915/fbc: Make FBC check stolen at use time
eb5805457b13 drm/i915: Move stolen memory handling into i915_gem_stolen

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/index.html

[-- Attachment #2: Type: text/html, Size: 7192 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Intel-gfx] ✗ Fi.CI.IGT: failure for Move stolen memory handling details into i915_gem_stolen (rev2)
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
                   ` (5 preceding siblings ...)
  2023-06-14  6:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2023-06-14  9:29 ` Patchwork
  2023-07-31 10:50 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Move stolen memory handling details into i915_gem_stolen (rev3) Patchwork
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-06-14  9:29 UTC (permalink / raw)
  To: Jouni Högander; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 16896 bytes --]

== Series Details ==

Series: Move stolen memory handling details into i915_gem_stolen (rev2)
URL   : https://patchwork.freedesktop.org/series/119123/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_13269_full -> Patchwork_119123v2_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_119123v2_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_119123v2_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (8 -> 8)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_119123v2_full:

### IGT changes ###

#### Possible regressions ####

  * igt@syncobj_timeline@invalid-transfer-bad-pad:
    - shard-glk:          [PASS][1] -> [TIMEOUT][2] +4 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-glk9/igt@syncobj_timeline@invalid-transfer-bad-pad.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-glk9/igt@syncobj_timeline@invalid-transfer-bad-pad.html

  
Known issues
------------

  Here are the changes found in Patchwork_119123v2_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_exec@basic-nohangcheck:
    - shard-tglu:         [PASS][3] -> [FAIL][4] ([i915#6268])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-tglu-9/igt@gem_ctx_exec@basic-nohangcheck.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-tglu-5/igt@gem_ctx_exec@basic-nohangcheck.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-rkl:          [PASS][5] -> [FAIL][6] ([i915#2842]) +2 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-rkl-6/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-rkl-3/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_lmem_swapping@heavy-verify-multi-ccs:
    - shard-glk:          NOTRUN -> [SKIP][7] ([fdo#109271] / [i915#4613])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-glk9/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html

  * igt@gem_lmem_swapping@parallel-random-verify:
    - shard-tglu:         NOTRUN -> [SKIP][8] ([i915#4613])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-tglu-4/igt@gem_lmem_swapping@parallel-random-verify.html

  * igt@gen9_exec_parse@allowed-all:
    - shard-apl:          [PASS][9] -> [ABORT][10] ([i915#5566]) +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-apl4/igt@gen9_exec_parse@allowed-all.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-apl4/igt@gen9_exec_parse@allowed-all.html

  * igt@i915_pm_dc@dc6-dpms:
    - shard-tglu:         [PASS][11] -> [FAIL][12] ([i915#3989] / [i915#454])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-tglu-2/igt@i915_pm_dc@dc6-dpms.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-tglu-8/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_rpm@dpms-non-lpsp:
    - shard-rkl:          [PASS][13] -> [SKIP][14] ([i915#1397]) +1 similar issue
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-rkl-6/igt@i915_pm_rpm@dpms-non-lpsp.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-rkl-7/igt@i915_pm_rpm@dpms-non-lpsp.html

  * igt@kms_big_joiner@basic:
    - shard-tglu:         NOTRUN -> [SKIP][15] ([i915#2705])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-tglu-4/igt@kms_big_joiner@basic.html

  * igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_mc_ccs:
    - shard-glk:          NOTRUN -> [SKIP][16] ([fdo#109271] / [i915#3886]) +1 similar issue
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-glk9/igt@kms_ccs@pipe-b-missing-ccs-buffer-y_tiled_gen12_mc_ccs.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-apl:          [PASS][17] -> [FAIL][18] ([i915#2346])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-apl7/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@single-move@pipe-b:
    - shard-rkl:          [PASS][19] -> [INCOMPLETE][20] ([i915#8011])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-rkl-6/igt@kms_cursor_legacy@single-move@pipe-b.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-rkl-7/igt@kms_cursor_legacy@single-move@pipe-b.html

  * igt@kms_flip@plain-flip-fb-recreate@a-hdmi-a1:
    - shard-tglu:         [PASS][21] -> [FAIL][22] ([i915#2122])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-tglu-7/igt@kms_flip@plain-flip-fb-recreate@a-hdmi-a1.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-tglu-5/igt@kms_flip@plain-flip-fb-recreate@a-hdmi-a1.html

  * igt@kms_hdr@bpc-switch-suspend:
    - shard-rkl:          NOTRUN -> [SKIP][23] ([i915#3555] / [i915#4579])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-rkl-6/igt@kms_hdr@bpc-switch-suspend.html

  * igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-5@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][24] ([i915#5176]) +2 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-rkl-4/igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-5@pipe-a-hdmi-a-2.html

  * igt@kms_plane_scaling@plane-upscale-with-modifiers-factor-0-25@pipe-a-vga-1:
    - shard-snb:          NOTRUN -> [SKIP][25] ([fdo#109271]) +19 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-snb6/igt@kms_plane_scaling@plane-upscale-with-modifiers-factor-0-25@pipe-a-vga-1.html

  * igt@kms_plane_scaling@plane-upscale-with-rotation-factor-0-25@pipe-b-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][26] ([i915#4579] / [i915#5176]) +2 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-rkl-7/igt@kms_plane_scaling@plane-upscale-with-rotation-factor-0-25@pipe-b-hdmi-a-1.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-vga-1:
    - shard-snb:          NOTRUN -> [SKIP][27] ([fdo#109271] / [i915#4579]) +13 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-snb2/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling@pipe-b-vga-1.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [SKIP][28] ([fdo#109271]) +53 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-glk9/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-1.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][29] ([i915#5235]) +1 similar issue
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-rkl-4/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-2.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][30] ([i915#4579] / [i915#5235]) +1 similar issue
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-rkl-4/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-b-hdmi-a-2.html

  * igt@kms_scaling_modes@scaling-mode-full:
    - shard-glk:          NOTRUN -> [SKIP][31] ([fdo#109271] / [i915#4579]) +6 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-glk9/igt@kms_scaling_modes@scaling-mode-full.html

  * igt@perf@non-zero-reason@0-rcs0:
    - shard-glk:          [PASS][32] -> [TIMEOUT][33] ([i915#7941])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-glk9/igt@perf@non-zero-reason@0-rcs0.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-glk9/igt@perf@non-zero-reason@0-rcs0.html

  * igt@v3d/v3d_submit_csd@single-out-sync:
    - shard-tglu:         NOTRUN -> [SKIP][34] ([fdo#109315] / [i915#2575])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-tglu-4/igt@v3d/v3d_submit_csd@single-out-sync.html

  
#### Possible fixes ####

  * igt@drm_fdinfo@most-busy-idle-check-all@rcs0:
    - shard-rkl:          [FAIL][35] ([i915#7742]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-rkl-1/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-rkl-6/igt@drm_fdinfo@most-busy-idle-check-all@rcs0.html

  * igt@gem_ctx_exec@basic-nohangcheck:
    - shard-rkl:          [FAIL][37] ([i915#6268]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-rkl-6/igt@gem_ctx_exec@basic-nohangcheck.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-rkl-7/igt@gem_ctx_exec@basic-nohangcheck.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-glk:          [FAIL][39] ([i915#2846]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-glk6/igt@gem_exec_fair@basic-deadline.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-glk5/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-rkl:          [FAIL][41] ([i915#2842]) -> [PASS][42] +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-rkl-6/igt@gem_exec_fair@basic-none@vcs0.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-rkl-2/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_exec_fair@basic-pace@vcs0:
    - shard-glk:          [FAIL][43] ([i915#2842]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-glk8/igt@gem_exec_fair@basic-pace@vcs0.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-glk9/igt@gem_exec_fair@basic-pace@vcs0.html

  * igt@gem_exec_suspend@basic-s4-devices@smem:
    - shard-tglu:         [ABORT][45] ([i915#7975] / [i915#8213]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-tglu-10/igt@gem_exec_suspend@basic-s4-devices@smem.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-tglu-4/igt@gem_exec_suspend@basic-s4-devices@smem.html

  * igt@gem_lmem_swapping@smem-oom@lmem0:
    - {shard-dg1}:        [TIMEOUT][47] ([i915#5493]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-dg1-15/igt@gem_lmem_swapping@smem-oom@lmem0.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-dg1-13/igt@gem_lmem_swapping@smem-oom@lmem0.html

  * igt@i915_pm_rpm@dpms-mode-unset-lpsp:
    - shard-rkl:          [SKIP][49] ([i915#1397]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-rkl-1/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-rkl-7/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
    - {shard-dg1}:        [SKIP][51] ([i915#1397]) -> [PASS][52] +2 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-dg1-16/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-dg1-19/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html

  * igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-2:
    - shard-glk:          [FAIL][53] ([i915#2521]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-glk9/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-2.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-glk1/igt@kms_async_flips@alternate-sync-async-flip@pipe-a-hdmi-a-2.html

  * igt@kms_cursor_legacy@single-bo@pipe-b:
    - {shard-dg1}:        [INCOMPLETE][55] ([i915#8011] / [i915#8347]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-dg1-19/igt@kms_cursor_legacy@single-bo@pipe-b.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-dg1-14/igt@kms_cursor_legacy@single-bo@pipe-b.html

  
#### Warnings ####

  * igt@i915_pm_rc6_residency@rc6-idle@vcs0:
    - shard-tglu:         [WARN][57] ([i915#2681]) -> [FAIL][58] ([i915#2681] / [i915#3591])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-tglu-6/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-rkl:          [SKIP][59] ([i915#4070] / [i915#4816]) -> [SKIP][60] ([i915#4816])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13269/shard-rkl-6/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v2/shard-rkl-7/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
  [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
  [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7941]: https://gitlab.freedesktop.org/drm/intel/issues/7941
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
  [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
  [i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
  [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
  [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347


Build changes
-------------

  * Linux: CI_DRM_13269 -> Patchwork_119123v2

  CI-20190529: 20190529
  CI_DRM_13269: c73de42e50dc07f5ae9342b28be76f2ee015e5af @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7327: 34e48b7d6402c3d7af19a40d8951eae017cf64df @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_119123v2: c73de42e50dc07f5ae9342b28be76f2ee015e5af @ 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_119123v2/index.html

[-- Attachment #2: Type: text/html, Size: 19414 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Move stolen memory handling details into i915_gem_stolen (rev3)
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
                   ` (6 preceding siblings ...)
  2023-06-14  9:29 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
@ 2023-07-31 10:50 ` Patchwork
  2023-07-31 10:51 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-07-31 10:50 UTC (permalink / raw)
  To: Hogander, Jouni; +Cc: intel-gfx

== Series Details ==

Series: Move stolen memory handling details into i915_gem_stolen (rev3)
URL   : https://patchwork.freedesktop.org/series/119123/
State : warning

== Summary ==

Error: dim checkpatch failed
e5ae0e9c620c drm/i915: Move stolen memory handling into i915_gem_stolen
-:44: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#44: FILE: drivers/gpu/drm/i915/display/intel_fbc.c:334:
+	GEM_BUG_ON(range_overflows_end_t(u64, i915_gem_stolen_area_address(i915),

-:47: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#47: FILE: drivers/gpu/drm/i915/display/intel_fbc.c:337:
+	GEM_BUG_ON(range_overflows_end_t(u64, i915_gem_stolen_area_address(i915),

total: 0 errors, 2 warnings, 0 checks, 177 lines checked
6b051a8362fa drm/i915/fbc: Make FBC check stolen at use time
28c2f05de687 drm/i915/fbc: Moved fence related code away from intel_fbc
-:70: CHECK:MACRO_ARG_PRECEDENCE: Macro argument 'gt' may be better as '(gt)' to avoid precedence issues
#70: FILE: drivers/gpu/drm/i915/gt/intel_gt_types.h:312:
+#define intel_gt_support_legacy_fencing(gt) (gt->ggtt->num_fences > 0)

total: 0 errors, 0 warnings, 1 checks, 54 lines checked



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Move stolen memory handling details into i915_gem_stolen (rev3)
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
                   ` (7 preceding siblings ...)
  2023-07-31 10:50 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Move stolen memory handling details into i915_gem_stolen (rev3) Patchwork
@ 2023-07-31 10:51 ` Patchwork
  2023-07-31 11:13 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-07-31 10:51 UTC (permalink / raw)
  To: Hogander, Jouni; +Cc: intel-gfx

== Series Details ==

Series: Move stolen memory handling details into i915_gem_stolen (rev3)
URL   : https://patchwork.freedesktop.org/series/119123/
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] 23+ messages in thread

* [Intel-gfx] ✗ Fi.CI.BAT: failure for Move stolen memory handling details into i915_gem_stolen (rev3)
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
                   ` (8 preceding siblings ...)
  2023-07-31 10:51 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
@ 2023-07-31 11:13 ` Patchwork
  2023-08-04  6:36 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Move stolen memory handling details into i915_gem_stolen (rev4) Patchwork
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-07-31 11:13 UTC (permalink / raw)
  To: Hogander, Jouni; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 10145 bytes --]

== Series Details ==

Series: Move stolen memory handling details into i915_gem_stolen (rev3)
URL   : https://patchwork.freedesktop.org/series/119123/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_13444 -> Patchwork_119123v3
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_119123v3 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_119123v3, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/index.html

Participating hosts (41 -> 41)
------------------------------

  Additional (1): fi-kbl-soraka 
  Missing    (1): fi-snb-2520m 

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_119123v3:

### IGT changes ###

#### Possible regressions ####

  * igt@i915_module_load@reload:
    - fi-skl-guc:         [PASS][1] -> [ABORT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13444/fi-skl-guc/igt@i915_module_load@reload.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/fi-skl-guc/igt@i915_module_load@reload.html

  
Known issues
------------

  Here are the changes found in Patchwork_119123v3 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_huc_copy@huc-copy:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#2190])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/fi-kbl-soraka/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@basic:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#4613]) +3 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/fi-kbl-soraka/igt@gem_lmem_swapping@basic.html

  * igt@i915_pm_rpm@basic-rte:
    - bat-adlp-9:         NOTRUN -> [ABORT][5] ([i915#7977] / [i915#8668])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-adlp-9/igt@i915_pm_rpm@basic-rte.html

  * igt@i915_selftest@live@gt_pm:
    - fi-kbl-soraka:      NOTRUN -> [DMESG-FAIL][6] ([i915#1886] / [i915#7913])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/fi-kbl-soraka/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@mman:
    - bat-rpls-2:         [PASS][7] -> [TIMEOUT][8] ([i915#6794] / [i915#7392])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13444/bat-rpls-2/igt@i915_selftest@live@mman.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-rpls-2/igt@i915_selftest@live@mman.html

  * igt@i915_selftest@live@reset:
    - bat-rpls-1:         [PASS][9] -> [ABORT][10] ([i915#4983] / [i915#7461] / [i915#8347] / [i915#8384])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13444/bat-rpls-1/igt@i915_selftest@live@reset.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-rpls-1/igt@i915_selftest@live@reset.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - bat-rpls-2:         [PASS][11] -> [WARN][12] ([i915#8747])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13444/bat-rpls-2/igt@i915_suspend@basic-s2idle-without-i915.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-rpls-2/igt@i915_suspend@basic-s2idle-without-i915.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_119123v3/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
    - bat-dg2-11:         NOTRUN -> [SKIP][14] ([i915#1845] / [i915#5354]) +3 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html

  * igt@kms_psr@cursor_plane_move:
    - bat-rplp-1:         NOTRUN -> [ABORT][15] ([i915#8434])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-rplp-1/igt@kms_psr@cursor_plane_move.html

  * igt@kms_psr@primary_page_flip:
    - bat-rplp-1:         NOTRUN -> [SKIP][16] ([i915#1072])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-rplp-1/igt@kms_psr@primary_page_flip.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@gt_heartbeat:
    - fi-apl-guc:         [DMESG-FAIL][17] ([i915#5334]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13444/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_selftest@live@gt_mocs:
    - bat-mtlp-6:         [DMESG-FAIL][19] ([i915#7059]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13444/bat-mtlp-6/igt@i915_selftest@live@gt_mocs.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-mtlp-6/igt@i915_selftest@live@gt_mocs.html

  * igt@i915_selftest@live@slpc:
    - bat-mtlp-6:         [DMESG-WARN][21] ([i915#6367]) -> [PASS][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13444/bat-mtlp-6/igt@i915_selftest@live@slpc.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-mtlp-6/igt@i915_selftest@live@slpc.html
    - bat-mtlp-8:         [DMESG-WARN][23] ([i915#6367]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13444/bat-mtlp-8/igt@i915_selftest@live@slpc.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-mtlp-8/igt@i915_selftest@live@slpc.html

  * igt@kms_pipe_crc_basic@hang-read-crc@pipe-c-dp-1:
    - bat-adlp-9:         [FAIL][25] ([i915#6818]) -> [PASS][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13444/bat-adlp-9/igt@kms_pipe_crc_basic@hang-read-crc@pipe-c-dp-1.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-adlp-9/igt@kms_pipe_crc_basic@hang-read-crc@pipe-c-dp-1.html

  * igt@kms_pipe_crc_basic@hang-read-crc@pipe-d-dp-1:
    - bat-adlp-9:         [FAIL][27] ([i915#7336]) -> [PASS][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13444/bat-adlp-9/igt@kms_pipe_crc_basic@hang-read-crc@pipe-d-dp-1.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-adlp-9/igt@kms_pipe_crc_basic@hang-read-crc@pipe-d-dp-1.html

  * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1:
    - bat-rplp-1:         [ABORT][29] ([i915#8442] / [i915#8668]) -> [PASS][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13444/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1.html

  
#### Warnings ####

  * igt@i915_pm_rpm@basic-pci-d3-state:
    - bat-adlp-9:         [ABORT][31] ([i915#7977] / [i915#8434] / [i915#8668]) -> [FAIL][32] ([i915#7940])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13444/bat-adlp-9/igt@i915_pm_rpm@basic-pci-d3-state.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/bat-adlp-9/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).

  [Intel XE#486]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/486
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [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#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6794]: https://gitlab.freedesktop.org/drm/intel/issues/6794
  [i915#6818]: https://gitlab.freedesktop.org/drm/intel/issues/6818
  [i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059
  [i915#7336]: https://gitlab.freedesktop.org/drm/intel/issues/7336
  [i915#7392]: https://gitlab.freedesktop.org/drm/intel/issues/7392
  [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461
  [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913
  [i915#7940]: https://gitlab.freedesktop.org/drm/intel/issues/7940
  [i915#7977]: https://gitlab.freedesktop.org/drm/intel/issues/7977
  [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347
  [i915#8384]: https://gitlab.freedesktop.org/drm/intel/issues/8384
  [i915#8434]: https://gitlab.freedesktop.org/drm/intel/issues/8434
  [i915#8442]: https://gitlab.freedesktop.org/drm/intel/issues/8442
  [i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668
  [i915#8747]: https://gitlab.freedesktop.org/drm/intel/issues/8747
  [i915#8879]: https://gitlab.freedesktop.org/drm/intel/issues/8879


Build changes
-------------

  * Linux: CI_DRM_13444 -> Patchwork_119123v3

  CI-20190529: 20190529
  CI_DRM_13444: 496afa97311a1c70c6e8ce5af3ccde8e8bb5ba87 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7411: 7411
  Patchwork_119123v3: 496afa97311a1c70c6e8ce5af3ccde8e8bb5ba87 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

30309defe161 drm/i915/fbc: Moved fence related code away from intel_fbc
68c382f57336 drm/i915/fbc: Make FBC check stolen at use time
39196ac56613 drm/i915: Move stolen memory handling into i915_gem_stolen

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v3/index.html

[-- Attachment #2: Type: text/html, Size: 11507 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Intel-gfx] [PATCH v2 3/3] drm/i915/fbc: Moved fence related code away from intel_fbc
  2023-06-14  5:17 ` [Intel-gfx] [PATCH v2 3/3] drm/i915/fbc: Moved fence related code away from intel_fbc Jouni Högander
@ 2023-08-01  7:42   ` Nirmoy Das
  2023-08-07  5:56     ` Hogander, Jouni
  0 siblings, 1 reply; 23+ messages in thread
From: Nirmoy Das @ 2023-08-01  7:42 UTC (permalink / raw)
  To: Jouni Högander, intel-gfx


On 6/14/2023 7:17 AM, Jouni Högander wrote:
> As a preparation for Xe move HW fence details away from intel_fbc code.
> Add new functions to check support for legacy fencing and fence id and use
> these in fbc code. Xe doesn't support legacy fencing.
>
> v2: Fix intel_gt_support_legacy_fencing macro
>
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> ---
>   drivers/gpu/drm/i915/display/intel_fbc.c | 12 ++++++------
>   drivers/gpu/drm/i915/gt/intel_gt_types.h |  2 ++
>   drivers/gpu/drm/i915/i915_vma.h          |  5 +++++
>   3 files changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> index da8166eedf93..25382022cd27 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -47,6 +47,7 @@
>   #include "i915_reg.h"
>   #include "i915_utils.h"
>   #include "i915_vgpu.h"
> +#include "i915_vma.h"
>   #include "intel_cdclk.h"
>   #include "intel_de.h"
>   #include "intel_display_trace.h"
> @@ -607,7 +608,7 @@ static void ivb_fbc_activate(struct intel_fbc *fbc)
>   	else if (DISPLAY_VER(i915) == 9)
>   		skl_fbc_program_cfb_stride(fbc);
>   
> -	if (to_gt(i915)->ggtt->num_fences)
> +	if (intel_gt_support_legacy_fencing(to_gt(i915)))
>   		snb_fbc_program_fence(fbc);
>   
>   	intel_de_write(i915, ILK_DPFC_CONTROL(fbc->id),
> @@ -991,11 +992,10 @@ static void intel_fbc_update_state(struct intel_atomic_state *state,
>   	fbc_state->fence_y_offset = intel_plane_fence_y_offset(plane_state);
>   
>   	drm_WARN_ON(&i915->drm, plane_state->flags & PLANE_HAS_FENCE &&
> -		    !plane_state->ggtt_vma->fence);
> +		    !intel_gt_support_legacy_fencing(to_gt(i915)));
>   
> -	if (plane_state->flags & PLANE_HAS_FENCE &&
> -	    plane_state->ggtt_vma->fence)
> -		fbc_state->fence_id = plane_state->ggtt_vma->fence->id;
> +	if (plane_state->flags & PLANE_HAS_FENCE)
> +		fbc_state->fence_id =  i915_vma_fence_id(plane_state->ggtt_vma);
>   	else
>   		fbc_state->fence_id = -1;
>   
> @@ -1022,7 +1022,7 @@ static bool intel_fbc_is_fence_ok(const struct intel_plane_state *plane_state)
>   	 */
>   	return DISPLAY_VER(i915) >= 9 ||
>   		(plane_state->flags & PLANE_HAS_FENCE &&
> -		 plane_state->ggtt_vma->fence);
> +		 i915_vma_fence_id(plane_state->ggtt_vma) != -1);
>   }
>   
>   static bool intel_fbc_is_cfb_ok(const struct intel_plane_state *plane_state)
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_types.h b/drivers/gpu/drm/i915/gt/intel_gt_types.h
> index f08c2556aa25..121a53f908d1 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_types.h
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_types.h
> @@ -306,4 +306,6 @@ enum intel_gt_scratch_field {
>   	INTEL_GT_SCRATCH_FIELD_COHERENTL3_WA = 256,
>   };
>   
> +#define intel_gt_support_legacy_fencing(gt) (gt->ggtt->num_fences > 0)

With the checkpath warning fixed here, this is

Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>

> +
>   #endif /* __INTEL_GT_TYPES_H__ */
> diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h
> index 9a9729205d5b..6fdf6205c290 100644
> --- a/drivers/gpu/drm/i915/i915_vma.h
> +++ b/drivers/gpu/drm/i915/i915_vma.h
> @@ -418,6 +418,11 @@ i915_vma_unpin_fence(struct i915_vma *vma)
>   		__i915_vma_unpin_fence(vma);
>   }
>   
> +static inline int i915_vma_fence_id(const struct i915_vma *vma)
> +{
> +	return vma->fence ? vma->fence->id : -1;
> +}
> +
>   void i915_vma_parked(struct intel_gt *gt);
>   
>   static inline bool i915_vma_is_scanout(const struct i915_vma *vma)

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Intel-gfx] [PATCH v2 1/3] drm/i915: Move stolen memory handling into i915_gem_stolen
  2023-06-14  5:17 ` [Intel-gfx] [PATCH v2 1/3] drm/i915: Move stolen memory handling " Jouni Högander
@ 2023-08-01  8:02   ` Nirmoy Das
  2023-08-01  8:33     ` Hogander, Jouni
  0 siblings, 1 reply; 23+ messages in thread
From: Nirmoy Das @ 2023-08-01  8:02 UTC (permalink / raw)
  To: Jouni Högander, intel-gfx

Hi Jouni,

On 6/14/2023 7:17 AM, Jouni Högander wrote:
> We are preparing for Xe. Xe stolen memory handling differs from i915 so we
> want to move stolen memory handling details into i915_gem_stolen.
>
> Also add a common type for fbc compressed fb and use it from fbc code
> instead of underlying type directly. This way we can have common type
> i915_stolen_fb for both i915 and Xe.
>
> v2: Fix couple of checkpatch warnings
>
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> ---
>   drivers/gpu/drm/i915/display/intel_fbc.c   | 46 +++++++++++-----------
>   drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 36 +++++++++++++++++
>   drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 13 ++++++
>   3 files changed, 73 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> index 7f8b2d7713c7..a18e84efe911 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -94,8 +94,7 @@ struct intel_fbc {
>   	struct mutex lock;
>   	unsigned int busy_bits;
>   
> -	struct drm_mm_node compressed_fb;
> -	struct drm_mm_node compressed_llb;
> +	struct i915_stolen_fb compressed_fb, compressed_llb;
>   
>   	enum intel_fbc_id id;
>   
> @@ -332,15 +331,16 @@ static void i8xx_fbc_program_cfb(struct intel_fbc *fbc)
>   {
>   	struct drm_i915_private *i915 = fbc->i915;
>   
> -	GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.stolen.start,
> -					 fbc->compressed_fb.start, U32_MAX));
> -	GEM_BUG_ON(range_overflows_end_t(u64, i915->dsm.stolen.start,
> -					 fbc->compressed_llb.start, U32_MAX));
> -
> +	GEM_BUG_ON(range_overflows_end_t(u64, i915_gem_stolen_area_address(i915),
> +					 i915_gem_stolen_node_offset(&fbc->compressed_fb),
> +					 U32_MAX));
> +	GEM_BUG_ON(range_overflows_end_t(u64, i915_gem_stolen_area_address(i915),
> +					 i915_gem_stolen_node_offset(&fbc->compressed_llb),
> +					 U32_MAX));
>   	intel_de_write(i915, FBC_CFB_BASE,
> -		       i915->dsm.stolen.start + fbc->compressed_fb.start);
> +		       i915_gem_stolen_node_address(i915, &fbc->compressed_fb));
>   	intel_de_write(i915, FBC_LL_BASE,
> -		       i915->dsm.stolen.start + fbc->compressed_llb.start);
> +		       i915_gem_stolen_node_address(i915, &fbc->compressed_llb));
>   }
>   
>   static const struct intel_fbc_funcs i8xx_fbc_funcs = {
> @@ -447,7 +447,8 @@ static void g4x_fbc_program_cfb(struct intel_fbc *fbc)
>   {
>   	struct drm_i915_private *i915 = fbc->i915;
>   
> -	intel_de_write(i915, DPFC_CB_BASE, fbc->compressed_fb.start);
> +	intel_de_write(i915, DPFC_CB_BASE,
> +		       i915_gem_stolen_node_offset(&fbc->compressed_fb));
>   }
>   
>   static const struct intel_fbc_funcs g4x_fbc_funcs = {
> @@ -498,7 +499,8 @@ static void ilk_fbc_program_cfb(struct intel_fbc *fbc)
>   {
>   	struct drm_i915_private *i915 = fbc->i915;
>   
> -	intel_de_write(i915, ILK_DPFC_CB_BASE(fbc->id), fbc->compressed_fb.start);
> +	intel_de_write(i915, ILK_DPFC_CB_BASE(fbc->id),
> +		       i915_gem_stolen_node_offset(&fbc->compressed_fb));
>   }
>   
>   static const struct intel_fbc_funcs ilk_fbc_funcs = {
> @@ -713,7 +715,7 @@ static u64 intel_fbc_stolen_end(struct drm_i915_private *i915)
>   	 * underruns, even if that range is not reserved by the BIOS. */
>   	if (IS_BROADWELL(i915) ||
>   	    (DISPLAY_VER(i915) == 9 && !IS_BROXTON(i915)))
> -		end = resource_size(&i915->dsm.stolen) - 8 * 1024 * 1024;
> +		end = i915_gem_stolen_area_size(i915) - 8 * 1024 * 1024;
>   	else
>   		end = U64_MAX;
>   
> @@ -770,9 +772,9 @@ static int intel_fbc_alloc_cfb(struct intel_fbc *fbc,
>   	int ret;
>   
>   	drm_WARN_ON(&i915->drm,
> -		    drm_mm_node_allocated(&fbc->compressed_fb));
> +		    i915_gem_stolen_node_allocated(&fbc->compressed_fb));
>   	drm_WARN_ON(&i915->drm,
> -		    drm_mm_node_allocated(&fbc->compressed_llb));
> +		    i915_gem_stolen_node_allocated(&fbc->compressed_llb));
>   
>   	if (DISPLAY_VER(i915) < 5 && !IS_G4X(i915)) {
>   		ret = i915_gem_stolen_insert_node(i915, &fbc->compressed_llb,
> @@ -792,15 +794,14 @@ static int intel_fbc_alloc_cfb(struct intel_fbc *fbc,
>   
>   	drm_dbg_kms(&i915->drm,
>   		    "reserved %llu bytes of contiguous stolen space for FBC, limit: %d\n",
> -		    fbc->compressed_fb.size, fbc->limit);
> -
> +		    i915_gem_stolen_node_size(&fbc->compressed_fb), fbc->limit);
>   	return 0;
>   
>   err_llb:
> -	if (drm_mm_node_allocated(&fbc->compressed_llb))
> +	if (i915_gem_stolen_node_allocated(&fbc->compressed_llb))
>   		i915_gem_stolen_remove_node(i915, &fbc->compressed_llb);
>   err:
> -	if (drm_mm_initialized(&i915->mm.stolen))
> +	if (i915_gem_stolen_initialized(i915))
>   		drm_info_once(&i915->drm, "not enough stolen space for compressed buffer (need %d more bytes), disabling. Hint: you may be able to increase stolen memory size in the BIOS to avoid this.\n", size);
>   	return -ENOSPC;
>   }
> @@ -825,9 +826,9 @@ static void __intel_fbc_cleanup_cfb(struct intel_fbc *fbc)
>   	if (WARN_ON(intel_fbc_hw_is_active(fbc)))
>   		return;
>   
> -	if (drm_mm_node_allocated(&fbc->compressed_llb))
> +	if (i915_gem_stolen_node_allocated(&fbc->compressed_llb))
>   		i915_gem_stolen_remove_node(i915, &fbc->compressed_llb);
> -	if (drm_mm_node_allocated(&fbc->compressed_fb))
> +	if (i915_gem_stolen_node_allocated(&fbc->compressed_fb))
>   		i915_gem_stolen_remove_node(i915, &fbc->compressed_fb);
>   }
>   
> @@ -1030,7 +1031,8 @@ static bool intel_fbc_is_cfb_ok(const struct intel_plane_state *plane_state)
>   	struct intel_fbc *fbc = plane->fbc;
>   
>   	return intel_fbc_min_limit(plane_state) <= fbc->limit &&
> -		intel_fbc_cfb_size(plane_state) <= fbc->compressed_fb.size * fbc->limit;
> +		intel_fbc_cfb_size(plane_state) <= fbc->limit *
> +			i915_gem_stolen_node_size(&fbc->compressed_fb);
>   }
>   
>   static bool intel_fbc_is_ok(const struct intel_plane_state *plane_state)
> @@ -1707,7 +1709,7 @@ void intel_fbc_init(struct drm_i915_private *i915)
>   {
>   	enum intel_fbc_id fbc_id;
>   
> -	if (!drm_mm_initialized(&i915->mm.stolen))
> +	if (!i915_gem_stolen_initialized(i915))
>   		DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
>   
>   	if (need_fbc_vtd_wa(i915))
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> index 3b094d36a0b0..78bac1e611dd 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> @@ -974,3 +974,39 @@ bool i915_gem_object_is_stolen(const struct drm_i915_gem_object *obj)
>   {
>   	return obj->ops == &i915_gem_object_stolen_ops;
>   }
> +
> +bool i915_gem_stolen_initialized(const struct drm_i915_private *i915)
> +{
> +	return drm_mm_initialized(&i915->mm.stolen);
> +}
> +
> +u64 i915_gem_stolen_area_address(const struct drm_i915_private *i915)
> +{
> +	return i915->dsm.stolen.start;
> +}
> +
> +u64 i915_gem_stolen_area_size(const struct drm_i915_private *i915)
> +{
> +	return resource_size(&i915->dsm.stolen);
> +}
> +
> +u64 i915_gem_stolen_node_address(const struct drm_i915_private *i915,
> +				 const struct drm_mm_node *node)
> +{
> +	return i915->dsm.stolen.start + i915_gem_stolen_node_offset(node);
> +}
> +
> +bool i915_gem_stolen_node_allocated(const struct drm_mm_node *node)
> +{
> +	return drm_mm_node_allocated(node);
> +}
> +
> +u64 i915_gem_stolen_node_offset(const struct drm_mm_node *node)
> +{
> +	return node->start;
> +}
> +
> +u64 i915_gem_stolen_node_size(const struct drm_mm_node *node)
> +{
> +	return node->size;


Above 3 functions are core drm functions/struct and not related to 
stolen so I don't think

they deserve special functions in stolen code.


Regards,

Nirmoy

> +}
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.h b/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
> index d5005a39d130..258381d1c054 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
> @@ -12,6 +12,8 @@ struct drm_i915_private;
>   struct drm_mm_node;
>   struct drm_i915_gem_object;
>   
> +#define i915_stolen_fb drm_mm_node
> +
>   int i915_gem_stolen_insert_node(struct drm_i915_private *dev_priv,
>   				struct drm_mm_node *node, u64 size,
>   				unsigned alignment);
> @@ -36,4 +38,15 @@ bool i915_gem_object_is_stolen(const struct drm_i915_gem_object *obj);
>   
>   #define I915_GEM_STOLEN_BIAS SZ_128K
>   
> +bool i915_gem_stolen_initialized(const struct drm_i915_private *i915);
> +u64 i915_gem_stolen_area_address(const struct drm_i915_private *i915);
> +u64 i915_gem_stolen_area_size(const struct drm_i915_private *i915);
> +
> +u64 i915_gem_stolen_node_address(const struct drm_i915_private *i915,
> +				 const struct drm_mm_node *node);
> +
> +bool i915_gem_stolen_node_allocated(const struct drm_mm_node *node);
> +u64 i915_gem_stolen_node_offset(const struct drm_mm_node *node);
> +u64 i915_gem_stolen_node_size(const struct drm_mm_node *node);
> +
>   #endif /* __I915_GEM_STOLEN_H__ */

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Intel-gfx] [PATCH v2 1/3] drm/i915: Move stolen memory handling into i915_gem_stolen
  2023-08-01  8:02   ` Nirmoy Das
@ 2023-08-01  8:33     ` Hogander, Jouni
  2023-08-02  7:51       ` Nirmoy Das
  0 siblings, 1 reply; 23+ messages in thread
From: Hogander, Jouni @ 2023-08-01  8:33 UTC (permalink / raw)
  To: nirmoy.das, intel-gfx

On Tue, 2023-08-01 at 10:02 +0200, Nirmoy Das wrote:
> Hi Jouni,
> 
> On 6/14/2023 7:17 AM, Jouni Högander wrote:
> > We are preparing for Xe. Xe stolen memory handling differs from
> > i915 so we
> > want to move stolen memory handling details into i915_gem_stolen.
> > 
> > Also add a common type for fbc compressed fb and use it from fbc
> > code
> > instead of underlying type directly. This way we can have common
> > type
> > i915_stolen_fb for both i915 and Xe.
> > 
> > v2: Fix couple of checkpatch warnings
> > 
> > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > Signed-off-by: Maarten Lankhorst
> > <maarten.lankhorst@linux.intel.com>
> > ---
> >   drivers/gpu/drm/i915/display/intel_fbc.c   | 46 +++++++++++------
> > -----
> >   drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 36 +++++++++++++++++
> >   drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 13 ++++++
> >   3 files changed, 73 insertions(+), 22 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> > b/drivers/gpu/drm/i915/display/intel_fbc.c
> > index 7f8b2d7713c7..a18e84efe911 100644
> > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> > @@ -94,8 +94,7 @@ struct intel_fbc {
> >         struct mutex lock;
> >         unsigned int busy_bits;
> >   
> > -       struct drm_mm_node compressed_fb;
> > -       struct drm_mm_node compressed_llb;
> > +       struct i915_stolen_fb compressed_fb, compressed_llb;
> >   
> >         enum intel_fbc_id id;
> >   
> > @@ -332,15 +331,16 @@ static void i8xx_fbc_program_cfb(struct
> > intel_fbc *fbc)
> >   {
> >         struct drm_i915_private *i915 = fbc->i915;
> >   
> > -       GEM_BUG_ON(range_overflows_end_t(u64, i915-
> > >dsm.stolen.start,
> > -                                        fbc->compressed_fb.start,
> > U32_MAX));
> > -       GEM_BUG_ON(range_overflows_end_t(u64, i915-
> > >dsm.stolen.start,
> > -                                        fbc->compressed_llb.start,
> > U32_MAX));
> > -
> > +       GEM_BUG_ON(range_overflows_end_t(u64,
> > i915_gem_stolen_area_address(i915),
> > +                                       
> > i915_gem_stolen_node_offset(&fbc->compressed_fb),
> > +                                        U32_MAX));
> > +       GEM_BUG_ON(range_overflows_end_t(u64,
> > i915_gem_stolen_area_address(i915),
> > +                                       
> > i915_gem_stolen_node_offset(&fbc->compressed_llb),
> > +                                        U32_MAX));
> >         intel_de_write(i915, FBC_CFB_BASE,
> > -                      i915->dsm.stolen.start + fbc-
> > >compressed_fb.start);
> > +                      i915_gem_stolen_node_address(i915, &fbc-
> > >compressed_fb));
> >         intel_de_write(i915, FBC_LL_BASE,
> > -                      i915->dsm.stolen.start + fbc-
> > >compressed_llb.start);
> > +                      i915_gem_stolen_node_address(i915, &fbc-
> > >compressed_llb));
> >   }
> >   
> >   static const struct intel_fbc_funcs i8xx_fbc_funcs = {
> > @@ -447,7 +447,8 @@ static void g4x_fbc_program_cfb(struct
> > intel_fbc *fbc)
> >   {
> >         struct drm_i915_private *i915 = fbc->i915;
> >   
> > -       intel_de_write(i915, DPFC_CB_BASE, fbc-
> > >compressed_fb.start);
> > +       intel_de_write(i915, DPFC_CB_BASE,
> > +                      i915_gem_stolen_node_offset(&fbc-
> > >compressed_fb));
> >   }
> >   
> >   static const struct intel_fbc_funcs g4x_fbc_funcs = {
> > @@ -498,7 +499,8 @@ static void ilk_fbc_program_cfb(struct
> > intel_fbc *fbc)
> >   {
> >         struct drm_i915_private *i915 = fbc->i915;
> >   
> > -       intel_de_write(i915, ILK_DPFC_CB_BASE(fbc->id), fbc-
> > >compressed_fb.start);
> > +       intel_de_write(i915, ILK_DPFC_CB_BASE(fbc->id),
> > +                      i915_gem_stolen_node_offset(&fbc-
> > >compressed_fb));
> >   }
> >   
> >   static const struct intel_fbc_funcs ilk_fbc_funcs = {
> > @@ -713,7 +715,7 @@ static u64 intel_fbc_stolen_end(struct
> > drm_i915_private *i915)
> >          * underruns, even if that range is not reserved by the
> > BIOS. */
> >         if (IS_BROADWELL(i915) ||
> >             (DISPLAY_VER(i915) == 9 && !IS_BROXTON(i915)))
> > -               end = resource_size(&i915->dsm.stolen) - 8 * 1024 *
> > 1024;
> > +               end = i915_gem_stolen_area_size(i915) - 8 * 1024 *
> > 1024;
> >         else
> >                 end = U64_MAX;
> >   
> > @@ -770,9 +772,9 @@ static int intel_fbc_alloc_cfb(struct intel_fbc
> > *fbc,
> >         int ret;
> >   
> >         drm_WARN_ON(&i915->drm,
> > -                   drm_mm_node_allocated(&fbc->compressed_fb));
> > +                   i915_gem_stolen_node_allocated(&fbc-
> > >compressed_fb));
> >         drm_WARN_ON(&i915->drm,
> > -                   drm_mm_node_allocated(&fbc->compressed_llb));
> > +                   i915_gem_stolen_node_allocated(&fbc-
> > >compressed_llb));
> >   
> >         if (DISPLAY_VER(i915) < 5 && !IS_G4X(i915)) {
> >                 ret = i915_gem_stolen_insert_node(i915, &fbc-
> > >compressed_llb,
> > @@ -792,15 +794,14 @@ static int intel_fbc_alloc_cfb(struct
> > intel_fbc *fbc,
> >   
> >         drm_dbg_kms(&i915->drm,
> >                     "reserved %llu bytes of contiguous stolen space
> > for FBC, limit: %d\n",
> > -                   fbc->compressed_fb.size, fbc->limit);
> > -
> > +                   i915_gem_stolen_node_size(&fbc->compressed_fb),
> > fbc->limit);
> >         return 0;
> >   
> >   err_llb:
> > -       if (drm_mm_node_allocated(&fbc->compressed_llb))
> > +       if (i915_gem_stolen_node_allocated(&fbc->compressed_llb))
> >                 i915_gem_stolen_remove_node(i915, &fbc-
> > >compressed_llb);
> >   err:
> > -       if (drm_mm_initialized(&i915->mm.stolen))
> > +       if (i915_gem_stolen_initialized(i915))
> >                 drm_info_once(&i915->drm, "not enough stolen space
> > for compressed buffer (need %d more bytes), disabling. Hint: you
> > may be able to increase stolen memory size in the BIOS to avoid
> > this.\n", size);
> >         return -ENOSPC;
> >   }
> > @@ -825,9 +826,9 @@ static void __intel_fbc_cleanup_cfb(struct
> > intel_fbc *fbc)
> >         if (WARN_ON(intel_fbc_hw_is_active(fbc)))
> >                 return;
> >   
> > -       if (drm_mm_node_allocated(&fbc->compressed_llb))
> > +       if (i915_gem_stolen_node_allocated(&fbc->compressed_llb))
> >                 i915_gem_stolen_remove_node(i915, &fbc-
> > >compressed_llb);
> > -       if (drm_mm_node_allocated(&fbc->compressed_fb))
> > +       if (i915_gem_stolen_node_allocated(&fbc->compressed_fb))
> >                 i915_gem_stolen_remove_node(i915, &fbc-
> > >compressed_fb);
> >   }
> >   
> > @@ -1030,7 +1031,8 @@ static bool intel_fbc_is_cfb_ok(const struct
> > intel_plane_state *plane_state)
> >         struct intel_fbc *fbc = plane->fbc;
> >   
> >         return intel_fbc_min_limit(plane_state) <= fbc->limit &&
> > -               intel_fbc_cfb_size(plane_state) <= fbc-
> > >compressed_fb.size * fbc->limit;
> > +               intel_fbc_cfb_size(plane_state) <= fbc->limit *
> > +                       i915_gem_stolen_node_size(&fbc-
> > >compressed_fb);
> >   }
> >   
> >   static bool intel_fbc_is_ok(const struct intel_plane_state
> > *plane_state)
> > @@ -1707,7 +1709,7 @@ void intel_fbc_init(struct drm_i915_private
> > *i915)
> >   {
> >         enum intel_fbc_id fbc_id;
> >   
> > -       if (!drm_mm_initialized(&i915->mm.stolen))
> > +       if (!i915_gem_stolen_initialized(i915))
> >                 DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
> >   
> >         if (need_fbc_vtd_wa(i915))
> > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > index 3b094d36a0b0..78bac1e611dd 100644
> > --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > @@ -974,3 +974,39 @@ bool i915_gem_object_is_stolen(const struct
> > drm_i915_gem_object *obj)
> >   {
> >         return obj->ops == &i915_gem_object_stolen_ops;
> >   }
> > +
> > +bool i915_gem_stolen_initialized(const struct drm_i915_private
> > *i915)
> > +{
> > +       return drm_mm_initialized(&i915->mm.stolen);
> > +}
> > +
> > +u64 i915_gem_stolen_area_address(const struct drm_i915_private
> > *i915)
> > +{
> > +       return i915->dsm.stolen.start;
> > +}
> > +
> > +u64 i915_gem_stolen_area_size(const struct drm_i915_private *i915)
> > +{
> > +       return resource_size(&i915->dsm.stolen);
> > +}
> > +
> > +u64 i915_gem_stolen_node_address(const struct drm_i915_private
> > *i915,
> > +                                const struct drm_mm_node *node)
> > +{
> > +       return i915->dsm.stolen.start +
> > i915_gem_stolen_node_offset(node);
> > +}
> > +
> > +bool i915_gem_stolen_node_allocated(const struct drm_mm_node
> > *node)
> > +{
> > +       return drm_mm_node_allocated(node);
> > +}
> > +
> > +u64 i915_gem_stolen_node_offset(const struct drm_mm_node *node)
> > +{
> > +       return node->start;
> > +}
> > +
> > +u64 i915_gem_stolen_node_size(const struct drm_mm_node *node)
> > +{
> > +       return node->size;
> 
> 
> Above 3 functions are core drm functions/struct and not related to 
> stolen so I don't think
> 
> they deserve special functions in stolen code.

Xe and i915 have differing implementations for stolen memory. We want
to remove these details from FBC code. The thing here is that in i915
case stolen memory node == drm mm node. In Xe case it is not and
interfaces for these queries will have own implementation for Xe. See:

https://patchwork.freedesktop.org/patch/540793/?series=118560&rev=3

BR,

Jouni Högander
> 
> 
> Regards,
> 
> Nirmoy
> 
> > +}
> > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
> > b/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
> > index d5005a39d130..258381d1c054 100644
> > --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
> > +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
> > @@ -12,6 +12,8 @@ struct drm_i915_private;
> >   struct drm_mm_node;
> >   struct drm_i915_gem_object;
> >   
> > +#define i915_stolen_fb drm_mm_node
> > +
> >   int i915_gem_stolen_insert_node(struct drm_i915_private
> > *dev_priv,
> >                                 struct drm_mm_node *node, u64 size,
> >                                 unsigned alignment);
> > @@ -36,4 +38,15 @@ bool i915_gem_object_is_stolen(const struct
> > drm_i915_gem_object *obj);
> >   
> >   #define I915_GEM_STOLEN_BIAS SZ_128K
> >   
> > +bool i915_gem_stolen_initialized(const struct drm_i915_private
> > *i915);
> > +u64 i915_gem_stolen_area_address(const struct drm_i915_private
> > *i915);
> > +u64 i915_gem_stolen_area_size(const struct drm_i915_private
> > *i915);
> > +
> > +u64 i915_gem_stolen_node_address(const struct drm_i915_private
> > *i915,
> > +                                const struct drm_mm_node *node);
> > +
> > +bool i915_gem_stolen_node_allocated(const struct drm_mm_node
> > *node);
> > +u64 i915_gem_stolen_node_offset(const struct drm_mm_node *node);
> > +u64 i915_gem_stolen_node_size(const struct drm_mm_node *node);
> > +
> >   #endif /* __I915_GEM_STOLEN_H__ */


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Intel-gfx] [PATCH v2 1/3] drm/i915: Move stolen memory handling into i915_gem_stolen
  2023-08-01  8:33     ` Hogander, Jouni
@ 2023-08-02  7:51       ` Nirmoy Das
  2023-08-02  7:52         ` Hogander, Jouni
  0 siblings, 1 reply; 23+ messages in thread
From: Nirmoy Das @ 2023-08-02  7:51 UTC (permalink / raw)
  To: Hogander, Jouni, intel-gfx


On 8/1/2023 10:33 AM, Hogander, Jouni wrote:
> On Tue, 2023-08-01 at 10:02 +0200, Nirmoy Das wrote:
>> Hi Jouni,
>>
>> On 6/14/2023 7:17 AM, Jouni Högander wrote:
>>> We are preparing for Xe. Xe stolen memory handling differs from
>>> i915 so we
>>> want to move stolen memory handling details into i915_gem_stolen.
>>>
>>> Also add a common type for fbc compressed fb and use it from fbc
>>> code
>>> instead of underlying type directly. This way we can have common
>>> type
>>> i915_stolen_fb for both i915 and Xe.
>>>
>>> v2: Fix couple of checkpatch warnings
>>>
>>> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
>>> Signed-off-by: Maarten Lankhorst
>>> <maarten.lankhorst@linux.intel.com>
>>> ---
>>>    drivers/gpu/drm/i915/display/intel_fbc.c   | 46 +++++++++++------
>>> -----
>>>    drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 36 +++++++++++++++++
>>>    drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 13 ++++++
>>>    3 files changed, 73 insertions(+), 22 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
>>> b/drivers/gpu/drm/i915/display/intel_fbc.c
>>> index 7f8b2d7713c7..a18e84efe911 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
>>> @@ -94,8 +94,7 @@ struct intel_fbc {
>>>          struct mutex lock;
>>>          unsigned int busy_bits;
>>>    
>>> -       struct drm_mm_node compressed_fb;
>>> -       struct drm_mm_node compressed_llb;
>>> +       struct i915_stolen_fb compressed_fb, compressed_llb;
>>>    
>>>          enum intel_fbc_id id;
>>>    
>>> @@ -332,15 +331,16 @@ static void i8xx_fbc_program_cfb(struct
>>> intel_fbc *fbc)
>>>    {
>>>          struct drm_i915_private *i915 = fbc->i915;
>>>    
>>> -       GEM_BUG_ON(range_overflows_end_t(u64, i915-
>>>> dsm.stolen.start,
>>> -                                        fbc->compressed_fb.start,
>>> U32_MAX));
>>> -       GEM_BUG_ON(range_overflows_end_t(u64, i915-
>>>> dsm.stolen.start,
>>> -                                        fbc->compressed_llb.start,
>>> U32_MAX));
>>> -
>>> +       GEM_BUG_ON(range_overflows_end_t(u64,
>>> i915_gem_stolen_area_address(i915),
>>> +
>>> i915_gem_stolen_node_offset(&fbc->compressed_fb),
>>> +                                        U32_MAX));
>>> +       GEM_BUG_ON(range_overflows_end_t(u64,
>>> i915_gem_stolen_area_address(i915),
>>> +
>>> i915_gem_stolen_node_offset(&fbc->compressed_llb),
>>> +                                        U32_MAX));
>>>          intel_de_write(i915, FBC_CFB_BASE,
>>> -                      i915->dsm.stolen.start + fbc-
>>>> compressed_fb.start);
>>> +                      i915_gem_stolen_node_address(i915, &fbc-
>>>> compressed_fb));
>>>          intel_de_write(i915, FBC_LL_BASE,
>>> -                      i915->dsm.stolen.start + fbc-
>>>> compressed_llb.start);
>>> +                      i915_gem_stolen_node_address(i915, &fbc-
>>>> compressed_llb));
>>>    }
>>>    
>>>    static const struct intel_fbc_funcs i8xx_fbc_funcs = {
>>> @@ -447,7 +447,8 @@ static void g4x_fbc_program_cfb(struct
>>> intel_fbc *fbc)
>>>    {
>>>          struct drm_i915_private *i915 = fbc->i915;
>>>    
>>> -       intel_de_write(i915, DPFC_CB_BASE, fbc-
>>>> compressed_fb.start);
>>> +       intel_de_write(i915, DPFC_CB_BASE,
>>> +                      i915_gem_stolen_node_offset(&fbc-
>>>> compressed_fb));
>>>    }
>>>    
>>>    static const struct intel_fbc_funcs g4x_fbc_funcs = {
>>> @@ -498,7 +499,8 @@ static void ilk_fbc_program_cfb(struct
>>> intel_fbc *fbc)
>>>    {
>>>          struct drm_i915_private *i915 = fbc->i915;
>>>    
>>> -       intel_de_write(i915, ILK_DPFC_CB_BASE(fbc->id), fbc-
>>>> compressed_fb.start);
>>> +       intel_de_write(i915, ILK_DPFC_CB_BASE(fbc->id),
>>> +                      i915_gem_stolen_node_offset(&fbc-
>>>> compressed_fb));
>>>    }
>>>    
>>>    static const struct intel_fbc_funcs ilk_fbc_funcs = {
>>> @@ -713,7 +715,7 @@ static u64 intel_fbc_stolen_end(struct
>>> drm_i915_private *i915)
>>>           * underruns, even if that range is not reserved by the
>>> BIOS. */
>>>          if (IS_BROADWELL(i915) ||
>>>              (DISPLAY_VER(i915) == 9 && !IS_BROXTON(i915)))
>>> -               end = resource_size(&i915->dsm.stolen) - 8 * 1024 *
>>> 1024;
>>> +               end = i915_gem_stolen_area_size(i915) - 8 * 1024 *
>>> 1024;
>>>          else
>>>                  end = U64_MAX;
>>>    
>>> @@ -770,9 +772,9 @@ static int intel_fbc_alloc_cfb(struct intel_fbc
>>> *fbc,
>>>          int ret;
>>>    
>>>          drm_WARN_ON(&i915->drm,
>>> -                   drm_mm_node_allocated(&fbc->compressed_fb));
>>> +                   i915_gem_stolen_node_allocated(&fbc-
>>>> compressed_fb));
>>>          drm_WARN_ON(&i915->drm,
>>> -                   drm_mm_node_allocated(&fbc->compressed_llb));
>>> +                   i915_gem_stolen_node_allocated(&fbc-
>>>> compressed_llb));
>>>    
>>>          if (DISPLAY_VER(i915) < 5 && !IS_G4X(i915)) {
>>>                  ret = i915_gem_stolen_insert_node(i915, &fbc-
>>>> compressed_llb,
>>> @@ -792,15 +794,14 @@ static int intel_fbc_alloc_cfb(struct
>>> intel_fbc *fbc,
>>>    
>>>          drm_dbg_kms(&i915->drm,
>>>                      "reserved %llu bytes of contiguous stolen space
>>> for FBC, limit: %d\n",
>>> -                   fbc->compressed_fb.size, fbc->limit);
>>> -
>>> +                   i915_gem_stolen_node_size(&fbc->compressed_fb),
>>> fbc->limit);
>>>          return 0;
>>>    
>>>    err_llb:
>>> -       if (drm_mm_node_allocated(&fbc->compressed_llb))
>>> +       if (i915_gem_stolen_node_allocated(&fbc->compressed_llb))
>>>                  i915_gem_stolen_remove_node(i915, &fbc-
>>>> compressed_llb);
>>>    err:
>>> -       if (drm_mm_initialized(&i915->mm.stolen))
>>> +       if (i915_gem_stolen_initialized(i915))
>>>                  drm_info_once(&i915->drm, "not enough stolen space
>>> for compressed buffer (need %d more bytes), disabling. Hint: you
>>> may be able to increase stolen memory size in the BIOS to avoid
>>> this.\n", size);
>>>          return -ENOSPC;
>>>    }
>>> @@ -825,9 +826,9 @@ static void __intel_fbc_cleanup_cfb(struct
>>> intel_fbc *fbc)
>>>          if (WARN_ON(intel_fbc_hw_is_active(fbc)))
>>>                  return;
>>>    
>>> -       if (drm_mm_node_allocated(&fbc->compressed_llb))
>>> +       if (i915_gem_stolen_node_allocated(&fbc->compressed_llb))
>>>                  i915_gem_stolen_remove_node(i915, &fbc-
>>>> compressed_llb);
>>> -       if (drm_mm_node_allocated(&fbc->compressed_fb))
>>> +       if (i915_gem_stolen_node_allocated(&fbc->compressed_fb))
>>>                  i915_gem_stolen_remove_node(i915, &fbc-
>>>> compressed_fb);
>>>    }
>>>    
>>> @@ -1030,7 +1031,8 @@ static bool intel_fbc_is_cfb_ok(const struct
>>> intel_plane_state *plane_state)
>>>          struct intel_fbc *fbc = plane->fbc;
>>>    
>>>          return intel_fbc_min_limit(plane_state) <= fbc->limit &&
>>> -               intel_fbc_cfb_size(plane_state) <= fbc-
>>>> compressed_fb.size * fbc->limit;
>>> +               intel_fbc_cfb_size(plane_state) <= fbc->limit *
>>> +                       i915_gem_stolen_node_size(&fbc-
>>>> compressed_fb);
>>>    }
>>>    
>>>    static bool intel_fbc_is_ok(const struct intel_plane_state
>>> *plane_state)
>>> @@ -1707,7 +1709,7 @@ void intel_fbc_init(struct drm_i915_private
>>> *i915)
>>>    {
>>>          enum intel_fbc_id fbc_id;
>>>    
>>> -       if (!drm_mm_initialized(&i915->mm.stolen))
>>> +       if (!i915_gem_stolen_initialized(i915))
>>>                  DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
>>>    
>>>          if (need_fbc_vtd_wa(i915))
>>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
>>> b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
>>> index 3b094d36a0b0..78bac1e611dd 100644
>>> --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
>>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
>>> @@ -974,3 +974,39 @@ bool i915_gem_object_is_stolen(const struct
>>> drm_i915_gem_object *obj)
>>>    {
>>>          return obj->ops == &i915_gem_object_stolen_ops;
>>>    }
>>> +
>>> +bool i915_gem_stolen_initialized(const struct drm_i915_private
>>> *i915)
>>> +{
>>> +       return drm_mm_initialized(&i915->mm.stolen);
>>> +}
>>> +
>>> +u64 i915_gem_stolen_area_address(const struct drm_i915_private
>>> *i915)
>>> +{
>>> +       return i915->dsm.stolen.start;
>>> +}
>>> +
>>> +u64 i915_gem_stolen_area_size(const struct drm_i915_private *i915)
>>> +{
>>> +       return resource_size(&i915->dsm.stolen);
>>> +}
>>> +
>>> +u64 i915_gem_stolen_node_address(const struct drm_i915_private
>>> *i915,
>>> +                                const struct drm_mm_node *node)
>>> +{
>>> +       return i915->dsm.stolen.start +
>>> i915_gem_stolen_node_offset(node);
>>> +}
>>> +
>>> +bool i915_gem_stolen_node_allocated(const struct drm_mm_node
>>> *node)
>>> +{
>>> +       return drm_mm_node_allocated(node);
>>> +}
>>> +
>>> +u64 i915_gem_stolen_node_offset(const struct drm_mm_node *node)
>>> +{
>>> +       return node->start;
>>> +}
>>> +
>>> +u64 i915_gem_stolen_node_size(const struct drm_mm_node *node)
>>> +{
>>> +       return node->size;
>>
>> Above 3 functions are core drm functions/struct and not related to
>> stolen so I don't think
>>
>> they deserve special functions in stolen code.
> Xe and i915 have differing implementations for stolen memory. We want
> to remove these details from FBC code. The thing here is that in i915
> case stolen memory node == drm mm node. In Xe case it is not and
> interfaces for these queries will have own implementation for Xe. See:
>
> https://patchwork.freedesktop.org/patch/540793/?series=118560&rev=3


Is the motivation to keep display code same for both XE and i915 without 
adding lots #if ?


Regards,

Nirmoy

>
> BR,
>
> Jouni Högander
>>
>> Regards,
>>
>> Nirmoy
>>
>>> +}
>>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
>>> b/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
>>> index d5005a39d130..258381d1c054 100644
>>> --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
>>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
>>> @@ -12,6 +12,8 @@ struct drm_i915_private;
>>>    struct drm_mm_node;
>>>    struct drm_i915_gem_object;
>>>    
>>> +#define i915_stolen_fb drm_mm_node
>>> +
>>>    int i915_gem_stolen_insert_node(struct drm_i915_private
>>> *dev_priv,
>>>                                  struct drm_mm_node *node, u64 size,
>>>                                  unsigned alignment);
>>> @@ -36,4 +38,15 @@ bool i915_gem_object_is_stolen(const struct
>>> drm_i915_gem_object *obj);
>>>    
>>>    #define I915_GEM_STOLEN_BIAS SZ_128K
>>>    
>>> +bool i915_gem_stolen_initialized(const struct drm_i915_private
>>> *i915);
>>> +u64 i915_gem_stolen_area_address(const struct drm_i915_private
>>> *i915);
>>> +u64 i915_gem_stolen_area_size(const struct drm_i915_private
>>> *i915);
>>> +
>>> +u64 i915_gem_stolen_node_address(const struct drm_i915_private
>>> *i915,
>>> +                                const struct drm_mm_node *node);
>>> +
>>> +bool i915_gem_stolen_node_allocated(const struct drm_mm_node
>>> *node);
>>> +u64 i915_gem_stolen_node_offset(const struct drm_mm_node *node);
>>> +u64 i915_gem_stolen_node_size(const struct drm_mm_node *node);
>>> +
>>>    #endif /* __I915_GEM_STOLEN_H__ */

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Intel-gfx] [PATCH v2 1/3] drm/i915: Move stolen memory handling into i915_gem_stolen
  2023-08-02  7:51       ` Nirmoy Das
@ 2023-08-02  7:52         ` Hogander, Jouni
  2023-08-03  8:51           ` Nirmoy Das
  0 siblings, 1 reply; 23+ messages in thread
From: Hogander, Jouni @ 2023-08-02  7:52 UTC (permalink / raw)
  To: nirmoy.das, intel-gfx

On Wed, 2023-08-02 at 09:51 +0200, Nirmoy Das wrote:
> 
> On 8/1/2023 10:33 AM, Hogander, Jouni wrote:
> > On Tue, 2023-08-01 at 10:02 +0200, Nirmoy Das wrote:
> > > Hi Jouni,
> > > 
> > > On 6/14/2023 7:17 AM, Jouni Högander wrote:
> > > > We are preparing for Xe. Xe stolen memory handling differs from
> > > > i915 so we
> > > > want to move stolen memory handling details into
> > > > i915_gem_stolen.
> > > > 
> > > > Also add a common type for fbc compressed fb and use it from
> > > > fbc
> > > > code
> > > > instead of underlying type directly. This way we can have
> > > > common
> > > > type
> > > > i915_stolen_fb for both i915 and Xe.
> > > > 
> > > > v2: Fix couple of checkpatch warnings
> > > > 
> > > > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > > > Signed-off-by: Maarten Lankhorst
> > > > <maarten.lankhorst@linux.intel.com>
> > > > ---
> > > >    drivers/gpu/drm/i915/display/intel_fbc.c   | 46 +++++++++++-
> > > > -----
> > > > -----
> > > >    drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 36
> > > > +++++++++++++++++
> > > >    drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 13 ++++++
> > > >    3 files changed, 73 insertions(+), 22 deletions(-)
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> > > > b/drivers/gpu/drm/i915/display/intel_fbc.c
> > > > index 7f8b2d7713c7..a18e84efe911 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> > > > @@ -94,8 +94,7 @@ struct intel_fbc {
> > > >          struct mutex lock;
> > > >          unsigned int busy_bits;
> > > >    
> > > > -       struct drm_mm_node compressed_fb;
> > > > -       struct drm_mm_node compressed_llb;
> > > > +       struct i915_stolen_fb compressed_fb, compressed_llb;
> > > >    
> > > >          enum intel_fbc_id id;
> > > >    
> > > > @@ -332,15 +331,16 @@ static void i8xx_fbc_program_cfb(struct
> > > > intel_fbc *fbc)
> > > >    {
> > > >          struct drm_i915_private *i915 = fbc->i915;
> > > >    
> > > > -       GEM_BUG_ON(range_overflows_end_t(u64, i915-
> > > > > dsm.stolen.start,
> > > > -                                        fbc-
> > > > >compressed_fb.start,
> > > > U32_MAX));
> > > > -       GEM_BUG_ON(range_overflows_end_t(u64, i915-
> > > > > dsm.stolen.start,
> > > > -                                        fbc-
> > > > >compressed_llb.start,
> > > > U32_MAX));
> > > > -
> > > > +       GEM_BUG_ON(range_overflows_end_t(u64,
> > > > i915_gem_stolen_area_address(i915),
> > > > +
> > > > i915_gem_stolen_node_offset(&fbc->compressed_fb),
> > > > +                                        U32_MAX));
> > > > +       GEM_BUG_ON(range_overflows_end_t(u64,
> > > > i915_gem_stolen_area_address(i915),
> > > > +
> > > > i915_gem_stolen_node_offset(&fbc->compressed_llb),
> > > > +                                        U32_MAX));
> > > >          intel_de_write(i915, FBC_CFB_BASE,
> > > > -                      i915->dsm.stolen.start + fbc-
> > > > > compressed_fb.start);
> > > > +                      i915_gem_stolen_node_address(i915, &fbc-
> > > > > compressed_fb));
> > > >          intel_de_write(i915, FBC_LL_BASE,
> > > > -                      i915->dsm.stolen.start + fbc-
> > > > > compressed_llb.start);
> > > > +                      i915_gem_stolen_node_address(i915, &fbc-
> > > > > compressed_llb));
> > > >    }
> > > >    
> > > >    static const struct intel_fbc_funcs i8xx_fbc_funcs = {
> > > > @@ -447,7 +447,8 @@ static void g4x_fbc_program_cfb(struct
> > > > intel_fbc *fbc)
> > > >    {
> > > >          struct drm_i915_private *i915 = fbc->i915;
> > > >    
> > > > -       intel_de_write(i915, DPFC_CB_BASE, fbc-
> > > > > compressed_fb.start);
> > > > +       intel_de_write(i915, DPFC_CB_BASE,
> > > > +                      i915_gem_stolen_node_offset(&fbc-
> > > > > compressed_fb));
> > > >    }
> > > >    
> > > >    static const struct intel_fbc_funcs g4x_fbc_funcs = {
> > > > @@ -498,7 +499,8 @@ static void ilk_fbc_program_cfb(struct
> > > > intel_fbc *fbc)
> > > >    {
> > > >          struct drm_i915_private *i915 = fbc->i915;
> > > >    
> > > > -       intel_de_write(i915, ILK_DPFC_CB_BASE(fbc->id), fbc-
> > > > > compressed_fb.start);
> > > > +       intel_de_write(i915, ILK_DPFC_CB_BASE(fbc->id),
> > > > +                      i915_gem_stolen_node_offset(&fbc-
> > > > > compressed_fb));
> > > >    }
> > > >    
> > > >    static const struct intel_fbc_funcs ilk_fbc_funcs = {
> > > > @@ -713,7 +715,7 @@ static u64 intel_fbc_stolen_end(struct
> > > > drm_i915_private *i915)
> > > >           * underruns, even if that range is not reserved by
> > > > the
> > > > BIOS. */
> > > >          if (IS_BROADWELL(i915) ||
> > > >              (DISPLAY_VER(i915) == 9 && !IS_BROXTON(i915)))
> > > > -               end = resource_size(&i915->dsm.stolen) - 8 *
> > > > 1024 *
> > > > 1024;
> > > > +               end = i915_gem_stolen_area_size(i915) - 8 *
> > > > 1024 *
> > > > 1024;
> > > >          else
> > > >                  end = U64_MAX;
> > > >    
> > > > @@ -770,9 +772,9 @@ static int intel_fbc_alloc_cfb(struct
> > > > intel_fbc
> > > > *fbc,
> > > >          int ret;
> > > >    
> > > >          drm_WARN_ON(&i915->drm,
> > > > -                   drm_mm_node_allocated(&fbc-
> > > > >compressed_fb));
> > > > +                   i915_gem_stolen_node_allocated(&fbc-
> > > > > compressed_fb));
> > > >          drm_WARN_ON(&i915->drm,
> > > > -                   drm_mm_node_allocated(&fbc-
> > > > >compressed_llb));
> > > > +                   i915_gem_stolen_node_allocated(&fbc-
> > > > > compressed_llb));
> > > >    
> > > >          if (DISPLAY_VER(i915) < 5 && !IS_G4X(i915)) {
> > > >                  ret = i915_gem_stolen_insert_node(i915, &fbc-
> > > > > compressed_llb,
> > > > @@ -792,15 +794,14 @@ static int intel_fbc_alloc_cfb(struct
> > > > intel_fbc *fbc,
> > > >    
> > > >          drm_dbg_kms(&i915->drm,
> > > >                      "reserved %llu bytes of contiguous stolen
> > > > space
> > > > for FBC, limit: %d\n",
> > > > -                   fbc->compressed_fb.size, fbc->limit);
> > > > -
> > > > +                   i915_gem_stolen_node_size(&fbc-
> > > > >compressed_fb),
> > > > fbc->limit);
> > > >          return 0;
> > > >    
> > > >    err_llb:
> > > > -       if (drm_mm_node_allocated(&fbc->compressed_llb))
> > > > +       if (i915_gem_stolen_node_allocated(&fbc-
> > > > >compressed_llb))
> > > >                  i915_gem_stolen_remove_node(i915, &fbc-
> > > > > compressed_llb);
> > > >    err:
> > > > -       if (drm_mm_initialized(&i915->mm.stolen))
> > > > +       if (i915_gem_stolen_initialized(i915))
> > > >                  drm_info_once(&i915->drm, "not enough stolen
> > > > space
> > > > for compressed buffer (need %d more bytes), disabling. Hint:
> > > > you
> > > > may be able to increase stolen memory size in the BIOS to avoid
> > > > this.\n", size);
> > > >          return -ENOSPC;
> > > >    }
> > > > @@ -825,9 +826,9 @@ static void __intel_fbc_cleanup_cfb(struct
> > > > intel_fbc *fbc)
> > > >          if (WARN_ON(intel_fbc_hw_is_active(fbc)))
> > > >                  return;
> > > >    
> > > > -       if (drm_mm_node_allocated(&fbc->compressed_llb))
> > > > +       if (i915_gem_stolen_node_allocated(&fbc-
> > > > >compressed_llb))
> > > >                  i915_gem_stolen_remove_node(i915, &fbc-
> > > > > compressed_llb);
> > > > -       if (drm_mm_node_allocated(&fbc->compressed_fb))
> > > > +       if (i915_gem_stolen_node_allocated(&fbc-
> > > > >compressed_fb))
> > > >                  i915_gem_stolen_remove_node(i915, &fbc-
> > > > > compressed_fb);
> > > >    }
> > > >    
> > > > @@ -1030,7 +1031,8 @@ static bool intel_fbc_is_cfb_ok(const
> > > > struct
> > > > intel_plane_state *plane_state)
> > > >          struct intel_fbc *fbc = plane->fbc;
> > > >    
> > > >          return intel_fbc_min_limit(plane_state) <= fbc->limit
> > > > &&
> > > > -               intel_fbc_cfb_size(plane_state) <= fbc-
> > > > > compressed_fb.size * fbc->limit;
> > > > +               intel_fbc_cfb_size(plane_state) <= fbc->limit *
> > > > +                       i915_gem_stolen_node_size(&fbc-
> > > > > compressed_fb);
> > > >    }
> > > >    
> > > >    static bool intel_fbc_is_ok(const struct intel_plane_state
> > > > *plane_state)
> > > > @@ -1707,7 +1709,7 @@ void intel_fbc_init(struct
> > > > drm_i915_private
> > > > *i915)
> > > >    {
> > > >          enum intel_fbc_id fbc_id;
> > > >    
> > > > -       if (!drm_mm_initialized(&i915->mm.stolen))
> > > > +       if (!i915_gem_stolen_initialized(i915))
> > > >                  DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
> > > >    
> > > >          if (need_fbc_vtd_wa(i915))
> > > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > > > b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > > > index 3b094d36a0b0..78bac1e611dd 100644
> > > > --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > > > +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
> > > > @@ -974,3 +974,39 @@ bool i915_gem_object_is_stolen(const
> > > > struct
> > > > drm_i915_gem_object *obj)
> > > >    {
> > > >          return obj->ops == &i915_gem_object_stolen_ops;
> > > >    }
> > > > +
> > > > +bool i915_gem_stolen_initialized(const struct drm_i915_private
> > > > *i915)
> > > > +{
> > > > +       return drm_mm_initialized(&i915->mm.stolen);
> > > > +}
> > > > +
> > > > +u64 i915_gem_stolen_area_address(const struct drm_i915_private
> > > > *i915)
> > > > +{
> > > > +       return i915->dsm.stolen.start;
> > > > +}
> > > > +
> > > > +u64 i915_gem_stolen_area_size(const struct drm_i915_private
> > > > *i915)
> > > > +{
> > > > +       return resource_size(&i915->dsm.stolen);
> > > > +}
> > > > +
> > > > +u64 i915_gem_stolen_node_address(const struct drm_i915_private
> > > > *i915,
> > > > +                                const struct drm_mm_node
> > > > *node)
> > > > +{
> > > > +       return i915->dsm.stolen.start +
> > > > i915_gem_stolen_node_offset(node);
> > > > +}
> > > > +
> > > > +bool i915_gem_stolen_node_allocated(const struct drm_mm_node
> > > > *node)
> > > > +{
> > > > +       return drm_mm_node_allocated(node);
> > > > +}
> > > > +
> > > > +u64 i915_gem_stolen_node_offset(const struct drm_mm_node
> > > > *node)
> > > > +{
> > > > +       return node->start;
> > > > +}
> > > > +
> > > > +u64 i915_gem_stolen_node_size(const struct drm_mm_node *node)
> > > > +{
> > > > +       return node->size;
> > > 
> > > Above 3 functions are core drm functions/struct and not related
> > > to
> > > stolen so I don't think
> > > 
> > > they deserve special functions in stolen code.
> > Xe and i915 have differing implementations for stolen memory. We
> > want
> > to remove these details from FBC code. The thing here is that in
> > i915
> > case stolen memory node == drm mm node. In Xe case it is not and
> > interfaces for these queries will have own implementation for Xe.
> > See:
> > 
> > https://patchwork.freedesktop.org/patch/540793/?series=118560&rev=3
> 
> 
> Is the motivation to keep display code same for both XE and i915
> without 
> adding lots #if ?

Yes, this is our target currently.

> 
> 
> Regards,
> 
> Nirmoy
> 
> > 
> > BR,
> > 
> > Jouni Högander
> > > 
> > > Regards,
> > > 
> > > Nirmoy
> > > 
> > > > +}
> > > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
> > > > b/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
> > > > index d5005a39d130..258381d1c054 100644
> > > > --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
> > > > +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
> > > > @@ -12,6 +12,8 @@ struct drm_i915_private;
> > > >    struct drm_mm_node;
> > > >    struct drm_i915_gem_object;
> > > >    
> > > > +#define i915_stolen_fb drm_mm_node
> > > > +
> > > >    int i915_gem_stolen_insert_node(struct drm_i915_private
> > > > *dev_priv,
> > > >                                  struct drm_mm_node *node, u64
> > > > size,
> > > >                                  unsigned alignment);
> > > > @@ -36,4 +38,15 @@ bool i915_gem_object_is_stolen(const struct
> > > > drm_i915_gem_object *obj);
> > > >    
> > > >    #define I915_GEM_STOLEN_BIAS SZ_128K
> > > >    
> > > > +bool i915_gem_stolen_initialized(const struct drm_i915_private
> > > > *i915);
> > > > +u64 i915_gem_stolen_area_address(const struct drm_i915_private
> > > > *i915);
> > > > +u64 i915_gem_stolen_area_size(const struct drm_i915_private
> > > > *i915);
> > > > +
> > > > +u64 i915_gem_stolen_node_address(const struct drm_i915_private
> > > > *i915,
> > > > +                                const struct drm_mm_node
> > > > *node);
> > > > +
> > > > +bool i915_gem_stolen_node_allocated(const struct drm_mm_node
> > > > *node);
> > > > +u64 i915_gem_stolen_node_offset(const struct drm_mm_node
> > > > *node);
> > > > +u64 i915_gem_stolen_node_size(const struct drm_mm_node *node);
> > > > +
> > > >    #endif /* __I915_GEM_STOLEN_H__ */


^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Intel-gfx] [PATCH v2 1/3] drm/i915: Move stolen memory handling into i915_gem_stolen
  2023-08-02  7:52         ` Hogander, Jouni
@ 2023-08-03  8:51           ` Nirmoy Das
  0 siblings, 0 replies; 23+ messages in thread
From: Nirmoy Das @ 2023-08-03  8:51 UTC (permalink / raw)
  To: Hogander, Jouni, intel-gfx

Hi Jouni,

On 8/2/2023 9:52 AM, Hogander, Jouni wrote:
> On Wed, 2023-08-02 at 09:51 +0200, Nirmoy Das wrote:
>> On 8/1/2023 10:33 AM, Hogander, Jouni wrote:
>>> On Tue, 2023-08-01 at 10:02 +0200, Nirmoy Das wrote:
>>>> Hi Jouni,
>>>>
>>>> On 6/14/2023 7:17 AM, Jouni Högander wrote:
>>>>> We are preparing for Xe. Xe stolen memory handling differs from
>>>>> i915 so we
>>>>> want to move stolen memory handling details into
>>>>> i915_gem_stolen.
>>>>>
>>>>> Also add a common type for fbc compressed fb and use it from
>>>>> fbc
>>>>> code
>>>>> instead of underlying type directly. This way we can have
>>>>> common
>>>>> type
>>>>> i915_stolen_fb for both i915 and Xe.
>>>>>
>>>>> v2: Fix couple of checkpatch warnings
>>>>>
>>>>> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
>>>>> Signed-off-by: Maarten Lankhorst
>>>>> <maarten.lankhorst@linux.intel.com>
>>>>> ---
>>>>>     drivers/gpu/drm/i915/display/intel_fbc.c   | 46 +++++++++++-
>>>>> -----
>>>>> -----
>>>>>     drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 36
>>>>> +++++++++++++++++
>>>>>     drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 13 ++++++
>>>>>     3 files changed, 73 insertions(+), 22 deletions(-)
>>>>>
>>>>> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
>>>>> b/drivers/gpu/drm/i915/display/intel_fbc.c
>>>>> index 7f8b2d7713c7..a18e84efe911 100644
>>>>> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
>>>>> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
>>>>> @@ -94,8 +94,7 @@ struct intel_fbc {
>>>>>           struct mutex lock;
>>>>>           unsigned int busy_bits;
>>>>>     
>>>>> -       struct drm_mm_node compressed_fb;
>>>>> -       struct drm_mm_node compressed_llb;
>>>>> +       struct i915_stolen_fb compressed_fb, compressed_llb;
>>>>>     
>>>>>           enum intel_fbc_id id;
>>>>>     
>>>>> @@ -332,15 +331,16 @@ static void i8xx_fbc_program_cfb(struct
>>>>> intel_fbc *fbc)
>>>>>     {
>>>>>           struct drm_i915_private *i915 = fbc->i915;
>>>>>     
>>>>> -       GEM_BUG_ON(range_overflows_end_t(u64, i915-
>>>>>> dsm.stolen.start,
>>>>> -                                        fbc-
>>>>>> compressed_fb.start,
>>>>> U32_MAX));
>>>>> -       GEM_BUG_ON(range_overflows_end_t(u64, i915-
>>>>>> dsm.stolen.start,
>>>>> -                                        fbc-
>>>>>> compressed_llb.start,
>>>>> U32_MAX));
>>>>> -
>>>>> +       GEM_BUG_ON(range_overflows_end_t(u64,
>>>>> i915_gem_stolen_area_address(i915),
>>>>> +
>>>>> i915_gem_stolen_node_offset(&fbc->compressed_fb),
>>>>> +                                        U32_MAX));
>>>>> +       GEM_BUG_ON(range_overflows_end_t(u64,
>>>>> i915_gem_stolen_area_address(i915),
>>>>> +
>>>>> i915_gem_stolen_node_offset(&fbc->compressed_llb),
>>>>> +                                        U32_MAX));
>>>>>           intel_de_write(i915, FBC_CFB_BASE,
>>>>> -                      i915->dsm.stolen.start + fbc-
>>>>>> compressed_fb.start);
>>>>> +                      i915_gem_stolen_node_address(i915, &fbc-
>>>>>> compressed_fb));
>>>>>           intel_de_write(i915, FBC_LL_BASE,
>>>>> -                      i915->dsm.stolen.start + fbc-
>>>>>> compressed_llb.start);
>>>>> +                      i915_gem_stolen_node_address(i915, &fbc-
>>>>>> compressed_llb));
>>>>>     }
>>>>>     
>>>>>     static const struct intel_fbc_funcs i8xx_fbc_funcs = {
>>>>> @@ -447,7 +447,8 @@ static void g4x_fbc_program_cfb(struct
>>>>> intel_fbc *fbc)
>>>>>     {
>>>>>           struct drm_i915_private *i915 = fbc->i915;
>>>>>     
>>>>> -       intel_de_write(i915, DPFC_CB_BASE, fbc-
>>>>>> compressed_fb.start);
>>>>> +       intel_de_write(i915, DPFC_CB_BASE,
>>>>> +                      i915_gem_stolen_node_offset(&fbc-
>>>>>> compressed_fb));
>>>>>     }
>>>>>     
>>>>>     static const struct intel_fbc_funcs g4x_fbc_funcs = {
>>>>> @@ -498,7 +499,8 @@ static void ilk_fbc_program_cfb(struct
>>>>> intel_fbc *fbc)
>>>>>     {
>>>>>           struct drm_i915_private *i915 = fbc->i915;
>>>>>     
>>>>> -       intel_de_write(i915, ILK_DPFC_CB_BASE(fbc->id), fbc-
>>>>>> compressed_fb.start);
>>>>> +       intel_de_write(i915, ILK_DPFC_CB_BASE(fbc->id),
>>>>> +                      i915_gem_stolen_node_offset(&fbc-
>>>>>> compressed_fb));
>>>>>     }
>>>>>     
>>>>>     static const struct intel_fbc_funcs ilk_fbc_funcs = {
>>>>> @@ -713,7 +715,7 @@ static u64 intel_fbc_stolen_end(struct
>>>>> drm_i915_private *i915)
>>>>>            * underruns, even if that range is not reserved by
>>>>> the
>>>>> BIOS. */
>>>>>           if (IS_BROADWELL(i915) ||
>>>>>               (DISPLAY_VER(i915) == 9 && !IS_BROXTON(i915)))
>>>>> -               end = resource_size(&i915->dsm.stolen) - 8 *
>>>>> 1024 *
>>>>> 1024;
>>>>> +               end = i915_gem_stolen_area_size(i915) - 8 *
>>>>> 1024 *
>>>>> 1024;
>>>>>           else
>>>>>                   end = U64_MAX;
>>>>>     
>>>>> @@ -770,9 +772,9 @@ static int intel_fbc_alloc_cfb(struct
>>>>> intel_fbc
>>>>> *fbc,
>>>>>           int ret;
>>>>>     
>>>>>           drm_WARN_ON(&i915->drm,
>>>>> -                   drm_mm_node_allocated(&fbc-
>>>>>> compressed_fb));
>>>>> +                   i915_gem_stolen_node_allocated(&fbc-
>>>>>> compressed_fb));
>>>>>           drm_WARN_ON(&i915->drm,
>>>>> -                   drm_mm_node_allocated(&fbc-
>>>>>> compressed_llb));
>>>>> +                   i915_gem_stolen_node_allocated(&fbc-
>>>>>> compressed_llb));
>>>>>     
>>>>>           if (DISPLAY_VER(i915) < 5 && !IS_G4X(i915)) {
>>>>>                   ret = i915_gem_stolen_insert_node(i915, &fbc-
>>>>>> compressed_llb,
>>>>> @@ -792,15 +794,14 @@ static int intel_fbc_alloc_cfb(struct
>>>>> intel_fbc *fbc,
>>>>>     
>>>>>           drm_dbg_kms(&i915->drm,
>>>>>                       "reserved %llu bytes of contiguous stolen
>>>>> space
>>>>> for FBC, limit: %d\n",
>>>>> -                   fbc->compressed_fb.size, fbc->limit);
>>>>> -
>>>>> +                   i915_gem_stolen_node_size(&fbc-
>>>>>> compressed_fb),
>>>>> fbc->limit);
>>>>>           return 0;
>>>>>     
>>>>>     err_llb:
>>>>> -       if (drm_mm_node_allocated(&fbc->compressed_llb))
>>>>> +       if (i915_gem_stolen_node_allocated(&fbc-
>>>>>> compressed_llb))
>>>>>                   i915_gem_stolen_remove_node(i915, &fbc-
>>>>>> compressed_llb);
>>>>>     err:
>>>>> -       if (drm_mm_initialized(&i915->mm.stolen))
>>>>> +       if (i915_gem_stolen_initialized(i915))
>>>>>                   drm_info_once(&i915->drm, "not enough stolen
>>>>> space
>>>>> for compressed buffer (need %d more bytes), disabling. Hint:
>>>>> you
>>>>> may be able to increase stolen memory size in the BIOS to avoid
>>>>> this.\n", size);
>>>>>           return -ENOSPC;
>>>>>     }
>>>>> @@ -825,9 +826,9 @@ static void __intel_fbc_cleanup_cfb(struct
>>>>> intel_fbc *fbc)
>>>>>           if (WARN_ON(intel_fbc_hw_is_active(fbc)))
>>>>>                   return;
>>>>>     
>>>>> -       if (drm_mm_node_allocated(&fbc->compressed_llb))
>>>>> +       if (i915_gem_stolen_node_allocated(&fbc-
>>>>>> compressed_llb))
>>>>>                   i915_gem_stolen_remove_node(i915, &fbc-
>>>>>> compressed_llb);
>>>>> -       if (drm_mm_node_allocated(&fbc->compressed_fb))
>>>>> +       if (i915_gem_stolen_node_allocated(&fbc-
>>>>>> compressed_fb))
>>>>>                   i915_gem_stolen_remove_node(i915, &fbc-
>>>>>> compressed_fb);
>>>>>     }
>>>>>     
>>>>> @@ -1030,7 +1031,8 @@ static bool intel_fbc_is_cfb_ok(const
>>>>> struct
>>>>> intel_plane_state *plane_state)
>>>>>           struct intel_fbc *fbc = plane->fbc;
>>>>>     
>>>>>           return intel_fbc_min_limit(plane_state) <= fbc->limit
>>>>> &&
>>>>> -               intel_fbc_cfb_size(plane_state) <= fbc-
>>>>>> compressed_fb.size * fbc->limit;
>>>>> +               intel_fbc_cfb_size(plane_state) <= fbc->limit *
>>>>> +                       i915_gem_stolen_node_size(&fbc-
>>>>>> compressed_fb);
>>>>>     }
>>>>>     
>>>>>     static bool intel_fbc_is_ok(const struct intel_plane_state
>>>>> *plane_state)
>>>>> @@ -1707,7 +1709,7 @@ void intel_fbc_init(struct
>>>>> drm_i915_private
>>>>> *i915)
>>>>>     {
>>>>>           enum intel_fbc_id fbc_id;
>>>>>     
>>>>> -       if (!drm_mm_initialized(&i915->mm.stolen))
>>>>> +       if (!i915_gem_stolen_initialized(i915))
>>>>>                   DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
>>>>>     
>>>>>           if (need_fbc_vtd_wa(i915))
>>>>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
>>>>> b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
>>>>> index 3b094d36a0b0..78bac1e611dd 100644
>>>>> --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
>>>>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c
>>>>> @@ -974,3 +974,39 @@ bool i915_gem_object_is_stolen(const
>>>>> struct
>>>>> drm_i915_gem_object *obj)
>>>>>     {
>>>>>           return obj->ops == &i915_gem_object_stolen_ops;
>>>>>     }
>>>>> +
>>>>> +bool i915_gem_stolen_initialized(const struct drm_i915_private
>>>>> *i915)
>>>>> +{
>>>>> +       return drm_mm_initialized(&i915->mm.stolen);
>>>>> +}
>>>>> +
>>>>> +u64 i915_gem_stolen_area_address(const struct drm_i915_private
>>>>> *i915)
>>>>> +{
>>>>> +       return i915->dsm.stolen.start;
>>>>> +}
>>>>> +
>>>>> +u64 i915_gem_stolen_area_size(const struct drm_i915_private
>>>>> *i915)
>>>>> +{
>>>>> +       return resource_size(&i915->dsm.stolen);
>>>>> +}
>>>>> +
>>>>> +u64 i915_gem_stolen_node_address(const struct drm_i915_private
>>>>> *i915,
>>>>> +                                const struct drm_mm_node
>>>>> *node)
>>>>> +{
>>>>> +       return i915->dsm.stolen.start +
>>>>> i915_gem_stolen_node_offset(node);
>>>>> +}
>>>>> +
>>>>> +bool i915_gem_stolen_node_allocated(const struct drm_mm_node
>>>>> *node)
>>>>> +{
>>>>> +       return drm_mm_node_allocated(node);
>>>>> +}
>>>>> +
>>>>> +u64 i915_gem_stolen_node_offset(const struct drm_mm_node
>>>>> *node)
>>>>> +{
>>>>> +       return node->start;
>>>>> +}
>>>>> +
>>>>> +u64 i915_gem_stolen_node_size(const struct drm_mm_node *node)
>>>>> +{
>>>>> +       return node->size;
>>>> Above 3 functions are core drm functions/struct and not related
>>>> to
>>>> stolen so I don't think
>>>>
>>>> they deserve special functions in stolen code.
>>> Xe and i915 have differing implementations for stolen memory. We
>>> want
>>> to remove these details from FBC code. The thing here is that in
>>> i915
>>> case stolen memory node == drm mm node. In Xe case it is not and
>>> interfaces for these queries will have own implementation for Xe.
>>> See:
>>>
>>> https://patchwork.freedesktop.org/patch/540793/?series=118560&rev=3
>>
>> Is the motivation to keep display code same for both XE and i915
>> without
>> adding lots #if ?
> Yes, this is our target currently.

Got it, in that case

Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>

Regards,

Nirmoy

>
>>
>> Regards,
>>
>> Nirmoy
>>
>>> BR,
>>>
>>> Jouni Högander
>>>> Regards,
>>>>
>>>> Nirmoy
>>>>
>>>>> +}
>>>>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
>>>>> b/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
>>>>> index d5005a39d130..258381d1c054 100644
>>>>> --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
>>>>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.h
>>>>> @@ -12,6 +12,8 @@ struct drm_i915_private;
>>>>>     struct drm_mm_node;
>>>>>     struct drm_i915_gem_object;
>>>>>     
>>>>> +#define i915_stolen_fb drm_mm_node
>>>>> +
>>>>>     int i915_gem_stolen_insert_node(struct drm_i915_private
>>>>> *dev_priv,
>>>>>                                   struct drm_mm_node *node, u64
>>>>> size,
>>>>>                                   unsigned alignment);
>>>>> @@ -36,4 +38,15 @@ bool i915_gem_object_is_stolen(const struct
>>>>> drm_i915_gem_object *obj);
>>>>>     
>>>>>     #define I915_GEM_STOLEN_BIAS SZ_128K
>>>>>     
>>>>> +bool i915_gem_stolen_initialized(const struct drm_i915_private
>>>>> *i915);
>>>>> +u64 i915_gem_stolen_area_address(const struct drm_i915_private
>>>>> *i915);
>>>>> +u64 i915_gem_stolen_area_size(const struct drm_i915_private
>>>>> *i915);
>>>>> +
>>>>> +u64 i915_gem_stolen_node_address(const struct drm_i915_private
>>>>> *i915,
>>>>> +                                const struct drm_mm_node
>>>>> *node);
>>>>> +
>>>>> +bool i915_gem_stolen_node_allocated(const struct drm_mm_node
>>>>> *node);
>>>>> +u64 i915_gem_stolen_node_offset(const struct drm_mm_node
>>>>> *node);
>>>>> +u64 i915_gem_stolen_node_size(const struct drm_mm_node *node);
>>>>> +
>>>>>     #endif /* __I915_GEM_STOLEN_H__ */

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Intel-gfx] [PATCH v2 2/3] drm/i915/fbc: Make FBC check stolen at use time
  2023-06-14  5:17 ` [Intel-gfx] [PATCH v2 2/3] drm/i915/fbc: Make FBC check stolen at use time Jouni Högander
@ 2023-08-03 10:18   ` B, Jeevan
  0 siblings, 0 replies; 23+ messages in thread
From: B, Jeevan @ 2023-08-03 10:18 UTC (permalink / raw)
  To: Hogander, Jouni, intel-gfx

> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
> Jouni Högander
> Sent: Wednesday, June 14, 2023 10:48 AM
> To: intel-gfx@lists.freedesktop.org
> Subject: [Intel-gfx] [PATCH v2 2/3] drm/i915/fbc: Make FBC check stolen at
> use time
> 
> As a preparation for Xe change stolen memory initialization check to be done
> in use-time instead of during initialization.
> 
> In case of xe, stolen memory is initialised much later so it can't be checked
> during init. There is no specific reason to check this in init for
> i915 either -> perform the check in use-time. This also gives us benefit
> fbc_no_reason reporting missing initialization being reason for disabled fbc.
> 
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
LGTM. 
Reviewed-by: Jeevan B <jeevan.b@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_fbc.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> b/drivers/gpu/drm/i915/display/intel_fbc.c
> index a18e84efe911..da8166eedf93 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -1056,6 +1056,11 @@ static int intel_fbc_check_plane(struct
> intel_atomic_state *state,
>  	if (!fbc)
>  		return 0;
> 
> +	if (!i915_gem_stolen_initialized(i915)) {
> +		plane_state->no_fbc_reason = "stolen memory not
> initialised";
> +		return 0;
> +	}
> +
>  	if (intel_vgpu_active(i915)) {
>  		plane_state->no_fbc_reason = "VGPU active";
>  		return 0;
> @@ -1709,9 +1714,6 @@ void intel_fbc_init(struct drm_i915_private *i915)  {
>  	enum intel_fbc_id fbc_id;
> 
> -	if (!i915_gem_stolen_initialized(i915))
> -		DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
> -
>  	if (need_fbc_vtd_wa(i915))
>  		DISPLAY_RUNTIME_INFO(i915)->fbc_mask = 0;
> 
> --
> 2.34.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Move stolen memory handling details into i915_gem_stolen (rev4)
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
                   ` (9 preceding siblings ...)
  2023-07-31 11:13 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
@ 2023-08-04  6:36 ` Patchwork
  2023-08-04  6:37 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-08-04  6:36 UTC (permalink / raw)
  To: Hogander, Jouni; +Cc: intel-gfx

== Series Details ==

Series: Move stolen memory handling details into i915_gem_stolen (rev4)
URL   : https://patchwork.freedesktop.org/series/119123/
State : warning

== Summary ==

Error: dim checkpatch failed
/home/kbuild2/linux/maintainer-tools/dim: line 50: /home/kbuild2/.dimrc: No such file or directory



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Intel-gfx] ✗ Fi.CI.SPARSE: warning for Move stolen memory handling details into i915_gem_stolen (rev4)
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
                   ` (10 preceding siblings ...)
  2023-08-04  6:36 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Move stolen memory handling details into i915_gem_stolen (rev4) Patchwork
@ 2023-08-04  6:37 ` Patchwork
  2023-08-04  6:52 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
  2023-08-04 11:34 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  13 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-08-04  6:37 UTC (permalink / raw)
  To: Hogander, Jouni; +Cc: intel-gfx

== Series Details ==

Series: Move stolen memory handling details into i915_gem_stolen (rev4)
URL   : https://patchwork.freedesktop.org/series/119123/
State : warning

== Summary ==

Error: dim sparse failed
/home/kbuild2/linux/maintainer-tools/dim: line 50: /home/kbuild2/.dimrc: No such file or directory



^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for Move stolen memory handling details into i915_gem_stolen (rev4)
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
                   ` (11 preceding siblings ...)
  2023-08-04  6:37 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
@ 2023-08-04  6:52 ` Patchwork
  2023-08-04 11:34 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  13 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-08-04  6:52 UTC (permalink / raw)
  To: Hogander, Jouni; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 7700 bytes --]

== Series Details ==

Series: Move stolen memory handling details into i915_gem_stolen (rev4)
URL   : https://patchwork.freedesktop.org/series/119123/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13472 -> Patchwork_119123v4
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/index.html

Participating hosts (43 -> 41)
------------------------------

  Missing    (2): fi-kbl-soraka fi-snb-2520m 

Known issues
------------

  Here are the changes found in Patchwork_119123v4 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_pm_rpm@basic-pci-d3-state:
    - fi-tgl-1115g4:      [PASS][1] -> [FAIL][2] ([i915#7940])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/fi-tgl-1115g4/igt@i915_pm_rpm@basic-pci-d3-state.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/fi-tgl-1115g4/igt@i915_pm_rpm@basic-pci-d3-state.html
    - bat-mtlp-8:         [PASS][3] -> [ABORT][4] ([i915#7077] / [i915#7977] / [i915#8668])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/bat-mtlp-8/igt@i915_pm_rpm@basic-pci-d3-state.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/bat-mtlp-8/igt@i915_pm_rpm@basic-pci-d3-state.html

  * igt@i915_pm_rpm@module-reload:
    - fi-rkl-11600:       [PASS][5] -> [FAIL][6] ([i915#7940])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/fi-rkl-11600/igt@i915_pm_rpm@module-reload.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/fi-rkl-11600/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live@execlists:
    - fi-bsw-n3050:       [PASS][7] -> [ABORT][8] ([i915#7911] / [i915#7913])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/fi-bsw-n3050/igt@i915_selftest@live@execlists.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/fi-bsw-n3050/igt@i915_selftest@live@execlists.html

  * igt@i915_selftest@live@gt_heartbeat:
    - fi-rkl-11600:       [PASS][9] -> [DMESG-FAIL][10] ([i915#5334] / [i915#7872])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/fi-rkl-11600/igt@i915_selftest@live@gt_heartbeat.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/fi-rkl-11600/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_selftest@live@gt_mocs:
    - bat-mtlp-6:         [PASS][11] -> [DMESG-FAIL][12] ([i915#7059])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/bat-mtlp-6/igt@i915_selftest@live@gt_mocs.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/bat-mtlp-6/igt@i915_selftest@live@gt_mocs.html

  * igt@i915_selftest@live@requests:
    - bat-mtlp-6:         [PASS][13] -> [ABORT][14] ([i915#7982])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/bat-mtlp-6/igt@i915_selftest@live@requests.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/bat-mtlp-6/igt@i915_selftest@live@requests.html

  * igt@i915_selftest@live@slpc:
    - bat-rpls-1:         [PASS][15] -> [DMESG-WARN][16] ([i915#6367])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/bat-rpls-1/igt@i915_selftest@live@slpc.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/bat-rpls-1/igt@i915_selftest@live@slpc.html

  * igt@i915_selftest@live@workarounds:
    - bat-dg2-9:          [PASS][17] -> [DMESG-FAIL][18] ([i915#7913])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/bat-dg2-9/igt@i915_selftest@live@workarounds.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/bat-dg2-9/igt@i915_selftest@live@workarounds.html

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - bat-dg2-11:         NOTRUN -> [SKIP][19] ([i915#7828])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/bat-dg2-11/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
    - bat-dg2-11:         NOTRUN -> [SKIP][20] ([i915#1845] / [i915#5354]) +3 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html

  * igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1:
    - bat-rplp-1:         [PASS][21] -> [ABORT][22] ([i915#8442] / [i915#8668])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/bat-rplp-1/igt@kms_pipe_crc_basic@read-crc-frame-sequence@pipe-d-edp-1.html

  
#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s0@lmem0:
    - bat-dg2-11:         [INCOMPLETE][23] ([i915#6311] / [i915#8011]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/bat-dg2-11/igt@gem_exec_suspend@basic-s0@lmem0.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/bat-dg2-11/igt@gem_exec_suspend@basic-s0@lmem0.html

  * igt@i915_selftest@live@gt_heartbeat:
    - fi-apl-guc:         [DMESG-FAIL][25] ([i915#5334]) -> [PASS][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/fi-apl-guc/igt@i915_selftest@live@gt_heartbeat.html

  
#### Warnings ####

  * igt@i915_module_load@load:
    - bat-adlp-11:        [DMESG-WARN][27] ([i915#4423]) -> [ABORT][28] ([i915#4423])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/bat-adlp-11/igt@i915_module_load@load.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/bat-adlp-11/igt@i915_module_load@load.html

  
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#6311]: https://gitlab.freedesktop.org/drm/intel/issues/6311
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#7059]: https://gitlab.freedesktop.org/drm/intel/issues/7059
  [i915#7077]: https://gitlab.freedesktop.org/drm/intel/issues/7077
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [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#7940]: https://gitlab.freedesktop.org/drm/intel/issues/7940
  [i915#7977]: https://gitlab.freedesktop.org/drm/intel/issues/7977
  [i915#7982]: https://gitlab.freedesktop.org/drm/intel/issues/7982
  [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011
  [i915#8442]: https://gitlab.freedesktop.org/drm/intel/issues/8442
  [i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668


Build changes
-------------

  * Linux: CI_DRM_13472 -> Patchwork_119123v4

  CI-20190529: 20190529
  CI_DRM_13472: 9f699732195d9d8071692f7981e8fe58d51cd024 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7413: 7413
  Patchwork_119123v4: 9f699732195d9d8071692f7981e8fe58d51cd024 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

dcc603692304 drm/i915/fbc: Moved fence related code away from intel_fbc
1ce095785384 drm/i915/fbc: Make FBC check stolen at use time
8c9fb3216f04 drm/i915: Move stolen memory handling into i915_gem_stolen

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/index.html

[-- Attachment #2: Type: text/html, Size: 8995 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* [Intel-gfx] ✓ Fi.CI.IGT: success for Move stolen memory handling details into i915_gem_stolen (rev4)
  2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
                   ` (12 preceding siblings ...)
  2023-08-04  6:52 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
@ 2023-08-04 11:34 ` Patchwork
  13 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2023-08-04 11:34 UTC (permalink / raw)
  To: Hogander, Jouni; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 39020 bytes --]

== Series Details ==

Series: Move stolen memory handling details into i915_gem_stolen (rev4)
URL   : https://patchwork.freedesktop.org/series/119123/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_13472_full -> Patchwork_119123v4_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (11 -> 10)
------------------------------

  Missing    (1): shard-rkl0 

Known issues
------------

  Here are the changes found in Patchwork_119123v4_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_exec@basic-nohangcheck:
    - shard-tglu:         [PASS][1] -> [FAIL][2] ([i915#6268])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-tglu-5/igt@gem_ctx_exec@basic-nohangcheck.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-tglu-8/igt@gem_ctx_exec@basic-nohangcheck.html

  * igt@gem_ctx_isolation@preservation-s3@ccs2:
    - shard-dg2:          [PASS][3] -> [FAIL][4] ([fdo#103375]) +2 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg2-8/igt@gem_ctx_isolation@preservation-s3@ccs2.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-11/igt@gem_ctx_isolation@preservation-s3@ccs2.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-rkl:          [PASS][5] -> [FAIL][6] ([i915#2842])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-rkl-4/igt@gem_exec_fair@basic-none-solo@rcs0.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-4/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_reloc@basic-cpu-active:
    - shard-dg2:          NOTRUN -> [SKIP][7] ([i915#3281])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-8/igt@gem_exec_reloc@basic-cpu-active.html
    - shard-rkl:          NOTRUN -> [SKIP][8] ([i915#3281])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-1/igt@gem_exec_reloc@basic-cpu-active.html

  * igt@gem_exec_reloc@basic-gtt-cpu-noreloc:
    - shard-mtlp:         NOTRUN -> [SKIP][9] ([i915#3281]) +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@gem_exec_reloc@basic-gtt-cpu-noreloc.html

  * igt@gem_exec_suspend@basic-s4-devices@lmem0:
    - shard-dg2:          NOTRUN -> [ABORT][10] ([i915#7975] / [i915#8213])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-8/igt@gem_exec_suspend@basic-s4-devices@lmem0.html

  * igt@gem_exec_suspend@basic-s4-devices@smem:
    - shard-rkl:          NOTRUN -> [ABORT][11] ([i915#7975] / [i915#8213])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-1/igt@gem_exec_suspend@basic-s4-devices@smem.html

  * igt@gem_exec_whisper@basic-fds-priority-all:
    - shard-tglu:         [PASS][12] -> [INCOMPLETE][13] ([i915#6755] / [i915#7392])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-tglu-6/igt@gem_exec_whisper@basic-fds-priority-all.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-tglu-4/igt@gem_exec_whisper@basic-fds-priority-all.html

  * igt@gem_mmap_wc@bad-offset:
    - shard-mtlp:         NOTRUN -> [SKIP][14] ([i915#4083]) +1 similar issue
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@gem_mmap_wc@bad-offset.html

  * igt@gem_partial_pwrite_pread@reads:
    - shard-dg2:          NOTRUN -> [SKIP][15] ([i915#3282])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-8/igt@gem_partial_pwrite_pread@reads.html
    - shard-rkl:          NOTRUN -> [SKIP][16] ([i915#3282])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-1/igt@gem_partial_pwrite_pread@reads.html

  * igt@gem_pread@bench:
    - shard-mtlp:         NOTRUN -> [SKIP][17] ([i915#3282])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-5/igt@gem_pread@bench.html

  * igt@gem_render_copy@mixed-tiled-to-yf-tiled-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][18] ([i915#5190]) +2 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-8/igt@gem_render_copy@mixed-tiled-to-yf-tiled-ccs.html

  * igt@gem_render_copy@y-tiled-to-vebox-y-tiled:
    - shard-mtlp:         NOTRUN -> [SKIP][19] ([i915#8428]) +1 similar issue
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@gem_render_copy@y-tiled-to-vebox-y-tiled.html

  * igt@gem_set_tiling_vs_gtt:
    - shard-dg2:          NOTRUN -> [SKIP][20] ([i915#4079])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-8/igt@gem_set_tiling_vs_gtt.html

  * igt@gem_userptr_blits@readonly-unsync:
    - shard-mtlp:         NOTRUN -> [SKIP][21] ([i915#3297]) +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-5/igt@gem_userptr_blits@readonly-unsync.html

  * igt@i915_module_load@resize-bar:
    - shard-mtlp:         NOTRUN -> [SKIP][22] ([i915#6412])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-7/igt@i915_module_load@resize-bar.html

  * igt@i915_pm_dc@dc9-dpms:
    - shard-tglu:         [PASS][23] -> [SKIP][24] ([i915#4281])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-tglu-10/igt@i915_pm_dc@dc9-dpms.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-tglu-3/igt@i915_pm_dc@dc9-dpms.html

  * igt@i915_pm_rc6_residency@rc6-idle@vcs0:
    - shard-dg1:          [PASS][25] -> [FAIL][26] ([i915#3591])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg1-14/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-19/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html

  * igt@i915_pm_rpm@dpms-non-lpsp:
    - shard-dg2:          [PASS][27] -> [SKIP][28] ([i915#1397])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg2-1/igt@i915_pm_rpm@dpms-non-lpsp.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-10/igt@i915_pm_rpm@dpms-non-lpsp.html

  * igt@i915_pm_rpm@gem-execbuf-stress@smem0:
    - shard-dg1:          [PASS][29] -> [FAIL][30] ([i915#7940]) +2 similar issues
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg1-15/igt@i915_pm_rpm@gem-execbuf-stress@smem0.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-14/igt@i915_pm_rpm@gem-execbuf-stress@smem0.html

  * igt@i915_pm_rpm@modeset-lpsp-stress-no-wait:
    - shard-rkl:          [PASS][31] -> [SKIP][32] ([i915#1397]) +1 similar issue
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-rkl-7/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-2/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait:
    - shard-dg1:          [PASS][33] -> [SKIP][34] ([i915#1397]) +2 similar issues
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg1-14/igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-19/igt@i915_pm_rpm@modeset-non-lpsp-stress-no-wait.html

  * igt@i915_selftest@live@gt_heartbeat:
    - shard-apl:          [PASS][35] -> [DMESG-FAIL][36] ([i915#5334])
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-apl4/igt@i915_selftest@live@gt_heartbeat.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-apl2/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_suspend@basic-s3-without-i915:
    - shard-mtlp:         NOTRUN -> [SKIP][37] ([i915#6645])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
    - shard-mtlp:         NOTRUN -> [SKIP][38] ([i915#3826])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-7/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-2-y-rc_ccs:
    - shard-rkl:          NOTRUN -> [SKIP][39] ([i915#8502]) +3 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-1/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-2-y-rc_ccs.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-3-4-mc_ccs:
    - shard-dg2:          NOTRUN -> [SKIP][40] ([i915#8502] / [i915#8709]) +11 similar issues
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-1/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-3-4-mc_ccs.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-1-y-rc_ccs:
    - shard-dg1:          NOTRUN -> [SKIP][41] ([i915#8502]) +7 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-19/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-1-y-rc_ccs.html

  * igt@kms_async_flips@crc@pipe-a-hdmi-a-3:
    - shard-dg2:          NOTRUN -> [FAIL][42] ([i915#8247]) +3 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-6/igt@kms_async_flips@crc@pipe-a-hdmi-a-3.html

  * igt@kms_async_flips@crc@pipe-d-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [FAIL][43] ([i915#8247]) +3 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-16/igt@kms_async_flips@crc@pipe-d-hdmi-a-4.html

  * igt@kms_atomic@plane-primary-overlay-mutable-zpos:
    - shard-mtlp:         NOTRUN -> [SKIP][44] ([i915#404])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@kms_atomic@plane-primary-overlay-mutable-zpos.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-180:
    - shard-rkl:          NOTRUN -> [SKIP][45] ([i915#5286])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-1/igt@kms_big_fb@4-tiled-32bpp-rotate-180.html

  * igt@kms_big_fb@4-tiled-64bpp-rotate-180:
    - shard-mtlp:         [PASS][46] -> [FAIL][47] ([i915#5138])
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-mtlp-1/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-7/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html

  * igt@kms_big_fb@y-tiled-16bpp-rotate-180:
    - shard-mtlp:         NOTRUN -> [SKIP][48] ([fdo#111615]) +1 similar issue
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@kms_big_fb@y-tiled-16bpp-rotate-180.html

  * igt@kms_ccs@pipe-b-bad-rotation-90-4_tiled_dg2_rc_ccs_cc:
    - shard-mtlp:         NOTRUN -> [SKIP][49] ([i915#6095]) +4 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-5/igt@kms_ccs@pipe-b-bad-rotation-90-4_tiled_dg2_rc_ccs_cc.html

  * igt@kms_ccs@pipe-c-bad-pixel-format-y_tiled_gen12_mc_ccs:
    - shard-mtlp:         NOTRUN -> [SKIP][50] ([i915#3886] / [i915#6095])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@kms_ccs@pipe-c-bad-pixel-format-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_mc_ccs:
    - shard-dg2:          NOTRUN -> [SKIP][51] ([i915#3689] / [i915#3886] / [i915#5354])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-8/igt@kms_ccs@pipe-c-bad-rotation-90-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-d-random-ccs-data-4_tiled_dg2_rc_ccs:
    - shard-rkl:          NOTRUN -> [SKIP][52] ([i915#5354]) +1 similar issue
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-1/igt@kms_ccs@pipe-d-random-ccs-data-4_tiled_dg2_rc_ccs.html

  * igt@kms_cdclk@plane-scaling@pipe-b-dp-4:
    - shard-dg2:          NOTRUN -> [SKIP][53] ([i915#4087]) +3 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-11/igt@kms_cdclk@plane-scaling@pipe-b-dp-4.html

  * igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][54] ([i915#7828]) +3 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@kms_chamelium_hpd@hdmi-hpd-enable-disable-mode.html

  * igt@kms_content_protection@atomic-dpms@pipe-a-dp-4:
    - shard-dg2:          NOTRUN -> [TIMEOUT][55] ([i915#7173])
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-11/igt@kms_content_protection@atomic-dpms@pipe-a-dp-4.html

  * igt@kms_content_protection@legacy:
    - shard-mtlp:         NOTRUN -> [SKIP][56] ([i915#6944])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-5/igt@kms_content_protection@legacy.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
    - shard-glk:          [PASS][57] -> [FAIL][58] ([i915#72])
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-glk3/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-glk3/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html

  * igt@kms_flip@2x-flip-vs-panning-interruptible:
    - shard-mtlp:         NOTRUN -> [SKIP][59] ([i915#3637])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-5/igt@kms_flip@2x-flip-vs-panning-interruptible.html

  * igt@kms_flip@2x-plain-flip-ts-check-interruptible@ab-hdmi-a1-hdmi-a2:
    - shard-glk:          [PASS][60] -> [FAIL][61] ([i915#2122])
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-glk2/igt@kms_flip@2x-plain-flip-ts-check-interruptible@ab-hdmi-a1-hdmi-a2.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-glk7/igt@kms_flip@2x-plain-flip-ts-check-interruptible@ab-hdmi-a1-hdmi-a2.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
    - shard-dg2:          [PASS][62] -> [FAIL][63] ([i915#6880])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg2-5/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-11/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt:
    - shard-dg2:          NOTRUN -> [SKIP][64] ([i915#5354])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt.html
    - shard-rkl:          NOTRUN -> [SKIP][65] ([fdo#111825] / [i915#1825])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-shrfb-fliptrack-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][66] ([i915#8708]) +1 similar issue
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@kms_frontbuffer_tracking@fbcpsr-1p-shrfb-fliptrack-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-mtlp:         NOTRUN -> [SKIP][67] ([i915#1825]) +7 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-render:
    - shard-dg2:          NOTRUN -> [SKIP][68] ([i915#3458]) +1 similar issue
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-8/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-render.html
    - shard-rkl:          NOTRUN -> [SKIP][69] ([i915#3023]) +1 similar issue
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-1/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-render.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-dg2:          NOTRUN -> [SKIP][70] ([i915#3555] / [i915#8228])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-8/igt@kms_hdr@static-toggle-suspend.html
    - shard-rkl:          NOTRUN -> [SKIP][71] ([i915#3555] / [i915#8228])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-1/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_plane@pixel-format@pipe-b-planes:
    - shard-mtlp:         [PASS][72] -> [FAIL][73] ([i915#1623])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-mtlp-1/igt@kms_plane@pixel-format@pipe-b-planes.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-1/igt@kms_plane@pixel-format@pipe-b-planes.html

  * igt@kms_plane_multiple@tiling-y:
    - shard-dg2:          NOTRUN -> [SKIP][74] ([i915#8806])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-8/igt@kms_plane_multiple@tiling-y.html

  * igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [FAIL][75] ([i915#8292])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-15/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-4.html

  * igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-25@pipe-d-dp-4:
    - shard-dg2:          NOTRUN -> [SKIP][76] ([i915#5176]) +7 similar issues
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-11/igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-25@pipe-d-dp-4.html

  * igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-5@pipe-b-hdmi-a-1:
    - shard-dg1:          NOTRUN -> [SKIP][77] ([i915#5176]) +15 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-19/igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-5@pipe-b-hdmi-a-1.html

  * igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-5@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][78] ([i915#5176]) +1 similar issue
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-1/igt@kms_plane_scaling@plane-downscale-with-rotation-factor-0-5@pipe-b-hdmi-a-2.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-a-vga-1:
    - shard-snb:          NOTRUN -> [SKIP][79] ([fdo#109271]) +21 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-snb5/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-a-vga-1.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-d-dp-4:
    - shard-dg2:          NOTRUN -> [SKIP][80] ([i915#5235]) +23 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-11/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-d-dp-4.html

  * igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][81] ([i915#5235]) +9 similar issues
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-6/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-b-hdmi-a-2.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3:
    - shard-dg1:          NOTRUN -> [SKIP][82] ([i915#5235]) +11 similar issues
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-13/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a-hdmi-a-3.html

  * igt@kms_vblank@pipe-d-wait-idle:
    - shard-rkl:          NOTRUN -> [SKIP][83] ([i915#4070] / [i915#533] / [i915#6768])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-1/igt@kms_vblank@pipe-d-wait-idle.html

  * igt@perf_pmu@busy-double-start@rcs0:
    - shard-mtlp:         [PASS][84] -> [FAIL][85] ([i915#4349])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-mtlp-1/igt@perf_pmu@busy-double-start@rcs0.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-4/igt@perf_pmu@busy-double-start@rcs0.html

  * igt@prime_vgem@basic-read:
    - shard-mtlp:         NOTRUN -> [SKIP][86] ([i915#3708])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@prime_vgem@basic-read.html

  * igt@runner@aborted:
    - shard-snb:          NOTRUN -> ([FAIL][87], [FAIL][88]) ([i915#7812] / [i915#8848])
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-snb7/igt@runner@aborted.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-snb7/igt@runner@aborted.html

  * igt@sysfs_heartbeat_interval@nopreempt@rcs0:
    - shard-mtlp:         [PASS][89] -> [FAIL][90] ([i915#6015])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-mtlp-1/igt@sysfs_heartbeat_interval@nopreempt@rcs0.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-1/igt@sysfs_heartbeat_interval@nopreempt@rcs0.html

  * igt@v3d/v3d_wait_bo@used-bo-1ns:
    - shard-mtlp:         NOTRUN -> [SKIP][91] ([i915#2575]) +1 similar issue
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@v3d/v3d_wait_bo@used-bo-1ns.html

  
#### Possible fixes ####

  * igt@gem_exec_balancer@sequential:
    - shard-dg1:          [DMESG-WARN][92] ([i915#4423]) -> [PASS][93]
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg1-16/igt@gem_exec_balancer@sequential.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-13/igt@gem_exec_balancer@sequential.html

  * igt@gem_exec_fair@basic-deadline:
    - shard-glk:          [FAIL][94] ([i915#2846]) -> [PASS][95]
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-glk8/igt@gem_exec_fair@basic-deadline.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-glk4/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglu:         [FAIL][96] ([i915#2842]) -> [PASS][97]
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-tglu-9/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-tglu-4/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_lmem_swapping@smem-oom@lmem0:
    - shard-dg2:          [TIMEOUT][98] ([i915#5493]) -> [PASS][99]
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg2-5/igt@gem_lmem_swapping@smem-oom@lmem0.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-11/igt@gem_lmem_swapping@smem-oom@lmem0.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-mtlp:         [ABORT][100] ([i915#8489] / [i915#8668]) -> [PASS][101]
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-mtlp-7/igt@i915_module_load@reload-with-fault-injection.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_pm_rc6_residency@rc6-idle@vecs0:
    - shard-dg1:          [FAIL][102] ([i915#3591]) -> [PASS][103]
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg1-14/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-19/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html

  * igt@i915_pm_rpm@dpms-non-lpsp:
    - shard-rkl:          [SKIP][104] ([i915#1397]) -> [PASS][105] +2 similar issues
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-rkl-7/igt@i915_pm_rpm@dpms-non-lpsp.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-2/igt@i915_pm_rpm@dpms-non-lpsp.html

  * igt@i915_pm_rpm@gem-execbuf-stress@lmem0:
    - shard-dg1:          [FAIL][106] ([i915#7940]) -> [PASS][107]
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg1-15/igt@i915_pm_rpm@gem-execbuf-stress@lmem0.html
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-14/igt@i915_pm_rpm@gem-execbuf-stress@lmem0.html

  * igt@i915_pm_rpm@i2c:
    - shard-dg2:          [FAIL][108] ([i915#8717]) -> [PASS][109]
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg2-2/igt@i915_pm_rpm@i2c.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-3/igt@i915_pm_rpm@i2c.html

  * igt@i915_pm_rpm@modeset-lpsp-stress-no-wait:
    - shard-dg2:          [SKIP][110] ([i915#1397]) -> [PASS][111]
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg2-1/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-10/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@i915_suspend@forcewake:
    - shard-dg2:          [TIMEOUT][112] ([fdo#103375]) -> [PASS][113]
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg2-5/igt@i915_suspend@forcewake.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-11/igt@i915_suspend@forcewake.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-mtlp:         [FAIL][114] ([i915#5138]) -> [PASS][115]
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-mtlp-4/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
    - shard-apl:          [FAIL][116] ([i915#2346]) -> [PASS][117]
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-apl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-apl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html

  * igt@kms_cursor_legacy@single-move@all-pipes:
    - shard-mtlp:         [DMESG-WARN][118] ([i915#2017]) -> [PASS][119]
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-mtlp-4/igt@kms_cursor_legacy@single-move@all-pipes.html
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-6/igt@kms_cursor_legacy@single-move@all-pipes.html

  * igt@kms_fbcon_fbt@fbc-suspend:
    - shard-dg2:          [FAIL][120] ([fdo#103375]) -> [PASS][121]
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg2-5/igt@kms_fbcon_fbt@fbc-suspend.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-6/igt@kms_fbcon_fbt@fbc-suspend.html

  * igt@kms_flip@plain-flip-ts-check@a-hdmi-a1:
    - shard-glk:          [FAIL][122] ([i915#2122]) -> [PASS][123]
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-glk8/igt@kms_flip@plain-flip-ts-check@a-hdmi-a1.html
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-glk4/igt@kms_flip@plain-flip-ts-check@a-hdmi-a1.html

  * igt@kms_flip@wf_vblank-ts-check-interruptible@a-edp1:
    - shard-mtlp:         [DMESG-WARN][124] ([i915#1982]) -> [PASS][125]
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-mtlp-4/igt@kms_flip@wf_vblank-ts-check-interruptible@a-edp1.html
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-7/igt@kms_flip@wf_vblank-ts-check-interruptible@a-edp1.html

  * igt@kms_plane@pixel-format-source-clamping@pipe-b-planes:
    - shard-mtlp:         [FAIL][126] ([i915#1623]) -> [PASS][127]
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-mtlp-7/igt@kms_plane@pixel-format-source-clamping@pipe-b-planes.html
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-3/igt@kms_plane@pixel-format-source-clamping@pipe-b-planes.html

  * igt@perf@non-zero-reason@0-rcs0:
    - shard-dg2:          [FAIL][128] ([i915#7484]) -> [PASS][129]
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg2-8/igt@perf@non-zero-reason@0-rcs0.html
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-3/igt@perf@non-zero-reason@0-rcs0.html

  * igt@sysfs_heartbeat_interval@nopreempt@vcs0:
    - shard-mtlp:         [FAIL][130] ([i915#6015]) -> [PASS][131] +1 similar issue
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-mtlp-1/igt@sysfs_heartbeat_interval@nopreempt@vcs0.html
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-1/igt@sysfs_heartbeat_interval@nopreempt@vcs0.html

  
#### Warnings ####

  * igt@gem_eio@in-flight-suspend:
    - shard-snb:          [DMESG-WARN][132] ([i915#8841]) -> [DMESG-FAIL][133] ([fdo#103375])
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-snb5/igt@gem_eio@in-flight-suspend.html
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-snb7/igt@gem_eio@in-flight-suspend.html

  * igt@gem_exec_whisper@basic-contexts-forked-all:
    - shard-mtlp:         [TIMEOUT][134] ([i915#7392] / [i915#8628]) -> [ABORT][135] ([i915#7392] / [i915#8131])
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-mtlp-4/igt@gem_exec_whisper@basic-contexts-forked-all.html
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-mtlp-7/igt@gem_exec_whisper@basic-contexts-forked-all.html

  * igt@gem_tiled_pread_pwrite:
    - shard-dg1:          [SKIP][136] ([i915#4079] / [i915#4423]) -> [SKIP][137] ([i915#4079])
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg1-16/igt@gem_tiled_pread_pwrite.html
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-13/igt@gem_tiled_pread_pwrite.html

  * igt@i915_module_load@resize-bar:
    - shard-dg1:          [SKIP][138] ([i915#4423] / [i915#7178]) -> [SKIP][139] ([i915#7178])
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg1-18/igt@i915_module_load@resize-bar.html
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-15/igt@i915_module_load@resize-bar.html

  * igt@i915_pm_rc6_residency@rc6-idle@vecs0:
    - shard-tglu:         [WARN][140] ([i915#2681]) -> [FAIL][141] ([i915#2681] / [i915#3591])
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-tglu-2/igt@i915_pm_rc6_residency@rc6-idle@vecs0.html

  * igt@kms_ccs@pipe-d-bad-aux-stride-4_tiled_mtl_rc_ccs_cc:
    - shard-dg1:          [SKIP][142] ([i915#4423] / [i915#5354] / [i915#6095]) -> [SKIP][143] ([i915#5354] / [i915#6095])
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg1-18/igt@kms_ccs@pipe-d-bad-aux-stride-4_tiled_mtl_rc_ccs_cc.html
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-15/igt@kms_ccs@pipe-d-bad-aux-stride-4_tiled_mtl_rc_ccs_cc.html

  * igt@kms_content_protection@mei_interface:
    - shard-dg2:          [SKIP][144] ([i915#7118] / [i915#7162]) -> [SKIP][145] ([i915#7118])
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg2-11/igt@kms_content_protection@mei_interface.html
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg2-1/igt@kms_content_protection@mei_interface.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff:
    - shard-dg1:          [SKIP][146] ([fdo#111825] / [i915#4423]) -> [SKIP][147] ([fdo#111825])
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg1-16/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff.html
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-13/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff.html

  * igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
    - shard-rkl:          [SKIP][148] ([i915#4070] / [i915#4816]) -> [SKIP][149] ([i915#4816])
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-rkl-1/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-rkl-4/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html

  * igt@kms_psr@cursor_plane_move:
    - shard-dg1:          [SKIP][150] ([i915#1072] / [i915#4078]) -> [SKIP][151] ([i915#1072])
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13472/shard-dg1-18/igt@kms_psr@cursor_plane_move.html
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_119123v4/shard-dg1-15/igt@kms_psr@cursor_plane_move.html

  
  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1623]: https://gitlab.freedesktop.org/drm/intel/issues/1623
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2017]: https://gitlab.freedesktop.org/drm/intel/issues/2017
  [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
  [i915#3023]: https://gitlab.freedesktop.org/drm/intel/issues/3023
  [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#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3826]: https://gitlab.freedesktop.org/drm/intel/issues/3826
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4087]: https://gitlab.freedesktop.org/drm/intel/issues/4087
  [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4423]: https://gitlab.freedesktop.org/drm/intel/issues/4423
  [i915#4816]: https://gitlab.freedesktop.org/drm/intel/issues/4816
  [i915#5138]: https://gitlab.freedesktop.org/drm/intel/issues/5138
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5190]: https://gitlab.freedesktop.org/drm/intel/issues/5190
  [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#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354
  [i915#5493]: https://gitlab.freedesktop.org/drm/intel/issues/5493
  [i915#6015]: https://gitlab.freedesktop.org/drm/intel/issues/6015
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412
  [i915#6645]: https://gitlab.freedesktop.org/drm/intel/issues/6645
  [i915#6755]: https://gitlab.freedesktop.org/drm/intel/issues/6755
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6880]: https://gitlab.freedesktop.org/drm/intel/issues/6880
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7162]: https://gitlab.freedesktop.org/drm/intel/issues/7162
  [i915#7173]: https://gitlab.freedesktop.org/drm/intel/issues/7173
  [i915#7178]: https://gitlab.freedesktop.org/drm/intel/issues/7178
  [i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72
  [i915#7392]: https://gitlab.freedesktop.org/drm/intel/issues/7392
  [i915#7484]: https://gitlab.freedesktop.org/drm/intel/issues/7484
  [i915#7812]: https://gitlab.freedesktop.org/drm/intel/issues/7812
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7940]: https://gitlab.freedesktop.org/drm/intel/issues/7940
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#8131]: https://gitlab.freedesktop.org/drm/intel/issues/8131
  [i915#8213]: https://gitlab.freedesktop.org/drm/intel/issues/8213
  [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228
  [i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
  [i915#8292]: https://gitlab.freedesktop.org/drm/intel/issues/8292
  [i915#8428]: https://gitlab.freedesktop.org/drm/intel/issues/8428
  [i915#8489]: https://gitlab.freedesktop.org/drm/intel/issues/8489
  [i915#8502]: https://gitlab.freedesktop.org/drm/intel/issues/8502
  [i915#8628]: https://gitlab.freedesktop.org/drm/intel/issues/8628
  [i915#8668]: https://gitlab.freedesktop.org/drm/intel/issues/8668
  [i915#8708]: https://gitlab.freedesktop.org/drm/intel/issues/8708
  [i915#8709]: https://gitlab.freedesktop.org/drm/intel/issues/8709
  [i915#8717]: https://gitlab.freedesktop.org/drm/intel/issues/8717
  [i915#8806]: https://gitlab.freedesktop.org/drm/intel/issues/8806
  [i915#8841]: https://gitlab.freedesktop.org/drm/intel/issues/8841
  [i915#8848]: https://gitlab.freedesktop.org/drm/intel/issues/8848


Build changes
-------------

  * Linux: CI_DRM_13472 -> Patchwork_119123v4

  CI-20190529: 20190529
  CI_DRM_13472: 9f699732195d9d8071692f7981e8fe58d51cd024 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7413: 7413
  Patchwork_119123v4: 9f699732195d9d8071692f7981e8fe58d51cd024 @ 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_119123v4/index.html

[-- Attachment #2: Type: text/html, Size: 45710 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: [Intel-gfx] [PATCH v2 3/3] drm/i915/fbc: Moved fence related code away from intel_fbc
  2023-08-01  7:42   ` Nirmoy Das
@ 2023-08-07  5:56     ` Hogander, Jouni
  0 siblings, 0 replies; 23+ messages in thread
From: Hogander, Jouni @ 2023-08-07  5:56 UTC (permalink / raw)
  To: nirmoy.das, intel-gfx, B, Jeevan

On Tue, 2023-08-01 at 09:42 +0200, Nirmoy Das wrote:
> 
> On 6/14/2023 7:17 AM, Jouni Högander wrote:
> > As a preparation for Xe move HW fence details away from intel_fbc
> > code.
> > Add new functions to check support for legacy fencing and fence id
> > and use
> > these in fbc code. Xe doesn't support legacy fencing.
> > 
> > v2: Fix intel_gt_support_legacy_fencing macro
> > 
> > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > ---
> >   drivers/gpu/drm/i915/display/intel_fbc.c | 12 ++++++------
> >   drivers/gpu/drm/i915/gt/intel_gt_types.h |  2 ++
> >   drivers/gpu/drm/i915/i915_vma.h          |  5 +++++
> >   3 files changed, 13 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c
> > b/drivers/gpu/drm/i915/display/intel_fbc.c
> > index da8166eedf93..25382022cd27 100644
> > --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> > +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> > @@ -47,6 +47,7 @@
> >   #include "i915_reg.h"
> >   #include "i915_utils.h"
> >   #include "i915_vgpu.h"
> > +#include "i915_vma.h"
> >   #include "intel_cdclk.h"
> >   #include "intel_de.h"
> >   #include "intel_display_trace.h"
> > @@ -607,7 +608,7 @@ static void ivb_fbc_activate(struct intel_fbc
> > *fbc)
> >         else if (DISPLAY_VER(i915) == 9)
> >                 skl_fbc_program_cfb_stride(fbc);
> >   
> > -       if (to_gt(i915)->ggtt->num_fences)
> > +       if (intel_gt_support_legacy_fencing(to_gt(i915)))
> >                 snb_fbc_program_fence(fbc);
> >   
> >         intel_de_write(i915, ILK_DPFC_CONTROL(fbc->id),
> > @@ -991,11 +992,10 @@ static void intel_fbc_update_state(struct
> > intel_atomic_state *state,
> >         fbc_state->fence_y_offset =
> > intel_plane_fence_y_offset(plane_state);
> >   
> >         drm_WARN_ON(&i915->drm, plane_state->flags &
> > PLANE_HAS_FENCE &&
> > -                   !plane_state->ggtt_vma->fence);
> > +                   !intel_gt_support_legacy_fencing(to_gt(i915)));
> >   
> > -       if (plane_state->flags & PLANE_HAS_FENCE &&
> > -           plane_state->ggtt_vma->fence)
> > -               fbc_state->fence_id = plane_state->ggtt_vma->fence-
> > >id;
> > +       if (plane_state->flags & PLANE_HAS_FENCE)
> > +               fbc_state->fence_id = 
> > i915_vma_fence_id(plane_state->ggtt_vma);
> >         else
> >                 fbc_state->fence_id = -1;
> >   
> > @@ -1022,7 +1022,7 @@ static bool intel_fbc_is_fence_ok(const
> > struct intel_plane_state *plane_state)
> >          */
> >         return DISPLAY_VER(i915) >= 9 ||
> >                 (plane_state->flags & PLANE_HAS_FENCE &&
> > -                plane_state->ggtt_vma->fence);
> > +                i915_vma_fence_id(plane_state->ggtt_vma) != -1);
> >   }
> >   
> >   static bool intel_fbc_is_cfb_ok(const struct intel_plane_state
> > *plane_state)
> > diff --git a/drivers/gpu/drm/i915/gt/intel_gt_types.h
> > b/drivers/gpu/drm/i915/gt/intel_gt_types.h
> > index f08c2556aa25..121a53f908d1 100644
> > --- a/drivers/gpu/drm/i915/gt/intel_gt_types.h
> > +++ b/drivers/gpu/drm/i915/gt/intel_gt_types.h
> > @@ -306,4 +306,6 @@ enum intel_gt_scratch_field {
> >         INTEL_GT_SCRATCH_FIELD_COHERENTL3_WA = 256,
> >   };
> >   
> > +#define intel_gt_support_legacy_fencing(gt) (gt->ggtt->num_fences
> > > 0)
> 
> With the checkpath warning fixed here, this is
> 
> Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>

Thank Nirmoy and Jeevan for your reviews. Whole set now merged. Also
warning mentioned above fixed before merging.

BR.

Jouni Högander

> 
> > +
> >   #endif /* __INTEL_GT_TYPES_H__ */
> > diff --git a/drivers/gpu/drm/i915/i915_vma.h
> > b/drivers/gpu/drm/i915/i915_vma.h
> > index 9a9729205d5b..6fdf6205c290 100644
> > --- a/drivers/gpu/drm/i915/i915_vma.h
> > +++ b/drivers/gpu/drm/i915/i915_vma.h
> > @@ -418,6 +418,11 @@ i915_vma_unpin_fence(struct i915_vma *vma)
> >                 __i915_vma_unpin_fence(vma);
> >   }
> >   
> > +static inline int i915_vma_fence_id(const struct i915_vma *vma)
> > +{
> > +       return vma->fence ? vma->fence->id : -1;
> > +}
> > +
> >   void i915_vma_parked(struct intel_gt *gt);
> >   
> >   static inline bool i915_vma_is_scanout(const struct i915_vma
> > *vma)


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2023-08-07  5:56 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-14  5:17 [Intel-gfx] [PATCH v2 0/3] Move stolen memory handling details into i915_gem_stolen Jouni Högander
2023-06-14  5:17 ` [Intel-gfx] [PATCH v2 1/3] drm/i915: Move stolen memory handling " Jouni Högander
2023-08-01  8:02   ` Nirmoy Das
2023-08-01  8:33     ` Hogander, Jouni
2023-08-02  7:51       ` Nirmoy Das
2023-08-02  7:52         ` Hogander, Jouni
2023-08-03  8:51           ` Nirmoy Das
2023-06-14  5:17 ` [Intel-gfx] [PATCH v2 2/3] drm/i915/fbc: Make FBC check stolen at use time Jouni Högander
2023-08-03 10:18   ` B, Jeevan
2023-06-14  5:17 ` [Intel-gfx] [PATCH v2 3/3] drm/i915/fbc: Moved fence related code away from intel_fbc Jouni Högander
2023-08-01  7:42   ` Nirmoy Das
2023-08-07  5:56     ` Hogander, Jouni
2023-06-14  6:00 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Move stolen memory handling details into i915_gem_stolen (rev2) Patchwork
2023-06-14  6:00 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-06-14  6:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-06-14  9:29 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
2023-07-31 10:50 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Move stolen memory handling details into i915_gem_stolen (rev3) Patchwork
2023-07-31 10:51 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-07-31 11:13 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2023-08-04  6:36 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Move stolen memory handling details into i915_gem_stolen (rev4) Patchwork
2023-08-04  6:37 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-08-04  6:52 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-08-04 11:34 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.