Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/5] Miscelaneous fixes for display tracepoints
@ 2024-09-23 19:02 Gustavo Sousa
  2024-09-23 19:02 ` [PATCH v2 1/5] drm/i915/display: Fix out-of-bounds access in pipe-related tracepoints Gustavo Sousa
                   ` (8 more replies)
  0 siblings, 9 replies; 21+ messages in thread
From: Gustavo Sousa @ 2024-09-23 19:02 UTC (permalink / raw)
  To: intel-gfx; +Cc: Matt Roper

I recently bumped into some issues while using trace-cmd to inspect i915
display trace events. This series of patches provides fixes for them.

v2:
  - Add another patch to zero-initialize frame/scanline counts.
  - Add static_assert(PIPE_A == _TRACE_PIPE_A) in "Do not use ids from enum pipe
    in TP_printk()".

Gustavo Sousa (5):
  drm/i915/display: Fix out-of-bounds access in pipe-related tracepoints
  drm/i915/display: Zero-initialize frame/scanline counts in tracepoints
  drm/i915/display: Store pipe name in trace events
  drm/i915/display: Do not use ids from enum pipe in TP_printk()
  drm/i915/display: Cover all possible pipes in TP_printk()

 .../drm/i915/display/intel_display_trace.h    | 206 +++++++++++-------
 1 file changed, 125 insertions(+), 81 deletions(-)

-- 
2.46.1


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

* [PATCH v2 1/5] drm/i915/display: Fix out-of-bounds access in pipe-related tracepoints
  2024-09-23 19:02 [PATCH v2 0/5] Miscelaneous fixes for display tracepoints Gustavo Sousa
@ 2024-09-23 19:02 ` Gustavo Sousa
  2024-09-23 19:02 ` [PATCH v2 2/5] drm/i915/display: Zero-initialize frame/scanline counts in tracepoints Gustavo Sousa
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 21+ messages in thread
From: Gustavo Sousa @ 2024-09-23 19:02 UTC (permalink / raw)
  To: intel-gfx; +Cc: Matt Roper

Some display trace events use array members to store frame and scanline
counts for each pipe. However, those arrays are declared with 3 as the
hardcoded size, which cause out-of-bounds access when the trace event is
enabled on a platform that contains pipe D.

