All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH v2 0/5] drm/i915/guc: Update GuC relay logging debugfs
@ 2022-12-06  9:20 Alan Previn
  2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 1/5] drm/i915/guc: Fix GuC relay log debugfs failing open Alan Previn
                   ` (6 more replies)
  0 siblings, 7 replies; 21+ messages in thread
From: Alan Previn @ 2022-12-06  9:20 UTC (permalink / raw)
  To: intel-gfx

This series
  1. Fixes a bug introduced in GuC Error Capture that
     was sharing the memmap of the multi-region GuC
     logging buffer.
  1. Adds support for unaligned wc memcpy during the
     copying of logs to relay channel.
  2. Renames the debugfs file for controlling GuC relay
     logging to something more discernible.
  3. Introduces two debugfs files to allow intel_guc_logger
     to read the subbufer-count and subbuffer-size from the
     kernel so future changes to buffer sizing in kernel
     wont require updating intel_guc_logger codes.
  4. Moves the location of the relay-channel debugfs file
     to be under the "gt/uc/" path alongside other guc-
     id debugfs files.

Changes from prior revs:
   v1: - Removed a patch that isn't required anymore (the same
         functionality was merged as part of an unrelated series.
       - Removed some unneeded checks in debugfs codes (Ashutosh).
       - Changed one of the function names and debugsfs file names
         for more consistency (Ashutosh).

Alan Previn (5):
  drm/i915/guc: Fix GuC relay log debugfs failing open
  drm/i915/guc: Add unaligned wc memcpy for copying GuC Log
  drm/i915/guc: Provide debugfs for log relay sub-buf info
  drm/i915/guc: Rename GuC log relay debugfs descriptively
  drm/i915/guc: Move guc_log_relay_chan debugfs path to uc

 drivers/gpu/drm/i915/gt/uc/intel_guc.h        |  2 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c    | 25 ++++++---
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.h    |  2 +
 .../drm/i915/gt/uc/intel_guc_log_debugfs.c    | 56 +++++++++++++++----
 drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c |  2 +
 5 files changed, 68 insertions(+), 19 deletions(-)


base-commit: 886c7f9510ce20f099d27d9e7d9de32402c9e5e6
-- 
2.34.1


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

* [Intel-gfx] [PATCH v2 1/5] drm/i915/guc: Fix GuC relay log debugfs failing open
  2022-12-06  9:20 [Intel-gfx] [PATCH v2 0/5] drm/i915/guc: Update GuC relay logging debugfs Alan Previn
@ 2022-12-06  9:20 ` Alan Previn
  2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 2/5] drm/i915/guc: Add unaligned wc memcpy for copying GuC Log Alan Previn
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 21+ messages in thread
From: Alan Previn @ 2022-12-06  9:20 UTC (permalink / raw)
  To: intel-gfx

When GuC-Error-Capture was introduced, we created
buf_in_use as a way to identify if relay logging
had started. It is meant to replace the previous
method where a mmap of the GuC log buffer was
the indicator but not since GuC Error Capture
shares that mapping throughout operation.

However, that method of checking was not updated
when the debugfs guc_log_relay_ctl_open was called.
Fix that check.

Fixes: daff407a083d ("drm/i915/guc: Add capture region into intel_guc_log")
Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Link: https://patchwork.freedesktop.org/patch/479021/?series=101603&rev=1
---
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
index 68331c538b0a..c5a7aecd08ac 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
@@ -701,7 +701,7 @@ int intel_guc_log_set_level(struct intel_guc_log *log, u32 level)
 
 bool intel_guc_log_relay_created(const struct intel_guc_log *log)
 {
-	return log->buf_addr;
+	return log->relay.buf_in_use;
 }
 
 int intel_guc_log_relay_open(struct intel_guc_log *log)
-- 
2.34.1


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

* [Intel-gfx] [PATCH v2 2/5] drm/i915/guc: Add unaligned wc memcpy for copying GuC Log
  2022-12-06  9:20 [Intel-gfx] [PATCH v2 0/5] drm/i915/guc: Update GuC relay logging debugfs Alan Previn
  2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 1/5] drm/i915/guc: Fix GuC relay log debugfs failing open Alan Previn
@ 2022-12-06  9:20 ` Alan Previn
  2022-12-06 10:14   ` Tvrtko Ursulin
  2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 3/5] drm/i915/guc: Provide debugfs for log relay sub-buf info Alan Previn
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 21+ messages in thread
From: Alan Previn @ 2022-12-06  9:20 UTC (permalink / raw)
  To: intel-gfx

Add usage of unaligned wc mempy in read_update_log_buffer
as newer formats of GuC debug-log-events are no longer
guaranteed to be exactly 4-dwords long per event.

Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
---
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
index c5a7aecd08ac..2fa952916120 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
@@ -459,13 +459,16 @@ static void _guc_log_copy_debuglogs_for_relay(struct intel_guc_log *log)
 
 		/* Just copy the newly written data */
 		if (read_offset > write_offset) {
-			i915_memcpy_from_wc(dst_data, src_data, write_offset);
+			if (!i915_memcpy_from_wc(dst_data, src_data, write_offset))
+				i915_unaligned_memcpy_from_wc(dst_data, src_data, write_offset);
 			bytes_to_copy = buffer_size - read_offset;
 		} else {
 			bytes_to_copy = write_offset - read_offset;
 		}
-		i915_memcpy_from_wc(dst_data + read_offset,
-				    src_data + read_offset, bytes_to_copy);
+		if (!i915_memcpy_from_wc(dst_data + read_offset,
+					 src_data + read_offset, bytes_to_copy))
+			i915_unaligned_memcpy_from_wc(dst_data + read_offset,
+						      src_data + read_offset, bytes_to_copy);
 
 		src_data += buffer_size;
 		dst_data += buffer_size;
-- 
2.34.1


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

* [Intel-gfx] [PATCH v2 3/5] drm/i915/guc: Provide debugfs for log relay sub-buf info
  2022-12-06  9:20 [Intel-gfx] [PATCH v2 0/5] drm/i915/guc: Update GuC relay logging debugfs Alan Previn
  2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 1/5] drm/i915/guc: Fix GuC relay log debugfs failing open Alan Previn
  2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 2/5] drm/i915/guc: Add unaligned wc memcpy for copying GuC Log Alan Previn
@ 2022-12-06  9:20 ` Alan Previn
  2022-12-07 16:43   ` Dixit, Ashutosh
  2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 4/5] drm/i915/guc: Rename GuC log relay debugfs descriptively Alan Previn
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 21+ messages in thread
From: Alan Previn @ 2022-12-06  9:20 UTC (permalink / raw)
  To: intel-gfx

In order to provide alignment between IGT intel_guc_logger tool and
i915 kernel's guc log relay channels without requiring updating both
repositories everytime a sizing change is made, provide that info
via debugfs files.

Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
---
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c    | 10 ++++--
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.h    |  2 ++
 .../drm/i915/gt/uc/intel_guc_log_debugfs.c    | 34 +++++++++++++++++++
 3 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
index 2fa952916120..6e880d9f42d4 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
@@ -141,7 +141,7 @@ u32 intel_guc_log_section_size_capture(struct intel_guc_log *log)
 	return log->sizes[GUC_LOG_SECTIONS_CAPTURE].bytes;
 }
 
-static u32 intel_guc_log_size(struct intel_guc_log *log)
+u32 intel_guc_log_size(struct intel_guc_log *log)
 {
 	/*
 	 *  GuC Log buffer Layout:
@@ -170,6 +170,12 @@ static u32 intel_guc_log_size(struct intel_guc_log *log)
 		intel_guc_log_section_size_capture(log);
 }
 
+#define GUC_LOG_RELAY_SUBBUF_COUNT 8
+u32 intel_guc_log_relay_subbuf_count(struct intel_guc_log *log)
+{
+	return GUC_LOG_RELAY_SUBBUF_COUNT;
+}
+
 /**
  * DOC: GuC firmware log
  *
@@ -543,7 +549,7 @@ static int guc_log_relay_create(struct intel_guc_log *log)
 	 * latency, for consuming the logs from relay. Also doesn't take
 	 * up too much memory.
 	 */
-	n_subbufs = 8;
+	n_subbufs = intel_guc_log_relay_subbuf_count(log);
 
 	guc_log_relay_chan = relay_open("guc_log",
 					dev_priv->drm.primary->debugfs_root,
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.h b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.h
index 02127703be80..c981eb8f4990 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.h
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.h
@@ -81,6 +81,8 @@ unsigned int intel_guc_get_log_buffer_size(struct intel_guc_log *log,
 size_t intel_guc_get_log_buffer_offset(struct intel_guc_log *log, enum guc_log_buffer_type type);
 int intel_guc_log_create(struct intel_guc_log *log);
 void intel_guc_log_destroy(struct intel_guc_log *log);
+u32 intel_guc_log_size(struct intel_guc_log *log);
+u32 intel_guc_log_relay_subbuf_count(struct intel_guc_log *log);
 
 int intel_guc_log_set_level(struct intel_guc_log *log, u32 level);
 bool intel_guc_log_relay_created(const struct intel_guc_log *log);
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
index ddfbe334689f..27756640338e 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
@@ -105,6 +105,38 @@ DEFINE_SIMPLE_ATTRIBUTE(guc_log_level_fops,
 			guc_log_level_get, guc_log_level_set,
 			"%lld\n");
 
+static int guc_log_relay_subbuf_size_get(void *data, u64 *val)
+{
+	struct intel_guc_log *log = data;
+
+	if (!log->vma)
+		return -ENODEV;
+
+	*val = (u64)intel_guc_log_size(log);
+
+	return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(guc_log_relay_subbuf_size_fops,
+			guc_log_relay_subbuf_size_get, NULL,
+			"%lld\n");
+
+static int guc_log_relay_subbuf_count_get(void *data, u64 *val)
+{
+	struct intel_guc_log *log = data;
+
+	if (!log->vma)
+		return -ENODEV;
+
+	*val = intel_guc_log_relay_subbuf_count(log);
+
+	return 0;
+}
+
+DEFINE_SIMPLE_ATTRIBUTE(guc_log_relay_subbuf_count_fops,
+			guc_log_relay_subbuf_count_get, NULL,
+			"%lld\n");
+
 static int guc_log_relay_open(struct inode *inode, struct file *file)
 {
 	struct intel_guc_log *log = inode->i_private;
@@ -166,6 +198,8 @@ void intel_guc_log_debugfs_register(struct intel_guc_log *log,
 		{ "guc_load_err_log_dump", &guc_load_err_log_dump_fops, NULL },
 		{ "guc_log_level", &guc_log_level_fops, NULL },
 		{ "guc_log_relay", &guc_log_relay_fops, NULL },
+		{ "guc_log_relay_subbuf_size", &guc_log_relay_subbuf_size_fops, NULL },
+		{ "guc_log_relay_subbuf_count", &guc_log_relay_subbuf_count_fops, NULL },
 	};
 
 	if (!intel_guc_is_supported(log_to_guc(log)))
-- 
2.34.1


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

* [Intel-gfx] [PATCH v2 4/5] drm/i915/guc: Rename GuC log relay debugfs descriptively
  2022-12-06  9:20 [Intel-gfx] [PATCH v2 0/5] drm/i915/guc: Update GuC relay logging debugfs Alan Previn
                   ` (2 preceding siblings ...)
  2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 3/5] drm/i915/guc: Provide debugfs for log relay sub-buf info Alan Previn
@ 2022-12-06  9:20 ` Alan Previn
  2022-12-07 16:50   ` Dixit, Ashutosh
  2022-12-06  9:21 ` [Intel-gfx] [PATCH v2 5/5] drm/i915/guc: Move guc_log_relay_chan debugfs path to uc Alan Previn
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 21+ messages in thread
From: Alan Previn @ 2022-12-06  9:20 UTC (permalink / raw)
  To: intel-gfx

GuC log relay debugfs name for the control handle vs the actual relay
channel are vague. Fix them so it's obvious from the name.

Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
---
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c    |  2 +-
 .../drm/i915/gt/uc/intel_guc_log_debugfs.c    | 22 +++++++++----------
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
index 6e880d9f42d4..d019c60d34e8 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
@@ -551,7 +551,7 @@ static int guc_log_relay_create(struct intel_guc_log *log)
 	 */
 	n_subbufs = intel_guc_log_relay_subbuf_count(log);
 
-	guc_log_relay_chan = relay_open("guc_log",
+	guc_log_relay_chan = relay_open("guc_log_relay_chan",
 					dev_priv->drm.primary->debugfs_root,
 					subbuf_size, n_subbufs,
 					&relay_callbacks, dev_priv);
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
index 27756640338e..feff1e606b38 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
@@ -137,7 +137,7 @@ DEFINE_SIMPLE_ATTRIBUTE(guc_log_relay_subbuf_count_fops,
 			guc_log_relay_subbuf_count_get, NULL,
 			"%lld\n");
 
-static int guc_log_relay_open(struct inode *inode, struct file *file)
+static int guc_log_relay_ctl_open(struct inode *inode, struct file *file)
 {
 	struct intel_guc_log *log = inode->i_private;
 
@@ -150,10 +150,10 @@ static int guc_log_relay_open(struct inode *inode, struct file *file)
 }
 
 static ssize_t
-guc_log_relay_write(struct file *filp,
-		    const char __user *ubuf,
-		    size_t cnt,
-		    loff_t *ppos)
+guc_log_relay_ctl_write(struct file *filp,
+			const char __user *ubuf,
+			size_t cnt,
+			loff_t *ppos)
 {
 	struct intel_guc_log *log = filp->private_data;
 	int val;
@@ -175,7 +175,7 @@ guc_log_relay_write(struct file *filp,
 	return ret ?: cnt;
 }
 
-static int guc_log_relay_release(struct inode *inode, struct file *file)
+static int guc_log_relay_ctl_release(struct inode *inode, struct file *file)
 {
 	struct intel_guc_log *log = inode->i_private;
 
@@ -183,11 +183,11 @@ static int guc_log_relay_release(struct inode *inode, struct file *file)
 	return 0;
 }
 
-static const struct file_operations guc_log_relay_fops = {
+static const struct file_operations guc_log_relay_ctl_fops = {
 	.owner = THIS_MODULE,
-	.open = guc_log_relay_open,
-	.write = guc_log_relay_write,
-	.release = guc_log_relay_release,
+	.open = guc_log_relay_ctl_open,
+	.write = guc_log_relay_ctl_write,
+	.release = guc_log_relay_ctl_release,
 };
 
 void intel_guc_log_debugfs_register(struct intel_guc_log *log,
@@ -197,7 +197,7 @@ void intel_guc_log_debugfs_register(struct intel_guc_log *log,
 		{ "guc_log_dump", &guc_log_dump_fops, NULL },
 		{ "guc_load_err_log_dump", &guc_load_err_log_dump_fops, NULL },
 		{ "guc_log_level", &guc_log_level_fops, NULL },
-		{ "guc_log_relay", &guc_log_relay_fops, NULL },
+		{ "guc_log_relay_ctl", &guc_log_relay_ctl_fops, NULL },
 		{ "guc_log_relay_subbuf_size", &guc_log_relay_subbuf_size_fops, NULL },
 		{ "guc_log_relay_subbuf_count", &guc_log_relay_subbuf_count_fops, NULL },
 	};
-- 
2.34.1


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

* [Intel-gfx] [PATCH v2 5/5] drm/i915/guc: Move guc_log_relay_chan debugfs path to uc
  2022-12-06  9:20 [Intel-gfx] [PATCH v2 0/5] drm/i915/guc: Update GuC relay logging debugfs Alan Previn
                   ` (3 preceding siblings ...)
  2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 4/5] drm/i915/guc: Rename GuC log relay debugfs descriptively Alan Previn
@ 2022-12-06  9:21 ` Alan Previn
  2022-12-07 17:24   ` Dixit, Ashutosh
  2022-12-06 13:42 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/guc: Update GuC relay logging debugfs Patchwork
  2022-12-06 17:42 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  6 siblings, 1 reply; 21+ messages in thread
From: Alan Previn @ 2022-12-06  9:21 UTC (permalink / raw)
  To: intel-gfx

All other GuC Relay Logging debugfs handles including recent
additions are under the 'i915/gt/uc/path' so let's also move
'guc_log_relay_chan' to its proper home.

Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
---
 drivers/gpu/drm/i915/gt/uc/intel_guc.h        | 2 ++
 drivers/gpu/drm/i915/gt/uc/intel_guc_log.c    | 2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c | 2 ++
 3 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.h b/drivers/gpu/drm/i915/gt/uc/intel_guc.h
index bb4dfe707a7d..f5394d12c3dd 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc.h
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.h
@@ -41,6 +41,8 @@ struct intel_guc {
 	struct intel_guc_slpc slpc;
 	/** @capture: the error-state-capture module's data and objects */
 	struct intel_guc_state_capture *capture;
+	/** @dbgfs_node: the debugfs path for guc file handles */
+	struct dentry *dbgfs_node;
 
 	/** @sched_engine: Global engine used to submit requests to GuC */
 	struct i915_sched_engine *sched_engine;
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
index d019c60d34e8..2f1825f367bf 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
@@ -552,7 +552,7 @@ static int guc_log_relay_create(struct intel_guc_log *log)
 	n_subbufs = intel_guc_log_relay_subbuf_count(log);
 
 	guc_log_relay_chan = relay_open("guc_log_relay_chan",
-					dev_priv->drm.primary->debugfs_root,
+					guc->dbgfs_node,
 					subbuf_size, n_subbufs,
 					&relay_callbacks, dev_priv);
 	if (!guc_log_relay_chan) {
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c
index 284d6fbc2d08..2f93cc4e408a 100644
--- a/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c
+++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c
@@ -54,6 +54,8 @@ void intel_uc_debugfs_register(struct intel_uc *uc, struct dentry *gt_root)
 	if (IS_ERR(root))
 		return;
 
+	uc->guc.dbgfs_node = root;
+
 	intel_gt_debugfs_register_files(root, files, ARRAY_SIZE(files), uc);
 
 	intel_guc_debugfs_register(&uc->guc, root);
-- 
2.34.1


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

* Re: [Intel-gfx] [PATCH v2 2/5] drm/i915/guc: Add unaligned wc memcpy for copying GuC Log
  2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 2/5] drm/i915/guc: Add unaligned wc memcpy for copying GuC Log Alan Previn
@ 2022-12-06 10:14   ` Tvrtko Ursulin
  2022-12-06 21:35     ` Teres Alexis, Alan Previn
  0 siblings, 1 reply; 21+ messages in thread
From: Tvrtko Ursulin @ 2022-12-06 10:14 UTC (permalink / raw)
  To: Alan Previn, intel-gfx


On 06/12/2022 09:20, Alan Previn wrote:
> Add usage of unaligned wc mempy in read_update_log_buffer
> as newer formats of GuC debug-log-events are no longer
> guaranteed to be exactly 4-dwords long per event.

If this "newer format" applies to DG2 and GuC log has been "productized" 
there (as in we expect to tell users please collect and attach), pick a 
fixes tag so this gets into 6.2.

Regards,

Tvrtko

> Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
> ---
>   drivers/gpu/drm/i915/gt/uc/intel_guc_log.c | 9 ++++++---
>   1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> index c5a7aecd08ac..2fa952916120 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> @@ -459,13 +459,16 @@ static void _guc_log_copy_debuglogs_for_relay(struct intel_guc_log *log)
>   
>   		/* Just copy the newly written data */
>   		if (read_offset > write_offset) {
> -			i915_memcpy_from_wc(dst_data, src_data, write_offset);
> +			if (!i915_memcpy_from_wc(dst_data, src_data, write_offset))
> +				i915_unaligned_memcpy_from_wc(dst_data, src_data, write_offset);
>   			bytes_to_copy = buffer_size - read_offset;
>   		} else {
>   			bytes_to_copy = write_offset - read_offset;
>   		}
> -		i915_memcpy_from_wc(dst_data + read_offset,
> -				    src_data + read_offset, bytes_to_copy);
> +		if (!i915_memcpy_from_wc(dst_data + read_offset,
> +					 src_data + read_offset, bytes_to_copy))
> +			i915_unaligned_memcpy_from_wc(dst_data + read_offset,
> +						      src_data + read_offset, bytes_to_copy);
>   
>   		src_data += buffer_size;
>   		dst_data += buffer_size;

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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/guc: Update GuC relay logging debugfs
  2022-12-06  9:20 [Intel-gfx] [PATCH v2 0/5] drm/i915/guc: Update GuC relay logging debugfs Alan Previn
                   ` (4 preceding siblings ...)
  2022-12-06  9:21 ` [Intel-gfx] [PATCH v2 5/5] drm/i915/guc: Move guc_log_relay_chan debugfs path to uc Alan Previn
@ 2022-12-06 13:42 ` Patchwork
  2022-12-06 17:42 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  6 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2022-12-06 13:42 UTC (permalink / raw)
  To: Alan Previn; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/guc: Update GuC relay logging debugfs
URL   : https://patchwork.freedesktop.org/series/111678/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12474 -> Patchwork_111678v1
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (45 -> 43)
------------------------------

  Additional (1): bat-dg1-6 
  Missing    (3): fi-rkl-11600 bat-adls-5 fi-tgl-dsi 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_mmap@basic:
    - bat-dg1-6:          NOTRUN -> [SKIP][1] ([i915#4083])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@gem_mmap@basic.html

  * igt@gem_render_tiled_blits@basic:
    - bat-dg1-6:          NOTRUN -> [SKIP][2] ([i915#4079]) +1 similar issue
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@gem_render_tiled_blits@basic.html

  * igt@gem_tiled_fence_blits@basic:
    - bat-dg1-6:          NOTRUN -> [SKIP][3] ([i915#4077]) +2 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@gem_tiled_fence_blits@basic.html

  * igt@i915_pm_backlight@basic-brightness:
    - bat-dg1-6:          NOTRUN -> [SKIP][4] ([i915#7561])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_pm_rps@basic-api:
    - bat-dg1-6:          NOTRUN -> [SKIP][5] ([i915#6621])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@i915_pm_rps@basic-api.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-dg1-6:          NOTRUN -> [SKIP][6] ([i915#4215])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_addfb_basic@tile-pitch-mismatch:
    - bat-dg1-6:          NOTRUN -> [SKIP][7] ([i915#4212]) +7 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@kms_addfb_basic@tile-pitch-mismatch.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - bat-dg1-5:          NOTRUN -> [SKIP][8] ([fdo#111827])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-5/igt@kms_chamelium@common-hpd-after-suspend.html
    - fi-rkl-guc:         NOTRUN -> [SKIP][9] ([fdo#111827])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/fi-rkl-guc/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_chamelium@hdmi-crc-fast:
    - bat-dg1-6:          NOTRUN -> [SKIP][10] ([fdo#111827]) +8 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@kms_chamelium@hdmi-crc-fast.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor:
    - bat-dg1-6:          NOTRUN -> [SKIP][11] ([i915#4103] / [i915#4213])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-dg1-6:          NOTRUN -> [SKIP][12] ([fdo#109285])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_psr@sprite_plane_onoff:
    - bat-dg1-6:          NOTRUN -> [SKIP][13] ([i915#1072] / [i915#4078]) +3 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@kms_psr@sprite_plane_onoff.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-dg1-6:          NOTRUN -> [SKIP][14] ([i915#3555])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-gtt:
    - bat-dg1-6:          NOTRUN -> [SKIP][15] ([i915#3708] / [i915#4077]) +1 similar issue
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@basic-userptr:
    - bat-dg1-6:          NOTRUN -> [SKIP][16] ([i915#3708] / [i915#4873])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@prime_vgem@basic-userptr.html

  * igt@prime_vgem@basic-write:
    - bat-dg1-6:          NOTRUN -> [SKIP][17] ([i915#3708]) +3 similar issues
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-6/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

  * igt@i915_pm_rpm@module-reload:
    - {bat-rpls-2}:       [WARN][18] ([i915#7346]) -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/bat-rpls-2/igt@i915_pm_rpm@module-reload.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-rpls-2/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live@gt_heartbeat:
    - fi-kbl-soraka:      [DMESG-FAIL][20] ([i915#5334]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_selftest@live@gt_lrc:
    - fi-rkl-guc:         [INCOMPLETE][22] ([i915#4983]) -> [PASS][23]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/fi-rkl-guc/igt@i915_selftest@live@gt_lrc.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/fi-rkl-guc/igt@i915_selftest@live@gt_lrc.html

  * igt@i915_selftest@live@gt_pm:
    - {fi-jsl-1}:         [DMESG-FAIL][24] ([i915#1886]) -> [PASS][25]
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/fi-jsl-1/igt@i915_selftest@live@gt_pm.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/fi-jsl-1/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@guc_hang:
    - fi-kbl-soraka:      [INCOMPLETE][26] ([i915#7640]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/fi-kbl-soraka/igt@i915_selftest@live@guc_hang.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/fi-kbl-soraka/igt@i915_selftest@live@guc_hang.html

  * igt@i915_selftest@live@workarounds:
    - bat-dg1-5:          [INCOMPLETE][28] ([i915#4983]) -> [PASS][29]
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/bat-dg1-5/igt@i915_selftest@live@workarounds.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-5/igt@i915_selftest@live@workarounds.html
    - {bat-dg1-7}:        [INCOMPLETE][30] ([i915#4983] / [i915#7537]) -> [PASS][31]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/bat-dg1-7/igt@i915_selftest@live@workarounds.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/bat-dg1-7/igt@i915_selftest@live@workarounds.html

  
#### Warnings ####

  * igt@i915_module_load@load:
    - fi-bsw-n3050:       [DMESG-WARN][32] ([i915#1982] / [i915#7430]) -> [DMESG-WARN][33] ([i915#7430])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/fi-bsw-n3050/igt@i915_module_load@load.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/fi-bsw-n3050/igt@i915_module_load@load.html

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

  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1886]: https://gitlab.freedesktop.org/drm/intel/issues/1886
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4873]: https://gitlab.freedesktop.org/drm/intel/issues/4873
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#7346]: https://gitlab.freedesktop.org/drm/intel/issues/7346
  [i915#7430]: https://gitlab.freedesktop.org/drm/intel/issues/7430
  [i915#7537]: https://gitlab.freedesktop.org/drm/intel/issues/7537
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7609]: https://gitlab.freedesktop.org/drm/intel/issues/7609
  [i915#7640]: https://gitlab.freedesktop.org/drm/intel/issues/7640


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

  * Linux: CI_DRM_12474 -> Patchwork_111678v1

  CI-20190529: 20190529
  CI_DRM_12474: c0870a7cf5a85951d60601da4fe38c0b1699b6a8 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7083: c001793d5f22deb01918b6ba52af829794582df1 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_111678v1: c0870a7cf5a85951d60601da4fe38c0b1699b6a8 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

4452e388126d drm/i915/guc: Move guc_log_relay_chan debugfs path to uc
93e08f1fb35a drm/i915/guc: Rename GuC log relay debugfs descriptively
9548a94cd0c2 drm/i915/guc: Provide debugfs for log relay sub-buf info
01e04598e363 drm/i915/guc: Add unaligned wc memcpy for copying GuC Log
1bda4be91320 drm/i915/guc: Fix GuC relay log debugfs failing open

== Logs ==

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

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

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

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/guc: Update GuC relay logging debugfs
  2022-12-06  9:20 [Intel-gfx] [PATCH v2 0/5] drm/i915/guc: Update GuC relay logging debugfs Alan Previn
                   ` (5 preceding siblings ...)
  2022-12-06 13:42 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/guc: Update GuC relay logging debugfs Patchwork
@ 2022-12-06 17:42 ` Patchwork
  6 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2022-12-06 17:42 UTC (permalink / raw)
  To: Alan Previn; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915/guc: Update GuC relay logging debugfs
URL   : https://patchwork.freedesktop.org/series/111678/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12474_full -> Patchwork_111678v1_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

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

  No changes in participating hosts

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

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

### IGT changes ###

#### Issues hit ####

  * igt@dmabuf@all@dma_fence_chain:
    - shard-skl:          NOTRUN -> [INCOMPLETE][1] ([i915#6949])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl1/igt@dmabuf@all@dma_fence_chain.html

  * igt@gem_exec_schedule@wide@vecs0:
    - shard-skl:          [PASS][2] -> [INCOMPLETE][3] ([i915#7183])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-skl10/igt@gem_exec_schedule@wide@vecs0.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl5/igt@gem_exec_schedule@wide@vecs0.html

  * igt@gem_lmem_swapping@smem-oom:
    - shard-skl:          NOTRUN -> [SKIP][4] ([fdo#109271] / [i915#4613]) +1 similar issue
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl1/igt@gem_lmem_swapping@smem-oom.html

  * igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled:
    - shard-skl:          NOTRUN -> [SKIP][5] ([fdo#109271]) +101 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl2/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-yf-tiled.html

  * igt@i915_suspend@fence-restore-untiled:
    - shard-skl:          [PASS][6] -> [INCOMPLETE][7] ([i915#4817] / [i915#7232])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-skl6/igt@i915_suspend@fence-restore-untiled.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl9/igt@i915_suspend@fence-restore-untiled.html

  * igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc:
    - shard-skl:          NOTRUN -> [SKIP][8] ([fdo#109271] / [i915#3886]) +4 similar issues
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl1/igt@kms_ccs@pipe-a-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_chamelium@dp-edid-stress-resolution-non-4k:
    - shard-skl:          NOTRUN -> [SKIP][9] ([fdo#109271] / [fdo#111827]) +6 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl7/igt@kms_chamelium@dp-edid-stress-resolution-non-4k.html

  * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions:
    - shard-apl:          [PASS][10] -> [FAIL][11] ([i915#2346])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-apl1/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-apl8/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html

  * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size:
    - shard-tglb:         [PASS][12] -> [FAIL][13] ([i915#2346])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-tglb2/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-tglb1/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html
    - shard-skl:          NOTRUN -> [FAIL][14] ([i915#2346]) +1 similar issue
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl7/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1:
    - shard-skl:          NOTRUN -> [FAIL][15] ([i915#79]) +1 similar issue
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl1/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html

  * igt@kms_flip@flip-vs-suspend-interruptible@a-edp1:
    - shard-skl:          [PASS][16] -> [INCOMPLETE][17] ([i915#1982] / [i915#4839])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-skl1/igt@kms_flip@flip-vs-suspend-interruptible@a-edp1.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl4/igt@kms_flip@flip-vs-suspend-interruptible@a-edp1.html

  * igt@kms_flip@flip-vs-suspend-interruptible@b-dp1:
    - shard-apl:          [PASS][18] -> [DMESG-WARN][19] ([i915#180])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-apl7/igt@kms_flip@flip-vs-suspend-interruptible@b-dp1.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-apl2/igt@kms_flip@flip-vs-suspend-interruptible@b-dp1.html

  * igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1:
    - shard-skl:          NOTRUN -> [FAIL][20] ([i915#2122]) +1 similar issue
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl2/igt@kms_flip@plain-flip-fb-recreate-interruptible@c-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-default-mode:
    - shard-iclb:         NOTRUN -> [SKIP][21] ([i915#2672])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-valid-mode:
    - shard-iclb:         NOTRUN -> [SKIP][22] ([i915#2587] / [i915#2672]) +1 similar issue
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb1/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-valid-mode.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf:
    - shard-skl:          NOTRUN -> [SKIP][23] ([fdo#109271] / [i915#658])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl7/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_su@frontbuffer-xrgb8888:
    - shard-iclb:         NOTRUN -> [SKIP][24] ([fdo#109642] / [fdo#111068] / [i915#658])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb3/igt@kms_psr2_su@frontbuffer-xrgb8888.html

  * igt@kms_psr@psr2_no_drrs:
    - shard-iclb:         [PASS][25] -> [SKIP][26] ([fdo#109441]) +2 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-iclb2/igt@kms_psr@psr2_no_drrs.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb3/igt@kms_psr@psr2_no_drrs.html

  * igt@kms_vblank@pipe-d-wait-idle:
    - shard-skl:          NOTRUN -> [SKIP][27] ([fdo#109271] / [i915#533])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl1/igt@kms_vblank@pipe-d-wait-idle.html

  * igt@kms_writeback@writeback-pixel-formats:
    - shard-skl:          NOTRUN -> [SKIP][28] ([fdo#109271] / [i915#2437])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl7/igt@kms_writeback@writeback-pixel-formats.html

  * igt@sysfs_clients@fair-3:
    - shard-skl:          NOTRUN -> [SKIP][29] ([fdo#109271] / [i915#2994])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl2/igt@sysfs_clients@fair-3.html

  
#### Possible fixes ####

  * igt@drm_read@short-buffer-nonblock:
    - {shard-rkl}:        [SKIP][30] ([i915#4098]) -> [PASS][31]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-1/igt@drm_read@short-buffer-nonblock.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-6/igt@drm_read@short-buffer-nonblock.html

  * igt@fbdev@info:
    - {shard-rkl}:        [SKIP][32] ([i915#2582]) -> [PASS][33]
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-5/igt@fbdev@info.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-6/igt@fbdev@info.html

  * igt@feature_discovery@psr2:
    - {shard-rkl}:        [SKIP][34] ([i915#658]) -> [PASS][35]
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-1/igt@feature_discovery@psr2.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-6/igt@feature_discovery@psr2.html

  * igt@gem_ctx_exec@basic-nohangcheck:
    - shard-tglb:         [FAIL][36] ([i915#6268]) -> [PASS][37]
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-tglb5/igt@gem_ctx_exec@basic-nohangcheck.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-tglb5/igt@gem_ctx_exec@basic-nohangcheck.html

  * igt@gem_ctx_persistence@engines-hang@bcs0:
    - {shard-rkl}:        [SKIP][38] ([i915#6252]) -> [PASS][39]
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-5/igt@gem_ctx_persistence@engines-hang@bcs0.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-2/igt@gem_ctx_persistence@engines-hang@bcs0.html

  * igt@gem_eio@suspend:
    - {shard-rkl}:        [FAIL][40] ([i915#7052]) -> [PASS][41]
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-4/igt@gem_eio@suspend.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-2/igt@gem_eio@suspend.html

  * igt@gem_exec_balancer@parallel-out-fence:
    - shard-iclb:         [SKIP][42] ([i915#4525]) -> [PASS][43]
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-iclb3/igt@gem_exec_balancer@parallel-out-fence.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb2/igt@gem_exec_balancer@parallel-out-fence.html

  * igt@gem_exec_fair@basic-flow@rcs0:
    - shard-tglb:         [FAIL][44] ([i915#2842]) -> [PASS][45] +1 similar issue
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-tglb2/igt@gem_exec_fair@basic-flow@rcs0.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-tglb5/igt@gem_exec_fair@basic-flow@rcs0.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-apl:          [FAIL][46] ([i915#2842]) -> [PASS][47]
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-apl7/igt@gem_exec_fair@basic-none-solo@rcs0.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-apl8/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-throttle@rcs0:
    - shard-iclb:         [FAIL][48] ([i915#2842]) -> [PASS][49]
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-iclb6/igt@gem_exec_fair@basic-throttle@rcs0.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb5/igt@gem_exec_fair@basic-throttle@rcs0.html

  * igt@gem_huc_copy@huc-copy:
    - shard-tglb:         [SKIP][50] ([i915#2190]) -> [PASS][51]
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-tglb7/igt@gem_huc_copy@huc-copy.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-tglb1/igt@gem_huc_copy@huc-copy.html

  * igt@gem_mmap_wc@set-cache-level:
    - {shard-rkl}:        [SKIP][52] ([i915#1850]) -> [PASS][53]
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-1/igt@gem_mmap_wc@set-cache-level.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-6/igt@gem_mmap_wc@set-cache-level.html

  * igt@gem_partial_pwrite_pread@write:
    - {shard-rkl}:        [SKIP][54] ([i915#3282]) -> [PASS][55] +3 similar issues
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-1/igt@gem_partial_pwrite_pread@write.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-5/igt@gem_partial_pwrite_pread@write.html

  * igt@gem_set_tiling_vs_blt@tiled-to-tiled:
    - {shard-rkl}:        [SKIP][56] ([i915#3281]) -> [PASS][57] +4 similar issues
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-6/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-5/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html

  * igt@gem_softpin@evict-single-offset:
    - shard-tglb:         [FAIL][58] ([i915#4171]) -> [PASS][59]
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-tglb7/igt@gem_softpin@evict-single-offset.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-tglb2/igt@gem_softpin@evict-single-offset.html
    - {shard-rkl}:        [FAIL][60] ([i915#4171]) -> [PASS][61]
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-3/igt@gem_softpin@evict-single-offset.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-1/igt@gem_softpin@evict-single-offset.html

  * igt@gem_workarounds@suspend-resume:
    - {shard-rkl}:        [FAIL][62] ([fdo#103375]) -> [PASS][63]
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-4/igt@gem_workarounds@suspend-resume.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-2/igt@gem_workarounds@suspend-resume.html

  * igt@gen9_exec_parse@bb-start-far:
    - {shard-rkl}:        [SKIP][64] ([i915#2527]) -> [PASS][65] +1 similar issue
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-6/igt@gen9_exec_parse@bb-start-far.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-5/igt@gen9_exec_parse@bb-start-far.html

  * igt@i915_pm_rc6_residency@rc6-idle@vcs0:
    - {shard-dg1}:        [FAIL][66] ([i915#3591]) -> [PASS][67] +1 similar issue
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-dg1-18/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-dg1-15/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html

  * igt@i915_pm_rpm@i2c:
    - {shard-rkl}:        [SKIP][68] ([fdo#109308]) -> [PASS][69]
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-5/igt@i915_pm_rpm@i2c.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-6/igt@i915_pm_rpm@i2c.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
    - {shard-rkl}:        [FAIL][70] ([i915#3743]) -> [PASS][71]
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-6/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-6/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html

  * igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_rc_ccs:
    - {shard-rkl}:        [SKIP][72] ([i915#1845] / [i915#4098]) -> [PASS][73] +12 similar issues
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-5/igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_rc_ccs.html
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-6/igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_gen12_rc_ccs.html

  * igt@kms_dp_aux_dev:
    - {shard-rkl}:        [SKIP][74] ([i915#1257]) -> [PASS][75]
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-5/igt@kms_dp_aux_dev.html
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-6/igt@kms_dp_aux_dev.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-skl:          [FAIL][76] ([i915#79]) -> [PASS][77]
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-skl2/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl1/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-default-mode:
    - shard-iclb:         [SKIP][78] ([i915#3555]) -> [PASS][79] +1 similar issue
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-default-mode.html
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb3/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling@pipe-a-default-mode.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite:
    - {shard-rkl}:        [SKIP][80] ([i915#1849] / [i915#4098]) -> [PASS][81] +8 similar issues
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-1/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite.html
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite.html

  * igt@kms_plane@plane-panning-top-left@pipe-a-planes:
    - {shard-rkl}:        [SKIP][82] ([i915#3558]) -> [PASS][83] +1 similar issue
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-1/igt@kms_plane@plane-panning-top-left@pipe-a-planes.html
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-6/igt@kms_plane@plane-panning-top-left@pipe-a-planes.html

  * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b-edp-1:
    - shard-iclb:         [SKIP][84] ([i915#5176]) -> [PASS][85] +1 similar issue
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-iclb3/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b-edp-1.html
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb5/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-b-edp-1.html

  * igt@kms_psr@cursor_mmap_gtt:
    - {shard-rkl}:        [SKIP][86] ([i915#1072]) -> [PASS][87] +1 similar issue
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-1/igt@kms_psr@cursor_mmap_gtt.html
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-6/igt@kms_psr@cursor_mmap_gtt.html

  * igt@kms_psr@psr2_sprite_blt:
    - shard-iclb:         [SKIP][88] ([fdo#109441]) -> [PASS][89] +2 similar issues
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-iclb5/igt@kms_psr@psr2_sprite_blt.html
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb2/igt@kms_psr@psr2_sprite_blt.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-iclb:         [SKIP][90] ([i915#5519]) -> [PASS][91]
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-iclb8/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb3/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@perf@polling-small-buf:
    - {shard-rkl}:        [FAIL][92] ([i915#1722]) -> [PASS][93]
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-rkl-1/igt@perf@polling-small-buf.html
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-rkl-6/igt@perf@polling-small-buf.html

  
#### Warnings ####

  * igt@gem_exec_balancer@parallel-ordering:
    - shard-iclb:         [FAIL][94] ([i915#6117]) -> [SKIP][95] ([i915#4525])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-iclb2/igt@gem_exec_balancer@parallel-ordering.html
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb3/igt@gem_exec_balancer@parallel-ordering.html

  * igt@i915_pm_dc@dc3co-vpb-simulation:
    - shard-iclb:         [SKIP][96] ([i915#658]) -> [SKIP][97] ([i915#588])
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-iclb5/igt@i915_pm_dc@dc3co-vpb-simulation.html
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb2/igt@i915_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf:
    - shard-iclb:         [SKIP][98] ([i915#2920]) -> [SKIP][99] ([i915#658])
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-iclb2/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb1/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf:
    - shard-iclb:         [SKIP][100] ([i915#658]) -> [SKIP][101] ([i915#2920])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-iclb5/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-iclb2/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-sf.html

  * igt@runner@aborted:
    - shard-apl:          ([FAIL][102], [FAIL][103]) ([i915#3002] / [i915#4312]) -> ([FAIL][104], [FAIL][105], [FAIL][106]) ([i915#180] / [i915#3002] / [i915#4312])
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-apl6/igt@runner@aborted.html
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-apl3/igt@runner@aborted.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-apl2/igt@runner@aborted.html
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-apl1/igt@runner@aborted.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-apl6/igt@runner@aborted.html
    - shard-skl:          ([FAIL][107], [FAIL][108], [FAIL][109]) ([i915#3002] / [i915#4312]) -> ([FAIL][110], [FAIL][111], [FAIL][112], [FAIL][113]) ([i915#3002] / [i915#4312] / [i915#6949])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-skl4/igt@runner@aborted.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-skl3/igt@runner@aborted.html
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12474/shard-skl9/igt@runner@aborted.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl3/igt@runner@aborted.html
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl9/igt@runner@aborted.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl1/igt@runner@aborted.html
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111678v1/shard-skl10/igt@runner@aborted.html

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

  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
  [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
  [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
  [i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1850]: https://gitlab.freedesktop.org/drm/intel/issues/1850
  [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982
  [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2433]: https://gitlab.freedesktop.org/drm/intel/issues/2433
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3639]: https://gitlab.freedesktop.org/drm/intel/issues/3639
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3743]: https://gitlab.freedesktop.org/drm/intel/issues/3743
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3936]: https://gitlab.freedesktop.org/drm/intel/issues/3936
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4171]: https://gitlab.freedesktop.org/drm/intel/issues/4171
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
  [i915#4817]: https://gitlab.freedesktop.org/drm/intel/issues/4817
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4839]: https://gitlab.freedesktop.org/drm/intel/issues/4839
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
  [i915#4885]: https://gitlab.freedesktop.org/drm/intel/issues/4885
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#5327]: https://gitlab.freedesktop.org/drm/intel/issues/5327
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
  [i915#5519]: https://gitlab.freedesktop.org/drm/intel/issues/5519
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#588]: https://gitlab.freedesktop.org/drm/intel/issues/588
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117
  [i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245
  [i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247
  [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
  [i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
  [i915#6355]: https://gitlab.freedesktop.org/drm/intel/issues/6355
  [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
  [i915#6949]: https://gitlab.freedesktop.org/drm/intel/issues/6949
  [i915#7052]: https://gitlab.freedesktop.org/drm/intel/issues/7052
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7183]: https://gitlab.freedesktop.org/drm/intel/issues/7183
  [i915#7232]: https://gitlab.freedesktop.org/drm/intel/issues/7232
  [i915#7478]: https://gitlab.freedesktop.org/drm/intel/issues/7478
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79


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

  * Linux: CI_DRM_12474 -> Patchwork_111678v1

  CI-20190529: 20190529
  CI_DRM_12474: c0870a7cf5a85951d60601da4fe38c0b1699b6a8 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7083: c001793d5f22deb01918b6ba52af829794582df1 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_111678v1: c0870a7cf5a85951d60601da4fe38c0b1699b6a8 @ 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_111678v1/index.html

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

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

* Re: [Intel-gfx] [PATCH v2 2/5] drm/i915/guc: Add unaligned wc memcpy for copying GuC Log
  2022-12-06 10:14   ` Tvrtko Ursulin
@ 2022-12-06 21:35     ` Teres Alexis, Alan Previn
  2022-12-07  9:20       ` Teres Alexis, Alan Previn
  0 siblings, 1 reply; 21+ messages in thread
From: Teres Alexis, Alan Previn @ 2022-12-06 21:35 UTC (permalink / raw)
  To: tvrtko.ursulin, intel-gfx

will have to get back on this - but it will be tied to a specific GuC version as opposed to a platform.

On Tue, 2022-12-06 at 10:14 +0000, Tvrtko Ursulin wrote:
> On 06/12/2022 09:20, Alan Previn wrote:
> > Add usage of unaligned wc mempy in read_update_log_buffer
> > as newer formats of GuC debug-log-events are no longer
> > guaranteed to be exactly 4-dwords long per event.
> 
> If this "newer format" applies to DG2 and GuC log has been "productized" 
> there (as in we expect to tell users please collect and attach), pick a 
> fixes tag so this gets into 6.2.
> 
> 

Alan: [snip]


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

* Re: [Intel-gfx] [PATCH v2 2/5] drm/i915/guc: Add unaligned wc memcpy for copying GuC Log
  2022-12-06 21:35     ` Teres Alexis, Alan Previn
@ 2022-12-07  9:20       ` Teres Alexis, Alan Previn
  2022-12-07 10:17         ` Tvrtko Ursulin
  0 siblings, 1 reply; 21+ messages in thread
From: Teres Alexis, Alan Previn @ 2022-12-07  9:20 UTC (permalink / raw)
  To: tvrtko.ursulin, intel-gfx



On Tue, 2022-12-06 at 21:35 +0000, Teres Alexis, Alan Previn wrote:
> On Tue, 2022-12-06 at 10:14 +0000, Tvrtko Ursulin wrote:
> > On 06/12/2022 09:20, Alan Previn wrote:
> > > Add usage of unaligned wc mempy in read_update_log_buffer
> > > as newer formats of GuC debug-log-events are no longer
> > > guaranteed to be exactly 4-dwords long per event.
> > 
> > If this "newer format" applies to DG2 and GuC log has been "productized" 
> > there (as in we expect to tell users please collect and attach), pick a 
> > fixes tag so this gets into 6.2.
> 
> 

the jump to possible 5 dword log-event was at 77b6f79df66ed2919dedb834edea630f40079f12.
Will fix this on next rev.




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

* Re: [Intel-gfx] [PATCH v2 2/5] drm/i915/guc: Add unaligned wc memcpy for copying GuC Log
  2022-12-07  9:20       ` Teres Alexis, Alan Previn
@ 2022-12-07 10:17         ` Tvrtko Ursulin
  2022-12-07 18:15           ` Teres Alexis, Alan Previn
  0 siblings, 1 reply; 21+ messages in thread
From: Tvrtko Ursulin @ 2022-12-07 10:17 UTC (permalink / raw)
  To: Teres Alexis, Alan Previn, intel-gfx


On 07/12/2022 09:20, Teres Alexis, Alan Previn wrote:
> 
> 
> On Tue, 2022-12-06 at 21:35 +0000, Teres Alexis, Alan Previn wrote:
>> On Tue, 2022-12-06 at 10:14 +0000, Tvrtko Ursulin wrote:
>>> On 06/12/2022 09:20, Alan Previn wrote:
>>>> Add usage of unaligned wc mempy in read_update_log_buffer
>>>> as newer formats of GuC debug-log-events are no longer
>>>> guaranteed to be exactly 4-dwords long per event.
>>>
>>> If this "newer format" applies to DG2 and GuC log has been "productized"
>>> there (as in we expect to tell users please collect and attach), pick a
>>> fixes tag so this gets into 6.2.
>>
>>
> 
> the jump to possible 5 dword log-event was at 77b6f79df66ed2919dedb834edea630f40079f12.
> Will fix this on next rev.

Right, Fixes: and cc stable 5.18+ then (for ADL-P), *if* the upstream 
logger tool actually works and we expect to asks users to use it.

Regards,

Tvrtko

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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/guc: Provide debugfs for log relay sub-buf info
  2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 3/5] drm/i915/guc: Provide debugfs for log relay sub-buf info Alan Previn
@ 2022-12-07 16:43   ` Dixit, Ashutosh
  2023-03-09 23:29     ` Teres Alexis, Alan Previn
  0 siblings, 1 reply; 21+ messages in thread
From: Dixit, Ashutosh @ 2022-12-07 16:43 UTC (permalink / raw)
  To: Alan Previn; +Cc: intel-gfx

On Tue, 06 Dec 2022 01:20:58 -0800, Alan Previn wrote:
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
> index ddfbe334689f..27756640338e 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
> @@ -105,6 +105,38 @@ DEFINE_SIMPLE_ATTRIBUTE(guc_log_level_fops,
>			guc_log_level_get, guc_log_level_set,
>			"%lld\n");
>
> +static int guc_log_relay_subbuf_size_get(void *data, u64 *val)
> +{
> +	struct intel_guc_log *log = data;
> +
> +	if (!log->vma)
> +		return -ENODEV;

For the record, from the other email thread, the issue here is whether this
check is needed.

Also, the issue is what happens if the relay is open and we unload the
module, what happens?

> +
> +	*val = (u64)intel_guc_log_size(log);

Don't cast, shouldn't need it.

> +
> +	return 0;
> +}
> +
> +DEFINE_SIMPLE_ATTRIBUTE(guc_log_relay_subbuf_size_fops,
> +			guc_log_relay_subbuf_size_get, NULL,
> +			"%lld\n");
> +
> +static int guc_log_relay_subbuf_count_get(void *data, u64 *val)
> +{
> +	struct intel_guc_log *log = data;
> +
> +	if (!log->vma)
> +		return -ENODEV;

Same for this check too.

> +
> +	*val = intel_guc_log_relay_subbuf_count(log);
> +
> +	return 0;
> +}
> +
> +DEFINE_SIMPLE_ATTRIBUTE(guc_log_relay_subbuf_count_fops,
> +			guc_log_relay_subbuf_count_get, NULL,
> +			"%lld\n");
> +
>  static int guc_log_relay_open(struct inode *inode, struct file *file)
>  {
>	struct intel_guc_log *log = inode->i_private;
> @@ -166,6 +198,8 @@ void intel_guc_log_debugfs_register(struct intel_guc_log *log,
>		{ "guc_load_err_log_dump", &guc_load_err_log_dump_fops, NULL },
>		{ "guc_log_level", &guc_log_level_fops, NULL },
>		{ "guc_log_relay", &guc_log_relay_fops, NULL },
> +		{ "guc_log_relay_subbuf_size", &guc_log_relay_subbuf_size_fops, NULL },
> +		{ "guc_log_relay_subbuf_count", &guc_log_relay_subbuf_count_fops, NULL },
>	};
>
>	if (!intel_guc_is_supported(log_to_guc(log)))

Thanks.
--
Ashutosh

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

* Re: [Intel-gfx] [PATCH v2 4/5] drm/i915/guc: Rename GuC log relay debugfs descriptively
  2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 4/5] drm/i915/guc: Rename GuC log relay debugfs descriptively Alan Previn
@ 2022-12-07 16:50   ` Dixit, Ashutosh
  2023-03-09 23:36     ` Teres Alexis, Alan Previn
  0 siblings, 1 reply; 21+ messages in thread
From: Dixit, Ashutosh @ 2022-12-07 16:50 UTC (permalink / raw)
  To: Alan Previn; +Cc: intel-gfx

On Tue, 06 Dec 2022 01:20:59 -0800, Alan Previn wrote:
>
> GuC log relay debugfs name for the control handle vs the actual relay
> channel are vague. Fix them so it's obvious from the name.

No real objection to anything here, just a couple of questions.

>
> Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
> ---
>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c    |  2 +-
>  .../drm/i915/gt/uc/intel_guc_log_debugfs.c    | 22 +++++++++----------
>  2 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> index 6e880d9f42d4..d019c60d34e8 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> @@ -551,7 +551,7 @@ static int guc_log_relay_create(struct intel_guc_log *log)
>	 */
>	n_subbufs = intel_guc_log_relay_subbuf_count(log);
>
> -	guc_log_relay_chan = relay_open("guc_log",
> +	guc_log_relay_chan = relay_open("guc_log_relay_chan",

Is this a user visible name or just something internal? I.e. Is this a user
visible file name?

>					dev_priv->drm.primary->debugfs_root,
>					subbuf_size, n_subbufs,
>					&relay_callbacks, dev_priv);
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
> index 27756640338e..feff1e606b38 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
> @@ -137,7 +137,7 @@ DEFINE_SIMPLE_ATTRIBUTE(guc_log_relay_subbuf_count_fops,
>			guc_log_relay_subbuf_count_get, NULL,
>			"%lld\n");
>
> -static int guc_log_relay_open(struct inode *inode, struct file *file)
> +static int guc_log_relay_ctl_open(struct inode *inode, struct file *file)

Again not objecting, but what is the purpose/thinking behind adding _ctl_
to these function names? The previous names seemed fine?

>  {
>	struct intel_guc_log *log = inode->i_private;
>
> @@ -150,10 +150,10 @@ static int guc_log_relay_open(struct inode *inode, struct file *file)
>  }
>
>  static ssize_t
> -guc_log_relay_write(struct file *filp,
> -		    const char __user *ubuf,
> -		    size_t cnt,
> -		    loff_t *ppos)
> +guc_log_relay_ctl_write(struct file *filp,
> +			const char __user *ubuf,
> +			size_t cnt,
> +			loff_t *ppos)
>  {
>	struct intel_guc_log *log = filp->private_data;
>	int val;
> @@ -175,7 +175,7 @@ guc_log_relay_write(struct file *filp,
>	return ret ?: cnt;
>  }
>
> -static int guc_log_relay_release(struct inode *inode, struct file *file)
> +static int guc_log_relay_ctl_release(struct inode *inode, struct file *file)
>  {
>	struct intel_guc_log *log = inode->i_private;
>
> @@ -183,11 +183,11 @@ static int guc_log_relay_release(struct inode *inode, struct file *file)
>	return 0;
>  }
>
> -static const struct file_operations guc_log_relay_fops = {
> +static const struct file_operations guc_log_relay_ctl_fops = {
>	.owner = THIS_MODULE,
> -	.open = guc_log_relay_open,
> -	.write = guc_log_relay_write,
> -	.release = guc_log_relay_release,
> +	.open = guc_log_relay_ctl_open,
> +	.write = guc_log_relay_ctl_write,
> +	.release = guc_log_relay_ctl_release,
>  };
>
>  void intel_guc_log_debugfs_register(struct intel_guc_log *log,
> @@ -197,7 +197,7 @@ void intel_guc_log_debugfs_register(struct intel_guc_log *log,
>		{ "guc_log_dump", &guc_log_dump_fops, NULL },
>		{ "guc_load_err_log_dump", &guc_load_err_log_dump_fops, NULL },
>		{ "guc_log_level", &guc_log_level_fops, NULL },
> -		{ "guc_log_relay", &guc_log_relay_fops, NULL },
> +		{ "guc_log_relay_ctl", &guc_log_relay_ctl_fops, NULL },
>		{ "guc_log_relay_subbuf_size", &guc_log_relay_subbuf_size_fops, NULL },
>		{ "guc_log_relay_subbuf_count", &guc_log_relay_subbuf_count_fops, NULL },
>	};

Thanks.
--
Ashutosh

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

* Re: [Intel-gfx] [PATCH v2 5/5] drm/i915/guc: Move guc_log_relay_chan debugfs path to uc
  2022-12-06  9:21 ` [Intel-gfx] [PATCH v2 5/5] drm/i915/guc: Move guc_log_relay_chan debugfs path to uc Alan Previn
@ 2022-12-07 17:24   ` Dixit, Ashutosh
  2023-03-09 23:37     ` Teres Alexis, Alan Previn
  0 siblings, 1 reply; 21+ messages in thread
From: Dixit, Ashutosh @ 2022-12-07 17:24 UTC (permalink / raw)
  To: Alan Previn; +Cc: intel-gfx

On Tue, 06 Dec 2022 01:21:00 -0800, Alan Previn wrote:
>
> All other GuC Relay Logging debugfs handles including recent
> additions are under the 'i915/gt/uc/path' so let's also move
> 'guc_log_relay_chan' to its proper home.
>
> Signed-off-by: Alan Previn <alan.previn.teres.alexis@intel.com>
> ---
>  drivers/gpu/drm/i915/gt/uc/intel_guc.h        | 2 ++
>  drivers/gpu/drm/i915/gt/uc/intel_guc_log.c    | 2 +-
>  drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c | 2 ++
>  3 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.h b/drivers/gpu/drm/i915/gt/uc/intel_guc.h
> index bb4dfe707a7d..f5394d12c3dd 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.h
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.h
> @@ -41,6 +41,8 @@ struct intel_guc {
>	struct intel_guc_slpc slpc;
>	/** @capture: the error-state-capture module's data and objects */
>	struct intel_guc_state_capture *capture;
> +	/** @dbgfs_node: the debugfs path for guc file handles */
> +	struct dentry *dbgfs_node;
>
>	/** @sched_engine: Global engine used to submit requests to GuC */
>	struct i915_sched_engine *sched_engine;
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> index d019c60d34e8..2f1825f367bf 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log.c
> @@ -552,7 +552,7 @@ static int guc_log_relay_create(struct intel_guc_log *log)
>	n_subbufs = intel_guc_log_relay_subbuf_count(log);
>
>	guc_log_relay_chan = relay_open("guc_log_relay_chan",
> -					dev_priv->drm.primary->debugfs_root,
> +					guc->dbgfs_node,
>					subbuf_size, n_subbufs,
>					&relay_callbacks, dev_priv);
>	if (!guc_log_relay_chan) {
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c b/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c
> index 284d6fbc2d08..2f93cc4e408a 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.c
> @@ -54,6 +54,8 @@ void intel_uc_debugfs_register(struct intel_uc *uc, struct dentry *gt_root)
>	if (IS_ERR(root))
>		return;
>
> +	uc->guc.dbgfs_node = root;
> +

Nit but why touch GuC specific field in UC level function, set it in
intel_guc_debugfs_register?


>	intel_gt_debugfs_register_files(root, files, ARRAY_SIZE(files), uc);
>
>	intel_guc_debugfs_register(&uc->guc, root);

After moving the line above to intel_guc_debugfs_register, this is:

Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>

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

* Re: [Intel-gfx] [PATCH v2 2/5] drm/i915/guc: Add unaligned wc memcpy for copying GuC Log
  2022-12-07 10:17         ` Tvrtko Ursulin
@ 2022-12-07 18:15           ` Teres Alexis, Alan Previn
  0 siblings, 0 replies; 21+ messages in thread
From: Teres Alexis, Alan Previn @ 2022-12-07 18:15 UTC (permalink / raw)
  To: tvrtko.ursulin, intel-gfx



On Wed, 2022-12-07 at 10:17 +0000, Tvrtko Ursulin wrote:
> Right, Fixes: and cc stable 5.18+ then (for ADL-P), *if* the upstream 
> logger tool actually works and we expect to asks users to use it.
Righ, in that case, will skip the fixes tag since the logger is completely broken today upstream anyway and can't be fixed properly with the other patches in this series.

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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/guc: Provide debugfs for log relay sub-buf info
  2022-12-07 16:43   ` Dixit, Ashutosh
@ 2023-03-09 23:29     ` Teres Alexis, Alan Previn
  2023-03-14 22:09       ` Teres Alexis, Alan Previn
  0 siblings, 1 reply; 21+ messages in thread
From: Teres Alexis, Alan Previn @ 2023-03-09 23:29 UTC (permalink / raw)
  To: Dixit, Ashutosh; +Cc: intel-gfx

Finally got some time to relook at this series. Responses.
I'll re-rev this and re-connect with Ashutosh offline considering how long i've been silent on this.


On Wed, 2022-12-07 at 08:43 -0800, Dixit, Ashutosh wrote:
> On Tue, 06 Dec 2022 01:20:58 -0800, Alan Previn wrote:
> > 
> > diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
> > index ddfbe334689f..27756640338e 100644
> > --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
> > +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.c
> > @@ -105,6 +105,38 @@ DEFINE_SIMPLE_ATTRIBUTE(guc_log_level_fops,
> > 			guc_log_level_get, guc_log_level_set,
> > 			"%lld\n");
> > 
> > +static int guc_log_relay_subbuf_size_get(void *data, u64 *val)
> > +{
> > +	struct intel_guc_log *log = data;
> > +
> > +	if (!log->vma)
> > +		return -ENODEV;
> 
> For the record, from the other email thread, the issue here is whether this
> check is needed.
> 
> Also, the issue is what happens if the relay is open and we unload the
> module, what happens?
> 
I'll retest this - but I clearly remember that if the user space app was stil holding
onto the debugfs handle, the i915 unload would go through most of the driver unload /
unregister steps, while the app doesnt get any signals but if the app were to close that
handle after that, (guc_log_relay_ctl_release gets called), we do get invalid ptr access
in kernel. Take note the logger tool runs with sudo. That said something "like" above check
is required but perhaps hanging off a still-valid ptr (like i915->foo - maybe gt-struct validity
- but needs something that is explicitly cleared on unload, not left around with stale ptrs.

> 


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

* Re: [Intel-gfx] [PATCH v2 4/5] drm/i915/guc: Rename GuC log relay debugfs descriptively
  2022-12-07 16:50   ` Dixit, Ashutosh
@ 2023-03-09 23:36     ` Teres Alexis, Alan Previn
  2023-03-10  5:41       ` Teres Alexis, Alan Previn
  0 siblings, 1 reply; 21+ messages in thread
From: Teres Alexis, Alan Previn @ 2023-03-09 23:36 UTC (permalink / raw)
  To: Dixit, Ashutosh; +Cc: intel-gfx

Again, only now having time to relook at this.
Will re-rev and reconnect with Ashutosh offline since I've been absent on this for too long.
Thanks again Ashutosh for reviewing all these back in May.

On Wed, 2022-12-07 at 08:50 -0800, Dixit, Ashutosh wrote:
> On Tue, 06 Dec 2022 01:20:59 -0800, Alan Previn wrote:
> > 
> > GuC log relay debugfs name for the control handle vs the actual relay
> > channel are vague. Fix them so it's obvious from the name.
> 
> No real objection to anything here, just a couple of questions.
> 
> > 
> > 
alan:snip

> > 	n_subbufs = intel_guc_log_relay_subbuf_count(log);
> > 
> > -	guc_log_relay_chan = relay_open("guc_log",
> > +	guc_log_relay_chan = relay_open("guc_log_relay_chan",
> 
> Is this a user visible name or just something internal? I.e. Is this a user
> visible file name?
> 
It will be user visible. I think we need sudo though - need to double check that.
And in case i missed it earlier, the name change was solely to differentiate the
"relay channel" handle (that needs to be openned and read as per kernel relay-
channel framework) from all the other guc-log related debug-fs.

alan:snip


> > @@ -137,7 +137,7 @@ DEFINE_SIMPLE_ATTRIBUTE(guc_log_relay_subbuf_count_fops,
> > 			guc_log_relay_subbuf_count_get, NULL,
> > 			"%lld\n");
> > 
> > -static int guc_log_relay_open(struct inode *inode, struct file *file)
> > +static int guc_log_relay_ctl_open(struct inode *inode, struct file *file)
> 
> Again not objecting, but what is the purpose/thinking behind adding _ctl_
> to these function names? The previous names seemed fine?
> 
Nothing wrong with the previous one - but since the existing relay logging tool
never worked anyways, i figure why not change the name to include "ctl" since we
are already using it for the tool to trigger flush by writing '1' to it,... if in
future we ever need more controls like 'write 2 for something else' or 'write 3
for something else' (i can think of a few examples but nothing urgent that needs to 
be part of this immediate series).

I'm okay with changing back to original name - but for now will assume this new name
is okay - will connect offline.


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

* Re: [Intel-gfx] [PATCH v2 5/5] drm/i915/guc: Move guc_log_relay_chan debugfs path to uc
  2022-12-07 17:24   ` Dixit, Ashutosh
@ 2023-03-09 23:37     ` Teres Alexis, Alan Previn
  0 siblings, 0 replies; 21+ messages in thread
From: Teres Alexis, Alan Previn @ 2023-03-09 23:37 UTC (permalink / raw)
  To: Dixit, Ashutosh; +Cc: intel-gfx

On Wed, 2022-12-07 at 09:24 -0800, Dixit, Ashutosh wrote:
> On Tue, 06 Dec 2022 01:21:00 -0800, Alan Previn wrote:
> > 
> > 
alan: snip

> > 	intel_gt_debugfs_register_files(root, files, ARRAY_SIZE(files), uc);
> > 
> > 	intel_guc_debugfs_register(&uc->guc, root);
> 
> After moving the line above to intel_guc_debugfs_register, this is:
> 
> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>

alan: Thanks Ashutosh - will fix this accordingly.

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

* Re: [Intel-gfx] [PATCH v2 4/5] drm/i915/guc: Rename GuC log relay debugfs descriptively
  2023-03-09 23:36     ` Teres Alexis, Alan Previn
@ 2023-03-10  5:41       ` Teres Alexis, Alan Previn
  0 siblings, 0 replies; 21+ messages in thread
From: Teres Alexis, Alan Previn @ 2023-03-10  5:41 UTC (permalink / raw)
  To: Dixit, Ashutosh; +Cc: intel-gfx

> > > -static int guc_log_relay_open(struct inode *inode, struct file *file)
> > > +static int guc_log_relay_ctl_open(struct inode *inode, struct file *file)
> > 
> > Again not objecting, but what is the purpose/thinking behind adding _ctl_
> > to these function names? The previous names seemed fine?
> > 
> Nothing wrong with the previous one - but since the existing relay logging tool
> never worked anyways, i figure why not change the name to include "ctl" since we
> are already using it for the tool to trigger flush by writing '1' to it,... if in
> future we ever need more controls like 'write 2 for something else' or 'write 3
> for something else' (i can think of a few examples but nothing urgent that needs to 
> be part of this immediate series).
> 
> I'm okay with changing back to original name - but for now will assume this new name
> is okay - will connect offline.
> 
Alan: I did want to also raise the point that this series also gets all the function and debufs names to align with "guc_log_relay_[function/data"]
That is occuring across all the new handles i have added and why i am changing some of the old ones like the above "guc_log_relay_ctl"


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

* Re: [Intel-gfx] [PATCH v2 3/5] drm/i915/guc: Provide debugfs for log relay sub-buf info
  2023-03-09 23:29     ` Teres Alexis, Alan Previn
@ 2023-03-14 22:09       ` Teres Alexis, Alan Previn
  0 siblings, 0 replies; 21+ messages in thread
From: Teres Alexis, Alan Previn @ 2023-03-14 22:09 UTC (permalink / raw)
  To: Dixit, Ashutosh; +Cc: intel-gfx

On Thu, 2023-03-09 at 15:29 -0800, Teres Alexis, Alan Previn wrote:
> > > 
alan:snip

> > > +static int guc_log_relay_subbuf_size_get(void *data, u64 *val)
> > > +{
> > > +	struct intel_guc_log *log = data;
> > > +
> > > +	if (!log->vma)
> > > +		return -ENODEV;
> > 
> > For the record, from the other email thread, the issue here is whether this
> > check is needed.
> > 
> > Also, the issue is what happens if the relay is open and we unload the
> > module, what happens?
> > 
> I'll retest this - but I clearly remember that if the user space app was stil holding
> onto the debugfs handle, the i915 unload would go through most of the driver unload /
> unregister steps, while the app doesnt get any signals but if the app were to close that
> handle after that, (guc_log_relay_ctl_release gets called), we do get invalid ptr access
> in kernel. Take note the logger tool runs with sudo. That said something "like" above check
> is required but perhaps hanging off a still-valid ptr (like i915->foo - maybe gt-struct validity
> - but needs something that is explicitly cleared on unload, not left around with stale ptrs.
> 

An update on this above after some digging / testing : I believe we dont we need to check
for "log->vma" validity as you had suspected. However, I did find other legacy debugfs
functions for relay logging that DID check for it - so I must have been trying to maintain
consistency. That said, i will probably remove the check from other legacy functions as well
so they are all consistently not checking for it since its not required.

However, in the process of testing, i found an issue when connecting relay logger tool
and unloading driver. On one hand this is a debugfs interface and we may be able to fix that
later as the use-case doesnt really expect used to run this tool while unloading the driver.
On the other hand some of my colleagues did stress that crashing in kernel is something we cannot
igore and knowably allow. Considering the fact that relay logging tool is not working at all
upstream today, this patch could "unmask" that error. Finally, i too find myself, as part of testing /
debugging, occasionally forgetting to stop the relay logger tool when unloading and i cant even do
simple soft-reboot because of how bad things get in the i915. Given all considerations, I'm compelled
to fix that properly now. Previously, the majority of the time taken for this series was mostly
tied to the intel_guc_logger side of the effort, not the kernel changes. But for this fix, i think
more time + changes will be required on the kernel side.


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

end of thread, other threads:[~2023-03-14 22:09 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-06  9:20 [Intel-gfx] [PATCH v2 0/5] drm/i915/guc: Update GuC relay logging debugfs Alan Previn
2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 1/5] drm/i915/guc: Fix GuC relay log debugfs failing open Alan Previn
2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 2/5] drm/i915/guc: Add unaligned wc memcpy for copying GuC Log Alan Previn
2022-12-06 10:14   ` Tvrtko Ursulin
2022-12-06 21:35     ` Teres Alexis, Alan Previn
2022-12-07  9:20       ` Teres Alexis, Alan Previn
2022-12-07 10:17         ` Tvrtko Ursulin
2022-12-07 18:15           ` Teres Alexis, Alan Previn
2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 3/5] drm/i915/guc: Provide debugfs for log relay sub-buf info Alan Previn
2022-12-07 16:43   ` Dixit, Ashutosh
2023-03-09 23:29     ` Teres Alexis, Alan Previn
2023-03-14 22:09       ` Teres Alexis, Alan Previn
2022-12-06  9:20 ` [Intel-gfx] [PATCH v2 4/5] drm/i915/guc: Rename GuC log relay debugfs descriptively Alan Previn
2022-12-07 16:50   ` Dixit, Ashutosh
2023-03-09 23:36     ` Teres Alexis, Alan Previn
2023-03-10  5:41       ` Teres Alexis, Alan Previn
2022-12-06  9:21 ` [Intel-gfx] [PATCH v2 5/5] drm/i915/guc: Move guc_log_relay_chan debugfs path to uc Alan Previn
2022-12-07 17:24   ` Dixit, Ashutosh
2023-03-09 23:37     ` Teres Alexis, Alan Previn
2022-12-06 13:42 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/guc: Update GuC relay logging debugfs Patchwork
2022-12-06 17:42 ` [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.