For example, when looking at the last 10 intel_pipe_enable events after
running IGT's testdisplay, we see the following on a MTL machine that
has pipe D available:

    $ trace-cmd report -R -F intel_pipe_enable \
    > | tail \
    > | sed 's,\(frame=.*\) \(scanline=.*\),\n\t   \1\n\t\2,'
         testdisplay-6715  [002] 17591.063491: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[83, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-6715  [003] 17591.264742: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[89, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-6715  [003] 17591.464541: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[8f, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-6715  [001] 17591.695827: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[95, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-6715  [000] 17591.915841: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[9a, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-6715  [000] 17592.127114: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[a0, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-6715  [002] 17592.358351: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[a8, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-6715  [002] 17592.580467: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[ae, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-6715  [000] 17592.950946: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[b8, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-6715  [004] 17593.079597: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[bf, 01, 00, 00, 01, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[00, 00, 00, 00, 3a, 04, 00, 00, 00, 00, 00, 00] pipe=1

Which shows zeros for pipe A's scanline counts. That happens because
pipe D's frame counts are overwriting them.

Let's fix that by making the arrays bring able to store info for all
possible pipes.

With the fix, we get the following:

    $ trace-cmd report -R -F intel_pipe_enable \
    > | tail \
    > | sed 's,\(frame=.*\) \(scanline=.*\),\n\t   \1\n\t\2,'
         testdisplay-7040  [003] 18067.489565: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[8c, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[8e, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-7040  [002] 18067.699312: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[92, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[58, 02, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-7040  [002] 18067.908868: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[98, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[58, 02, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-7040  [002] 18068.122802: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[9d, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[58, 02, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-7040  [003] 18068.331019: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[a2, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[e0, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-7040  [002] 18068.529067: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[a8, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[e0, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-7040  [003] 18068.742033: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[ae, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[e0, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-7040  [002] 18068.956229: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[b3, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[1f, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-7040  [002] 18069.295322: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[bb, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[7b, 08, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=0
         testdisplay-7040  [010] 18069.423527: intel_pipe_enable:     dev=0000:00:02.0
               frame=ARRAY[c2, 01, 00, 00, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00]
            scanline=ARRAY[d0, 05, 00, 00, 3a, 04, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe=1

Which makes more sense now.

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_trace.h | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
index fc28d34b5eef..e70c015a09a1 100644
--- a/drivers/gpu/drm/i915/display/intel_display_trace.h
+++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
@@ -15,6 +15,7 @@
 
 #include "i915_drv.h"
 #include "intel_crtc.h"
+#include "intel_display_limits.h"
 #include "intel_display_types.h"
 #include "intel_vblank.h"
 
@@ -27,8 +28,8 @@ TRACE_EVENT(intel_pipe_enable,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(crtc))
-			     __array(u32, frame, 3)
-			     __array(u32, scanline, 3)
+			     __array(u32, frame, I915_MAX_PIPES)
+			     __array(u32, scanline, I915_MAX_PIPES)
 			     __field(enum pipe, pipe)
 			     ),
 	    TP_fast_assign(
@@ -55,8 +56,8 @@ TRACE_EVENT(intel_pipe_disable,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(crtc))
-			     __array(u32, frame, 3)
-			     __array(u32, scanline, 3)
+			     __array(u32, frame, I915_MAX_PIPES)
+			     __array(u32, scanline, I915_MAX_PIPES)
 			     __field(enum pipe, pipe)
 			     ),
 
@@ -184,8 +185,8 @@ TRACE_EVENT(intel_memory_cxsr,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_display(display))
-			     __array(u32, frame, 3)
-			     __array(u32, scanline, 3)
+			     __array(u32, frame, I915_MAX_PIPES)
+			     __array(u32, scanline, I915_MAX_PIPES)
 			     __field(bool, old)
 			     __field(bool, new)
 			     ),
-- 
2.46.1


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

* [PATCH v2 2/5] drm/i915/display: Zero-initialize frame/scanline counts in tracepoints
  2024-09-23 19:02 [PATCH v2 0/5] Miscelaneous fixes for display tracepoints Gustavo Sousa
  2024-09-23 19:02 ` [PATCH v2 1/5] drm/i915/display: Fix out-of-bounds access in pipe-related tracepoints Gustavo Sousa
@ 2024-09-23 19:02 ` Gustavo Sousa
  2024-09-23 19:02 ` [PATCH v2 3/5] drm/i915/display: Store pipe name in trace events Gustavo Sousa
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 21+ messages in thread
From: Gustavo Sousa @ 2024-09-23 19:02 UTC (permalink / raw)
  To: intel-gfx; +Cc: Matt Roper

In an upcoming change, we will also add support for logging
frame/scanline counts for pipe D in relevant tracepoints.

In [1], Matt mentioned the possibility of having garbage in those counts
for pipe D on a platform containing only 3 pipes. Indeed, it has been
verified that the counts for the extra pipe would not be
zero-initialized by the tracing system.

Since it is also possible that the same would happen for a fused-off
pipe, let's go ahead and add the logic to zero-initialize the arrays
now.

[1] https://lore.kernel.org/all/20240918224927.GU5091@mdroper-desk1.amr.corp.intel.com/

Cc: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display_trace.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
index e70c015a09a1..84526f8df75b 100644
--- a/drivers/gpu/drm/i915/display/intel_display_trace.h
+++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
@@ -9,6 +9,7 @@
 #if !defined(__INTEL_DISPLAY_TRACE_H__) || defined(TRACE_HEADER_MULTI_READ)
 #define __INTEL_DISPLAY_TRACE_H__
 
+#include <linux/string.h>
 #include <linux/string_helpers.h>
 #include <linux/types.h>
 #include <linux/tracepoint.h>
@@ -36,6 +37,10 @@ TRACE_EVENT(intel_pipe_enable,
 			   struct intel_display *display = to_intel_display(crtc);
 			   struct intel_crtc *it__;
 			   __assign_str(dev);
+			   memset(__entry->frame, 0,
+				  sizeof(__entry->frame[0]) * I915_MAX_PIPES);
+			   memset(__entry->scanline, 0,
+				  sizeof(__entry->scanline[0]) * I915_MAX_PIPES);
 			   for_each_intel_crtc(display->drm, it__) {
 				   __entry->frame[it__->pipe] = intel_crtc_get_vblank_counter(it__);
 				   __entry->scanline[it__->pipe] = intel_get_crtc_scanline(it__);
@@ -65,6 +70,10 @@ TRACE_EVENT(intel_pipe_disable,
 			   struct intel_display *display = to_intel_display(crtc);
 			   struct intel_crtc *it__;
 			   __assign_str(dev);
+			   memset(__entry->frame, 0,
+				  sizeof(__entry->frame[0]) * I915_MAX_PIPES);
+			   memset(__entry->scanline, 0,
+				  sizeof(__entry->scanline[0]) * I915_MAX_PIPES);
 			   for_each_intel_crtc(display->drm, it__) {
 				   __entry->frame[it__->pipe] = intel_crtc_get_vblank_counter(it__);
 				   __entry->scanline[it__->pipe] = intel_get_crtc_scanline(it__);
@@ -194,6 +203,10 @@ TRACE_EVENT(intel_memory_cxsr,
 	    TP_fast_assign(
 			   struct intel_crtc *crtc;
 			   __assign_str(dev);
+			   memset(__entry->frame, 0,
+				  sizeof(__entry->frame[0]) * I915_MAX_PIPES);
+			   memset(__entry->scanline, 0,
+				  sizeof(__entry->scanline[0]) * I915_MAX_PIPES);
 			   for_each_intel_crtc(display->drm, crtc) {
 				   __entry->frame[crtc->pipe] = intel_crtc_get_vblank_counter(crtc);
 				   __entry->scanline[crtc->pipe] = intel_get_crtc_scanline(crtc);
-- 
2.46.1


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

* [PATCH v2 3/5] drm/i915/display: Store pipe name in trace events
  2024-09-23 19:02 [PATCH v2 0/5] Miscelaneous fixes for display tracepoints Gustavo Sousa
  2024-09-23 19:02 ` [PATCH v2 1/5] drm/i915/display: Fix out-of-bounds access in pipe-related tracepoints Gustavo Sousa
  2024-09-23 19:02 ` [PATCH v2 2/5] drm/i915/display: Zero-initialize frame/scanline counts in tracepoints Gustavo Sousa
@ 2024-09-23 19:02 ` Gustavo Sousa
  2024-09-23 19:02 ` [PATCH v2 4/5] drm/i915/display: Do not use ids from enum pipe in TP_printk() Gustavo Sousa
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 21+ messages in thread
From: Gustavo Sousa @ 2024-09-23 19:02 UTC (permalink / raw)
  To: intel-gfx; +Cc: Matt Roper

The first part[1] of the LWN series on using TRACE_EVENT() mentions
about TP_printk():

    "Do not create new tracepoint-specific helpers, because that will
    confuse user-space tools that know about the TRACE_EVENT() helper
    macros but will not know how to handle ones created for individual
    tracepoints."

It seems this is what we ended up doing when using pipe_name() in
TP_printk().

For example, the format for the intel_pipe_update_start event is as
follows:

    # cat /sys/kernel/debug/tracing/events/i915/intel_pipe_update_start/format
    name: intel_pipe_update_start
    ID: 1136
    format:
            field:unsigned short common_type;       offset:0;       size:2; signed:0;
            field:unsigned char common_flags;       offset:2;       size:1; signed:0;
            field:unsigned char common_preempt_count;       offset:3;       size:1; signed:0;
            field:int common_pid;   offset:4;       size:4; signed:1;

            field:__data_loc char[] dev;    offset:8;       size:4; signed:0;
            field:enum pipe pipe;   offset:12;      size:4; signed:1;
            field:u32 frame;        offset:16;      size:4; signed:0;
            field:u32 scanline;     offset:20;      size:4; signed:0;
            field:u32 min;  offset:24;      size:4; signed:0;
            field:u32 max;  offset:28;      size:4; signed:0;

    print fmt: "dev %s, pipe %c, frame=%u, scanline=%u, min=%u, max=%u", __get_str(dev), ((REC->pipe) + 'A'), REC->frame, REC->scanline, REC->min, REC->max

The call to pipe_name(__entry->pipe) is expanted to ((REC->pipe) + 'A')
and that's how the format is saved.

Even though the output from /sys/kernel/debug/tracing/trace will look
correct (because it is generated in the kernel), we will see corrupted
lines when using a tool like trace-cmd to view the data.

While the output looks correct when looking at
/sys/kernel/debug/tracing/trace, we see corrupted lines when viewing the
trace data with "trace-cmd report":

    $ trace-cmd report \
    > | sed -n 's/.*dev 0000:00:02\.0, \(pipe .\).*/\1/p' \
    > | cat -v | uniq -c
         34 pipe ^A

, where ^A is a non-printable character.

As a fix, let's store the pipe name directly in the event. The fix was
done by applying the following sed script:

    s/__field\s*(\s*enum\s\+pipe\s*,\s*pipe\s*)/__field(char, pipe_name)/
    s/__entry\s*->\s*pipe\s*=\s*\([^;]\+\);/__entry->pipe_name = pipe_name(\1);/
    s/pipe_name\s*(\s*__entry\s*->\s*pipe\s*)/__entry->pipe_name/

After these changes, using the same example, we have the following:

    $ trace-cmd report \
    > | sed -n 's/.*dev 0000:00:02\.0, \(pipe .\).*/\1/p' \
    > | cat -v | sort | uniq -c
        396 pipe A
         34 pipe B

[1] https://lwn.net/Articles/379903/

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 .../drm/i915/display/intel_display_trace.h    | 126 +++++++++---------
 1 file changed, 63 insertions(+), 63 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
index 84526f8df75b..717c144e9a65 100644
--- a/drivers/gpu/drm/i915/display/intel_display_trace.h
+++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
@@ -31,7 +31,7 @@ TRACE_EVENT(intel_pipe_enable,
 			     __string(dev, __dev_name_kms(crtc))
 			     __array(u32, frame, I915_MAX_PIPES)
 			     __array(u32, scanline, I915_MAX_PIPES)
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     ),
 	    TP_fast_assign(
 			   struct intel_display *display = to_intel_display(crtc);
@@ -45,11 +45,11 @@ TRACE_EVENT(intel_pipe_enable,
 				   __entry->frame[it__->pipe] = intel_crtc_get_vblank_counter(it__);
 				   __entry->scanline[it__->pipe] = intel_get_crtc_scanline(it__);
 			   }
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   ),
 
 	    TP_printk("dev %s, pipe %c enable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame[PIPE_A], __entry->scanline[PIPE_A],
 		      __entry->frame[PIPE_B], __entry->scanline[PIPE_B],
 		      __entry->frame[PIPE_C], __entry->scanline[PIPE_C])
@@ -63,7 +63,7 @@ TRACE_EVENT(intel_pipe_disable,
 			     __string(dev, __dev_name_kms(crtc))
 			     __array(u32, frame, I915_MAX_PIPES)
 			     __array(u32, scanline, I915_MAX_PIPES)
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     ),
 
 	    TP_fast_assign(
@@ -78,11 +78,11 @@ TRACE_EVENT(intel_pipe_disable,
 				   __entry->frame[it__->pipe] = intel_crtc_get_vblank_counter(it__);
 				   __entry->scanline[it__->pipe] = intel_get_crtc_scanline(it__);
 			   }
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   ),
 
 	    TP_printk("dev %s, pipe %c disable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame[PIPE_A], __entry->scanline[PIPE_A],
 		      __entry->frame[PIPE_B], __entry->scanline[PIPE_B],
 		      __entry->frame[PIPE_C], __entry->scanline[PIPE_C])
@@ -94,20 +94,20 @@ TRACE_EVENT(intel_crtc_flip_done,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(crtc))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     ),
 
 	    TP_fast_assign(
 			   __assign_str(dev);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   ),
 
 	    TP_printk("dev %s, pipe %c, frame=%u, scanline=%u",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame, __entry->scanline)
 );
 
@@ -117,7 +117,7 @@ TRACE_EVENT(intel_pipe_crc,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(crtc))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     __array(u32, crcs, 5)
@@ -125,14 +125,14 @@ TRACE_EVENT(intel_pipe_crc,
 
 	    TP_fast_assign(
 			   __assign_str(dev);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   memcpy(__entry->crcs, crcs, sizeof(__entry->crcs));
 			   ),
 
 	    TP_printk("dev %s, pipe %c, frame=%u, scanline=%u crc=%08x %08x %08x %08x %08x",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame, __entry->scanline,
 		      __entry->crcs[0], __entry->crcs[1],
 		      __entry->crcs[2], __entry->crcs[3],
@@ -145,7 +145,7 @@ TRACE_EVENT(intel_cpu_fifo_underrun,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_display(display))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     ),
@@ -153,13 +153,13 @@ TRACE_EVENT(intel_cpu_fifo_underrun,
 	    TP_fast_assign(
 			   struct intel_crtc *crtc = intel_crtc_for_pipe(display, pipe);
 			   __assign_str(dev);
-			   __entry->pipe = pipe;
+			   __entry->pipe_name = pipe_name(pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   ),
 
 	    TP_printk("dev %s, pipe %c, frame=%u, scanline=%u",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame, __entry->scanline)
 );
 
@@ -169,7 +169,7 @@ TRACE_EVENT(intel_pch_fifo_underrun,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_display(display))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     ),
@@ -178,13 +178,13 @@ TRACE_EVENT(intel_pch_fifo_underrun,
 			   enum pipe pipe = pch_transcoder;
 			   struct intel_crtc *crtc = intel_crtc_for_pipe(display, pipe);
 			   __assign_str(dev);
-			   __entry->pipe = pipe;
+			   __entry->pipe_name = pipe_name(pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   ),
 
 	    TP_printk("dev %s, pch transcoder %c, frame=%u, scanline=%u",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame, __entry->scanline)
 );
 
@@ -228,7 +228,7 @@ TRACE_EVENT(g4x_wm,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(crtc))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     __field(u16, primary)
@@ -247,7 +247,7 @@ TRACE_EVENT(g4x_wm,
 
 	    TP_fast_assign(
 			   __assign_str(dev);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   __entry->primary = wm->pipe[crtc->pipe].plane[PLANE_PRIMARY];
@@ -265,7 +265,7 @@ TRACE_EVENT(g4x_wm,
 			   ),
 
 	    TP_printk("dev %s, pipe %c, frame=%u, scanline=%u, wm %d/%d/%d, sr %s/%d/%d/%d, hpll %s/%d/%d/%d, fbc %s",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame, __entry->scanline,
 		      __entry->primary, __entry->sprite, __entry->cursor,
 		      str_yes_no(__entry->cxsr), __entry->sr_plane, __entry->sr_cursor, __entry->sr_fbc,
@@ -279,7 +279,7 @@ TRACE_EVENT(vlv_wm,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(crtc))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     __field(u32, level)
@@ -294,7 +294,7 @@ TRACE_EVENT(vlv_wm,
 
 	    TP_fast_assign(
 			   __assign_str(dev);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   __entry->level = wm->level;
@@ -308,7 +308,7 @@ TRACE_EVENT(vlv_wm,
 			   ),
 
 	    TP_printk("dev %s, pipe %c, frame=%u, scanline=%u, level=%d, cxsr=%d, wm %d/%d/%d/%d, sr %d/%d",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame, __entry->scanline,
 		      __entry->level, __entry->cxsr,
 		      __entry->primary, __entry->sprite0, __entry->sprite1, __entry->cursor,
@@ -321,7 +321,7 @@ TRACE_EVENT(vlv_fifo_size,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(crtc))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     __field(u32, sprite0_start)
@@ -331,7 +331,7 @@ TRACE_EVENT(vlv_fifo_size,
 
 	    TP_fast_assign(
 			   __assign_str(dev);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   __entry->sprite0_start = sprite0_start;
@@ -340,7 +340,7 @@ TRACE_EVENT(vlv_fifo_size,
 			   ),
 
 	    TP_printk("dev %s, pipe %c, frame=%u, scanline=%u, %d/%d/%d",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame, __entry->scanline,
 		      __entry->sprite0_start, __entry->sprite1_start, __entry->fifo_size)
 );
@@ -351,7 +351,7 @@ TRACE_EVENT(intel_plane_async_flip,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(plane))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     __field(bool, async_flip)
@@ -361,14 +361,14 @@ TRACE_EVENT(intel_plane_async_flip,
 	    TP_fast_assign(
 			   __assign_str(dev);
 			   __assign_str(name);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   __entry->async_flip = async_flip;
 			   ),
 
 	    TP_printk("dev %s, pipe %c, plane %s, frame=%u, scanline=%u, async_flip=%s",
-		      __get_str(dev), pipe_name(__entry->pipe), __get_str(name),
+		      __get_str(dev), __entry->pipe_name, __get_str(name),
 		      __entry->frame, __entry->scanline, str_yes_no(__entry->async_flip))
 );
 
@@ -378,7 +378,7 @@ TRACE_EVENT(intel_plane_update_noarm,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(plane))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     __array(int, src, 4)
@@ -389,7 +389,7 @@ TRACE_EVENT(intel_plane_update_noarm,
 	    TP_fast_assign(
 			   __assign_str(dev);
 			   __assign_str(name);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   memcpy(__entry->src, &plane->base.state->src, sizeof(__entry->src));
@@ -397,7 +397,7 @@ TRACE_EVENT(intel_plane_update_noarm,
 			   ),
 
 	    TP_printk("dev %s, pipe %c, plane %s, frame=%u, scanline=%u, " DRM_RECT_FP_FMT " -> " DRM_RECT_FMT,
-		      __get_str(dev), pipe_name(__entry->pipe), __get_str(name),
+		      __get_str(dev), __entry->pipe_name, __get_str(name),
 		      __entry->frame, __entry->scanline,
 		      DRM_RECT_FP_ARG((const struct drm_rect *)__entry->src),
 		      DRM_RECT_ARG((const struct drm_rect *)__entry->dst))
@@ -409,7 +409,7 @@ TRACE_EVENT(intel_plane_update_arm,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(plane))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     __array(int, src, 4)
@@ -420,7 +420,7 @@ TRACE_EVENT(intel_plane_update_arm,
 	    TP_fast_assign(
 			   __assign_str(dev);
 			   __assign_str(name);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   memcpy(__entry->src, &plane->base.state->src, sizeof(__entry->src));
@@ -428,7 +428,7 @@ TRACE_EVENT(intel_plane_update_arm,
 			   ),
 
 	    TP_printk("dev %s, pipe %c, plane %s, frame=%u, scanline=%u, " DRM_RECT_FP_FMT " -> " DRM_RECT_FMT,
-		      __get_str(dev), pipe_name(__entry->pipe), __get_str(name),
+		      __get_str(dev), __entry->pipe_name, __get_str(name),
 		      __entry->frame, __entry->scanline,
 		      DRM_RECT_FP_ARG((const struct drm_rect *)__entry->src),
 		      DRM_RECT_ARG((const struct drm_rect *)__entry->dst))
@@ -440,7 +440,7 @@ TRACE_EVENT(intel_plane_disable_arm,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(plane))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     __string(name, plane->base.name)
@@ -449,13 +449,13 @@ TRACE_EVENT(intel_plane_disable_arm,
 	    TP_fast_assign(
 			   __assign_str(dev);
 			   __assign_str(name);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   ),
 
 	    TP_printk("dev %s, pipe %c, plane %s, frame=%u, scanline=%u",
-		      __get_str(dev), pipe_name(__entry->pipe), __get_str(name),
+		      __get_str(dev), __entry->pipe_name, __get_str(name),
 		      __entry->frame, __entry->scanline)
 );
 
@@ -466,7 +466,7 @@ TRACE_EVENT(intel_fbc_activate,
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(plane))
 			     __string(name, plane->base.name)
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     ),
@@ -477,13 +477,13 @@ TRACE_EVENT(intel_fbc_activate,
 									 plane->pipe);
 			   __assign_str(dev);
 			   __assign_str(name);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   ),
 
 	    TP_printk("dev %s, pipe %c, plane %s, frame=%u, scanline=%u",
-		      __get_str(dev), pipe_name(__entry->pipe), __get_str(name),
+		      __get_str(dev), __entry->pipe_name, __get_str(name),
 		      __entry->frame, __entry->scanline)
 );
 
@@ -494,7 +494,7 @@ TRACE_EVENT(intel_fbc_deactivate,
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(plane))
 			     __string(name, plane->base.name)
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     ),
@@ -505,13 +505,13 @@ TRACE_EVENT(intel_fbc_deactivate,
 									 plane->pipe);
 			   __assign_str(dev);
 			   __assign_str(name);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   ),
 
 	    TP_printk("dev %s, pipe %c, plane %s, frame=%u, scanline=%u",
-		      __get_str(dev), pipe_name(__entry->pipe), __get_str(name),
+		      __get_str(dev), __entry->pipe_name, __get_str(name),
 		      __entry->frame, __entry->scanline)
 );
 
@@ -522,7 +522,7 @@ TRACE_EVENT(intel_fbc_nuke,
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(plane))
 			     __string(name, plane->base.name)
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     ),
@@ -533,13 +533,13 @@ TRACE_EVENT(intel_fbc_nuke,
 									 plane->pipe);
 			   __assign_str(dev);
 			   __assign_str(name);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   ),
 
 	    TP_printk("dev %s, pipe %c, plane %s, frame=%u, scanline=%u",
-		      __get_str(dev), pipe_name(__entry->pipe), __get_str(name),
+		      __get_str(dev), __entry->pipe_name, __get_str(name),
 		      __entry->frame, __entry->scanline)
 );
 
@@ -549,20 +549,20 @@ TRACE_EVENT(intel_crtc_vblank_work_start,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(crtc))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     ),
 
 	    TP_fast_assign(
 			   __assign_str(dev);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   ),
 
 	    TP_printk("dev %s, pipe %c, frame=%u, scanline=%u",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame, __entry->scanline)
 );
 
@@ -572,20 +572,20 @@ TRACE_EVENT(intel_crtc_vblank_work_end,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(crtc))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     ),
 
 	    TP_fast_assign(
 			   __assign_str(dev);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   ),
 
 	    TP_printk("dev %s, pipe %c, frame=%u, scanline=%u",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame, __entry->scanline)
 );
 
@@ -595,7 +595,7 @@ TRACE_EVENT(intel_pipe_update_start,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(crtc))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     __field(u32, min)
@@ -604,7 +604,7 @@ TRACE_EVENT(intel_pipe_update_start,
 
 	    TP_fast_assign(
 			   __assign_str(dev);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = intel_crtc_get_vblank_counter(crtc);
 			   __entry->scanline = intel_get_crtc_scanline(crtc);
 			   __entry->min = crtc->debug.min_vbl;
@@ -612,7 +612,7 @@ TRACE_EVENT(intel_pipe_update_start,
 			   ),
 
 	    TP_printk("dev %s, pipe %c, frame=%u, scanline=%u, min=%u, max=%u",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame, __entry->scanline,
 		      __entry->min, __entry->max)
 );
@@ -623,7 +623,7 @@ TRACE_EVENT(intel_pipe_update_vblank_evaded,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(crtc))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     __field(u32, min)
@@ -632,7 +632,7 @@ TRACE_EVENT(intel_pipe_update_vblank_evaded,
 
 	    TP_fast_assign(
 			   __assign_str(dev);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = crtc->debug.start_vbl_count;
 			   __entry->scanline = crtc->debug.scanline_start;
 			   __entry->min = crtc->debug.min_vbl;
@@ -640,7 +640,7 @@ TRACE_EVENT(intel_pipe_update_vblank_evaded,
 			   ),
 
 	    TP_printk("dev %s, pipe %c, frame=%u, scanline=%u, min=%u, max=%u",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame, __entry->scanline,
 		      __entry->min, __entry->max)
 );
@@ -651,20 +651,20 @@ TRACE_EVENT(intel_pipe_update_end,
 
 	    TP_STRUCT__entry(
 			     __string(dev, __dev_name_kms(crtc))
-			     __field(enum pipe, pipe)
+			     __field(char, pipe_name)
 			     __field(u32, frame)
 			     __field(u32, scanline)
 			     ),
 
 	    TP_fast_assign(
 			   __assign_str(dev);
-			   __entry->pipe = crtc->pipe;
+			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   __entry->frame = frame;
 			   __entry->scanline = scanline_end;
 			   ),
 
 	    TP_printk("dev %s, pipe %c, frame=%u, scanline=%u",
-		      __get_str(dev), pipe_name(__entry->pipe),
+		      __get_str(dev), __entry->pipe_name,
 		      __entry->frame, __entry->scanline)
 );
 
-- 
2.46.1


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

* [PATCH v2 4/5] drm/i915/display: Do not use ids from enum pipe in TP_printk()
  2024-09-23 19:02 [PATCH v2 0/5] Miscelaneous fixes for display tracepoints Gustavo Sousa
                   ` (2 preceding siblings ...)
  2024-09-23 19:02 ` [PATCH v2 3/5] drm/i915/display: Store pipe name in trace events Gustavo Sousa
@ 2024-09-23 19:02 ` Gustavo Sousa
  2024-09-23 19:02 ` [PATCH v2 5/5] drm/i915/display: Cover all possible pipes " Gustavo Sousa
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 21+ messages in thread
From: Gustavo Sousa @ 2024-09-23 19:02 UTC (permalink / raw)
  To: intel-gfx; +Cc: Matt Roper

Because much of kernel tracepoints is implemented at the C preprocessor
level, C identifiers used in TP_printk() are saved verbatim in the event
format, even when they represent compile-time constant values.

As an example, we can look at the format for the intel_pipe_enable
event:

    # cat /sys/kernel/debug/tracing/events/i915/intel_pipe_enable/format | grep '^print fmt'
    print fmt: "dev %s, pipe %c enable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u", __get_str(dev), REC->pipe_name, REC->frame[PIPE_A], REC->scanline[PIPE_A], REC->frame[PIPE_B], REC->scanline[PIPE_B], REC->frame[PIPE_C], REC->scanline[PIPE_C]

We see that PIPE_A, PIPE_B and PIPE_C are pasted directly in the format.
Because tools that interact with kernel tracepoints don't know about
those ids, they'll endup failing to parse the format or produce
corrupted output.

For example, we can see below that trace-cmd repeats PIPE_A's
frame/scanline counts for all pipes (probably because it evaluates
unknown ids as zero):

   $ trace-cmd report -F intel_pipe_enable | tail -n5
        testdisplay-8616  [000] 22048.276758: intel_pipe_enable:    dev 0000:00:02.0, pipe A enable, pipe A: frame=861, scanline=480, pipe B: frame=861, scanline=480, pipe C: frame=861, scanline=480
        testdisplay-8616  [001] 22048.490287: intel_pipe_enable:    dev 0000:00:02.0, pipe A enable, pipe A: frame=867, scanline=480, pipe B: frame=867, scanline=480, pipe C: frame=867, scanline=480
        testdisplay-8616  [003] 22048.700181: intel_pipe_enable:    dev 0000:00:02.0, pipe A enable, pipe A: frame=872, scanline=400, pipe B: frame=872, scanline=400, pipe C: frame=872, scanline=400
        testdisplay-8616  [002] 22049.054220: intel_pipe_enable:    dev 0000:00:02.0, pipe A enable, pipe A: frame=881, scanline=2170, pipe B: frame=881, scanline=2170, pipe C: frame=881, scanline=2170
        testdisplay-8616  [002] 22049.166851: intel_pipe_enable:    dev 0000:00:02.0, pipe B enable, pipe A: frame=887, scanline=1632, pipe B: frame=887, scanline=1632, pipe C: frame=887, scanline=1632

, while in fact we have different values for each pipe, which can be
confirmed with the raw view of the events:

    $ trace-cmd report -R -F intel_pipe_enable | tail -n5
         testdisplay-8616  [000] 22048.276758: intel_pipe_enable:     dev=0000:00:02.0 frame=ARRAY[5d, 03, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] scanline=ARRAY[e0, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe_name=A
         testdisplay-8616  [001] 22048.490287: intel_pipe_enable:     dev=0000:00:02.0 frame=ARRAY[63, 03, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] scanline=ARRAY[e0, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe_name=A
         testdisplay-8616  [003] 22048.700181: intel_pipe_enable:     dev=0000:00:02.0 frame=ARRAY[68, 03, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] scanline=ARRAY[90, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe_name=A
         testdisplay-8616  [002] 22049.054220: intel_pipe_enable:     dev=0000:00:02.0 frame=ARRAY[71, 03, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] scanline=ARRAY[7a, 08, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe_name=A
         testdisplay-8616  [002] 22049.166851: intel_pipe_enable:     dev=0000:00:02.0 frame=ARRAY[77, 03, 00, 00, 01, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] scanline=ARRAY[60, 06, 00, 00, 39, 04, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00] pipe_name=B

To fix that, we need a fix that looks more like a hack: use macros that
result to integer constants instead of enum pipe values. This fixes the
issue, but could break if, for whatever unlikely reason, the underlying
values in the enum are changed.

In the future, we should find a better way to handle this, but for now,
the hack took care of the job:

    $ trace-cmd report -F intel_pipe_enable | tail -n5
         testdisplay-9224  [003] 24324.455375: intel_pipe_enable:    dev 0000:00:02.0, pipe A enable, pipe A: frame=1103, scanline=480, pipe B: frame=0, scanline=0, pipe C: frame=0, scanline=0
         testdisplay-9224  [002] 24324.669845: intel_pipe_enable:    dev 0000:00:02.0, pipe A enable, pipe A: frame=1109, scanline=480, pipe B: frame=0, scanline=0, pipe C: frame=0, scanline=0
         testdisplay-9224  [003] 24324.900105: intel_pipe_enable:    dev 0000:00:02.0, pipe A enable, pipe A: frame=1115, scanline=31, pipe B: frame=0, scanline=0, pipe C: frame=0, scanline=0
         testdisplay-9224  [002] 24325.256408: intel_pipe_enable:    dev 0000:00:02.0, pipe A enable, pipe A: frame=1124, scanline=2171, pipe B: frame=0, scanline=0, pipe C: frame=0, scanline=0
         testdisplay-9224  [003] 24325.380789: intel_pipe_enable:    dev 0000:00:02.0, pipe B enable, pipe A: frame=1131, scanline=979, pipe B: frame=1, scanline=1082, pipe C: frame=0, scanline=0

v2:
  - Statically assert that PIPE_A == _TRACE_PIPE_A. (MattR)

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 .../drm/i915/display/intel_display_trace.h    | 33 ++++++++++++++-----
 1 file changed, 24 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
index 717c144e9a65..eec9aeddad96 100644
--- a/drivers/gpu/drm/i915/display/intel_display_trace.h
+++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
@@ -23,6 +23,21 @@
 #define __dev_name_display(display) dev_name((display)->drm->dev)
 #define __dev_name_kms(obj) dev_name((obj)->base.dev->dev)
 
+/*
+ * Using identifiers from enum pipe in TP_printk() will confuse tools that
+ * parse /sys/kernel/debug/tracing/{xe,i915}/<event>/format. So we use CPP
+ * macros instead.
+ */
+#define _TRACE_PIPE_A	0
+#define _TRACE_PIPE_B	1
+#define _TRACE_PIPE_C	2
+
+/*
+ * Paranoid sanity check that at least the enumeration starts at the
+ * same value as _TRACE_PIPE_A.
+ */
+static_assert(PIPE_A == _TRACE_PIPE_A);
+
 TRACE_EVENT(intel_pipe_enable,
 	    TP_PROTO(struct intel_crtc *crtc),
 	    TP_ARGS(crtc),
@@ -50,9 +65,9 @@ TRACE_EVENT(intel_pipe_enable,
 
 	    TP_printk("dev %s, pipe %c enable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
 		      __get_str(dev), __entry->pipe_name,
-		      __entry->frame[PIPE_A], __entry->scanline[PIPE_A],
-		      __entry->frame[PIPE_B], __entry->scanline[PIPE_B],
-		      __entry->frame[PIPE_C], __entry->scanline[PIPE_C])
+		      __entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A],
+		      __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B],
+		      __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C])
 );
 
 TRACE_EVENT(intel_pipe_disable,
@@ -83,9 +98,9 @@ TRACE_EVENT(intel_pipe_disable,
 
 	    TP_printk("dev %s, pipe %c disable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
 		      __get_str(dev), __entry->pipe_name,
-		      __entry->frame[PIPE_A], __entry->scanline[PIPE_A],
-		      __entry->frame[PIPE_B], __entry->scanline[PIPE_B],
-		      __entry->frame[PIPE_C], __entry->scanline[PIPE_C])
+		      __entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A],
+		      __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B],
+		      __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C])
 );
 
 TRACE_EVENT(intel_crtc_flip_done,
@@ -217,9 +232,9 @@ TRACE_EVENT(intel_memory_cxsr,
 
 	    TP_printk("dev %s, cxsr %s->%s, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
 		      __get_str(dev), str_on_off(__entry->old), str_on_off(__entry->new),
-		      __entry->frame[PIPE_A], __entry->scanline[PIPE_A],
-		      __entry->frame[PIPE_B], __entry->scanline[PIPE_B],
-		      __entry->frame[PIPE_C], __entry->scanline[PIPE_C])
+		      __entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A],
+		      __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B],
+		      __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C])
 );
 
 TRACE_EVENT(g4x_wm,
-- 
2.46.1


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

* [PATCH v2 5/5] drm/i915/display: Cover all possible pipes in TP_printk()
  2024-09-23 19:02 [PATCH v2 0/5] Miscelaneous fixes for display tracepoints Gustavo Sousa
                   ` (3 preceding siblings ...)
  2024-09-23 19:02 ` [PATCH v2 4/5] drm/i915/display: Do not use ids from enum pipe in TP_printk() Gustavo Sousa
@ 2024-09-23 19:02 ` Gustavo Sousa
  2024-09-23 19:23   ` Ville Syrjälä
  2024-09-26 19:26 ` ✗ Fi.CI.CHECKPATCH: warning for Miscelaneous fixes for display tracepoints (rev2) Patchwork
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 21+ messages in thread
From: Gustavo Sousa @ 2024-09-23 19:02 UTC (permalink / raw)
  To: intel-gfx; +Cc: Matt Roper

Tracepoints that display frame and scanline counters for all pipes were
added with commit 1489bba82433 ("drm/i915: Add cxsr toggle tracepoint")
and commit 0b2599a43ca9 ("drm/i915: Add pipe enable/disable
tracepoints"). At that time, we only had pipes A, B and C. Now that we
can also have pipe D, the TP_printk() calls are missing it.

As a quick and dirty fix for that, let's define two common macros to be
used for the format and values respectively, and also ensure we raise a
build bug if more pipes are added to enum pipe.

In the future, we should probably have a way of printing information for
available pipes only.

Cc: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
---
 .../drm/i915/display/intel_display_trace.h    | 43 +++++++++++++------
 1 file changed, 29 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
index eec9aeddad96..9bd8f1e505b0 100644
--- a/drivers/gpu/drm/i915/display/intel_display_trace.h
+++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
@@ -31,6 +31,29 @@
 #define _TRACE_PIPE_A	0
 #define _TRACE_PIPE_B	1
 #define _TRACE_PIPE_C	2
+#define _TRACE_PIPE_D	3
+
+/*
+ * FIXME: Several TP_printk() calls below display frame and scanline numbers for
+ * all possible pipes (regardless of whether they are available) and that is
+ * done with a constant format string. A better approach would be to generate
+ * that info dynamically based on available pipes, but, while we do not have
+ * that implemented yet, let's assert that the constant format string indeed
+ * covers all possible pipes.
+ */
+static_assert(I915_MAX_PIPES - 1 == _TRACE_PIPE_D);
+
+#define _PIPES_FRAME_AND_SCANLINE_FMT		\
+	"pipe A: frame=%u, scanline=%u"		\
+	", pipe B: frame=%u, scanline=%u"	\
+	", pipe C: frame=%u, scanline=%u"	\
+	", pipe D: frame=%u, scanline=%u"
+
+#define _PIPES_FRAME_AND_SCANLINE_VALUES					\
+	__entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A]		\
+	, __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B]	\
+	, __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C]	\
+	, __entry->frame[_TRACE_PIPE_D], __entry->scanline[_TRACE_PIPE_D]
 
 /*
  * Paranoid sanity check that at least the enumeration starts at the
@@ -63,11 +86,8 @@ TRACE_EVENT(intel_pipe_enable,
 			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   ),
 
-	    TP_printk("dev %s, pipe %c enable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
-		      __get_str(dev), __entry->pipe_name,
-		      __entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A],
-		      __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B],
-		      __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C])
+	    TP_printk("dev %s, pipe %c enable, " _PIPES_FRAME_AND_SCANLINE_FMT,
+		      __get_str(dev), __entry->pipe_name, _PIPES_FRAME_AND_SCANLINE_VALUES)
 );
 
 TRACE_EVENT(intel_pipe_disable,
@@ -96,11 +116,8 @@ TRACE_EVENT(intel_pipe_disable,
 			   __entry->pipe_name = pipe_name(crtc->pipe);
 			   ),
 
-	    TP_printk("dev %s, pipe %c disable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
-		      __get_str(dev), __entry->pipe_name,
-		      __entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A],
-		      __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B],
-		      __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C])
+	    TP_printk("dev %s, pipe %c disable, " _PIPES_FRAME_AND_SCANLINE_FMT,
+		      __get_str(dev), __entry->pipe_name, _PIPES_FRAME_AND_SCANLINE_VALUES)
 );
 
 TRACE_EVENT(intel_crtc_flip_done,
@@ -230,11 +247,9 @@ TRACE_EVENT(intel_memory_cxsr,
 			   __entry->new = new;
 			   ),
 
-	    TP_printk("dev %s, cxsr %s->%s, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
+	    TP_printk("dev %s, cxsr %s->%s, " _PIPES_FRAME_AND_SCANLINE_FMT,
 		      __get_str(dev), str_on_off(__entry->old), str_on_off(__entry->new),
-		      __entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A],
-		      __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B],
-		      __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C])
+		      _PIPES_FRAME_AND_SCANLINE_VALUES)
 );
 
 TRACE_EVENT(g4x_wm,
-- 
2.46.1


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

* Re: [PATCH v2 5/5] drm/i915/display: Cover all possible pipes in TP_printk()
  2024-09-23 19:02 ` [PATCH v2 5/5] drm/i915/display: Cover all possible pipes " Gustavo Sousa
@ 2024-09-23 19:23   ` Ville Syrjälä
  2024-09-23 20:06     ` Gustavo Sousa
  0 siblings, 1 reply; 21+ messages in thread
From: Ville Syrjälä @ 2024-09-23 19:23 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-gfx, Matt Roper

On Mon, Sep 23, 2024 at 04:02:54PM -0300, Gustavo Sousa wrote:
> Tracepoints that display frame and scanline counters for all pipes were
> added with commit 1489bba82433 ("drm/i915: Add cxsr toggle tracepoint")
> and commit 0b2599a43ca9 ("drm/i915: Add pipe enable/disable
> tracepoints"). At that time, we only had pipes A, B and C. Now that we
> can also have pipe D, the TP_printk() calls are missing it.
> 
> As a quick and dirty fix for that, let's define two common macros to be
> used for the format and values respectively, and also ensure we raise a
> build bug if more pipes are added to enum pipe.
> 
> In the future, we should probably have a way of printing information for
> available pipes only.
> 
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>  .../drm/i915/display/intel_display_trace.h    | 43 +++++++++++++------
>  1 file changed, 29 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
> index eec9aeddad96..9bd8f1e505b0 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_trace.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
> @@ -31,6 +31,29 @@
>  #define _TRACE_PIPE_A	0
>  #define _TRACE_PIPE_B	1
>  #define _TRACE_PIPE_C	2
> +#define _TRACE_PIPE_D	3
> +
> +/*
> + * FIXME: Several TP_printk() calls below display frame and scanline numbers for
> + * all possible pipes (regardless of whether they are available) and that is
> + * done with a constant format string. A better approach would be to generate
> + * that info dynamically based on available pipes, but, while we do not have
> + * that implemented yet, let's assert that the constant format string indeed
> + * covers all possible pipes.
> + */
> +static_assert(I915_MAX_PIPES - 1 == _TRACE_PIPE_D);
> +
> +#define _PIPES_FRAME_AND_SCANLINE_FMT		\
> +	"pipe A: frame=%u, scanline=%u"		\
> +	", pipe B: frame=%u, scanline=%u"	\
> +	", pipe C: frame=%u, scanline=%u"	\
> +	", pipe D: frame=%u, scanline=%u"

Hmm. We have a lot of tracpoints that just print these for a single
pipe. Is there any decent way to make this macro just for one pipe,
and then resuse it for all the tracepoints whether they trace one
pipe or all of them?

> +
> +#define _PIPES_FRAME_AND_SCANLINE_VALUES					\
> +	__entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A]		\
> +	, __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B]	\
> +	, __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C]	\
> +	, __entry->frame[_TRACE_PIPE_D], __entry->scanline[_TRACE_PIPE_D]
>  
>  /*
>   * Paranoid sanity check that at least the enumeration starts at the
> @@ -63,11 +86,8 @@ TRACE_EVENT(intel_pipe_enable,
>  			   __entry->pipe_name = pipe_name(crtc->pipe);
>  			   ),
>  
> -	    TP_printk("dev %s, pipe %c enable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
> -		      __get_str(dev), __entry->pipe_name,
> -		      __entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A],
> -		      __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B],
> -		      __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C])
> +	    TP_printk("dev %s, pipe %c enable, " _PIPES_FRAME_AND_SCANLINE_FMT,
> +		      __get_str(dev), __entry->pipe_name, _PIPES_FRAME_AND_SCANLINE_VALUES)
>  );
>  
>  TRACE_EVENT(intel_pipe_disable,
> @@ -96,11 +116,8 @@ TRACE_EVENT(intel_pipe_disable,
>  			   __entry->pipe_name = pipe_name(crtc->pipe);
>  			   ),
>  
> -	    TP_printk("dev %s, pipe %c disable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
> -		      __get_str(dev), __entry->pipe_name,
> -		      __entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A],
> -		      __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B],
> -		      __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C])
> +	    TP_printk("dev %s, pipe %c disable, " _PIPES_FRAME_AND_SCANLINE_FMT,
> +		      __get_str(dev), __entry->pipe_name, _PIPES_FRAME_AND_SCANLINE_VALUES)
>  );
>  
>  TRACE_EVENT(intel_crtc_flip_done,
> @@ -230,11 +247,9 @@ TRACE_EVENT(intel_memory_cxsr,
>  			   __entry->new = new;
>  			   ),
>  
> -	    TP_printk("dev %s, cxsr %s->%s, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
> +	    TP_printk("dev %s, cxsr %s->%s, " _PIPES_FRAME_AND_SCANLINE_FMT,
>  		      __get_str(dev), str_on_off(__entry->old), str_on_off(__entry->new),
> -		      __entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A],
> -		      __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B],
> -		      __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C])
> +		      _PIPES_FRAME_AND_SCANLINE_VALUES)
>  );
>  
>  TRACE_EVENT(g4x_wm,
> -- 
> 2.46.1

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH v2 5/5] drm/i915/display: Cover all possible pipes in TP_printk()
  2024-09-23 19:23   ` Ville Syrjälä
@ 2024-09-23 20:06     ` Gustavo Sousa
  2024-09-23 20:18       ` Ville Syrjälä
  0 siblings, 1 reply; 21+ messages in thread
From: Gustavo Sousa @ 2024-09-23 20:06 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx, Matt Roper

Quoting Ville Syrjälä (2024-09-23 16:23:27-03:00)
>On Mon, Sep 23, 2024 at 04:02:54PM -0300, Gustavo Sousa wrote:
>> Tracepoints that display frame and scanline counters for all pipes were
>> added with commit 1489bba82433 ("drm/i915: Add cxsr toggle tracepoint")
>> and commit 0b2599a43ca9 ("drm/i915: Add pipe enable/disable
>> tracepoints"). At that time, we only had pipes A, B and C. Now that we
>> can also have pipe D, the TP_printk() calls are missing it.
>> 
>> As a quick and dirty fix for that, let's define two common macros to be
>> used for the format and values respectively, and also ensure we raise a
>> build bug if more pipes are added to enum pipe.
>> 
>> In the future, we should probably have a way of printing information for
>> available pipes only.
>> 
>> Cc: Matt Roper <matthew.d.roper@intel.com>
>> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
>> ---
>>  .../drm/i915/display/intel_display_trace.h    | 43 +++++++++++++------
>>  1 file changed, 29 insertions(+), 14 deletions(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
>> index eec9aeddad96..9bd8f1e505b0 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_trace.h
>> +++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
>> @@ -31,6 +31,29 @@
>>  #define _TRACE_PIPE_A        0
>>  #define _TRACE_PIPE_B        1
>>  #define _TRACE_PIPE_C        2
>> +#define _TRACE_PIPE_D        3
>> +
>> +/*
>> + * FIXME: Several TP_printk() calls below display frame and scanline numbers for
>> + * all possible pipes (regardless of whether they are available) and that is
>> + * done with a constant format string. A better approach would be to generate
>> + * that info dynamically based on available pipes, but, while we do not have
>> + * that implemented yet, let's assert that the constant format string indeed
>> + * covers all possible pipes.
>> + */
>> +static_assert(I915_MAX_PIPES - 1 == _TRACE_PIPE_D);
>> +
>> +#define _PIPES_FRAME_AND_SCANLINE_FMT                \
>> +        "pipe A: frame=%u, scanline=%u"                \
>> +        ", pipe B: frame=%u, scanline=%u"        \
>> +        ", pipe C: frame=%u, scanline=%u"        \
>> +        ", pipe D: frame=%u, scanline=%u"
>
>Hmm. We have a lot of tracpoints that just print these for a single
>pipe. Is there any decent way to make this macro just for one pipe,
>and then resuse it for all the tracepoints whether they trace one
>pipe or all of them?

Maybe what we could do is to have a local struct pipe_counters type
and have _PIPE_COUNTERS_FMT and _PIPE_COUNTERS_VALUES for it. Then they
could be used here as well as for the single-pipe cases.

--
Gustavo Sousa

>
>> +
>> +#define _PIPES_FRAME_AND_SCANLINE_VALUES                                        \
>> +        __entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A]                \
>> +        , __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B]        \
>> +        , __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C]        \
>> +        , __entry->frame[_TRACE_PIPE_D], __entry->scanline[_TRACE_PIPE_D]
>>  
>>  /*
>>   * Paranoid sanity check that at least the enumeration starts at the
>> @@ -63,11 +86,8 @@ TRACE_EVENT(intel_pipe_enable,
>>                             __entry->pipe_name = pipe_name(crtc->pipe);
>>                             ),
>>  
>> -            TP_printk("dev %s, pipe %c enable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
>> -                      __get_str(dev), __entry->pipe_name,
>> -                      __entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A],
>> -                      __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B],
>> -                      __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C])
>> +            TP_printk("dev %s, pipe %c enable, " _PIPES_FRAME_AND_SCANLINE_FMT,
>> +                      __get_str(dev), __entry->pipe_name, _PIPES_FRAME_AND_SCANLINE_VALUES)
>>  );
>>  
>>  TRACE_EVENT(intel_pipe_disable,
>> @@ -96,11 +116,8 @@ TRACE_EVENT(intel_pipe_disable,
>>                             __entry->pipe_name = pipe_name(crtc->pipe);
>>                             ),
>>  
>> -            TP_printk("dev %s, pipe %c disable, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
>> -                      __get_str(dev), __entry->pipe_name,
>> -                      __entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A],
>> -                      __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B],
>> -                      __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C])
>> +            TP_printk("dev %s, pipe %c disable, " _PIPES_FRAME_AND_SCANLINE_FMT,
>> +                      __get_str(dev), __entry->pipe_name, _PIPES_FRAME_AND_SCANLINE_VALUES)
>>  );
>>  
>>  TRACE_EVENT(intel_crtc_flip_done,
>> @@ -230,11 +247,9 @@ TRACE_EVENT(intel_memory_cxsr,
>>                             __entry->new = new;
>>                             ),
>>  
>> -            TP_printk("dev %s, cxsr %s->%s, pipe A: frame=%u, scanline=%u, pipe B: frame=%u, scanline=%u, pipe C: frame=%u, scanline=%u",
>> +            TP_printk("dev %s, cxsr %s->%s, " _PIPES_FRAME_AND_SCANLINE_FMT,
>>                        __get_str(dev), str_on_off(__entry->old), str_on_off(__entry->new),
>> -                      __entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A],
>> -                      __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B],
>> -                      __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C])
>> +                      _PIPES_FRAME_AND_SCANLINE_VALUES)
>>  );
>>  
>>  TRACE_EVENT(g4x_wm,
>> -- 
>> 2.46.1
>
>-- 
>Ville Syrjälä
>Intel

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

* Re: [PATCH v2 5/5] drm/i915/display: Cover all possible pipes in TP_printk()
  2024-09-23 20:06     ` Gustavo Sousa
@ 2024-09-23 20:18       ` Ville Syrjälä
  2024-09-23 20:47         ` Gustavo Sousa
  0 siblings, 1 reply; 21+ messages in thread
From: Ville Syrjälä @ 2024-09-23 20:18 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-gfx, Matt Roper

On Mon, Sep 23, 2024 at 05:06:00PM -0300, Gustavo Sousa wrote:
> Quoting Ville Syrjälä (2024-09-23 16:23:27-03:00)
> >On Mon, Sep 23, 2024 at 04:02:54PM -0300, Gustavo Sousa wrote:
> >> Tracepoints that display frame and scanline counters for all pipes were
> >> added with commit 1489bba82433 ("drm/i915: Add cxsr toggle tracepoint")
> >> and commit 0b2599a43ca9 ("drm/i915: Add pipe enable/disable
> >> tracepoints"). At that time, we only had pipes A, B and C. Now that we
> >> can also have pipe D, the TP_printk() calls are missing it.
> >> 
> >> As a quick and dirty fix for that, let's define two common macros to be
> >> used for the format and values respectively, and also ensure we raise a
> >> build bug if more pipes are added to enum pipe.
> >> 
> >> In the future, we should probably have a way of printing information for
> >> available pipes only.
> >> 
> >> Cc: Matt Roper <matthew.d.roper@intel.com>
> >> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
> >> ---
> >>  .../drm/i915/display/intel_display_trace.h    | 43 +++++++++++++------
> >>  1 file changed, 29 insertions(+), 14 deletions(-)
> >> 
> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
> >> index eec9aeddad96..9bd8f1e505b0 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_display_trace.h
> >> +++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
> >> @@ -31,6 +31,29 @@
> >>  #define _TRACE_PIPE_A        0
> >>  #define _TRACE_PIPE_B        1
> >>  #define _TRACE_PIPE_C        2
> >> +#define _TRACE_PIPE_D        3
> >> +
> >> +/*
> >> + * FIXME: Several TP_printk() calls below display frame and scanline numbers for
> >> + * all possible pipes (regardless of whether they are available) and that is
> >> + * done with a constant format string. A better approach would be to generate
> >> + * that info dynamically based on available pipes, but, while we do not have
> >> + * that implemented yet, let's assert that the constant format string indeed
> >> + * covers all possible pipes.
> >> + */
> >> +static_assert(I915_MAX_PIPES - 1 == _TRACE_PIPE_D);
> >> +
> >> +#define _PIPES_FRAME_AND_SCANLINE_FMT                \
> >> +        "pipe A: frame=%u, scanline=%u"                \
> >> +        ", pipe B: frame=%u, scanline=%u"        \
> >> +        ", pipe C: frame=%u, scanline=%u"        \
> >> +        ", pipe D: frame=%u, scanline=%u"
> >
> >Hmm. We have a lot of tracpoints that just print these for a single
> >pipe. Is there any decent way to make this macro just for one pipe,
> >and then resuse it for all the tracepoints whether they trace one
> >pipe or all of them?
> 
> Maybe what we could do is to have a local struct pipe_counters type
> and have _PIPE_COUNTERS_FMT and _PIPE_COUNTERS_VALUES for it. Then they
> could be used here as well as for the single-pipe cases.

Can we use structs here or would that confuse trace-cmd as well?

-- 
Ville Syrjälä
Intel

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

* Re: [PATCH v2 5/5] drm/i915/display: Cover all possible pipes in TP_printk()
  2024-09-23 20:18       ` Ville Syrjälä
@ 2024-09-23 20:47         ` Gustavo Sousa
  2024-09-23 20:48           ` Gustavo Sousa
  0 siblings, 1 reply; 21+ messages in thread
From: Gustavo Sousa @ 2024-09-23 20:47 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx, Matt Roper

Quoting Ville Syrjälä (2024-09-23 17:18:39-03:00)
>On Mon, Sep 23, 2024 at 05:06:00PM -0300, Gustavo Sousa wrote:
>> Quoting Ville Syrjälä (2024-09-23 16:23:27-03:00)
>> >On Mon, Sep 23, 2024 at 04:02:54PM -0300, Gustavo Sousa wrote:
>> >> Tracepoints that display frame and scanline counters for all pipes were
>> >> added with commit 1489bba82433 ("drm/i915: Add cxsr toggle tracepoint")
>> >> and commit 0b2599a43ca9 ("drm/i915: Add pipe enable/disable
>> >> tracepoints"). At that time, we only had pipes A, B and C. Now that we
>> >> can also have pipe D, the TP_printk() calls are missing it.
>> >> 
>> >> As a quick and dirty fix for that, let's define two common macros to be
>> >> used for the format and values respectively, and also ensure we raise a
>> >> build bug if more pipes are added to enum pipe.
>> >> 
>> >> In the future, we should probably have a way of printing information for
>> >> available pipes only.
>> >> 
>> >> Cc: Matt Roper <matthew.d.roper@intel.com>
>> >> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
>> >> ---
>> >>  .../drm/i915/display/intel_display_trace.h    | 43 +++++++++++++------
>> >>  1 file changed, 29 insertions(+), 14 deletions(-)
>> >> 
>> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
>> >> index eec9aeddad96..9bd8f1e505b0 100644
>> >> --- a/drivers/gpu/drm/i915/display/intel_display_trace.h
>> >> +++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
>> >> @@ -31,6 +31,29 @@
>> >>  #define _TRACE_PIPE_A        0
>> >>  #define _TRACE_PIPE_B        1
>> >>  #define _TRACE_PIPE_C        2
>> >> +#define _TRACE_PIPE_D        3
>> >> +
>> >> +/*
>> >> + * FIXME: Several TP_printk() calls below display frame and scanline numbers for
>> >> + * all possible pipes (regardless of whether they are available) and that is
>> >> + * done with a constant format string. A better approach would be to generate
>> >> + * that info dynamically based on available pipes, but, while we do not have
>> >> + * that implemented yet, let's assert that the constant format string indeed
>> >> + * covers all possible pipes.
>> >> + */
>> >> +static_assert(I915_MAX_PIPES - 1 == _TRACE_PIPE_D);
>> >> +
>> >> +#define _PIPES_FRAME_AND_SCANLINE_FMT                \
>> >> +        "pipe A: frame=%u, scanline=%u"                \
>> >> +        ", pipe B: frame=%u, scanline=%u"        \
>> >> +        ", pipe C: frame=%u, scanline=%u"        \
>> >> +        ", pipe D: frame=%u, scanline=%u"
>> >
>> >Hmm. We have a lot of tracpoints that just print these for a single
>> >pipe. Is there any decent way to make this macro just for one pipe,
>> >and then resuse it for all the tracepoints whether they trace one
>> >pipe or all of them?
>> 
>> Maybe what we could do is to have a local struct pipe_counters type
>> and have _PIPE_COUNTERS_FMT and _PIPE_COUNTERS_VALUES for it. Then they
>> could be used here as well as for the single-pipe cases.
>
>Can we use structs here or would that confuse trace-cmd as well?

Ugh... Right. I'm afraid that would not work indeed.

I quickly scammed through libtraceevent's event-parse.c and it looks
like it does not support that.

--
Gustavo Sousa

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

* Re: [PATCH v2 5/5] drm/i915/display: Cover all possible pipes in TP_printk()
  2024-09-23 20:47         ` Gustavo Sousa
@ 2024-09-23 20:48           ` Gustavo Sousa
  2024-09-23 21:08             ` Ville Syrjälä
  0 siblings, 1 reply; 21+ messages in thread
From: Gustavo Sousa @ 2024-09-23 20:48 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx, Matt Roper

Quoting Gustavo Sousa (2024-09-23 17:47:08-03:00)
>Quoting Ville Syrjälä (2024-09-23 17:18:39-03:00)
>>On Mon, Sep 23, 2024 at 05:06:00PM -0300, Gustavo Sousa wrote:
>>> Quoting Ville Syrjälä (2024-09-23 16:23:27-03:00)
>>> >On Mon, Sep 23, 2024 at 04:02:54PM -0300, Gustavo Sousa wrote:
>>> >> Tracepoints that display frame and scanline counters for all pipes were
>>> >> added with commit 1489bba82433 ("drm/i915: Add cxsr toggle tracepoint")
>>> >> and commit 0b2599a43ca9 ("drm/i915: Add pipe enable/disable
>>> >> tracepoints"). At that time, we only had pipes A, B and C. Now that we
>>> >> can also have pipe D, the TP_printk() calls are missing it.
>>> >> 
>>> >> As a quick and dirty fix for that, let's define two common macros to be
>>> >> used for the format and values respectively, and also ensure we raise a
>>> >> build bug if more pipes are added to enum pipe.
>>> >> 
>>> >> In the future, we should probably have a way of printing information for
>>> >> available pipes only.
>>> >> 
>>> >> Cc: Matt Roper <matthew.d.roper@intel.com>
>>> >> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
>>> >> ---
>>> >>  .../drm/i915/display/intel_display_trace.h    | 43 +++++++++++++------
>>> >>  1 file changed, 29 insertions(+), 14 deletions(-)
>>> >> 
>>> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
>>> >> index eec9aeddad96..9bd8f1e505b0 100644
>>> >> --- a/drivers/gpu/drm/i915/display/intel_display_trace.h
>>> >> +++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
>>> >> @@ -31,6 +31,29 @@
>>> >>  #define _TRACE_PIPE_A        0
>>> >>  #define _TRACE_PIPE_B        1
>>> >>  #define _TRACE_PIPE_C        2
>>> >> +#define _TRACE_PIPE_D        3
>>> >> +
>>> >> +/*
>>> >> + * FIXME: Several TP_printk() calls below display frame and scanline numbers for
>>> >> + * all possible pipes (regardless of whether they are available) and that is
>>> >> + * done with a constant format string. A better approach would be to generate
>>> >> + * that info dynamically based on available pipes, but, while we do not have
>>> >> + * that implemented yet, let's assert that the constant format string indeed
>>> >> + * covers all possible pipes.
>>> >> + */
>>> >> +static_assert(I915_MAX_PIPES - 1 == _TRACE_PIPE_D);
>>> >> +
>>> >> +#define _PIPES_FRAME_AND_SCANLINE_FMT                \
>>> >> +        "pipe A: frame=%u, scanline=%u"                \
>>> >> +        ", pipe B: frame=%u, scanline=%u"        \
>>> >> +        ", pipe C: frame=%u, scanline=%u"        \
>>> >> +        ", pipe D: frame=%u, scanline=%u"
>>> >
>>> >Hmm. We have a lot of tracpoints that just print these for a single
>>> >pipe. Is there any decent way to make this macro just for one pipe,
>>> >and then resuse it for all the tracepoints whether they trace one
>>> >pipe or all of them?
>>> 
>>> Maybe what we could do is to have a local struct pipe_counters type
>>> and have _PIPE_COUNTERS_FMT and _PIPE_COUNTERS_VALUES for it. Then they
>>> could be used here as well as for the single-pipe cases.
>>
>>Can we use structs here or would that confuse trace-cmd as well?
>
>Ugh... Right. I'm afraid that would not work indeed.
>
>I quickly scammed through libtraceevent's event-parse.c and it looks

Oops!

s/scammed/scanned/

:-)

--
Gustavo Sousa

>like it does not support that.
>
>--
>Gustavo Sousa

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

* Re: [PATCH v2 5/5] drm/i915/display: Cover all possible pipes in TP_printk()
  2024-09-23 20:48           ` Gustavo Sousa
@ 2024-09-23 21:08             ` Ville Syrjälä
  0 siblings, 0 replies; 21+ messages in thread
From: Ville Syrjälä @ 2024-09-23 21:08 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-gfx, Matt Roper

On Mon, Sep 23, 2024 at 05:48:29PM -0300, Gustavo Sousa wrote:
> Quoting Gustavo Sousa (2024-09-23 17:47:08-03:00)
> >Quoting Ville Syrjälä (2024-09-23 17:18:39-03:00)
> >>On Mon, Sep 23, 2024 at 05:06:00PM -0300, Gustavo Sousa wrote:
> >>> Quoting Ville Syrjälä (2024-09-23 16:23:27-03:00)
> >>> >On Mon, Sep 23, 2024 at 04:02:54PM -0300, Gustavo Sousa wrote:
> >>> >> Tracepoints that display frame and scanline counters for all pipes were
> >>> >> added with commit 1489bba82433 ("drm/i915: Add cxsr toggle tracepoint")
> >>> >> and commit 0b2599a43ca9 ("drm/i915: Add pipe enable/disable
> >>> >> tracepoints"). At that time, we only had pipes A, B and C. Now that we
> >>> >> can also have pipe D, the TP_printk() calls are missing it.
> >>> >> 
> >>> >> As a quick and dirty fix for that, let's define two common macros to be
> >>> >> used for the format and values respectively, and also ensure we raise a
> >>> >> build bug if more pipes are added to enum pipe.
> >>> >> 
> >>> >> In the future, we should probably have a way of printing information for
> >>> >> available pipes only.
> >>> >> 
> >>> >> Cc: Matt Roper <matthew.d.roper@intel.com>
> >>> >> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
> >>> >> ---
> >>> >>  .../drm/i915/display/intel_display_trace.h    | 43 +++++++++++++------
> >>> >>  1 file changed, 29 insertions(+), 14 deletions(-)
> >>> >> 
> >>> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_trace.h b/drivers/gpu/drm/i915/display/intel_display_trace.h
> >>> >> index eec9aeddad96..9bd8f1e505b0 100644
> >>> >> --- a/drivers/gpu/drm/i915/display/intel_display_trace.h
> >>> >> +++ b/drivers/gpu/drm/i915/display/intel_display_trace.h
> >>> >> @@ -31,6 +31,29 @@
> >>> >>  #define _TRACE_PIPE_A        0
> >>> >>  #define _TRACE_PIPE_B        1
> >>> >>  #define _TRACE_PIPE_C        2
> >>> >> +#define _TRACE_PIPE_D        3
> >>> >> +
> >>> >> +/*
> >>> >> + * FIXME: Several TP_printk() calls below display frame and scanline numbers for
> >>> >> + * all possible pipes (regardless of whether they are available) and that is
> >>> >> + * done with a constant format string. A better approach would be to generate
> >>> >> + * that info dynamically based on available pipes, but, while we do not have
> >>> >> + * that implemented yet, let's assert that the constant format string indeed
> >>> >> + * covers all possible pipes.
> >>> >> + */
> >>> >> +static_assert(I915_MAX_PIPES - 1 == _TRACE_PIPE_D);
> >>> >> +
> >>> >> +#define _PIPES_FRAME_AND_SCANLINE_FMT                \
> >>> >> +        "pipe A: frame=%u, scanline=%u"                \
> >>> >> +        ", pipe B: frame=%u, scanline=%u"        \
> >>> >> +        ", pipe C: frame=%u, scanline=%u"        \
> >>> >> +        ", pipe D: frame=%u, scanline=%u"
> >>> >
> >>> >Hmm. We have a lot of tracpoints that just print these for a single
> >>> >pipe. Is there any decent way to make this macro just for one pipe,
> >>> >and then resuse it for all the tracepoints whether they trace one
> >>> >pipe or all of them?
> >>> 
> >>> Maybe what we could do is to have a local struct pipe_counters type
> >>> and have _PIPE_COUNTERS_FMT and _PIPE_COUNTERS_VALUES for it. Then they
> >>> could be used here as well as for the single-pipe cases.
> >>
> >>Can we use structs here or would that confuse trace-cmd as well?
> >
> >Ugh... Right. I'm afraid that would not work indeed.
> >
> >I quickly scammed through libtraceevent's event-parse.c and it looks
> 
> Oops!
> 
> s/scammed/scanned/
> 
> :-)

Hehe.

Oh well. I suppose we could have another similar macro for the
single pipe case. Or just no macros and hand roll it all. Shrug.
But we can also go with whatever you have already, and leave the
rest for the future.

Never used trace-cmd for this stuff, but I'll take your word
for it. Series is
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

-- 
Ville Syrjälä
Intel

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

* ✗ Fi.CI.CHECKPATCH: warning for Miscelaneous fixes for display tracepoints (rev2)
  2024-09-23 19:02 [PATCH v2 0/5] Miscelaneous fixes for display tracepoints Gustavo Sousa
                   ` (4 preceding siblings ...)
  2024-09-23 19:02 ` [PATCH v2 5/5] drm/i915/display: Cover all possible pipes " Gustavo Sousa
@ 2024-09-26 19:26 ` Patchwork
  2024-09-26 19:28 ` ✗ Fi.CI.BAT: failure " Patchwork
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2024-09-26 19:26 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-gfx

== Series Details ==

Series: Miscelaneous fixes for display tracepoints (rev2)
URL   : https://patchwork.freedesktop.org/series/137978/
State : warning

== Summary ==

Error: dim checkpatch failed
4afc5faab7c8 drm/i915/display: Fix out-of-bounds access in pipe-related tracepoints
-:19: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#19: 
         testdisplay-6715  [002] 17591.063491: intel_pipe_enable:     dev=0000:00:02.0

total: 0 errors, 1 warnings, 0 checks, 37 lines checked
fa8efe9b1469 drm/i915/display: Zero-initialize frame/scanline counts in tracepoints
-:19: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#19: 
[1] https://lore.kernel.org/all/20240918224927.GU5091@mdroper-desk1.amr.corp.intel.com/

total: 0 errors, 1 warnings, 0 checks, 37 lines checked
54b5b3687c5a drm/i915/display: Store pipe name in trace events
-:20: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#20: 
    # cat /sys/kernel/debug/tracing/events/i915/intel_pipe_update_start/format

total: 0 errors, 1 warnings, 0 checks, 488 lines checked
07797d638007 drm/i915/display: Do not use ids from enum pipe in TP_printk()
-:14: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#14: 
    # cat /sys/kernel/debug/tracing/events/i915/intel_pipe_enable/format | grep '^print fmt'

total: 0 errors, 1 warnings, 0 checks, 57 lines checked
c5018df5ee12 drm/i915/display: Cover all possible pipes in TP_printk()
-:52: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
#52: FILE: drivers/gpu/drm/i915/display/intel_display_trace.h:52:
+#define _PIPES_FRAME_AND_SCANLINE_VALUES					\
+	__entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A]		\
+	, __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B]	\
+	, __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C]	\
+	, __entry->frame[_TRACE_PIPE_D], __entry->scanline[_TRACE_PIPE_D]

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



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

* ✗ Fi.CI.BAT: failure for Miscelaneous fixes for display tracepoints (rev2)
  2024-09-23 19:02 [PATCH v2 0/5] Miscelaneous fixes for display tracepoints Gustavo Sousa
                   ` (5 preceding siblings ...)
  2024-09-26 19:26 ` ✗ Fi.CI.CHECKPATCH: warning for Miscelaneous fixes for display tracepoints (rev2) Patchwork
@ 2024-09-26 19:28 ` Patchwork
  2024-10-04 11:12   ` Gustavo Sousa
  2024-10-08 19:46 ` ✗ Fi.CI.CHECKPATCH: warning for Miscelaneous fixes for display tracepoints (rev3) Patchwork
  2024-10-08 19:55 ` ✗ Fi.CI.BAT: failure " Patchwork
  8 siblings, 1 reply; 21+ messages in thread
From: Patchwork @ 2024-09-26 19:28 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-gfx

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

== Series Details ==

Series: Miscelaneous fixes for display tracepoints (rev2)
URL   : https://patchwork.freedesktop.org/series/137978/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_15449 -> Patchwork_137978v2
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_137978v2 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_137978v2, please notify your bug team (I915-ci-infra@lists.freedesktop.org) 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_137978v2/index.html

Participating hosts (37 -> 37)
------------------------------

  Additional (2): bat-dg2-14 bat-arls-1 
  Missing    (2): bat-twl-1 fi-snb-2520m 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live:
    - bat-mtlp-6:         [PASS][1] -> [ABORT][2] +1 other test abort
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/bat-mtlp-6/igt@i915_selftest@live.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-mtlp-6/igt@i915_selftest@live.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - bat-arls-1:         NOTRUN -> [SKIP][3] ([i915#9318])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@debugfs_test@basic-hwmon.html

  * igt@gem_lmem_swapping@random-engines:
    - bat-arls-1:         NOTRUN -> [SKIP][4] ([i915#11671]) +3 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@gem_lmem_swapping@random-engines.html

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

  * igt@gem_render_tiled_blits@basic:
    - bat-dg2-14:         NOTRUN -> [SKIP][7] ([i915#4079]) +1 other test skip
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@gem_render_tiled_blits@basic.html
    - bat-arls-1:         NOTRUN -> [SKIP][8] ([i915#10211] / [i915#4079])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@gem_render_tiled_blits@basic.html

  * igt@gem_tiled_blits@basic:
    - bat-arls-1:         NOTRUN -> [SKIP][9] ([i915#10196] / [i915#4077]) +2 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@gem_tiled_blits@basic.html

  * igt@gem_tiled_fence_blits@basic:
    - bat-dg2-14:         NOTRUN -> [SKIP][10] ([i915#4077]) +2 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@gem_tiled_fence_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - bat-arls-1:         NOTRUN -> [SKIP][11] ([i915#4079])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_rps@basic-api:
    - bat-dg2-14:         NOTRUN -> [SKIP][12] ([i915#6621])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@i915_pm_rps@basic-api.html
    - bat-arls-1:         NOTRUN -> [SKIP][13] ([i915#11681])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@i915_pm_rps@basic-api.html

  * igt@i915_selftest@live:
    - bat-arls-1:         NOTRUN -> [DMESG-WARN][14] ([i915#10341] / [i915#12133])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@i915_selftest@live.html

  * igt@i915_selftest@live@hangcheck:
    - bat-arls-1:         NOTRUN -> [DMESG-WARN][15] ([i915#11349])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@i915_selftest@live@hangcheck.html

  * igt@kms_addfb_basic@addfb25-x-tiled-legacy:
    - bat-arls-1:         NOTRUN -> [SKIP][16] ([i915#10200]) +8 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-arls-1:         NOTRUN -> [SKIP][17] ([i915#10200] / [i915#12203])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
    - bat-dg2-14:         NOTRUN -> [SKIP][18] ([i915#5190])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_addfb_basic@basic-x-tiled-legacy:
    - bat-dg2-14:         NOTRUN -> [SKIP][19] ([i915#4212]) +7 other tests skip
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_addfb_basic@basic-x-tiled-legacy.html

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

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-dg2-14:         NOTRUN -> [SKIP][21] ([i915#4103] / [i915#4213]) +1 other test skip
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - bat-arls-1:         NOTRUN -> [SKIP][22] ([i915#11346]) +1 other test skip
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-dg2-14:         NOTRUN -> [SKIP][23] ([i915#3555] / [i915#3840])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_dsc@dsc-basic.html
    - bat-arls-1:         NOTRUN -> [SKIP][24] ([i915#11346] / [i915#9886])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_dsc@dsc-basic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-dg2-14:         NOTRUN -> [SKIP][25]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_force_connector_basic@force-load-detect.html
    - bat-arls-1:         NOTRUN -> [SKIP][26] ([i915#10207] / [i915#11346])
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - bat-dg2-14:         NOTRUN -> [SKIP][27] ([i915#5274])
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_pm_backlight@basic-brightness:
    - bat-dg2-14:         NOTRUN -> [SKIP][28] ([i915#5354])
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_pm_backlight@basic-brightness.html
    - bat-arls-1:         NOTRUN -> [SKIP][29] ([i915#11346] / [i915#9812])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_psr@psr-primary-mmap-gtt:
    - bat-arls-1:         NOTRUN -> [SKIP][30] ([i915#11346] / [i915#9732]) +3 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_psr@psr-primary-mmap-gtt.html

  * igt@kms_psr@psr-sprite-plane-onoff:
    - bat-dg2-14:         NOTRUN -> [SKIP][31] ([i915#1072] / [i915#9732]) +3 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_psr@psr-sprite-plane-onoff.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-dg2-14:         NOTRUN -> [SKIP][32] ([i915#3555])
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-arls-1:         NOTRUN -> [SKIP][33] ([i915#10208] / [i915#8809])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - bat-dg2-14:         NOTRUN -> [SKIP][34] ([i915#3708])
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-fence-mmap:
    - bat-dg2-14:         NOTRUN -> [SKIP][35] ([i915#3708] / [i915#4077]) +1 other test skip
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-fence-read:
    - bat-arls-1:         NOTRUN -> [SKIP][36] ([i915#10212] / [i915#3708])
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-gtt:
    - bat-arls-1:         NOTRUN -> [SKIP][37] ([i915#10196] / [i915#3708] / [i915#4077]) +1 other test skip
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@basic-read:
    - bat-dg2-14:         NOTRUN -> [SKIP][38] ([i915#3291] / [i915#3708]) +2 other tests skip
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@prime_vgem@basic-read.html
    - bat-arls-1:         NOTRUN -> [SKIP][39] ([i915#10214] / [i915#3708])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@basic-write:
    - bat-arls-1:         NOTRUN -> [SKIP][40] ([i915#10216] / [i915#3708])
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

  * igt@i915_selftest@live:
    - fi-glk-j4005:       [ABORT][41] -> [PASS][42]
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/fi-glk-j4005/igt@i915_selftest@live.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/fi-glk-j4005/igt@i915_selftest@live.html

  * igt@i915_selftest@live@execlists:
    - fi-glk-j4005:       [ABORT][43] ([i915#11022]) -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/fi-glk-j4005/igt@i915_selftest@live@execlists.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/fi-glk-j4005/igt@i915_selftest@live@execlists.html

  
#### Warnings ####

  * igt@i915_module_load@reload:
    - bat-arls-5:         [DMESG-WARN][45] ([i915#11637]) -> [DMESG-WARN][46] ([i915#11637] / [i915#1982])
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/bat-arls-5/igt@i915_module_load@reload.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-5/igt@i915_module_load@reload.html

  * igt@i915_selftest@live:
    - bat-arls-5:         [DMESG-WARN][47] ([i915#10341] / [i915#12133]) -> [ABORT][48] ([i915#12061] / [i915#12133])
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/bat-arls-5/igt@i915_selftest@live.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-5/igt@i915_selftest@live.html

  * igt@i915_selftest@live@workarounds:
    - bat-arls-5:         [DMESG-WARN][49] ([i915#10341] / [i915#11637]) -> [ABORT][50] ([i915#12061])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/bat-arls-5/igt@i915_selftest@live@workarounds.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-5/igt@i915_selftest@live@workarounds.html

  
  [i915#10196]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10196
  [i915#10200]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10200
  [i915#10207]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10207
  [i915#10208]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10208
  [i915#10211]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10211
  [i915#10212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10212
  [i915#10214]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10214
  [i915#10216]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10216
  [i915#10341]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10341
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#11022]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11022
  [i915#11343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11343
  [i915#11346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11346
  [i915#11349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11349
  [i915#11637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11637
  [i915#11671]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11671
  [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#12133]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12133
  [i915#12203]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12203
  [i915#1982]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1982
  [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
  [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4215
  [i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
  [i915#5274]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5274
  [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
  [i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
  [i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809
  [i915#9318]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9318
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
  [i915#9886]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9886


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

  * Linux: CI_DRM_15449 -> Patchwork_137978v2

  CI-20190529: 20190529
  CI_DRM_15449: f82c02cc01798312082cc41feaa473538e517c7b @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_8034: 73eed10d50c7d1f07df07214ae62924d4e377e12 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_137978v2: f82c02cc01798312082cc41feaa473538e517c7b @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

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

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

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

* Re: ✗ Fi.CI.BAT: failure for Miscelaneous fixes for display tracepoints (rev2)
  2024-09-26 19:28 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2024-10-04 11:12   ` Gustavo Sousa
  2024-10-04 11:33     ` Jani Nikula
  0 siblings, 1 reply; 21+ messages in thread
From: Gustavo Sousa @ 2024-10-04 11:12 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula, Rodrigo Vivi, i915-ci-infra

Quoting Patchwork (2024-09-26 16:28:07-03:00)
>== Series Details ==
>
>Series: Miscelaneous fixes for display tracepoints (rev2)
>URL   : https://patchwork.freedesktop.org/series/137978/
>State : failure
>
>== Summary ==
>
>CI Bug Log - changes from CI_DRM_15449 -> Patchwork_137978v2
>====================================================
>
>Summary
>-------
>
>  **FAILURE**
>
>  Serious unknown changes coming with Patchwork_137978v2 absolutely need to be
>  verified manually.
>  
>  If you think the reported changes have nothing to do with the changes
>  introduced in Patchwork_137978v2, please notify your bug team (I915-ci-infra@lists.freedesktop.org) 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_137978v2/index.html
>
>Participating hosts (37 -> 37)
>------------------------------
>
>  Additional (2): bat-dg2-14 bat-arls-1 
>  Missing    (2): bat-twl-1 fi-snb-2520m 
>
>Possible new issues
>-------------------
>
>  Here are the unknown changes that may have been introduced in Patchwork_137978v2:
>
>### IGT changes ###
>
>#### Possible regressions ####
>
>  * igt@i915_selftest@live:
>    - bat-mtlp-6:         [PASS][1] -> [ABORT][2] +1 other test abort
>   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/bat-mtlp-6/igt@i915_selftest@live.html
>   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-mtlp-6/igt@i915_selftest@live.html

This does not seem related to this series, which is only about
tracepoints.

Jani or Rodrigo, ack to merge this series without triggering a new CI
cycle? I don't believe CI exercises tests that enable tracepoints. Or
does it?

--
Gustavo Sousa

>
>  
>Known issues
>------------
>
>  Here are the changes found in Patchwork_137978v2 that come from known issues:
>
>### IGT changes ###
>
>#### Issues hit ####
>
>  * igt@debugfs_test@basic-hwmon:
>    - bat-arls-1:         NOTRUN -> [SKIP][3] ([i915#9318])
>   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@debugfs_test@basic-hwmon.html
>
>  * igt@gem_lmem_swapping@random-engines:
>    - bat-arls-1:         NOTRUN -> [SKIP][4] ([i915#11671]) +3 other tests skip
>   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@gem_lmem_swapping@random-engines.html
>
>  * igt@gem_mmap@basic:
>    - bat-arls-1:         NOTRUN -> [SKIP][5] ([i915#11343] / [i915#4083])
>   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@gem_mmap@basic.html
>    - bat-dg2-14:         NOTRUN -> [SKIP][6] ([i915#4083])
>   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@gem_mmap@basic.html
>
>  * igt@gem_render_tiled_blits@basic:
>    - bat-dg2-14:         NOTRUN -> [SKIP][7] ([i915#4079]) +1 other test skip
>   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@gem_render_tiled_blits@basic.html
>    - bat-arls-1:         NOTRUN -> [SKIP][8] ([i915#10211] / [i915#4079])
>   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@gem_render_tiled_blits@basic.html
>
>  * igt@gem_tiled_blits@basic:
>    - bat-arls-1:         NOTRUN -> [SKIP][9] ([i915#10196] / [i915#4077]) +2 other tests skip
>   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@gem_tiled_blits@basic.html
>
>  * igt@gem_tiled_fence_blits@basic:
>    - bat-dg2-14:         NOTRUN -> [SKIP][10] ([i915#4077]) +2 other tests skip
>   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@gem_tiled_fence_blits@basic.html
>
>  * igt@gem_tiled_pread_basic:
>    - bat-arls-1:         NOTRUN -> [SKIP][11] ([i915#4079])
>   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@gem_tiled_pread_basic.html
>
>  * igt@i915_pm_rps@basic-api:
>    - bat-dg2-14:         NOTRUN -> [SKIP][12] ([i915#6621])
>   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@i915_pm_rps@basic-api.html
>    - bat-arls-1:         NOTRUN -> [SKIP][13] ([i915#11681])
>   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@i915_pm_rps@basic-api.html
>
>  * igt@i915_selftest@live:
>    - bat-arls-1:         NOTRUN -> [DMESG-WARN][14] ([i915#10341] / [i915#12133])
>   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@i915_selftest@live.html
>
>  * igt@i915_selftest@live@hangcheck:
>    - bat-arls-1:         NOTRUN -> [DMESG-WARN][15] ([i915#11349])
>   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@i915_selftest@live@hangcheck.html
>
>  * igt@kms_addfb_basic@addfb25-x-tiled-legacy:
>    - bat-arls-1:         NOTRUN -> [SKIP][16] ([i915#10200]) +8 other tests skip
>   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html
>
>  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
>    - bat-arls-1:         NOTRUN -> [SKIP][17] ([i915#10200] / [i915#12203])
>   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
>    - bat-dg2-14:         NOTRUN -> [SKIP][18] ([i915#5190])
>   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html
>
>  * igt@kms_addfb_basic@basic-x-tiled-legacy:
>    - bat-dg2-14:         NOTRUN -> [SKIP][19] ([i915#4212]) +7 other tests skip
>   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_addfb_basic@basic-x-tiled-legacy.html
>
>  * igt@kms_addfb_basic@basic-y-tiled-legacy:
>    - bat-dg2-14:         NOTRUN -> [SKIP][20] ([i915#4215] / [i915#5190])
>   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_addfb_basic@basic-y-tiled-legacy.html
>
>  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
>    - bat-dg2-14:         NOTRUN -> [SKIP][21] ([i915#4103] / [i915#4213]) +1 other test skip
>   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
>    - bat-arls-1:         NOTRUN -> [SKIP][22] ([i915#11346]) +1 other test skip
>   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
>
>  * igt@kms_dsc@dsc-basic:
>    - bat-dg2-14:         NOTRUN -> [SKIP][23] ([i915#3555] / [i915#3840])
>   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_dsc@dsc-basic.html
>    - bat-arls-1:         NOTRUN -> [SKIP][24] ([i915#11346] / [i915#9886])
>   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_dsc@dsc-basic.html
>
>  * igt@kms_force_connector_basic@force-load-detect:
>    - bat-dg2-14:         NOTRUN -> [SKIP][25]
>   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_force_connector_basic@force-load-detect.html
>    - bat-arls-1:         NOTRUN -> [SKIP][26] ([i915#10207] / [i915#11346])
>   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_force_connector_basic@force-load-detect.html
>
>  * igt@kms_force_connector_basic@prune-stale-modes:
>    - bat-dg2-14:         NOTRUN -> [SKIP][27] ([i915#5274])
>   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_force_connector_basic@prune-stale-modes.html
>
>  * igt@kms_pm_backlight@basic-brightness:
>    - bat-dg2-14:         NOTRUN -> [SKIP][28] ([i915#5354])
>   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_pm_backlight@basic-brightness.html
>    - bat-arls-1:         NOTRUN -> [SKIP][29] ([i915#11346] / [i915#9812])
>   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_pm_backlight@basic-brightness.html
>
>  * igt@kms_psr@psr-primary-mmap-gtt:
>    - bat-arls-1:         NOTRUN -> [SKIP][30] ([i915#11346] / [i915#9732]) +3 other tests skip
>   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_psr@psr-primary-mmap-gtt.html
>
>  * igt@kms_psr@psr-sprite-plane-onoff:
>    - bat-dg2-14:         NOTRUN -> [SKIP][31] ([i915#1072] / [i915#9732]) +3 other tests skip
>   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_psr@psr-sprite-plane-onoff.html
>
>  * igt@kms_setmode@basic-clone-single-crtc:
>    - bat-dg2-14:         NOTRUN -> [SKIP][32] ([i915#3555])
>   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@kms_setmode@basic-clone-single-crtc.html
>    - bat-arls-1:         NOTRUN -> [SKIP][33] ([i915#10208] / [i915#8809])
>   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@kms_setmode@basic-clone-single-crtc.html
>
>  * igt@prime_vgem@basic-fence-flip:
>    - bat-dg2-14:         NOTRUN -> [SKIP][34] ([i915#3708])
>   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@prime_vgem@basic-fence-flip.html
>
>  * igt@prime_vgem@basic-fence-mmap:
>    - bat-dg2-14:         NOTRUN -> [SKIP][35] ([i915#3708] / [i915#4077]) +1 other test skip
>   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@prime_vgem@basic-fence-mmap.html
>
>  * igt@prime_vgem@basic-fence-read:
>    - bat-arls-1:         NOTRUN -> [SKIP][36] ([i915#10212] / [i915#3708])
>   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@prime_vgem@basic-fence-read.html
>
>  * igt@prime_vgem@basic-gtt:
>    - bat-arls-1:         NOTRUN -> [SKIP][37] ([i915#10196] / [i915#3708] / [i915#4077]) +1 other test skip
>   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@prime_vgem@basic-gtt.html
>
>  * igt@prime_vgem@basic-read:
>    - bat-dg2-14:         NOTRUN -> [SKIP][38] ([i915#3291] / [i915#3708]) +2 other tests skip
>   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-dg2-14/igt@prime_vgem@basic-read.html
>    - bat-arls-1:         NOTRUN -> [SKIP][39] ([i915#10214] / [i915#3708])
>   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@prime_vgem@basic-read.html
>
>  * igt@prime_vgem@basic-write:
>    - bat-arls-1:         NOTRUN -> [SKIP][40] ([i915#10216] / [i915#3708])
>   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-1/igt@prime_vgem@basic-write.html
>
>  
>#### Possible fixes ####
>
>  * igt@i915_selftest@live:
>    - fi-glk-j4005:       [ABORT][41] -> [PASS][42]
>   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/fi-glk-j4005/igt@i915_selftest@live.html
>   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/fi-glk-j4005/igt@i915_selftest@live.html
>
>  * igt@i915_selftest@live@execlists:
>    - fi-glk-j4005:       [ABORT][43] ([i915#11022]) -> [PASS][44]
>   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/fi-glk-j4005/igt@i915_selftest@live@execlists.html
>   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/fi-glk-j4005/igt@i915_selftest@live@execlists.html
>
>  
>#### Warnings ####
>
>  * igt@i915_module_load@reload:
>    - bat-arls-5:         [DMESG-WARN][45] ([i915#11637]) -> [DMESG-WARN][46] ([i915#11637] / [i915#1982])
>   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/bat-arls-5/igt@i915_module_load@reload.html
>   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-5/igt@i915_module_load@reload.html
>
>  * igt@i915_selftest@live:
>    - bat-arls-5:         [DMESG-WARN][47] ([i915#10341] / [i915#12133]) -> [ABORT][48] ([i915#12061] / [i915#12133])
>   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/bat-arls-5/igt@i915_selftest@live.html
>   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-5/igt@i915_selftest@live.html
>
>  * igt@i915_selftest@live@workarounds:
>    - bat-arls-5:         [DMESG-WARN][49] ([i915#10341] / [i915#11637]) -> [ABORT][50] ([i915#12061])
>   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/bat-arls-5/igt@i915_selftest@live@workarounds.html
>   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-arls-5/igt@i915_selftest@live@workarounds.html
>
>  
>  [i915#10196]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10196
>  [i915#10200]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10200
>  [i915#10207]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10207
>  [i915#10208]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10208
>  [i915#10211]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10211
>  [i915#10212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10212
>  [i915#10214]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10214
>  [i915#10216]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10216
>  [i915#10341]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10341
>  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
>  [i915#11022]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11022
>  [i915#11343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11343
>  [i915#11346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11346
>  [i915#11349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11349
>  [i915#11637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11637
>  [i915#11671]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11671
>  [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
>  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
>  [i915#12133]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12133
>  [i915#12203]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12203
>  [i915#1982]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1982
>  [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
>  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
>  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
>  [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
>  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
>  [i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
>  [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
>  [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
>  [i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
>  [i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
>  [i915#4215]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4215
>  [i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
>  [i915#5274]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5274
>  [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
>  [i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
>  [i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809
>  [i915#9318]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9318
>  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
>  [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
>  [i915#9886]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9886
>
>
>Build changes
>-------------
>
>  * Linux: CI_DRM_15449 -> Patchwork_137978v2
>
>  CI-20190529: 20190529
>  CI_DRM_15449: f82c02cc01798312082cc41feaa473538e517c7b @ git://anongit.freedesktop.org/gfx-ci/linux
>  IGT_8034: 73eed10d50c7d1f07df07214ae62924d4e377e12 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
>  Patchwork_137978v2: f82c02cc01798312082cc41feaa473538e517c7b @ git://anongit.freedesktop.org/gfx-ci/linux
>
>== Logs ==
>
>For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/index.html

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

* Re: ✗ Fi.CI.BAT: failure for Miscelaneous fixes for display tracepoints (rev2)
  2024-10-04 11:12   ` Gustavo Sousa
@ 2024-10-04 11:33     ` Jani Nikula
  2024-10-04 11:43       ` Gustavo Sousa
  0 siblings, 1 reply; 21+ messages in thread
From: Jani Nikula @ 2024-10-04 11:33 UTC (permalink / raw)
  To: Gustavo Sousa, intel-gfx; +Cc: Rodrigo Vivi, i915-ci-infra

On Fri, 04 Oct 2024, Gustavo Sousa <gustavo.sousa@intel.com> wrote:
> Quoting Patchwork (2024-09-26 16:28:07-03:00)
>>#### Possible regressions ####
>>
>>  * igt@i915_selftest@live:
>>    - bat-mtlp-6:         [PASS][1] -> [ABORT][2] +1 other test abort
>>   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/bat-mtlp-6/igt@i915_selftest@live.html
>>   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-mtlp-6/igt@i915_selftest@live.html
>
> This does not seem related to this series, which is only about
> tracepoints.
>
> Jani or Rodrigo, ack to merge this series without triggering a new CI
> cycle? I don't believe CI exercises tests that enable tracepoints. Or
> does it?

BAT *must* pass before merging, no exceptions.

Full shard run failures can be looked over when it's clear the series
didn't cause the failures.


BR,
Jani.


-- 
Jani Nikula, Intel

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

* Re: ✗ Fi.CI.BAT: failure for Miscelaneous fixes for display tracepoints (rev2)
  2024-10-04 11:33     ` Jani Nikula
@ 2024-10-04 11:43       ` Gustavo Sousa
  2024-10-04 12:03         ` Saarinen, Jani
  0 siblings, 1 reply; 21+ messages in thread
From: Gustavo Sousa @ 2024-10-04 11:43 UTC (permalink / raw)
  To: Jani Nikula, intel-gfx; +Cc: Rodrigo Vivi, i915-ci-infra

Quoting Jani Nikula (2024-10-04 08:33:20-03:00)
>On Fri, 04 Oct 2024, Gustavo Sousa <gustavo.sousa@intel.com> wrote:
>> Quoting Patchwork (2024-09-26 16:28:07-03:00)
>>>#### Possible regressions ####
>>>
>>>  * igt@i915_selftest@live:
>>>    - bat-mtlp-6:         [PASS][1] -> [ABORT][2] +1 other test abort
>>>   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/bat-mtlp-6/igt@i915_selftest@live.html
>>>   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-mtlp-6/igt@i915_selftest@live.html
>>
>> This does not seem related to this series, which is only about
>> tracepoints.
>>
>> Jani or Rodrigo, ack to merge this series without triggering a new CI
>> cycle? I don't believe CI exercises tests that enable tracepoints. Or
>> does it?
>
>BAT *must* pass before merging, no exceptions.

Okay. Thanks.

--
Gustavo Sousa

>
>Full shard run failures can be looked over when it's clear the series
>didn't cause the failures.
>
>
>BR,
>Jani.
>
>
>-- 
>Jani Nikula, Intel

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

* RE: ✗ Fi.CI.BAT: failure for Miscelaneous fixes for display tracepoints (rev2)
  2024-10-04 11:43       ` Gustavo Sousa
@ 2024-10-04 12:03         ` Saarinen, Jani
  2024-10-04 12:09           ` Saarinen, Jani
  0 siblings, 1 reply; 21+ messages in thread
From: Saarinen, Jani @ 2024-10-04 12:03 UTC (permalink / raw)
  To: Sousa, Gustavo, Nikula, Jani, intel-gfx@lists.freedesktop.org
  Cc: Rodrigo Vivi, i915-ci-infra@lists.freedesktop.org

Hi. 
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
> Gustavo Sousa
> Sent: Friday, 4 October 2024 14.43
> To: Nikula, Jani <jani.nikula@intel.com>; intel-gfx@lists.freedesktop.org
> Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com>; i915-ci-infra@lists.freedesktop.org
> Subject: Re: ✗ Fi.CI.BAT: failure for Miscelaneous fixes for display tracepoints
> (rev2)
> 
> Quoting Jani Nikula (2024-10-04 08:33:20-03:00)
> >On Fri, 04 Oct 2024, Gustavo Sousa <gustavo.sousa@intel.com> wrote:
> >> Quoting Patchwork (2024-09-26 16:28:07-03:00)
> >>>#### Possible regressions ####
> >>>
> >>>  * igt@i915_selftest@live:
> >>>    - bat-mtlp-6:         [PASS][1] -> [ABORT][2] +1 other test abort
> >>>   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/bat-mtlp-
> 6/igt@i915_selftest@live.html
> >>>   [2]:
> >>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-mtlp
> >>> -6/igt@i915_selftest@live.html
> >>
> >> This does not seem related to this series, which is only about
> >> tracepoints.
> >>
> >> Jani or Rodrigo, ack to merge this series without triggering a new CI
> >> cycle? I don't believe CI exercises tests that enable tracepoints. Or
> >> does it?
> >
> >BAT *must* pass before merging, no exceptions.
> 
> Okay. Thanks.
See original BAT results mail it says " If you think the reported changes have nothing to do with the changes  
> introduced in Patchwork_137978v2, please notify your bug team > (I915-ci-infra@lists.freedesktop.org) 
to allow them  to document this new failure mode, which will reduce false positives in CI." 
> 
> --
> Gustavo Sousa
> 
> >
> >Full shard run failures can be looked over when it's clear the series
> >didn't cause the failures.
> >
> >
> >BR,
> >Jani.
> >
> >
> >--
> >Jani Nikula, Intel

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

* RE: ✗ Fi.CI.BAT: failure for Miscelaneous fixes for display tracepoints (rev2)
  2024-10-04 12:03         ` Saarinen, Jani
@ 2024-10-04 12:09           ` Saarinen, Jani
  0 siblings, 0 replies; 21+ messages in thread
From: Saarinen, Jani @ 2024-10-04 12:09 UTC (permalink / raw)
  To: Saarinen, Jani, Sousa, Gustavo, Nikula, Jani,
	intel-gfx@lists.freedesktop.org
  Cc: Rodrigo Vivi, i915-ci-infra@lists.freedesktop.org

HI. 
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
> Saarinen, Jani
> Sent: Friday, 4 October 2024 15.03
> To: Sousa, Gustavo <gustavo.sousa@intel.com>; Nikula, Jani
> <jani.nikula@intel.com>; intel-gfx@lists.freedesktop.org
> Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com>; i915-ci-infra@lists.freedesktop.org
> Subject: RE: ✗ Fi.CI.BAT: failure for Miscelaneous fixes for display tracepoints
> (rev2)
> 
> Hi.
> > -----Original Message-----
> > From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of
> > Gustavo Sousa
> > Sent: Friday, 4 October 2024 14.43
> > To: Nikula, Jani <jani.nikula@intel.com>;
> > intel-gfx@lists.freedesktop.org
> > Cc: Rodrigo Vivi <rodrigo.vivi@gmail.com>;
> > i915-ci-infra@lists.freedesktop.org
> > Subject: Re: ✗ Fi.CI.BAT: failure for Miscelaneous fixes for display
> > tracepoints
> > (rev2)
> >
> > Quoting Jani Nikula (2024-10-04 08:33:20-03:00)
> > >On Fri, 04 Oct 2024, Gustavo Sousa <gustavo.sousa@intel.com> wrote:
> > >> Quoting Patchwork (2024-09-26 16:28:07-03:00)
> > >>>#### Possible regressions ####
> > >>>
> > >>>  * igt@i915_selftest@live:
> > >>>    - bat-mtlp-6:         [PASS][1] -> [ABORT][2] +1 other test abort
> > >>>   [1]:
> > >>> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15449/bat-mtlp-
> > 6/igt@i915_selftest@live.html
> > >>>   [2]:
> > >>> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v2/bat-mt
> > >>> lp
> > >>> -6/igt@i915_selftest@live.html
> > >>
> > >> This does not seem related to this series, which is only about
> > >> tracepoints.
> > >>
> > >> Jani or Rodrigo, ack to merge this series without triggering a new
> > >> CI cycle? I don't believe CI exercises tests that enable
> > >> tracepoints. Or does it?
> > >
> > >BAT *must* pass before merging, no exceptions.
> >
> > Okay. Thanks.
> See original BAT results mail it says " If you think the reported changes have
> nothing to do with the changes
> > introduced in Patchwork_137978v2, please notify your bug team >
> > (I915-ci-infra@lists.freedesktop.org)
> to allow them  to document this new failure mode, which will reduce false
> positives in CI."

And ignore, I see you already added ci folks. 

> >
> > --
> > Gustavo Sousa
> >
> > >
> > >Full shard run failures can be looked over when it's clear the series
> > >didn't cause the failures.
> > >
> > >
> > >BR,
> > >Jani.
> > >
> > >
> > >--
> > >Jani Nikula, Intel

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

* ✗ Fi.CI.CHECKPATCH: warning for Miscelaneous fixes for display tracepoints (rev3)
  2024-09-23 19:02 [PATCH v2 0/5] Miscelaneous fixes for display tracepoints Gustavo Sousa
                   ` (6 preceding siblings ...)
  2024-09-26 19:28 ` ✗ Fi.CI.BAT: failure " Patchwork
@ 2024-10-08 19:46 ` Patchwork
  2024-10-08 19:55 ` ✗ Fi.CI.BAT: failure " Patchwork
  8 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2024-10-08 19:46 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-gfx

== Series Details ==

Series: Miscelaneous fixes for display tracepoints (rev3)
URL   : https://patchwork.freedesktop.org/series/137978/
State : warning

== Summary ==

Error: dim checkpatch failed
9a5ad021c7ea drm/i915/display: Fix out-of-bounds access in pipe-related tracepoints
-:19: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#19: 
         testdisplay-6715  [002] 17591.063491: intel_pipe_enable:     dev=0000:00:02.0

total: 0 errors, 1 warnings, 0 checks, 37 lines checked
1ff4ce8ec0f2 drm/i915/display: Zero-initialize frame/scanline counts in tracepoints
-:19: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#19: 
[1] https://lore.kernel.org/all/20240918224927.GU5091@mdroper-desk1.amr.corp.intel.com/

total: 0 errors, 1 warnings, 0 checks, 37 lines checked
a524f6df741a drm/i915/display: Store pipe name in trace events
-:20: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#20: 
    # cat /sys/kernel/debug/tracing/events/i915/intel_pipe_update_start/format

total: 0 errors, 1 warnings, 0 checks, 488 lines checked
2e349b9c84c4 drm/i915/display: Do not use ids from enum pipe in TP_printk()
-:14: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#14: 
    # cat /sys/kernel/debug/tracing/events/i915/intel_pipe_enable/format | grep '^print fmt'

total: 0 errors, 1 warnings, 0 checks, 57 lines checked
9a21515b05a6 drm/i915/display: Cover all possible pipes in TP_printk()
-:52: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
#52: FILE: drivers/gpu/drm/i915/display/intel_display_trace.h:52:
+#define _PIPES_FRAME_AND_SCANLINE_VALUES					\
+	__entry->frame[_TRACE_PIPE_A], __entry->scanline[_TRACE_PIPE_A]		\
+	, __entry->frame[_TRACE_PIPE_B], __entry->scanline[_TRACE_PIPE_B]	\
+	, __entry->frame[_TRACE_PIPE_C], __entry->scanline[_TRACE_PIPE_C]	\
+	, __entry->frame[_TRACE_PIPE_D], __entry->scanline[_TRACE_PIPE_D]

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



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

* ✗ Fi.CI.BAT: failure for Miscelaneous fixes for display tracepoints (rev3)
  2024-09-23 19:02 [PATCH v2 0/5] Miscelaneous fixes for display tracepoints Gustavo Sousa
                   ` (7 preceding siblings ...)
  2024-10-08 19:46 ` ✗ Fi.CI.CHECKPATCH: warning for Miscelaneous fixes for display tracepoints (rev3) Patchwork
@ 2024-10-08 19:55 ` Patchwork
  8 siblings, 0 replies; 21+ messages in thread
From: Patchwork @ 2024-10-08 19:55 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-gfx

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

== Series Details ==

Series: Miscelaneous fixes for display tracepoints (rev3)
URL   : https://patchwork.freedesktop.org/series/137978/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_15494 -> Patchwork_137978v3
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_137978v3 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_137978v3, please notify your bug team (I915-ci-infra@lists.freedesktop.org) 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_137978v3/index.html

Participating hosts (43 -> 42)
------------------------------

  Additional (1): bat-rpls-4 
  Missing    (2): bat-apl-1 fi-snb-2520m 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@i915_selftest@live:
    - bat-adlp-6:         [PASS][1] -> [DMESG-WARN][2] +1 other test dmesg-warn
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15494/bat-adlp-6/igt@i915_selftest@live.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-adlp-6/igt@i915_selftest@live.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - bat-rpls-4:         NOTRUN -> [SKIP][3] ([i915#9318])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-rpls-4/igt@debugfs_test@basic-hwmon.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - bat-rpls-4:         NOTRUN -> [SKIP][4] ([i915#4613]) +3 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-rpls-4/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_tiled_pread_basic:
    - bat-rpls-4:         NOTRUN -> [SKIP][5] ([i915#3282])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-rpls-4/igt@gem_tiled_pread_basic.html

  * igt@i915_selftest@live:
    - bat-mtlp-8:         [PASS][6] -> [ABORT][7] ([i915#12216]) +1 other test abort
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15494/bat-mtlp-8/igt@i915_selftest@live.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-mtlp-8/igt@i915_selftest@live.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-rpls-4:         NOTRUN -> [SKIP][8] ([i915#4103]) +1 other test skip
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-rpls-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-rpls-4:         NOTRUN -> [SKIP][9] ([i915#3555] / [i915#3840] / [i915#9886])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-rpls-4/igt@kms_dsc@dsc-basic.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-rpls-4:         NOTRUN -> [SKIP][10]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-rpls-4/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_pm_backlight@basic-brightness:
    - bat-rpls-4:         NOTRUN -> [SKIP][11] ([i915#5354])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-rpls-4/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_psr@psr-primary-page-flip:
    - bat-rpls-4:         NOTRUN -> [SKIP][12] ([i915#1072] / [i915#9732]) +3 other tests skip
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-rpls-4/igt@kms_psr@psr-primary-page-flip.html

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

  * igt@prime_vgem@basic-read:
    - bat-rpls-4:         NOTRUN -> [SKIP][14] ([i915#3708]) +2 other tests skip
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-rpls-4/igt@prime_vgem@basic-read.html

  
#### Possible fixes ####

  * igt@i915_selftest@live:
    - {bat-arlh-3}:       [ABORT][15] ([i915#12133]) -> [PASS][16]
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15494/bat-arlh-3/igt@i915_selftest@live.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-arlh-3/igt@i915_selftest@live.html
    - bat-arlh-2:         [ABORT][17] ([i915#12133]) -> [PASS][18]
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15494/bat-arlh-2/igt@i915_selftest@live.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-arlh-2/igt@i915_selftest@live.html

  * igt@i915_selftest@live@workarounds:
    - {bat-arlh-3}:       [ABORT][19] ([i915#12061]) -> [PASS][20]
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15494/bat-arlh-3/igt@i915_selftest@live@workarounds.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-arlh-3/igt@i915_selftest@live@workarounds.html
    - bat-arlh-2:         [ABORT][21] ([i915#12061]) -> [PASS][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15494/bat-arlh-2/igt@i915_selftest@live@workarounds.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-arlh-2/igt@i915_selftest@live@workarounds.html

  
#### Warnings ####

  * igt@i915_selftest@live:
    - bat-arls-5:         [INCOMPLETE][23] ([i915#10341] / [i915#12133]) -> [ABORT][24] ([i915#12061] / [i915#12133])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15494/bat-arls-5/igt@i915_selftest@live.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-arls-5/igt@i915_selftest@live.html

  * igt@i915_selftest@live@workarounds:
    - bat-arls-5:         [DMESG-WARN][25] ([i915#10341] / [i915#11637]) -> [ABORT][26] ([i915#12061])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15494/bat-arls-5/igt@i915_selftest@live@workarounds.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137978v3/bat-arls-5/igt@i915_selftest@live@workarounds.html

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

  [i915#10341]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10341
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#11637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11637
  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
  [i915#12133]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12133
  [i915#12216]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12216
  [i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
  [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
  [i915#9318]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9318
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9886]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9886


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

  * Linux: CI_DRM_15494 -> Patchwork_137978v3

  CI-20190529: 20190529
  CI_DRM_15494: 8752b50cc6ea4e90f3caa68dd1cc169112ac4b34 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_8060: 9c3e2ca96853ab5f77b60c82a9c66e7e2f2b7358 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_137978v3: 8752b50cc6ea4e90f3caa68dd1cc169112ac4b34 @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

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

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

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

end of thread, other threads:[~2024-10-08 19:55 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-23 19:02 [PATCH v2 0/5] Miscelaneous fixes for display tracepoints Gustavo Sousa
2024-09-23 19:02 ` [PATCH v2 1/5] drm/i915/display: Fix out-of-bounds access in pipe-related tracepoints Gustavo Sousa
2024-09-23 19:02 ` [PATCH v2 2/5] drm/i915/display: Zero-initialize frame/scanline counts in tracepoints Gustavo Sousa
2024-09-23 19:02 ` [PATCH v2 3/5] drm/i915/display: Store pipe name in trace events Gustavo Sousa
2024-09-23 19:02 ` [PATCH v2 4/5] drm/i915/display: Do not use ids from enum pipe in TP_printk() Gustavo Sousa
2024-09-23 19:02 ` [PATCH v2 5/5] drm/i915/display: Cover all possible pipes " Gustavo Sousa
2024-09-23 19:23   ` Ville Syrjälä
2024-09-23 20:06     ` Gustavo Sousa
2024-09-23 20:18       ` Ville Syrjälä
2024-09-23 20:47         ` Gustavo Sousa
2024-09-23 20:48           ` Gustavo Sousa
2024-09-23 21:08             ` Ville Syrjälä
2024-09-26 19:26 ` ✗ Fi.CI.CHECKPATCH: warning for Miscelaneous fixes for display tracepoints (rev2) Patchwork
2024-09-26 19:28 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-10-04 11:12   ` Gustavo Sousa
2024-10-04 11:33     ` Jani Nikula
2024-10-04 11:43       ` Gustavo Sousa
2024-10-04 12:03         ` Saarinen, Jani
2024-10-04 12:09           ` Saarinen, Jani
2024-10-08 19:46 ` ✗ Fi.CI.CHECKPATCH: warning for Miscelaneous fixes for display tracepoints (rev3) Patchwork
2024-10-08 19:55 ` ✗ Fi.CI.BAT: failure " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox