* [PATCH v4 0/2] drm/xe/guc: Cleanup GuC log buffer macros and helpers
@ 2025-10-02 15:03 Zhanjun Dong
2025-10-02 15:03 ` [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros Zhanjun Dong
` (4 more replies)
0 siblings, 5 replies; 15+ messages in thread
From: Zhanjun Dong @ 2025-10-02 15:03 UTC (permalink / raw)
To: intel-xe; +Cc: michal.wajdeczko, Zhanjun Dong
Cleanup GuC log buffer macros and helpers, add Xe style macro prefix.
Update buffer type values to align with the GuC specification
---
Cc: michal.wajdeczko@intel.com
---
Change list:
v4: Replace helper functions with macros
Rename log type xxx_DEBUG to xxx_EVENT_LOG
v3: Update comments
v2: Use SZ_4K, instead of PAGE_SIZE
Expand for loop with switch and fallthrough
Zhanjun Dong (2):
drm/xe/guc: Add prefix to guc log buffer macros
drm/xe/guc: Update GuC log buffer type value
drivers/gpu/drm/xe/abi/guc_log_abi.h | 2 +-
drivers/gpu/drm/xe/xe_guc.c | 22 ++++-----
drivers/gpu/drm/xe/xe_guc_capture.c | 6 +--
drivers/gpu/drm/xe/xe_guc_log.c | 71 +++++++---------------------
drivers/gpu/drm/xe/xe_guc_log.h | 14 +++---
5 files changed, 37 insertions(+), 78 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 15+ messages in thread* [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros 2025-10-02 15:03 [PATCH v4 0/2] drm/xe/guc: Cleanup GuC log buffer macros and helpers Zhanjun Dong @ 2025-10-02 15:03 ` Zhanjun Dong 2025-10-02 16:00 ` Lucas De Marchi 2025-10-04 17:13 ` Michal Wajdeczko 2025-10-02 15:03 ` [PATCH v4 2/2] drm/xe/guc: Update GuC log buffer type value Zhanjun Dong ` (3 subsequent siblings) 4 siblings, 2 replies; 15+ messages in thread From: Zhanjun Dong @ 2025-10-02 15:03 UTC (permalink / raw) To: intel-xe; +Cc: michal.wajdeczko, Zhanjun Dong Add prefix to GuC log buffer macros to follow Xe naming styles. Remove helper functions, replaced with macros. Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com> --- drivers/gpu/drm/xe/xe_guc.c | 22 ++++----- drivers/gpu/drm/xe/xe_guc_capture.c | 6 +-- drivers/gpu/drm/xe/xe_guc_log.c | 71 +++++++---------------------- drivers/gpu/drm/xe/xe_guc_log.h | 14 +++--- 4 files changed, 36 insertions(+), 77 deletions(-) diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c index d5adbbb013ec..b0ea9a13847a 100644 --- a/drivers/gpu/drm/xe/xe_guc.c +++ b/drivers/gpu/drm/xe/xe_guc.c @@ -99,7 +99,7 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) u32 offset = guc_bo_ggtt_addr(guc, guc->log.bo) >> PAGE_SHIFT; u32 flags; - #if (((CRASH_BUFFER_SIZE) % SZ_1M) == 0) + #if (((XE_GUC_LOG_CRASH_BUFFER_SIZE) % SZ_1M) == 0) #define LOG_UNIT SZ_1M #define LOG_FLAG GUC_LOG_LOG_ALLOC_UNITS #else @@ -107,7 +107,7 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) #define LOG_FLAG 0 #endif - #if (((CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) + #if (((XE_GUC_LOG_CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) #define CAPTURE_UNIT SZ_1M #define CAPTURE_FLAG GUC_LOG_CAPTURE_ALLOC_UNITS #else @@ -115,20 +115,20 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) #define CAPTURE_FLAG 0 #endif - BUILD_BUG_ON(!CRASH_BUFFER_SIZE); - BUILD_BUG_ON(!IS_ALIGNED(CRASH_BUFFER_SIZE, LOG_UNIT)); - BUILD_BUG_ON(!DEBUG_BUFFER_SIZE); - BUILD_BUG_ON(!IS_ALIGNED(DEBUG_BUFFER_SIZE, LOG_UNIT)); - BUILD_BUG_ON(!CAPTURE_BUFFER_SIZE); - BUILD_BUG_ON(!IS_ALIGNED(CAPTURE_BUFFER_SIZE, CAPTURE_UNIT)); + BUILD_BUG_ON(!XE_GUC_LOG_CRASH_BUFFER_SIZE); + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CRASH_BUFFER_SIZE, LOG_UNIT)); + BUILD_BUG_ON(!XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE); + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE, LOG_UNIT)); + BUILD_BUG_ON(!XE_GUC_LOG_CAPTURE_BUFFER_SIZE); + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CAPTURE_BUFFER_SIZE, CAPTURE_UNIT)); flags = GUC_LOG_VALID | GUC_LOG_NOTIFY_ON_HALF_FULL | CAPTURE_FLAG | LOG_FLAG | - FIELD_PREP(GUC_LOG_CRASH, CRASH_BUFFER_SIZE / LOG_UNIT - 1) | - FIELD_PREP(GUC_LOG_DEBUG, DEBUG_BUFFER_SIZE / LOG_UNIT - 1) | - FIELD_PREP(GUC_LOG_CAPTURE, CAPTURE_BUFFER_SIZE / CAPTURE_UNIT - 1) | + FIELD_PREP(GUC_LOG_CRASH, XE_GUC_LOG_CRASH_BUFFER_SIZE / LOG_UNIT - 1) | + FIELD_PREP(GUC_LOG_DEBUG, XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE / LOG_UNIT - 1) | + FIELD_PREP(GUC_LOG_CAPTURE, XE_GUC_LOG_CAPTURE_BUFFER_SIZE / CAPTURE_UNIT - 1) | FIELD_PREP(GUC_LOG_BUF_ADDR, offset); #undef LOG_UNIT diff --git a/drivers/gpu/drm/xe/xe_guc_capture.c b/drivers/gpu/drm/xe/xe_guc_capture.c index 243dad3e2418..acb95a93b530 100644 --- a/drivers/gpu/drm/xe/xe_guc_capture.c +++ b/drivers/gpu/drm/xe/xe_guc_capture.c @@ -816,7 +816,7 @@ static void check_guc_capture_size(struct xe_guc *guc) { int capture_size = guc_capture_output_size_est(guc); int spare_size = capture_size * GUC_CAPTURE_OVERBUFFER_MULTIPLIER; - u32 buffer_size = xe_guc_log_section_size_capture(&guc->log); + u32 buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; /* * NOTE: capture_size is much smaller than the capture region @@ -922,7 +922,7 @@ guc_capture_init_node(struct xe_guc *guc, struct __guc_capture_parsed_output *no * ADS module also calls separately for PF vs VF. * * --> alloc B: GuC output capture buf (registered via guc_init_params(log_param)) - * Size = #define CAPTURE_BUFFER_SIZE (warns if on too-small) + * Size = #define XE_GUC_LOG_CAPTURE_BUFFER_SIZE (warns if on too-small) * Note2: 'x 3' to hold multiple capture groups * * GUC Runtime notify capture: @@ -1368,7 +1368,7 @@ static void __guc_capture_process_output(struct xe_guc *guc) xe_map_memcpy_from(guc_to_xe(guc), &log_buf_state_local, &guc->log.bo->vmap, log_buf_state_offset, sizeof(struct guc_log_buffer_state)); - buffer_size = xe_guc_get_log_buffer_size(&guc->log, GUC_LOG_BUFFER_CAPTURE); + buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; read_offset = log_buf_state_local.read_ptr; write_offset = log_buf_state_local.sampled_write_ptr; full_count = FIELD_GET(GUC_LOG_BUFFER_STATE_BUFFER_FULL_CNT, log_buf_state_local.flags); diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c index c01ccb35dc75..fa1d490dca0d 100644 --- a/drivers/gpu/drm/xe/xe_guc_log.c +++ b/drivers/gpu/drm/xe/xe_guc_log.c @@ -50,16 +50,16 @@ static size_t guc_log_size(void) * | Capture state header | * +-------------------------------+ 96B * | | - * +===============================+ PAGE_SIZE (4KB) + * +===============================+ 4KB + * | Event logs | + * +===============================+ + XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE * | Crash Dump logs | - * +===============================+ + CRASH_SIZE - * | Debug logs | - * +===============================+ + DEBUG_SIZE + * +===============================+ + XE_GUC_LOG_CRASH_BUFFER_SIZE * | Capture logs | - * +===============================+ + CAPTURE_SIZE + * +===============================+ + XE_GUC_LOG_CAPTURE_BUFFER_SIZE */ - return PAGE_SIZE + CRASH_BUFFER_SIZE + DEBUG_BUFFER_SIZE + - CAPTURE_BUFFER_SIZE; + return SZ_4K + XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE + XE_GUC_LOG_CRASH_BUFFER_SIZE + + XE_GUC_LOG_CAPTURE_BUFFER_SIZE; } #define GUC_LOG_CHUNK_SIZE SZ_2M @@ -274,49 +274,6 @@ int xe_guc_log_init(struct xe_guc_log *log) ALLOW_ERROR_INJECTION(xe_guc_log_init, ERRNO); /* See xe_pci_probe() */ -static u32 xe_guc_log_section_size_crash(struct xe_guc_log *log) -{ - return CRASH_BUFFER_SIZE; -} - -static u32 xe_guc_log_section_size_debug(struct xe_guc_log *log) -{ - return DEBUG_BUFFER_SIZE; -} - -/** - * xe_guc_log_section_size_capture - Get capture buffer size within log sections. - * @log: The log object. - * - * This function will return the capture buffer size within log sections. - * - * Return: capture buffer size. - */ -u32 xe_guc_log_section_size_capture(struct xe_guc_log *log) -{ - return CAPTURE_BUFFER_SIZE; -} - -/** - * xe_guc_get_log_buffer_size - Get log buffer size for a type. - * @log: The log object. - * @type: The log buffer type - * - * Return: buffer size. - */ -u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum guc_log_buffer_type type) -{ - switch (type) { - case GUC_LOG_BUFFER_CRASH_DUMP: - return xe_guc_log_section_size_crash(log); - case GUC_LOG_BUFFER_DEBUG: - return xe_guc_log_section_size_debug(log); - case GUC_LOG_BUFFER_CAPTURE: - return xe_guc_log_section_size_capture(log); - } - return 0; -} - /** * xe_guc_get_log_buffer_offset - Get offset in log buffer for a type. * @log: The log object. @@ -327,13 +284,17 @@ u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum guc_log_buffer_type */ u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum guc_log_buffer_type type) { - enum guc_log_buffer_type i; u32 offset = PAGE_SIZE;/* for the log_buffer_states */ - for (i = GUC_LOG_BUFFER_CRASH_DUMP; i < GUC_LOG_BUFFER_TYPE_MAX; ++i) { - if (i == type) - break; - offset += xe_guc_get_log_buffer_size(log, i); + switch (type) { + case GUC_LOG_BUFFER_CAPTURE: + offset += XE_GUC_LOG_CRASH_BUFFER_SIZE; + fallthrough; + case GUC_LOG_BUFFER_CRASH_DUMP: + offset += XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE; + fallthrough; + case GUC_LOG_BUFFER_DEBUG: + break; } return offset; diff --git a/drivers/gpu/drm/xe/xe_guc_log.h b/drivers/gpu/drm/xe/xe_guc_log.h index 98a47ac42b08..0cc059cedb9c 100644 --- a/drivers/gpu/drm/xe/xe_guc_log.h +++ b/drivers/gpu/drm/xe/xe_guc_log.h @@ -13,13 +13,13 @@ struct drm_printer; struct xe_device; #if IS_ENABLED(CONFIG_DRM_XE_DEBUG_GUC) -#define CRASH_BUFFER_SIZE SZ_1M -#define DEBUG_BUFFER_SIZE SZ_8M -#define CAPTURE_BUFFER_SIZE SZ_2M +#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_8M +#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_1M +#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_2M #else -#define CRASH_BUFFER_SIZE SZ_16K -#define DEBUG_BUFFER_SIZE SZ_64K -#define CAPTURE_BUFFER_SIZE SZ_1M +#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_64K +#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_16K +#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_1M #endif /* * While we're using plain log level in i915, GuC controls are much more... @@ -51,8 +51,6 @@ xe_guc_log_get_level(struct xe_guc_log *log) return log->level; } -u32 xe_guc_log_section_size_capture(struct xe_guc_log *log); -u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum guc_log_buffer_type type); u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum guc_log_buffer_type type); bool xe_guc_check_log_buf_overflow(struct xe_guc_log *log, enum guc_log_buffer_type type, -- 2.34.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros 2025-10-02 15:03 ` [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros Zhanjun Dong @ 2025-10-02 16:00 ` Lucas De Marchi 2025-10-02 17:24 ` Lucas De Marchi 2025-10-07 16:44 ` Dong, Zhanjun 2025-10-04 17:13 ` Michal Wajdeczko 1 sibling, 2 replies; 15+ messages in thread From: Lucas De Marchi @ 2025-10-02 16:00 UTC (permalink / raw) To: Zhanjun Dong; +Cc: intel-xe, michal.wajdeczko On Thu, Oct 02, 2025 at 11:03:01AM -0400, Zhanjun Dong wrote: >Add prefix to GuC log buffer macros to follow Xe naming styles. >Remove helper functions, replaced with macros. > >Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com> >--- > drivers/gpu/drm/xe/xe_guc.c | 22 ++++----- > drivers/gpu/drm/xe/xe_guc_capture.c | 6 +-- > drivers/gpu/drm/xe/xe_guc_log.c | 71 +++++++---------------------- > drivers/gpu/drm/xe/xe_guc_log.h | 14 +++--- > 4 files changed, 36 insertions(+), 77 deletions(-) > >diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c >index d5adbbb013ec..b0ea9a13847a 100644 >--- a/drivers/gpu/drm/xe/xe_guc.c >+++ b/drivers/gpu/drm/xe/xe_guc.c >@@ -99,7 +99,7 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) > u32 offset = guc_bo_ggtt_addr(guc, guc->log.bo) >> PAGE_SHIFT; > u32 flags; > >- #if (((CRASH_BUFFER_SIZE) % SZ_1M) == 0) >+ #if (((XE_GUC_LOG_CRASH_BUFFER_SIZE) % SZ_1M) == 0) can you also add a patch to remove the excess use of parenthesis and indentation? Should ahave been: #if XE_GUC_LOG_CRASH_BUFFER_SIZE % SZ_1M == 0 > #define LOG_UNIT SZ_1M > #define LOG_FLAG GUC_LOG_LOG_ALLOC_UNITS > #else >@@ -107,7 +107,7 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) > #define LOG_FLAG 0 > #endif > >- #if (((CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) >+ #if (((XE_GUC_LOG_CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) ditto > #define CAPTURE_UNIT SZ_1M > #define CAPTURE_FLAG GUC_LOG_CAPTURE_ALLOC_UNITS > #else >@@ -115,20 +115,20 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) > #define CAPTURE_FLAG 0 > #endif > >- BUILD_BUG_ON(!CRASH_BUFFER_SIZE); >- BUILD_BUG_ON(!IS_ALIGNED(CRASH_BUFFER_SIZE, LOG_UNIT)); >- BUILD_BUG_ON(!DEBUG_BUFFER_SIZE); >- BUILD_BUG_ON(!IS_ALIGNED(DEBUG_BUFFER_SIZE, LOG_UNIT)); >- BUILD_BUG_ON(!CAPTURE_BUFFER_SIZE); >- BUILD_BUG_ON(!IS_ALIGNED(CAPTURE_BUFFER_SIZE, CAPTURE_UNIT)); >+ BUILD_BUG_ON(!XE_GUC_LOG_CRASH_BUFFER_SIZE); >+ BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CRASH_BUFFER_SIZE, LOG_UNIT)); >+ BUILD_BUG_ON(!XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE); >+ BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE, LOG_UNIT)); >+ BUILD_BUG_ON(!XE_GUC_LOG_CAPTURE_BUFFER_SIZE); >+ BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CAPTURE_BUFFER_SIZE, CAPTURE_UNIT)); > > flags = GUC_LOG_VALID | > GUC_LOG_NOTIFY_ON_HALF_FULL | > CAPTURE_FLAG | > LOG_FLAG | >- FIELD_PREP(GUC_LOG_CRASH, CRASH_BUFFER_SIZE / LOG_UNIT - 1) | >- FIELD_PREP(GUC_LOG_DEBUG, DEBUG_BUFFER_SIZE / LOG_UNIT - 1) | >- FIELD_PREP(GUC_LOG_CAPTURE, CAPTURE_BUFFER_SIZE / CAPTURE_UNIT - 1) | >+ FIELD_PREP(GUC_LOG_CRASH, XE_GUC_LOG_CRASH_BUFFER_SIZE / LOG_UNIT - 1) | >+ FIELD_PREP(GUC_LOG_DEBUG, XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE / LOG_UNIT - 1) | >+ FIELD_PREP(GUC_LOG_CAPTURE, XE_GUC_LOG_CAPTURE_BUFFER_SIZE / CAPTURE_UNIT - 1) | > FIELD_PREP(GUC_LOG_BUF_ADDR, offset); > > #undef LOG_UNIT >diff --git a/drivers/gpu/drm/xe/xe_guc_capture.c b/drivers/gpu/drm/xe/xe_guc_capture.c >index 243dad3e2418..acb95a93b530 100644 >--- a/drivers/gpu/drm/xe/xe_guc_capture.c >+++ b/drivers/gpu/drm/xe/xe_guc_capture.c >@@ -816,7 +816,7 @@ static void check_guc_capture_size(struct xe_guc *guc) > { > int capture_size = guc_capture_output_size_est(guc); > int spare_size = capture_size * GUC_CAPTURE_OVERBUFFER_MULTIPLIER; >- u32 buffer_size = xe_guc_log_section_size_capture(&guc->log); >+ u32 buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; > > /* > * NOTE: capture_size is much smaller than the capture region >@@ -922,7 +922,7 @@ guc_capture_init_node(struct xe_guc *guc, struct __guc_capture_parsed_output *no > * ADS module also calls separately for PF vs VF. > * > * --> alloc B: GuC output capture buf (registered via guc_init_params(log_param)) >- * Size = #define CAPTURE_BUFFER_SIZE (warns if on too-small) >+ * Size = #define XE_GUC_LOG_CAPTURE_BUFFER_SIZE (warns if on too-small) > * Note2: 'x 3' to hold multiple capture groups > * > * GUC Runtime notify capture: >@@ -1368,7 +1368,7 @@ static void __guc_capture_process_output(struct xe_guc *guc) > xe_map_memcpy_from(guc_to_xe(guc), &log_buf_state_local, &guc->log.bo->vmap, > log_buf_state_offset, sizeof(struct guc_log_buffer_state)); > >- buffer_size = xe_guc_get_log_buffer_size(&guc->log, GUC_LOG_BUFFER_CAPTURE); >+ buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; > read_offset = log_buf_state_local.read_ptr; > write_offset = log_buf_state_local.sampled_write_ptr; > full_count = FIELD_GET(GUC_LOG_BUFFER_STATE_BUFFER_FULL_CNT, log_buf_state_local.flags); >diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c >index c01ccb35dc75..fa1d490dca0d 100644 >--- a/drivers/gpu/drm/xe/xe_guc_log.c >+++ b/drivers/gpu/drm/xe/xe_guc_log.c >@@ -50,16 +50,16 @@ static size_t guc_log_size(void) > * | Capture state header | > * +-------------------------------+ 96B > * | | >- * +===============================+ PAGE_SIZE (4KB) >+ * +===============================+ 4KB >+ * | Event logs | >+ * +===============================+ + XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE > * | Crash Dump logs | >- * +===============================+ + CRASH_SIZE >- * | Debug logs | >- * +===============================+ + DEBUG_SIZE what happened with DEBUG_SIZE? in drivers/gpu/drm/xe/xe_guc.c it's referred as DEBUG_BUFFER_SIZE Lucas De Marchi >+ * +===============================+ + XE_GUC_LOG_CRASH_BUFFER_SIZE > * | Capture logs | >- * +===============================+ + CAPTURE_SIZE >+ * +===============================+ + XE_GUC_LOG_CAPTURE_BUFFER_SIZE > */ >- return PAGE_SIZE + CRASH_BUFFER_SIZE + DEBUG_BUFFER_SIZE + >- CAPTURE_BUFFER_SIZE; >+ return SZ_4K + XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE + XE_GUC_LOG_CRASH_BUFFER_SIZE + >+ XE_GUC_LOG_CAPTURE_BUFFER_SIZE; > } > > #define GUC_LOG_CHUNK_SIZE SZ_2M >@@ -274,49 +274,6 @@ int xe_guc_log_init(struct xe_guc_log *log) > > ALLOW_ERROR_INJECTION(xe_guc_log_init, ERRNO); /* See xe_pci_probe() */ > >-static u32 xe_guc_log_section_size_crash(struct xe_guc_log *log) >-{ >- return CRASH_BUFFER_SIZE; >-} >- >-static u32 xe_guc_log_section_size_debug(struct xe_guc_log *log) >-{ >- return DEBUG_BUFFER_SIZE; >-} >- >-/** >- * xe_guc_log_section_size_capture - Get capture buffer size within log sections. >- * @log: The log object. >- * >- * This function will return the capture buffer size within log sections. >- * >- * Return: capture buffer size. >- */ >-u32 xe_guc_log_section_size_capture(struct xe_guc_log *log) >-{ >- return CAPTURE_BUFFER_SIZE; >-} >- >-/** >- * xe_guc_get_log_buffer_size - Get log buffer size for a type. >- * @log: The log object. >- * @type: The log buffer type >- * >- * Return: buffer size. >- */ >-u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum guc_log_buffer_type type) >-{ >- switch (type) { >- case GUC_LOG_BUFFER_CRASH_DUMP: >- return xe_guc_log_section_size_crash(log); >- case GUC_LOG_BUFFER_DEBUG: >- return xe_guc_log_section_size_debug(log); >- case GUC_LOG_BUFFER_CAPTURE: >- return xe_guc_log_section_size_capture(log); >- } >- return 0; >-} >- > /** > * xe_guc_get_log_buffer_offset - Get offset in log buffer for a type. > * @log: The log object. >@@ -327,13 +284,17 @@ u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum guc_log_buffer_type > */ > u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum guc_log_buffer_type type) > { >- enum guc_log_buffer_type i; > u32 offset = PAGE_SIZE;/* for the log_buffer_states */ > >- for (i = GUC_LOG_BUFFER_CRASH_DUMP; i < GUC_LOG_BUFFER_TYPE_MAX; ++i) { >- if (i == type) >- break; >- offset += xe_guc_get_log_buffer_size(log, i); >+ switch (type) { >+ case GUC_LOG_BUFFER_CAPTURE: >+ offset += XE_GUC_LOG_CRASH_BUFFER_SIZE; >+ fallthrough; >+ case GUC_LOG_BUFFER_CRASH_DUMP: >+ offset += XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE; >+ fallthrough; >+ case GUC_LOG_BUFFER_DEBUG: >+ break; > } > > return offset; >diff --git a/drivers/gpu/drm/xe/xe_guc_log.h b/drivers/gpu/drm/xe/xe_guc_log.h >index 98a47ac42b08..0cc059cedb9c 100644 >--- a/drivers/gpu/drm/xe/xe_guc_log.h >+++ b/drivers/gpu/drm/xe/xe_guc_log.h >@@ -13,13 +13,13 @@ struct drm_printer; > struct xe_device; > > #if IS_ENABLED(CONFIG_DRM_XE_DEBUG_GUC) >-#define CRASH_BUFFER_SIZE SZ_1M >-#define DEBUG_BUFFER_SIZE SZ_8M >-#define CAPTURE_BUFFER_SIZE SZ_2M >+#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_8M >+#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_1M >+#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_2M > #else >-#define CRASH_BUFFER_SIZE SZ_16K >-#define DEBUG_BUFFER_SIZE SZ_64K >-#define CAPTURE_BUFFER_SIZE SZ_1M >+#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_64K >+#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_16K >+#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_1M > #endif > /* > * While we're using plain log level in i915, GuC controls are much more... >@@ -51,8 +51,6 @@ xe_guc_log_get_level(struct xe_guc_log *log) > return log->level; > } > >-u32 xe_guc_log_section_size_capture(struct xe_guc_log *log); >-u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum guc_log_buffer_type type); > u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum guc_log_buffer_type type); > bool xe_guc_check_log_buf_overflow(struct xe_guc_log *log, > enum guc_log_buffer_type type, >-- >2.34.1 > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros 2025-10-02 16:00 ` Lucas De Marchi @ 2025-10-02 17:24 ` Lucas De Marchi 2025-10-07 16:44 ` Dong, Zhanjun 1 sibling, 0 replies; 15+ messages in thread From: Lucas De Marchi @ 2025-10-02 17:24 UTC (permalink / raw) To: Zhanjun Dong; +Cc: intel-xe, michal.wajdeczko On Thu, Oct 02, 2025 at 11:00:55AM -0500, Lucas De Marchi wrote: >On Thu, Oct 02, 2025 at 11:03:01AM -0400, Zhanjun Dong wrote: >>diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c >>index c01ccb35dc75..fa1d490dca0d 100644 >>--- a/drivers/gpu/drm/xe/xe_guc_log.c >>+++ b/drivers/gpu/drm/xe/xe_guc_log.c >>@@ -50,16 +50,16 @@ static size_t guc_log_size(void) >> * | Capture state header | >> * +-------------------------------+ 96B >> * | | >>- * +===============================+ PAGE_SIZE (4KB) >>+ * +===============================+ 4KB >>+ * | Event logs | >>+ * +===============================+ + XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE >> * | Crash Dump logs | >>- * +===============================+ + CRASH_SIZE >>- * | Debug logs | >>- * +===============================+ + DEBUG_SIZE > >what happened with DEBUG_SIZE? in drivers/gpu/drm/xe/xe_guc.c it's >referred as DEBUG_BUFFER_SIZE ahh.. it moved just above as "Event logs". I think this squash doesn't make much sense as you only rename it on the next patch, making this confusing. Lucas De Marchi ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros 2025-10-02 16:00 ` Lucas De Marchi 2025-10-02 17:24 ` Lucas De Marchi @ 2025-10-07 16:44 ` Dong, Zhanjun 2025-10-07 17:08 ` Lucas De Marchi 1 sibling, 1 reply; 15+ messages in thread From: Dong, Zhanjun @ 2025-10-07 16:44 UTC (permalink / raw) To: Lucas De Marchi; +Cc: intel-xe, michal.wajdeczko On 2025-10-02 12:00 p.m., Lucas De Marchi wrote: > On Thu, Oct 02, 2025 at 11:03:01AM -0400, Zhanjun Dong wrote: >> Add prefix to GuC log buffer macros to follow Xe naming styles. >> Remove helper functions, replaced with macros. >> >> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com> >> --- >> drivers/gpu/drm/xe/xe_guc.c | 22 ++++----- >> drivers/gpu/drm/xe/xe_guc_capture.c | 6 +-- >> drivers/gpu/drm/xe/xe_guc_log.c | 71 +++++++---------------------- >> drivers/gpu/drm/xe/xe_guc_log.h | 14 +++--- >> 4 files changed, 36 insertions(+), 77 deletions(-) >> >> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c >> index d5adbbb013ec..b0ea9a13847a 100644 >> --- a/drivers/gpu/drm/xe/xe_guc.c >> +++ b/drivers/gpu/drm/xe/xe_guc.c >> @@ -99,7 +99,7 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) >> u32 offset = guc_bo_ggtt_addr(guc, guc->log.bo) >> PAGE_SHIFT; >> u32 flags; >> >> - #if (((CRASH_BUFFER_SIZE) % SZ_1M) == 0) >> + #if (((XE_GUC_LOG_CRASH_BUFFER_SIZE) % SZ_1M) == 0) > > can you also add a patch to remove the excess use of parenthesis and > indentation? Should ahave been: > > #if XE_GUC_LOG_CRASH_BUFFER_SIZE % SZ_1M == 0 > In case of CRASH_BUFFER_SIZE defined with expression like: SZ_2M - SZ_1M expanded macro would be #if SZ_2M - SZ_1M % SZ_1M == 0 due to '%' op is higher than '-' SZ_1M % SZ_1M is 0 SZ_2M - 0 is SZ_2M SZ_2M != 0 Result: false That gives us unwantted result, expected should be: (SZ_2M - SZ_1M) % SZ_1M == 0 Result: true We might still need parenthesis to prevent operator precedence issues > > >> #define LOG_UNIT SZ_1M >> #define LOG_FLAG GUC_LOG_LOG_ALLOC_UNITS >> #else >> @@ -107,7 +107,7 @@ static u32 guc_ctl_log_params_flags(struct xe_guc >> *guc) >> #define LOG_FLAG 0 >> #endif >> >> - #if (((CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) >> + #if (((XE_GUC_LOG_CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) > > ditto > >> #define CAPTURE_UNIT SZ_1M >> #define CAPTURE_FLAG GUC_LOG_CAPTURE_ALLOC_UNITS >> #else >> @@ -115,20 +115,20 @@ static u32 guc_ctl_log_params_flags(struct >> xe_guc *guc) >> #define CAPTURE_FLAG 0 >> #endif >> >> - BUILD_BUG_ON(!CRASH_BUFFER_SIZE); >> - BUILD_BUG_ON(!IS_ALIGNED(CRASH_BUFFER_SIZE, LOG_UNIT)); >> - BUILD_BUG_ON(!DEBUG_BUFFER_SIZE); >> - BUILD_BUG_ON(!IS_ALIGNED(DEBUG_BUFFER_SIZE, LOG_UNIT)); >> - BUILD_BUG_ON(!CAPTURE_BUFFER_SIZE); >> - BUILD_BUG_ON(!IS_ALIGNED(CAPTURE_BUFFER_SIZE, CAPTURE_UNIT)); >> + BUILD_BUG_ON(!XE_GUC_LOG_CRASH_BUFFER_SIZE); >> + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CRASH_BUFFER_SIZE, LOG_UNIT)); >> + BUILD_BUG_ON(!XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE); >> + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE, >> LOG_UNIT)); >> + BUILD_BUG_ON(!XE_GUC_LOG_CAPTURE_BUFFER_SIZE); >> + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CAPTURE_BUFFER_SIZE, >> CAPTURE_UNIT)); >> >> flags = GUC_LOG_VALID | >> GUC_LOG_NOTIFY_ON_HALF_FULL | >> CAPTURE_FLAG | >> LOG_FLAG | >> - FIELD_PREP(GUC_LOG_CRASH, CRASH_BUFFER_SIZE / LOG_UNIT - 1) | >> - FIELD_PREP(GUC_LOG_DEBUG, DEBUG_BUFFER_SIZE / LOG_UNIT - 1) | >> - FIELD_PREP(GUC_LOG_CAPTURE, CAPTURE_BUFFER_SIZE / >> CAPTURE_UNIT - 1) | >> + FIELD_PREP(GUC_LOG_CRASH, XE_GUC_LOG_CRASH_BUFFER_SIZE / >> LOG_UNIT - 1) | >> + FIELD_PREP(GUC_LOG_DEBUG, XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE / >> LOG_UNIT - 1) | >> + FIELD_PREP(GUC_LOG_CAPTURE, XE_GUC_LOG_CAPTURE_BUFFER_SIZE / >> CAPTURE_UNIT - 1) | >> FIELD_PREP(GUC_LOG_BUF_ADDR, offset); >> >> #undef LOG_UNIT >> diff --git a/drivers/gpu/drm/xe/xe_guc_capture.c b/drivers/gpu/drm/xe/ >> xe_guc_capture.c >> index 243dad3e2418..acb95a93b530 100644 >> --- a/drivers/gpu/drm/xe/xe_guc_capture.c >> +++ b/drivers/gpu/drm/xe/xe_guc_capture.c >> @@ -816,7 +816,7 @@ static void check_guc_capture_size(struct xe_guc >> *guc) >> { >> int capture_size = guc_capture_output_size_est(guc); >> int spare_size = capture_size * GUC_CAPTURE_OVERBUFFER_MULTIPLIER; >> - u32 buffer_size = xe_guc_log_section_size_capture(&guc->log); >> + u32 buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; >> >> /* >> * NOTE: capture_size is much smaller than the capture region >> @@ -922,7 +922,7 @@ guc_capture_init_node(struct xe_guc *guc, struct >> __guc_capture_parsed_output *no >> * ADS module also calls separately for PF vs VF. >> * >> * --> alloc B: GuC output capture buf (registered via >> guc_init_params(log_param)) >> - * Size = #define CAPTURE_BUFFER_SIZE (warns if on >> too-small) >> + * Size = #define XE_GUC_LOG_CAPTURE_BUFFER_SIZE >> (warns if on too-small) >> * Note2: 'x 3' to hold multiple capture groups >> * >> * GUC Runtime notify capture: >> @@ -1368,7 +1368,7 @@ static void __guc_capture_process_output(struct >> xe_guc *guc) >> xe_map_memcpy_from(guc_to_xe(guc), &log_buf_state_local, &guc- >> >log.bo->vmap, >> log_buf_state_offset, sizeof(struct >> guc_log_buffer_state)); >> >> - buffer_size = xe_guc_get_log_buffer_size(&guc->log, >> GUC_LOG_BUFFER_CAPTURE); >> + buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; >> read_offset = log_buf_state_local.read_ptr; >> write_offset = log_buf_state_local.sampled_write_ptr; >> full_count = FIELD_GET(GUC_LOG_BUFFER_STATE_BUFFER_FULL_CNT, >> log_buf_state_local.flags); >> diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/ >> xe_guc_log.c >> index c01ccb35dc75..fa1d490dca0d 100644 >> --- a/drivers/gpu/drm/xe/xe_guc_log.c >> +++ b/drivers/gpu/drm/xe/xe_guc_log.c >> @@ -50,16 +50,16 @@ static size_t guc_log_size(void) >> * | Capture state header | >> * +-------------------------------+ 96B >> * | | >> - * +===============================+ PAGE_SIZE (4KB) >> + * +===============================+ 4KB >> + * | Event logs | >> + * +===============================+ + >> XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE >> * | Crash Dump logs | >> - * +===============================+ + CRASH_SIZE >> - * | Debug logs | >> - * +===============================+ + DEBUG_SIZE > > what happened with DEBUG_SIZE? in drivers/gpu/drm/xe/xe_guc.c it's > referred as DEBUG_BUFFER_SIZE > > Lucas De Marchi > >> + * +===============================+ + XE_GUC_LOG_CRASH_BUFFER_SIZE >> * | Capture logs | >> - * +===============================+ + CAPTURE_SIZE >> + * +===============================+ + >> XE_GUC_LOG_CAPTURE_BUFFER_SIZE >> */ >> - return PAGE_SIZE + CRASH_BUFFER_SIZE + DEBUG_BUFFER_SIZE + >> - CAPTURE_BUFFER_SIZE; >> + return SZ_4K + XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE + >> XE_GUC_LOG_CRASH_BUFFER_SIZE + >> + XE_GUC_LOG_CAPTURE_BUFFER_SIZE; The comment in layout is DEBUG_SIZE, while code is DEBUG_BUFFER_SIZE, will cleanup in next rev Regards, Zhanjun Dong >> } >> >> #define GUC_LOG_CHUNK_SIZE SZ_2M >> @@ -274,49 +274,6 @@ int xe_guc_log_init(struct xe_guc_log *log) >> >> ALLOW_ERROR_INJECTION(xe_guc_log_init, ERRNO); /* See xe_pci_probe() */ >> >> -static u32 xe_guc_log_section_size_crash(struct xe_guc_log *log) >> -{ >> - return CRASH_BUFFER_SIZE; >> -} >> - >> -static u32 xe_guc_log_section_size_debug(struct xe_guc_log *log) >> -{ >> - return DEBUG_BUFFER_SIZE; >> -} >> - >> -/** >> - * xe_guc_log_section_size_capture - Get capture buffer size within >> log sections. >> - * @log: The log object. >> - * >> - * This function will return the capture buffer size within log >> sections. >> - * >> - * Return: capture buffer size. >> - */ >> -u32 xe_guc_log_section_size_capture(struct xe_guc_log *log) >> -{ >> - return CAPTURE_BUFFER_SIZE; >> -} >> - >> -/** >> - * xe_guc_get_log_buffer_size - Get log buffer size for a type. >> - * @log: The log object. >> - * @type: The log buffer type >> - * >> - * Return: buffer size. >> - */ >> -u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum >> guc_log_buffer_type type) >> -{ >> - switch (type) { >> - case GUC_LOG_BUFFER_CRASH_DUMP: >> - return xe_guc_log_section_size_crash(log); >> - case GUC_LOG_BUFFER_DEBUG: >> - return xe_guc_log_section_size_debug(log); >> - case GUC_LOG_BUFFER_CAPTURE: >> - return xe_guc_log_section_size_capture(log); >> - } >> - return 0; >> -} >> - >> /** >> * xe_guc_get_log_buffer_offset - Get offset in log buffer for a type. >> * @log: The log object. >> @@ -327,13 +284,17 @@ u32 xe_guc_get_log_buffer_size(struct xe_guc_log >> *log, enum guc_log_buffer_type >> */ >> u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum >> guc_log_buffer_type type) >> { >> - enum guc_log_buffer_type i; >> u32 offset = PAGE_SIZE;/* for the log_buffer_states */ >> >> - for (i = GUC_LOG_BUFFER_CRASH_DUMP; i < GUC_LOG_BUFFER_TYPE_MAX; >> ++i) { >> - if (i == type) >> - break; >> - offset += xe_guc_get_log_buffer_size(log, i); >> + switch (type) { >> + case GUC_LOG_BUFFER_CAPTURE: >> + offset += XE_GUC_LOG_CRASH_BUFFER_SIZE; >> + fallthrough; >> + case GUC_LOG_BUFFER_CRASH_DUMP: >> + offset += XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE; >> + fallthrough; >> + case GUC_LOG_BUFFER_DEBUG: >> + break; >> } >> >> return offset; >> diff --git a/drivers/gpu/drm/xe/xe_guc_log.h b/drivers/gpu/drm/xe/ >> xe_guc_log.h >> index 98a47ac42b08..0cc059cedb9c 100644 >> --- a/drivers/gpu/drm/xe/xe_guc_log.h >> +++ b/drivers/gpu/drm/xe/xe_guc_log.h >> @@ -13,13 +13,13 @@ struct drm_printer; >> struct xe_device; >> >> #if IS_ENABLED(CONFIG_DRM_XE_DEBUG_GUC) >> -#define CRASH_BUFFER_SIZE SZ_1M >> -#define DEBUG_BUFFER_SIZE SZ_8M >> -#define CAPTURE_BUFFER_SIZE SZ_2M >> +#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_8M >> +#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_1M >> +#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_2M >> #else >> -#define CRASH_BUFFER_SIZE SZ_16K >> -#define DEBUG_BUFFER_SIZE SZ_64K >> -#define CAPTURE_BUFFER_SIZE SZ_1M >> +#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_64K >> +#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_16K >> +#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_1M >> #endif >> /* >> * While we're using plain log level in i915, GuC controls are much >> more... >> @@ -51,8 +51,6 @@ xe_guc_log_get_level(struct xe_guc_log *log) >> return log->level; >> } >> >> -u32 xe_guc_log_section_size_capture(struct xe_guc_log *log); >> -u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum >> guc_log_buffer_type type); >> u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum >> guc_log_buffer_type type); >> bool xe_guc_check_log_buf_overflow(struct xe_guc_log *log, >> enum guc_log_buffer_type type, >> -- >> 2.34.1 >> ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros 2025-10-07 16:44 ` Dong, Zhanjun @ 2025-10-07 17:08 ` Lucas De Marchi 2025-10-09 17:54 ` Dong, Zhanjun 0 siblings, 1 reply; 15+ messages in thread From: Lucas De Marchi @ 2025-10-07 17:08 UTC (permalink / raw) To: Dong, Zhanjun; +Cc: intel-xe, michal.wajdeczko On Tue, Oct 07, 2025 at 12:44:59PM -0400, Dong, Zhanjun wrote: > > >On 2025-10-02 12:00 p.m., Lucas De Marchi wrote: >>On Thu, Oct 02, 2025 at 11:03:01AM -0400, Zhanjun Dong wrote: >>>Add prefix to GuC log buffer macros to follow Xe naming styles. >>>Remove helper functions, replaced with macros. >>> >>>Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com> >>>--- >>>drivers/gpu/drm/xe/xe_guc.c | 22 ++++----- >>>drivers/gpu/drm/xe/xe_guc_capture.c | 6 +-- >>>drivers/gpu/drm/xe/xe_guc_log.c | 71 +++++++---------------------- >>>drivers/gpu/drm/xe/xe_guc_log.h | 14 +++--- >>>4 files changed, 36 insertions(+), 77 deletions(-) >>> >>>diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c >>>index d5adbbb013ec..b0ea9a13847a 100644 >>>--- a/drivers/gpu/drm/xe/xe_guc.c >>>+++ b/drivers/gpu/drm/xe/xe_guc.c >>>@@ -99,7 +99,7 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) >>> u32 offset = guc_bo_ggtt_addr(guc, guc->log.bo) >> PAGE_SHIFT; >>> u32 flags; >>> >>>- #if (((CRASH_BUFFER_SIZE) % SZ_1M) == 0) >>>+ #if (((XE_GUC_LOG_CRASH_BUFFER_SIZE) % SZ_1M) == 0) >> >>can you also add a patch to remove the excess use of parenthesis and >>indentation? Should ahave been: >> >>#if XE_GUC_LOG_CRASH_BUFFER_SIZE % SZ_1M == 0 >> > >In case of CRASH_BUFFER_SIZE defined with expression like: > >SZ_2M - SZ_1M but it's not defined like that. If you need to define it like that then the right define would be: #define XE_GUC_LOG_CRASH_BUFFER_SIZE (SZ_2M - SZ_1M) so the callers may use normal precedence rules without worrying how it's implemented. Lucas De Marchi > >expanded macro would be > #if SZ_2M - SZ_1M % SZ_1M == 0 > >due to '%' op is higher than '-' >SZ_1M % SZ_1M is 0 >SZ_2M - 0 is SZ_2M >SZ_2M != 0 >Result: false > >That gives us unwantted result, expected should be: >(SZ_2M - SZ_1M) % SZ_1M == 0 >Result: true > >We might still need parenthesis to prevent operator precedence issues > >> >> >>> #define LOG_UNIT SZ_1M >>> #define LOG_FLAG GUC_LOG_LOG_ALLOC_UNITS >>> #else >>>@@ -107,7 +107,7 @@ static u32 guc_ctl_log_params_flags(struct >>>xe_guc *guc) >>> #define LOG_FLAG 0 >>> #endif >>> >>>- #if (((CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) >>>+ #if (((XE_GUC_LOG_CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) >> >>ditto >> >>> #define CAPTURE_UNIT SZ_1M >>> #define CAPTURE_FLAG GUC_LOG_CAPTURE_ALLOC_UNITS >>> #else >>>@@ -115,20 +115,20 @@ static u32 guc_ctl_log_params_flags(struct >>>xe_guc *guc) >>> #define CAPTURE_FLAG 0 >>> #endif >>> >>>- BUILD_BUG_ON(!CRASH_BUFFER_SIZE); >>>- BUILD_BUG_ON(!IS_ALIGNED(CRASH_BUFFER_SIZE, LOG_UNIT)); >>>- BUILD_BUG_ON(!DEBUG_BUFFER_SIZE); >>>- BUILD_BUG_ON(!IS_ALIGNED(DEBUG_BUFFER_SIZE, LOG_UNIT)); >>>- BUILD_BUG_ON(!CAPTURE_BUFFER_SIZE); >>>- BUILD_BUG_ON(!IS_ALIGNED(CAPTURE_BUFFER_SIZE, CAPTURE_UNIT)); >>>+ BUILD_BUG_ON(!XE_GUC_LOG_CRASH_BUFFER_SIZE); >>>+ BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CRASH_BUFFER_SIZE, LOG_UNIT)); >>>+ BUILD_BUG_ON(!XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE); >>>+ BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE, >>>LOG_UNIT)); >>>+ BUILD_BUG_ON(!XE_GUC_LOG_CAPTURE_BUFFER_SIZE); >>>+ BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CAPTURE_BUFFER_SIZE, >>>CAPTURE_UNIT)); >>> >>> flags = GUC_LOG_VALID | >>> GUC_LOG_NOTIFY_ON_HALF_FULL | >>> CAPTURE_FLAG | >>> LOG_FLAG | >>>- FIELD_PREP(GUC_LOG_CRASH, CRASH_BUFFER_SIZE / LOG_UNIT - 1) | >>>- FIELD_PREP(GUC_LOG_DEBUG, DEBUG_BUFFER_SIZE / LOG_UNIT - 1) | >>>- FIELD_PREP(GUC_LOG_CAPTURE, CAPTURE_BUFFER_SIZE / >>>CAPTURE_UNIT - 1) | >>>+ FIELD_PREP(GUC_LOG_CRASH, XE_GUC_LOG_CRASH_BUFFER_SIZE / >>>LOG_UNIT - 1) | >>>+ FIELD_PREP(GUC_LOG_DEBUG, >>>XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE / LOG_UNIT - 1) | >>>+ FIELD_PREP(GUC_LOG_CAPTURE, >>>XE_GUC_LOG_CAPTURE_BUFFER_SIZE / CAPTURE_UNIT - 1) | >>> FIELD_PREP(GUC_LOG_BUF_ADDR, offset); >>> >>> #undef LOG_UNIT >>>diff --git a/drivers/gpu/drm/xe/xe_guc_capture.c >>>b/drivers/gpu/drm/xe/ xe_guc_capture.c >>>index 243dad3e2418..acb95a93b530 100644 >>>--- a/drivers/gpu/drm/xe/xe_guc_capture.c >>>+++ b/drivers/gpu/drm/xe/xe_guc_capture.c >>>@@ -816,7 +816,7 @@ static void check_guc_capture_size(struct >>>xe_guc *guc) >>>{ >>> int capture_size = guc_capture_output_size_est(guc); >>> int spare_size = capture_size * GUC_CAPTURE_OVERBUFFER_MULTIPLIER; >>>- u32 buffer_size = xe_guc_log_section_size_capture(&guc->log); >>>+ u32 buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; >>> >>> /* >>> * NOTE: capture_size is much smaller than the capture region >>>@@ -922,7 +922,7 @@ guc_capture_init_node(struct xe_guc *guc, >>>struct __guc_capture_parsed_output *no >>> * ADS module also calls separately for PF vs VF. >>> * >>> * --> alloc B: GuC output capture buf (registered via >>>guc_init_params(log_param)) >>>- * Size = #define CAPTURE_BUFFER_SIZE (warns if >>>on too-small) >>>+ * Size = #define XE_GUC_LOG_CAPTURE_BUFFER_SIZE >>>(warns if on too-small) >>> * Note2: 'x 3' to hold multiple capture groups >>> * >>> * GUC Runtime notify capture: >>>@@ -1368,7 +1368,7 @@ static void >>>__guc_capture_process_output(struct xe_guc *guc) >>> xe_map_memcpy_from(guc_to_xe(guc), &log_buf_state_local, &guc- >>>>log.bo->vmap, >>> log_buf_state_offset, sizeof(struct >>>guc_log_buffer_state)); >>> >>>- buffer_size = xe_guc_get_log_buffer_size(&guc->log, >>>GUC_LOG_BUFFER_CAPTURE); >>>+ buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; >>> read_offset = log_buf_state_local.read_ptr; >>> write_offset = log_buf_state_local.sampled_write_ptr; >>> full_count = FIELD_GET(GUC_LOG_BUFFER_STATE_BUFFER_FULL_CNT, >>>log_buf_state_local.flags); >>>diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/ >>>xe_guc_log.c >>>index c01ccb35dc75..fa1d490dca0d 100644 >>>--- a/drivers/gpu/drm/xe/xe_guc_log.c >>>+++ b/drivers/gpu/drm/xe/xe_guc_log.c >>>@@ -50,16 +50,16 @@ static size_t guc_log_size(void) >>> * | Capture state header | >>> * +-------------------------------+ 96B >>> * | | >>>- * +===============================+ PAGE_SIZE (4KB) >>>+ * +===============================+ 4KB >>>+ * | Event logs | >>>+ * +===============================+ + >>>XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE >>> * | Crash Dump logs | >>>- * +===============================+ + CRASH_SIZE >>>- * | Debug logs | >>>- * +===============================+ + DEBUG_SIZE >> >>what happened with DEBUG_SIZE? in drivers/gpu/drm/xe/xe_guc.c it's >>referred as DEBUG_BUFFER_SIZE >> >>Lucas De Marchi >> >>>+ * +===============================+ + XE_GUC_LOG_CRASH_BUFFER_SIZE >>> * | Capture logs | >>>- * +===============================+ + CAPTURE_SIZE >>>+ * +===============================+ + >>>XE_GUC_LOG_CAPTURE_BUFFER_SIZE >>> */ >>>- return PAGE_SIZE + CRASH_BUFFER_SIZE + DEBUG_BUFFER_SIZE + >>>- CAPTURE_BUFFER_SIZE; >>>+ return SZ_4K + XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE + >>>XE_GUC_LOG_CRASH_BUFFER_SIZE + >>>+ XE_GUC_LOG_CAPTURE_BUFFER_SIZE; > >The comment in layout is DEBUG_SIZE, while code is DEBUG_BUFFER_SIZE, >will cleanup in next rev > >Regards, >Zhanjun Dong > >>>} >>> >>>#define GUC_LOG_CHUNK_SIZE SZ_2M >>>@@ -274,49 +274,6 @@ int xe_guc_log_init(struct xe_guc_log *log) >>> >>>ALLOW_ERROR_INJECTION(xe_guc_log_init, ERRNO); /* See xe_pci_probe() */ >>> >>>-static u32 xe_guc_log_section_size_crash(struct xe_guc_log *log) >>>-{ >>>- return CRASH_BUFFER_SIZE; >>>-} >>>- >>>-static u32 xe_guc_log_section_size_debug(struct xe_guc_log *log) >>>-{ >>>- return DEBUG_BUFFER_SIZE; >>>-} >>>- >>>-/** >>>- * xe_guc_log_section_size_capture - Get capture buffer size >>>within log sections. >>>- * @log: The log object. >>>- * >>>- * This function will return the capture buffer size within log >>>sections. >>>- * >>>- * Return: capture buffer size. >>>- */ >>>-u32 xe_guc_log_section_size_capture(struct xe_guc_log *log) >>>-{ >>>- return CAPTURE_BUFFER_SIZE; >>>-} >>>- >>>-/** >>>- * xe_guc_get_log_buffer_size - Get log buffer size for a type. >>>- * @log: The log object. >>>- * @type: The log buffer type >>>- * >>>- * Return: buffer size. >>>- */ >>>-u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum >>>guc_log_buffer_type type) >>>-{ >>>- switch (type) { >>>- case GUC_LOG_BUFFER_CRASH_DUMP: >>>- return xe_guc_log_section_size_crash(log); >>>- case GUC_LOG_BUFFER_DEBUG: >>>- return xe_guc_log_section_size_debug(log); >>>- case GUC_LOG_BUFFER_CAPTURE: >>>- return xe_guc_log_section_size_capture(log); >>>- } >>>- return 0; >>>-} >>>- >>>/** >>> * xe_guc_get_log_buffer_offset - Get offset in log buffer for a type. >>> * @log: The log object. >>>@@ -327,13 +284,17 @@ u32 xe_guc_get_log_buffer_size(struct >>>xe_guc_log *log, enum guc_log_buffer_type >>> */ >>>u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum >>>guc_log_buffer_type type) >>>{ >>>- enum guc_log_buffer_type i; >>> u32 offset = PAGE_SIZE;/* for the log_buffer_states */ >>> >>>- for (i = GUC_LOG_BUFFER_CRASH_DUMP; i < >>>GUC_LOG_BUFFER_TYPE_MAX; ++i) { >>>- if (i == type) >>>- break; >>>- offset += xe_guc_get_log_buffer_size(log, i); >>>+ switch (type) { >>>+ case GUC_LOG_BUFFER_CAPTURE: >>>+ offset += XE_GUC_LOG_CRASH_BUFFER_SIZE; >>>+ fallthrough; >>>+ case GUC_LOG_BUFFER_CRASH_DUMP: >>>+ offset += XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE; >>>+ fallthrough; >>>+ case GUC_LOG_BUFFER_DEBUG: >>>+ break; >>> } >>> >>> return offset; >>>diff --git a/drivers/gpu/drm/xe/xe_guc_log.h b/drivers/gpu/drm/xe/ >>>xe_guc_log.h >>>index 98a47ac42b08..0cc059cedb9c 100644 >>>--- a/drivers/gpu/drm/xe/xe_guc_log.h >>>+++ b/drivers/gpu/drm/xe/xe_guc_log.h >>>@@ -13,13 +13,13 @@ struct drm_printer; >>>struct xe_device; >>> >>>#if IS_ENABLED(CONFIG_DRM_XE_DEBUG_GUC) >>>-#define CRASH_BUFFER_SIZE SZ_1M >>>-#define DEBUG_BUFFER_SIZE SZ_8M >>>-#define CAPTURE_BUFFER_SIZE SZ_2M >>>+#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_8M >>>+#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_1M >>>+#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_2M >>>#else >>>-#define CRASH_BUFFER_SIZE SZ_16K >>>-#define DEBUG_BUFFER_SIZE SZ_64K >>>-#define CAPTURE_BUFFER_SIZE SZ_1M >>>+#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_64K >>>+#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_16K >>>+#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_1M >>>#endif >>>/* >>> * While we're using plain log level in i915, GuC controls are >>>much more... >>>@@ -51,8 +51,6 @@ xe_guc_log_get_level(struct xe_guc_log *log) >>> return log->level; >>>} >>> >>>-u32 xe_guc_log_section_size_capture(struct xe_guc_log *log); >>>-u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum >>>guc_log_buffer_type type); >>>u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum >>>guc_log_buffer_type type); >>>bool xe_guc_check_log_buf_overflow(struct xe_guc_log *log, >>> enum guc_log_buffer_type type, >>>-- >>>2.34.1 >>> > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros 2025-10-07 17:08 ` Lucas De Marchi @ 2025-10-09 17:54 ` Dong, Zhanjun 2025-10-09 19:12 ` Michal Wajdeczko 0 siblings, 1 reply; 15+ messages in thread From: Dong, Zhanjun @ 2025-10-09 17:54 UTC (permalink / raw) To: Lucas De Marchi; +Cc: intel-xe, michal.wajdeczko On 2025-10-07 1:08 p.m., Lucas De Marchi wrote: > On Tue, Oct 07, 2025 at 12:44:59PM -0400, Dong, Zhanjun wrote: >> >> >> On 2025-10-02 12:00 p.m., Lucas De Marchi wrote: >>> On Thu, Oct 02, 2025 at 11:03:01AM -0400, Zhanjun Dong wrote: >>>> Add prefix to GuC log buffer macros to follow Xe naming styles. >>>> Remove helper functions, replaced with macros. >>>> >>>> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com> >>>> --- >>>> drivers/gpu/drm/xe/xe_guc.c | 22 ++++----- >>>> drivers/gpu/drm/xe/xe_guc_capture.c | 6 +-- >>>> drivers/gpu/drm/xe/xe_guc_log.c | 71 +++++++---------------------- >>>> drivers/gpu/drm/xe/xe_guc_log.h | 14 +++--- >>>> 4 files changed, 36 insertions(+), 77 deletions(-) >>>> >>>> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c >>>> index d5adbbb013ec..b0ea9a13847a 100644 >>>> --- a/drivers/gpu/drm/xe/xe_guc.c >>>> +++ b/drivers/gpu/drm/xe/xe_guc.c >>>> @@ -99,7 +99,7 @@ static u32 guc_ctl_log_params_flags(struct xe_guc >>>> *guc) >>>> u32 offset = guc_bo_ggtt_addr(guc, guc->log.bo) >> PAGE_SHIFT; >>>> u32 flags; >>>> >>>> - #if (((CRASH_BUFFER_SIZE) % SZ_1M) == 0) >>>> + #if (((XE_GUC_LOG_CRASH_BUFFER_SIZE) % SZ_1M) == 0) >>> >>> can you also add a patch to remove the excess use of parenthesis and >>> indentation? Should ahave been: >>> >>> #if XE_GUC_LOG_CRASH_BUFFER_SIZE % SZ_1M == 0 >>> >> >> In case of CRASH_BUFFER_SIZE defined with expression like: >> >> SZ_2M - SZ_1M > > but it's not defined like that. If you need to define it like that then > the right define would be: > > #define XE_GUC_LOG_CRASH_BUFFER_SIZE (SZ_2M - SZ_1M) > > so the callers may use normal precedence rules without worrying how it's > implemented. Yes, it's not defined like that. My concern is who response for ensure the operator precedence, I think it should be the macro, who contains the operator, response to ensure that, so that would be: #define plus(a, b) (a) + (b) The plus response for that, not a and b. So if a or b changed at later time, the plus still works. Regards, Zhanjun Dong > > Lucas De Marchi > >> >> expanded macro would be >> #if SZ_2M - SZ_1M % SZ_1M == 0 >> >> due to '%' op is higher than '-' >> SZ_1M % SZ_1M is 0 >> SZ_2M - 0 is SZ_2M >> SZ_2M != 0 >> Result: false >> >> That gives us unwantted result, expected should be: >> (SZ_2M - SZ_1M) % SZ_1M == 0 >> Result: true >> >> We might still need parenthesis to prevent operator precedence issues >> >>> >>> >>>> #define LOG_UNIT SZ_1M >>>> #define LOG_FLAG GUC_LOG_LOG_ALLOC_UNITS >>>> #else >>>> @@ -107,7 +107,7 @@ static u32 guc_ctl_log_params_flags(struct >>>> xe_guc *guc) >>>> #define LOG_FLAG 0 >>>> #endif >>>> >>>> - #if (((CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) >>>> + #if (((XE_GUC_LOG_CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) >>> >>> ditto >>> >>>> #define CAPTURE_UNIT SZ_1M >>>> #define CAPTURE_FLAG GUC_LOG_CAPTURE_ALLOC_UNITS >>>> #else >>>> @@ -115,20 +115,20 @@ static u32 guc_ctl_log_params_flags(struct >>>> xe_guc *guc) >>>> #define CAPTURE_FLAG 0 >>>> #endif >>>> >>>> - BUILD_BUG_ON(!CRASH_BUFFER_SIZE); >>>> - BUILD_BUG_ON(!IS_ALIGNED(CRASH_BUFFER_SIZE, LOG_UNIT)); >>>> - BUILD_BUG_ON(!DEBUG_BUFFER_SIZE); >>>> - BUILD_BUG_ON(!IS_ALIGNED(DEBUG_BUFFER_SIZE, LOG_UNIT)); >>>> - BUILD_BUG_ON(!CAPTURE_BUFFER_SIZE); >>>> - BUILD_BUG_ON(!IS_ALIGNED(CAPTURE_BUFFER_SIZE, CAPTURE_UNIT)); >>>> + BUILD_BUG_ON(!XE_GUC_LOG_CRASH_BUFFER_SIZE); >>>> + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CRASH_BUFFER_SIZE, LOG_UNIT)); >>>> + BUILD_BUG_ON(!XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE); >>>> + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE, >>>> LOG_UNIT)); >>>> + BUILD_BUG_ON(!XE_GUC_LOG_CAPTURE_BUFFER_SIZE); >>>> + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CAPTURE_BUFFER_SIZE, >>>> CAPTURE_UNIT)); >>>> >>>> flags = GUC_LOG_VALID | >>>> GUC_LOG_NOTIFY_ON_HALF_FULL | >>>> CAPTURE_FLAG | >>>> LOG_FLAG | >>>> - FIELD_PREP(GUC_LOG_CRASH, CRASH_BUFFER_SIZE / LOG_UNIT - 1) | >>>> - FIELD_PREP(GUC_LOG_DEBUG, DEBUG_BUFFER_SIZE / LOG_UNIT - 1) | >>>> - FIELD_PREP(GUC_LOG_CAPTURE, CAPTURE_BUFFER_SIZE / >>>> CAPTURE_UNIT - 1) | >>>> + FIELD_PREP(GUC_LOG_CRASH, XE_GUC_LOG_CRASH_BUFFER_SIZE / >>>> LOG_UNIT - 1) | >>>> + FIELD_PREP(GUC_LOG_DEBUG, >>>> XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE / LOG_UNIT - 1) | >>>> + FIELD_PREP(GUC_LOG_CAPTURE, >>>> XE_GUC_LOG_CAPTURE_BUFFER_SIZE / CAPTURE_UNIT - 1) | >>>> FIELD_PREP(GUC_LOG_BUF_ADDR, offset); >>>> >>>> #undef LOG_UNIT >>>> diff --git a/drivers/gpu/drm/xe/xe_guc_capture.c b/drivers/gpu/drm/ >>>> xe/ xe_guc_capture.c >>>> index 243dad3e2418..acb95a93b530 100644 >>>> --- a/drivers/gpu/drm/xe/xe_guc_capture.c >>>> +++ b/drivers/gpu/drm/xe/xe_guc_capture.c >>>> @@ -816,7 +816,7 @@ static void check_guc_capture_size(struct xe_guc >>>> *guc) >>>> { >>>> int capture_size = guc_capture_output_size_est(guc); >>>> int spare_size = capture_size * GUC_CAPTURE_OVERBUFFER_MULTIPLIER; >>>> - u32 buffer_size = xe_guc_log_section_size_capture(&guc->log); >>>> + u32 buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; >>>> >>>> /* >>>> * NOTE: capture_size is much smaller than the capture region >>>> @@ -922,7 +922,7 @@ guc_capture_init_node(struct xe_guc *guc, struct >>>> __guc_capture_parsed_output *no >>>> * ADS module also calls separately for PF vs VF. >>>> * >>>> * --> alloc B: GuC output capture buf (registered via >>>> guc_init_params(log_param)) >>>> - * Size = #define CAPTURE_BUFFER_SIZE (warns if on >>>> too-small) >>>> + * Size = #define XE_GUC_LOG_CAPTURE_BUFFER_SIZE >>>> (warns if on too-small) >>>> * Note2: 'x 3' to hold multiple capture groups >>>> * >>>> * GUC Runtime notify capture: >>>> @@ -1368,7 +1368,7 @@ static void >>>> __guc_capture_process_output(struct xe_guc *guc) >>>> xe_map_memcpy_from(guc_to_xe(guc), &log_buf_state_local, &guc- >>>>> log.bo->vmap, >>>> log_buf_state_offset, sizeof(struct >>>> guc_log_buffer_state)); >>>> >>>> - buffer_size = xe_guc_get_log_buffer_size(&guc->log, >>>> GUC_LOG_BUFFER_CAPTURE); >>>> + buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; >>>> read_offset = log_buf_state_local.read_ptr; >>>> write_offset = log_buf_state_local.sampled_write_ptr; >>>> full_count = FIELD_GET(GUC_LOG_BUFFER_STATE_BUFFER_FULL_CNT, >>>> log_buf_state_local.flags); >>>> diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/ >>>> xe_guc_log.c >>>> index c01ccb35dc75..fa1d490dca0d 100644 >>>> --- a/drivers/gpu/drm/xe/xe_guc_log.c >>>> +++ b/drivers/gpu/drm/xe/xe_guc_log.c >>>> @@ -50,16 +50,16 @@ static size_t guc_log_size(void) >>>> * | Capture state header | >>>> * +-------------------------------+ 96B >>>> * | | >>>> - * +===============================+ PAGE_SIZE (4KB) >>>> + * +===============================+ 4KB >>>> + * | Event logs | >>>> + * +===============================+ + >>>> XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE >>>> * | Crash Dump logs | >>>> - * +===============================+ + CRASH_SIZE >>>> - * | Debug logs | >>>> - * +===============================+ + DEBUG_SIZE >>> >>> what happened with DEBUG_SIZE? in drivers/gpu/drm/xe/xe_guc.c it's >>> referred as DEBUG_BUFFER_SIZE >>> >>> Lucas De Marchi >>> >>>> + * +===============================+ + >>>> XE_GUC_LOG_CRASH_BUFFER_SIZE >>>> * | Capture logs | >>>> - * +===============================+ + CAPTURE_SIZE >>>> + * +===============================+ + >>>> XE_GUC_LOG_CAPTURE_BUFFER_SIZE >>>> */ >>>> - return PAGE_SIZE + CRASH_BUFFER_SIZE + DEBUG_BUFFER_SIZE + >>>> - CAPTURE_BUFFER_SIZE; >>>> + return SZ_4K + XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE + >>>> XE_GUC_LOG_CRASH_BUFFER_SIZE + >>>> + XE_GUC_LOG_CAPTURE_BUFFER_SIZE; >> >> The comment in layout is DEBUG_SIZE, while code is DEBUG_BUFFER_SIZE, >> will cleanup in next rev >> >> Regards, >> Zhanjun Dong >> >>>> } >>>> >>>> #define GUC_LOG_CHUNK_SIZE SZ_2M >>>> @@ -274,49 +274,6 @@ int xe_guc_log_init(struct xe_guc_log *log) >>>> >>>> ALLOW_ERROR_INJECTION(xe_guc_log_init, ERRNO); /* See xe_pci_probe() */ >>>> >>>> -static u32 xe_guc_log_section_size_crash(struct xe_guc_log *log) >>>> -{ >>>> - return CRASH_BUFFER_SIZE; >>>> -} >>>> - >>>> -static u32 xe_guc_log_section_size_debug(struct xe_guc_log *log) >>>> -{ >>>> - return DEBUG_BUFFER_SIZE; >>>> -} >>>> - >>>> -/** >>>> - * xe_guc_log_section_size_capture - Get capture buffer size within >>>> log sections. >>>> - * @log: The log object. >>>> - * >>>> - * This function will return the capture buffer size within log >>>> sections. >>>> - * >>>> - * Return: capture buffer size. >>>> - */ >>>> -u32 xe_guc_log_section_size_capture(struct xe_guc_log *log) >>>> -{ >>>> - return CAPTURE_BUFFER_SIZE; >>>> -} >>>> - >>>> -/** >>>> - * xe_guc_get_log_buffer_size - Get log buffer size for a type. >>>> - * @log: The log object. >>>> - * @type: The log buffer type >>>> - * >>>> - * Return: buffer size. >>>> - */ >>>> -u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum >>>> guc_log_buffer_type type) >>>> -{ >>>> - switch (type) { >>>> - case GUC_LOG_BUFFER_CRASH_DUMP: >>>> - return xe_guc_log_section_size_crash(log); >>>> - case GUC_LOG_BUFFER_DEBUG: >>>> - return xe_guc_log_section_size_debug(log); >>>> - case GUC_LOG_BUFFER_CAPTURE: >>>> - return xe_guc_log_section_size_capture(log); >>>> - } >>>> - return 0; >>>> -} >>>> - >>>> /** >>>> * xe_guc_get_log_buffer_offset - Get offset in log buffer for a type. >>>> * @log: The log object. >>>> @@ -327,13 +284,17 @@ u32 xe_guc_get_log_buffer_size(struct >>>> xe_guc_log *log, enum guc_log_buffer_type >>>> */ >>>> u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum >>>> guc_log_buffer_type type) >>>> { >>>> - enum guc_log_buffer_type i; >>>> u32 offset = PAGE_SIZE;/* for the log_buffer_states */ >>>> >>>> - for (i = GUC_LOG_BUFFER_CRASH_DUMP; i < >>>> GUC_LOG_BUFFER_TYPE_MAX; ++i) { >>>> - if (i == type) >>>> - break; >>>> - offset += xe_guc_get_log_buffer_size(log, i); >>>> + switch (type) { >>>> + case GUC_LOG_BUFFER_CAPTURE: >>>> + offset += XE_GUC_LOG_CRASH_BUFFER_SIZE; >>>> + fallthrough; >>>> + case GUC_LOG_BUFFER_CRASH_DUMP: >>>> + offset += XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE; >>>> + fallthrough; >>>> + case GUC_LOG_BUFFER_DEBUG: >>>> + break; >>>> } >>>> >>>> return offset; >>>> diff --git a/drivers/gpu/drm/xe/xe_guc_log.h b/drivers/gpu/drm/xe/ >>>> xe_guc_log.h >>>> index 98a47ac42b08..0cc059cedb9c 100644 >>>> --- a/drivers/gpu/drm/xe/xe_guc_log.h >>>> +++ b/drivers/gpu/drm/xe/xe_guc_log.h >>>> @@ -13,13 +13,13 @@ struct drm_printer; >>>> struct xe_device; >>>> >>>> #if IS_ENABLED(CONFIG_DRM_XE_DEBUG_GUC) >>>> -#define CRASH_BUFFER_SIZE SZ_1M >>>> -#define DEBUG_BUFFER_SIZE SZ_8M >>>> -#define CAPTURE_BUFFER_SIZE SZ_2M >>>> +#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_8M >>>> +#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_1M >>>> +#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_2M >>>> #else >>>> -#define CRASH_BUFFER_SIZE SZ_16K >>>> -#define DEBUG_BUFFER_SIZE SZ_64K >>>> -#define CAPTURE_BUFFER_SIZE SZ_1M >>>> +#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_64K >>>> +#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_16K >>>> +#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_1M >>>> #endif >>>> /* >>>> * While we're using plain log level in i915, GuC controls are much >>>> more... >>>> @@ -51,8 +51,6 @@ xe_guc_log_get_level(struct xe_guc_log *log) >>>> return log->level; >>>> } >>>> >>>> -u32 xe_guc_log_section_size_capture(struct xe_guc_log *log); >>>> -u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum >>>> guc_log_buffer_type type); >>>> u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum >>>> guc_log_buffer_type type); >>>> bool xe_guc_check_log_buf_overflow(struct xe_guc_log *log, >>>> enum guc_log_buffer_type type, >>>> -- >>>> 2.34.1 >>>> >> ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros 2025-10-09 17:54 ` Dong, Zhanjun @ 2025-10-09 19:12 ` Michal Wajdeczko 0 siblings, 0 replies; 15+ messages in thread From: Michal Wajdeczko @ 2025-10-09 19:12 UTC (permalink / raw) To: Dong, Zhanjun, Lucas De Marchi; +Cc: intel-xe On 10/9/2025 7:54 PM, Dong, Zhanjun wrote: > > > On 2025-10-07 1:08 p.m., Lucas De Marchi wrote: >> On Tue, Oct 07, 2025 at 12:44:59PM -0400, Dong, Zhanjun wrote: >>> >>> >>> On 2025-10-02 12:00 p.m., Lucas De Marchi wrote: >>>> On Thu, Oct 02, 2025 at 11:03:01AM -0400, Zhanjun Dong wrote: >>>>> Add prefix to GuC log buffer macros to follow Xe naming styles. >>>>> Remove helper functions, replaced with macros. >>>>> >>>>> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com> >>>>> --- >>>>> drivers/gpu/drm/xe/xe_guc.c | 22 ++++----- >>>>> drivers/gpu/drm/xe/xe_guc_capture.c | 6 +-- >>>>> drivers/gpu/drm/xe/xe_guc_log.c | 71 +++++++---------------------- >>>>> drivers/gpu/drm/xe/xe_guc_log.h | 14 +++--- >>>>> 4 files changed, 36 insertions(+), 77 deletions(-) >>>>> >>>>> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c >>>>> index d5adbbb013ec..b0ea9a13847a 100644 >>>>> --- a/drivers/gpu/drm/xe/xe_guc.c >>>>> +++ b/drivers/gpu/drm/xe/xe_guc.c >>>>> @@ -99,7 +99,7 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) >>>>> u32 offset = guc_bo_ggtt_addr(guc, guc->log.bo) >> PAGE_SHIFT; >>>>> u32 flags; >>>>> >>>>> - #if (((CRASH_BUFFER_SIZE) % SZ_1M) == 0) >>>>> + #if (((XE_GUC_LOG_CRASH_BUFFER_SIZE) % SZ_1M) == 0) >>>> >>>> can you also add a patch to remove the excess use of parenthesis and >>>> indentation? Should ahave been: >>>> >>>> #if XE_GUC_LOG_CRASH_BUFFER_SIZE % SZ_1M == 0 >>>> >>> >>> In case of CRASH_BUFFER_SIZE defined with expression like: >>> >>> SZ_2M - SZ_1M >> >> but it's not defined like that. If you need to define it like that then >> the right define would be: >> >> #define XE_GUC_LOG_CRASH_BUFFER_SIZE (SZ_2M - SZ_1M) >> >> so the callers may use normal precedence rules without worrying how it's >> implemented. > > Yes, it's not defined like that. > > My concern is who response for ensure the operator precedence, I think it should be the macro, who contains the operator, response to ensure that, > so that would be: > > #define plus(a, b) (a) + (b) this is wrong, it should be defined as: #define plus(a, b) ((a) + (b)) > > The plus response for that, not a and b. So if a or b changed at later time, the plus still works. > > Regards, > Zhanjun Dong > >> >> Lucas De Marchi >> >>> >>> expanded macro would be >>> #if SZ_2M - SZ_1M % SZ_1M == 0 >>> >>> due to '%' op is higher than '-' >>> SZ_1M % SZ_1M is 0 >>> SZ_2M - 0 is SZ_2M >>> SZ_2M != 0 >>> Result: false >>> >>> That gives us unwantted result, expected should be: >>> (SZ_2M - SZ_1M) % SZ_1M == 0 >>> Result: true >>> >>> We might still need parenthesis to prevent operator precedence issues >>> >>>> >>>> >>>>> #define LOG_UNIT SZ_1M >>>>> #define LOG_FLAG GUC_LOG_LOG_ALLOC_UNITS >>>>> #else >>>>> @@ -107,7 +107,7 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) >>>>> #define LOG_FLAG 0 >>>>> #endif >>>>> >>>>> - #if (((CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) >>>>> + #if (((XE_GUC_LOG_CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) >>>> >>>> ditto >>>> >>>>> #define CAPTURE_UNIT SZ_1M >>>>> #define CAPTURE_FLAG GUC_LOG_CAPTURE_ALLOC_UNITS >>>>> #else >>>>> @@ -115,20 +115,20 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) >>>>> #define CAPTURE_FLAG 0 >>>>> #endif >>>>> >>>>> - BUILD_BUG_ON(!CRASH_BUFFER_SIZE); >>>>> - BUILD_BUG_ON(!IS_ALIGNED(CRASH_BUFFER_SIZE, LOG_UNIT)); >>>>> - BUILD_BUG_ON(!DEBUG_BUFFER_SIZE); >>>>> - BUILD_BUG_ON(!IS_ALIGNED(DEBUG_BUFFER_SIZE, LOG_UNIT)); >>>>> - BUILD_BUG_ON(!CAPTURE_BUFFER_SIZE); >>>>> - BUILD_BUG_ON(!IS_ALIGNED(CAPTURE_BUFFER_SIZE, CAPTURE_UNIT)); >>>>> + BUILD_BUG_ON(!XE_GUC_LOG_CRASH_BUFFER_SIZE); >>>>> + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CRASH_BUFFER_SIZE, LOG_UNIT)); >>>>> + BUILD_BUG_ON(!XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE); >>>>> + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE, LOG_UNIT)); >>>>> + BUILD_BUG_ON(!XE_GUC_LOG_CAPTURE_BUFFER_SIZE); >>>>> + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CAPTURE_BUFFER_SIZE, CAPTURE_UNIT)); >>>>> >>>>> flags = GUC_LOG_VALID | >>>>> GUC_LOG_NOTIFY_ON_HALF_FULL | >>>>> CAPTURE_FLAG | >>>>> LOG_FLAG | >>>>> - FIELD_PREP(GUC_LOG_CRASH, CRASH_BUFFER_SIZE / LOG_UNIT - 1) | >>>>> - FIELD_PREP(GUC_LOG_DEBUG, DEBUG_BUFFER_SIZE / LOG_UNIT - 1) | >>>>> - FIELD_PREP(GUC_LOG_CAPTURE, CAPTURE_BUFFER_SIZE / CAPTURE_UNIT - 1) | >>>>> + FIELD_PREP(GUC_LOG_CRASH, XE_GUC_LOG_CRASH_BUFFER_SIZE / LOG_UNIT - 1) | >>>>> + FIELD_PREP(GUC_LOG_DEBUG, XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE / LOG_UNIT - 1) | >>>>> + FIELD_PREP(GUC_LOG_CAPTURE, XE_GUC_LOG_CAPTURE_BUFFER_SIZE / CAPTURE_UNIT - 1) | >>>>> FIELD_PREP(GUC_LOG_BUF_ADDR, offset); >>>>> >>>>> #undef LOG_UNIT >>>>> diff --git a/drivers/gpu/drm/xe/xe_guc_capture.c b/drivers/gpu/drm/ xe/ xe_guc_capture.c >>>>> index 243dad3e2418..acb95a93b530 100644 >>>>> --- a/drivers/gpu/drm/xe/xe_guc_capture.c >>>>> +++ b/drivers/gpu/drm/xe/xe_guc_capture.c >>>>> @@ -816,7 +816,7 @@ static void check_guc_capture_size(struct xe_guc *guc) >>>>> { >>>>> int capture_size = guc_capture_output_size_est(guc); >>>>> int spare_size = capture_size * GUC_CAPTURE_OVERBUFFER_MULTIPLIER; >>>>> - u32 buffer_size = xe_guc_log_section_size_capture(&guc->log); >>>>> + u32 buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; >>>>> >>>>> /* >>>>> * NOTE: capture_size is much smaller than the capture region >>>>> @@ -922,7 +922,7 @@ guc_capture_init_node(struct xe_guc *guc, struct __guc_capture_parsed_output *no >>>>> * ADS module also calls separately for PF vs VF. >>>>> * >>>>> * --> alloc B: GuC output capture buf (registered via guc_init_params(log_param)) >>>>> - * Size = #define CAPTURE_BUFFER_SIZE (warns if on too-small) >>>>> + * Size = #define XE_GUC_LOG_CAPTURE_BUFFER_SIZE (warns if on too-small) >>>>> * Note2: 'x 3' to hold multiple capture groups >>>>> * >>>>> * GUC Runtime notify capture: >>>>> @@ -1368,7 +1368,7 @@ static void __guc_capture_process_output(struct xe_guc *guc) >>>>> xe_map_memcpy_from(guc_to_xe(guc), &log_buf_state_local, &guc- >>>>>> log.bo->vmap, >>>>> log_buf_state_offset, sizeof(struct guc_log_buffer_state)); >>>>> >>>>> - buffer_size = xe_guc_get_log_buffer_size(&guc->log, GUC_LOG_BUFFER_CAPTURE); >>>>> + buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; >>>>> read_offset = log_buf_state_local.read_ptr; >>>>> write_offset = log_buf_state_local.sampled_write_ptr; >>>>> full_count = FIELD_GET(GUC_LOG_BUFFER_STATE_BUFFER_FULL_CNT, log_buf_state_local.flags); >>>>> diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/ xe_guc_log.c >>>>> index c01ccb35dc75..fa1d490dca0d 100644 >>>>> --- a/drivers/gpu/drm/xe/xe_guc_log.c >>>>> +++ b/drivers/gpu/drm/xe/xe_guc_log.c >>>>> @@ -50,16 +50,16 @@ static size_t guc_log_size(void) >>>>> * | Capture state header | >>>>> * +-------------------------------+ 96B >>>>> * | | >>>>> - * +===============================+ PAGE_SIZE (4KB) >>>>> + * +===============================+ 4KB >>>>> + * | Event logs | >>>>> + * +===============================+ + XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE >>>>> * | Crash Dump logs | >>>>> - * +===============================+ + CRASH_SIZE >>>>> - * | Debug logs | >>>>> - * +===============================+ + DEBUG_SIZE >>>> >>>> what happened with DEBUG_SIZE? in drivers/gpu/drm/xe/xe_guc.c it's >>>> referred as DEBUG_BUFFER_SIZE >>>> >>>> Lucas De Marchi >>>> >>>>> + * +===============================+ + XE_GUC_LOG_CRASH_BUFFER_SIZE >>>>> * | Capture logs | >>>>> - * +===============================+ + CAPTURE_SIZE >>>>> + * +===============================+ + XE_GUC_LOG_CAPTURE_BUFFER_SIZE >>>>> */ >>>>> - return PAGE_SIZE + CRASH_BUFFER_SIZE + DEBUG_BUFFER_SIZE + >>>>> - CAPTURE_BUFFER_SIZE; >>>>> + return SZ_4K + XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE + XE_GUC_LOG_CRASH_BUFFER_SIZE + >>>>> + XE_GUC_LOG_CAPTURE_BUFFER_SIZE; >>> >>> The comment in layout is DEBUG_SIZE, while code is DEBUG_BUFFER_SIZE, >>> will cleanup in next rev >>> >>> Regards, >>> Zhanjun Dong >>> >>>>> } >>>>> >>>>> #define GUC_LOG_CHUNK_SIZE SZ_2M >>>>> @@ -274,49 +274,6 @@ int xe_guc_log_init(struct xe_guc_log *log) >>>>> >>>>> ALLOW_ERROR_INJECTION(xe_guc_log_init, ERRNO); /* See xe_pci_probe() */ >>>>> >>>>> -static u32 xe_guc_log_section_size_crash(struct xe_guc_log *log) >>>>> -{ >>>>> - return CRASH_BUFFER_SIZE; >>>>> -} >>>>> - >>>>> -static u32 xe_guc_log_section_size_debug(struct xe_guc_log *log) >>>>> -{ >>>>> - return DEBUG_BUFFER_SIZE; >>>>> -} >>>>> - >>>>> -/** >>>>> - * xe_guc_log_section_size_capture - Get capture buffer size within log sections. >>>>> - * @log: The log object. >>>>> - * >>>>> - * This function will return the capture buffer size within log sections. >>>>> - * >>>>> - * Return: capture buffer size. >>>>> - */ >>>>> -u32 xe_guc_log_section_size_capture(struct xe_guc_log *log) >>>>> -{ >>>>> - return CAPTURE_BUFFER_SIZE; >>>>> -} >>>>> - >>>>> -/** >>>>> - * xe_guc_get_log_buffer_size - Get log buffer size for a type. >>>>> - * @log: The log object. >>>>> - * @type: The log buffer type >>>>> - * >>>>> - * Return: buffer size. >>>>> - */ >>>>> -u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum guc_log_buffer_type type) >>>>> -{ >>>>> - switch (type) { >>>>> - case GUC_LOG_BUFFER_CRASH_DUMP: >>>>> - return xe_guc_log_section_size_crash(log); >>>>> - case GUC_LOG_BUFFER_DEBUG: >>>>> - return xe_guc_log_section_size_debug(log); >>>>> - case GUC_LOG_BUFFER_CAPTURE: >>>>> - return xe_guc_log_section_size_capture(log); >>>>> - } >>>>> - return 0; >>>>> -} >>>>> - >>>>> /** >>>>> * xe_guc_get_log_buffer_offset - Get offset in log buffer for a type. >>>>> * @log: The log object. >>>>> @@ -327,13 +284,17 @@ u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum guc_log_buffer_type >>>>> */ >>>>> u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum guc_log_buffer_type type) >>>>> { >>>>> - enum guc_log_buffer_type i; >>>>> u32 offset = PAGE_SIZE;/* for the log_buffer_states */ >>>>> >>>>> - for (i = GUC_LOG_BUFFER_CRASH_DUMP; i < GUC_LOG_BUFFER_TYPE_MAX; ++i) { >>>>> - if (i == type) >>>>> - break; >>>>> - offset += xe_guc_get_log_buffer_size(log, i); >>>>> + switch (type) { >>>>> + case GUC_LOG_BUFFER_CAPTURE: >>>>> + offset += XE_GUC_LOG_CRASH_BUFFER_SIZE; >>>>> + fallthrough; >>>>> + case GUC_LOG_BUFFER_CRASH_DUMP: >>>>> + offset += XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE; >>>>> + fallthrough; >>>>> + case GUC_LOG_BUFFER_DEBUG: >>>>> + break; >>>>> } >>>>> >>>>> return offset; >>>>> diff --git a/drivers/gpu/drm/xe/xe_guc_log.h b/drivers/gpu/drm/xe/ xe_guc_log.h >>>>> index 98a47ac42b08..0cc059cedb9c 100644 >>>>> --- a/drivers/gpu/drm/xe/xe_guc_log.h >>>>> +++ b/drivers/gpu/drm/xe/xe_guc_log.h >>>>> @@ -13,13 +13,13 @@ struct drm_printer; >>>>> struct xe_device; >>>>> >>>>> #if IS_ENABLED(CONFIG_DRM_XE_DEBUG_GUC) >>>>> -#define CRASH_BUFFER_SIZE SZ_1M >>>>> -#define DEBUG_BUFFER_SIZE SZ_8M >>>>> -#define CAPTURE_BUFFER_SIZE SZ_2M >>>>> +#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_8M >>>>> +#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_1M >>>>> +#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_2M >>>>> #else >>>>> -#define CRASH_BUFFER_SIZE SZ_16K >>>>> -#define DEBUG_BUFFER_SIZE SZ_64K >>>>> -#define CAPTURE_BUFFER_SIZE SZ_1M >>>>> +#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_64K >>>>> +#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_16K >>>>> +#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_1M >>>>> #endif >>>>> /* >>>>> * While we're using plain log level in i915, GuC controls are much more... >>>>> @@ -51,8 +51,6 @@ xe_guc_log_get_level(struct xe_guc_log *log) >>>>> return log->level; >>>>> } >>>>> >>>>> -u32 xe_guc_log_section_size_capture(struct xe_guc_log *log); >>>>> -u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum guc_log_buffer_type type); >>>>> u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum guc_log_buffer_type type); >>>>> bool xe_guc_check_log_buf_overflow(struct xe_guc_log *log, >>>>> enum guc_log_buffer_type type, >>>>> -- >>>>> 2.34.1 >>>>> >>> > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros 2025-10-02 15:03 ` [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros Zhanjun Dong 2025-10-02 16:00 ` Lucas De Marchi @ 2025-10-04 17:13 ` Michal Wajdeczko 1 sibling, 0 replies; 15+ messages in thread From: Michal Wajdeczko @ 2025-10-04 17:13 UTC (permalink / raw) To: Zhanjun Dong, intel-xe On 10/2/2025 5:03 PM, Zhanjun Dong wrote: > Add prefix to GuC log buffer macros to follow Xe naming styles. > Remove helper functions, replaced with macros. > > Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com> > --- > drivers/gpu/drm/xe/xe_guc.c | 22 ++++----- > drivers/gpu/drm/xe/xe_guc_capture.c | 6 +-- > drivers/gpu/drm/xe/xe_guc_log.c | 71 +++++++---------------------- > drivers/gpu/drm/xe/xe_guc_log.h | 14 +++--- > 4 files changed, 36 insertions(+), 77 deletions(-) > > diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c > index d5adbbb013ec..b0ea9a13847a 100644 > --- a/drivers/gpu/drm/xe/xe_guc.c > +++ b/drivers/gpu/drm/xe/xe_guc.c > @@ -99,7 +99,7 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) > u32 offset = guc_bo_ggtt_addr(guc, guc->log.bo) >> PAGE_SHIFT; > u32 flags; > > - #if (((CRASH_BUFFER_SIZE) % SZ_1M) == 0) > + #if (((XE_GUC_LOG_CRASH_BUFFER_SIZE) % SZ_1M) == 0) > #define LOG_UNIT SZ_1M > #define LOG_FLAG GUC_LOG_LOG_ALLOC_UNITS > #else > @@ -107,7 +107,7 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) > #define LOG_FLAG 0 > #endif > > - #if (((CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) > + #if (((XE_GUC_LOG_CAPTURE_BUFFER_SIZE) % SZ_1M) == 0) > #define CAPTURE_UNIT SZ_1M > #define CAPTURE_FLAG GUC_LOG_CAPTURE_ALLOC_UNITS > #else > @@ -115,20 +115,20 @@ static u32 guc_ctl_log_params_flags(struct xe_guc *guc) > #define CAPTURE_FLAG 0 > #endif > > - BUILD_BUG_ON(!CRASH_BUFFER_SIZE); > - BUILD_BUG_ON(!IS_ALIGNED(CRASH_BUFFER_SIZE, LOG_UNIT)); > - BUILD_BUG_ON(!DEBUG_BUFFER_SIZE); > - BUILD_BUG_ON(!IS_ALIGNED(DEBUG_BUFFER_SIZE, LOG_UNIT)); > - BUILD_BUG_ON(!CAPTURE_BUFFER_SIZE); > - BUILD_BUG_ON(!IS_ALIGNED(CAPTURE_BUFFER_SIZE, CAPTURE_UNIT)); > + BUILD_BUG_ON(!XE_GUC_LOG_CRASH_BUFFER_SIZE); > + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CRASH_BUFFER_SIZE, LOG_UNIT)); > + BUILD_BUG_ON(!XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE); > + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE, LOG_UNIT)); > + BUILD_BUG_ON(!XE_GUC_LOG_CAPTURE_BUFFER_SIZE); > + BUILD_BUG_ON(!IS_ALIGNED(XE_GUC_LOG_CAPTURE_BUFFER_SIZE, CAPTURE_UNIT)); > > flags = GUC_LOG_VALID | > GUC_LOG_NOTIFY_ON_HALF_FULL | > CAPTURE_FLAG | > LOG_FLAG | > - FIELD_PREP(GUC_LOG_CRASH, CRASH_BUFFER_SIZE / LOG_UNIT - 1) | > - FIELD_PREP(GUC_LOG_DEBUG, DEBUG_BUFFER_SIZE / LOG_UNIT - 1) | > - FIELD_PREP(GUC_LOG_CAPTURE, CAPTURE_BUFFER_SIZE / CAPTURE_UNIT - 1) | > + FIELD_PREP(GUC_LOG_CRASH, XE_GUC_LOG_CRASH_BUFFER_SIZE / LOG_UNIT - 1) | > + FIELD_PREP(GUC_LOG_DEBUG, XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE / LOG_UNIT - 1) | > + FIELD_PREP(GUC_LOG_CAPTURE, XE_GUC_LOG_CAPTURE_BUFFER_SIZE / CAPTURE_UNIT - 1) | hmm, but here it looks the in the GUC CTL params, the naming is different and the GuC spec is using this naming: GeneralLog StateCapture CrashDumpLog so if you want to do cleanup in naming, please update both places (BUFFER_TYPE and GUC_CTL_LOG_PARAMS) or just make them consistent > FIELD_PREP(GUC_LOG_BUF_ADDR, offset); > > #undef LOG_UNIT > diff --git a/drivers/gpu/drm/xe/xe_guc_capture.c b/drivers/gpu/drm/xe/xe_guc_capture.c > index 243dad3e2418..acb95a93b530 100644 > --- a/drivers/gpu/drm/xe/xe_guc_capture.c > +++ b/drivers/gpu/drm/xe/xe_guc_capture.c > @@ -816,7 +816,7 @@ static void check_guc_capture_size(struct xe_guc *guc) > { > int capture_size = guc_capture_output_size_est(guc); > int spare_size = capture_size * GUC_CAPTURE_OVERBUFFER_MULTIPLIER; > - u32 buffer_size = xe_guc_log_section_size_capture(&guc->log); > + u32 buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; > > /* > * NOTE: capture_size is much smaller than the capture region > @@ -922,7 +922,7 @@ guc_capture_init_node(struct xe_guc *guc, struct __guc_capture_parsed_output *no > * ADS module also calls separately for PF vs VF. > * > * --> alloc B: GuC output capture buf (registered via guc_init_params(log_param)) > - * Size = #define CAPTURE_BUFFER_SIZE (warns if on too-small) > + * Size = #define XE_GUC_LOG_CAPTURE_BUFFER_SIZE (warns if on too-small) > * Note2: 'x 3' to hold multiple capture groups > * > * GUC Runtime notify capture: > @@ -1368,7 +1368,7 @@ static void __guc_capture_process_output(struct xe_guc *guc) > xe_map_memcpy_from(guc_to_xe(guc), &log_buf_state_local, &guc->log.bo->vmap, > log_buf_state_offset, sizeof(struct guc_log_buffer_state)); > > - buffer_size = xe_guc_get_log_buffer_size(&guc->log, GUC_LOG_BUFFER_CAPTURE); > + buffer_size = XE_GUC_LOG_CAPTURE_BUFFER_SIZE; > read_offset = log_buf_state_local.read_ptr; > write_offset = log_buf_state_local.sampled_write_ptr; > full_count = FIELD_GET(GUC_LOG_BUFFER_STATE_BUFFER_FULL_CNT, log_buf_state_local.flags); > diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c > index c01ccb35dc75..fa1d490dca0d 100644 > --- a/drivers/gpu/drm/xe/xe_guc_log.c > +++ b/drivers/gpu/drm/xe/xe_guc_log.c > @@ -50,16 +50,16 @@ static size_t guc_log_size(void) > * | Capture state header | > * +-------------------------------+ 96B > * | | > - * +===============================+ PAGE_SIZE (4KB) > + * +===============================+ 4KB > + * | Event logs | > + * +===============================+ + XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE I'm not sure it is worth to include obvious XE_GUC_LOG prefix in the doc maybe this diagram should just look like: * +===============================+ 0000h * | ... header | ^ * | | | * | | 4KB * | | | * | | V * +===============================+ + <-- GENERAL_LOG_OFFSET * | GENERAL_LOG (events) | ^ * | | | * | | GENERAL_LOG_SIZE * | | | * | | V * +===============================+ + <-- CRASH_DUMP_OFFSET * | CRASH_DUMP (raw data) | ^ * | | | * | | CRASH_DUMP_SIZE * | | | * | | V * +===============================+ + <-- ERROR_CAPTURE_OFFSET * | ERROR_CAPTURE (raw data) | ^ * | | | * | | ERROR_CAPTURE_SIZE * | | | * | | V * +===============================+ 80100h (max) and it can be even promoted to full kernel-doc > * | Crash Dump logs | > - * +===============================+ + CRASH_SIZE > - * | Debug logs | > - * +===============================+ + DEBUG_SIZE > + * +===============================+ + XE_GUC_LOG_CRASH_BUFFER_SIZE > * | Capture logs | > - * +===============================+ + CAPTURE_SIZE > + * +===============================+ + XE_GUC_LOG_CAPTURE_BUFFER_SIZE > */ > - return PAGE_SIZE + CRASH_BUFFER_SIZE + DEBUG_BUFFER_SIZE + > - CAPTURE_BUFFER_SIZE; > + return SZ_4K + XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE + XE_GUC_LOG_CRASH_BUFFER_SIZE + > + XE_GUC_LOG_CAPTURE_BUFFER_SIZE; those are all macros, maybe guc_log_size should be also converted to macro ? > } > > #define GUC_LOG_CHUNK_SIZE SZ_2M > @@ -274,49 +274,6 @@ int xe_guc_log_init(struct xe_guc_log *log) > > ALLOW_ERROR_INJECTION(xe_guc_log_init, ERRNO); /* See xe_pci_probe() */ > > -static u32 xe_guc_log_section_size_crash(struct xe_guc_log *log) > -{ > - return CRASH_BUFFER_SIZE; > -} > - > -static u32 xe_guc_log_section_size_debug(struct xe_guc_log *log) > -{ > - return DEBUG_BUFFER_SIZE; > -} > - > -/** > - * xe_guc_log_section_size_capture - Get capture buffer size within log sections. > - * @log: The log object. > - * > - * This function will return the capture buffer size within log sections. > - * > - * Return: capture buffer size. > - */ > -u32 xe_guc_log_section_size_capture(struct xe_guc_log *log) > -{ > - return CAPTURE_BUFFER_SIZE; > -} > - > -/** > - * xe_guc_get_log_buffer_size - Get log buffer size for a type. > - * @log: The log object. > - * @type: The log buffer type > - * > - * Return: buffer size. > - */ > -u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum guc_log_buffer_type type) > -{ > - switch (type) { > - case GUC_LOG_BUFFER_CRASH_DUMP: > - return xe_guc_log_section_size_crash(log); > - case GUC_LOG_BUFFER_DEBUG: > - return xe_guc_log_section_size_debug(log); > - case GUC_LOG_BUFFER_CAPTURE: > - return xe_guc_log_section_size_capture(log); > - } > - return 0; > -} > - > /** > * xe_guc_get_log_buffer_offset - Get offset in log buffer for a type. > * @log: The log object. > @@ -327,13 +284,17 @@ u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum guc_log_buffer_type > */ > u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum guc_log_buffer_type type) > { > - enum guc_log_buffer_type i; > u32 offset = PAGE_SIZE;/* for the log_buffer_states */ > > - for (i = GUC_LOG_BUFFER_CRASH_DUMP; i < GUC_LOG_BUFFER_TYPE_MAX; ++i) { > - if (i == type) > - break; > - offset += xe_guc_get_log_buffer_size(log, i); > + switch (type) { > + case GUC_LOG_BUFFER_CAPTURE: > + offset += XE_GUC_LOG_CRASH_BUFFER_SIZE; > + fallthrough; > + case GUC_LOG_BUFFER_CRASH_DUMP: > + offset += XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE; > + fallthrough; > + case GUC_LOG_BUFFER_DEBUG: > + break; > } > > return offset; > diff --git a/drivers/gpu/drm/xe/xe_guc_log.h b/drivers/gpu/drm/xe/xe_guc_log.h > index 98a47ac42b08..0cc059cedb9c 100644 > --- a/drivers/gpu/drm/xe/xe_guc_log.h > +++ b/drivers/gpu/drm/xe/xe_guc_log.h > @@ -13,13 +13,13 @@ struct drm_printer; > struct xe_device; > > #if IS_ENABLED(CONFIG_DRM_XE_DEBUG_GUC) > -#define CRASH_BUFFER_SIZE SZ_1M > -#define DEBUG_BUFFER_SIZE SZ_8M > -#define CAPTURE_BUFFER_SIZE SZ_2M > +#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_8M > +#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_1M > +#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_2M > #else > -#define CRASH_BUFFER_SIZE SZ_16K > -#define DEBUG_BUFFER_SIZE SZ_64K > -#define CAPTURE_BUFFER_SIZE SZ_1M > +#define XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE SZ_64K > +#define XE_GUC_LOG_CRASH_BUFFER_SIZE SZ_16K > +#define XE_GUC_LOG_CAPTURE_BUFFER_SIZE SZ_1M > #endif > /* > * While we're using plain log level in i915, GuC controls are much more... > @@ -51,8 +51,6 @@ xe_guc_log_get_level(struct xe_guc_log *log) > return log->level; > } > > -u32 xe_guc_log_section_size_capture(struct xe_guc_log *log); > -u32 xe_guc_get_log_buffer_size(struct xe_guc_log *log, enum guc_log_buffer_type type); > u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum guc_log_buffer_type type); > bool xe_guc_check_log_buf_overflow(struct xe_guc_log *log, > enum guc_log_buffer_type type, ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v4 2/2] drm/xe/guc: Update GuC log buffer type value 2025-10-02 15:03 [PATCH v4 0/2] drm/xe/guc: Cleanup GuC log buffer macros and helpers Zhanjun Dong 2025-10-02 15:03 ` [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros Zhanjun Dong @ 2025-10-02 15:03 ` Zhanjun Dong 2025-10-04 16:42 ` Michal Wajdeczko 2025-10-02 15:35 ` ✓ CI.KUnit: success for drm/xe/guc: Cleanup GuC log buffer macros and helpers Patchwork ` (2 subsequent siblings) 4 siblings, 1 reply; 15+ messages in thread From: Zhanjun Dong @ 2025-10-02 15:03 UTC (permalink / raw) To: intel-xe; +Cc: michal.wajdeczko, Zhanjun Dong Update GuC log buffer type value, to align with the GuC specification. Rename GUC_LOG_BUFFER_DEBUG to GUC_LOG_BUFFER_EVENT_LOG. Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com> --- drivers/gpu/drm/xe/abi/guc_log_abi.h | 2 +- drivers/gpu/drm/xe/xe_guc_log.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/xe/abi/guc_log_abi.h b/drivers/gpu/drm/xe/abi/guc_log_abi.h index 554630b7ccd9..1a487164b980 100644 --- a/drivers/gpu/drm/xe/abi/guc_log_abi.h +++ b/drivers/gpu/drm/xe/abi/guc_log_abi.h @@ -10,8 +10,8 @@ /* GuC logging buffer types */ enum guc_log_buffer_type { + GUC_LOG_BUFFER_EVENT_LOG, GUC_LOG_BUFFER_CRASH_DUMP, - GUC_LOG_BUFFER_DEBUG, GUC_LOG_BUFFER_CAPTURE, }; diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c index fa1d490dca0d..900b39fc734f 100644 --- a/drivers/gpu/drm/xe/xe_guc_log.c +++ b/drivers/gpu/drm/xe/xe_guc_log.c @@ -293,7 +293,7 @@ u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum guc_log_buffer_typ case GUC_LOG_BUFFER_CRASH_DUMP: offset += XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE; fallthrough; - case GUC_LOG_BUFFER_DEBUG: + case GUC_LOG_BUFFER_EVENT_LOG: break; } -- 2.34.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v4 2/2] drm/xe/guc: Update GuC log buffer type value 2025-10-02 15:03 ` [PATCH v4 2/2] drm/xe/guc: Update GuC log buffer type value Zhanjun Dong @ 2025-10-04 16:42 ` Michal Wajdeczko 2025-10-09 14:38 ` Dong, Zhanjun 0 siblings, 1 reply; 15+ messages in thread From: Michal Wajdeczko @ 2025-10-04 16:42 UTC (permalink / raw) To: Zhanjun Dong, intel-xe, Daniele Ceraolo Spurio On 10/2/2025 5:03 PM, Zhanjun Dong wrote: > Update GuC log buffer type value, to align with the GuC specification. > Rename GUC_LOG_BUFFER_DEBUG to GUC_LOG_BUFFER_EVENT_LOG. hmm, my copy of GuC specification has: GENERAL = 0 /* Log event data */ CRASH = 1 /* Raw crash data */ ERROR_STATE_CAPTURE = 2 /* Error State Capture data */ so if the goal is to align (more) with the spec, maybe it should be (to keep them reasonable short): GENERAL_LOG CRASH_DUMP ERROR_CAPTURE + @Daniele and btw, IMO this patch should be before the other one that cleanups macros > > Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com> > --- > drivers/gpu/drm/xe/abi/guc_log_abi.h | 2 +- > drivers/gpu/drm/xe/xe_guc_log.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/xe/abi/guc_log_abi.h b/drivers/gpu/drm/xe/abi/guc_log_abi.h > index 554630b7ccd9..1a487164b980 100644 > --- a/drivers/gpu/drm/xe/abi/guc_log_abi.h > +++ b/drivers/gpu/drm/xe/abi/guc_log_abi.h > @@ -10,8 +10,8 @@ > > /* GuC logging buffer types */ > enum guc_log_buffer_type { > + GUC_LOG_BUFFER_EVENT_LOG, > GUC_LOG_BUFFER_CRASH_DUMP, > - GUC_LOG_BUFFER_DEBUG, > GUC_LOG_BUFFER_CAPTURE, > }; > > diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c > index fa1d490dca0d..900b39fc734f 100644 > --- a/drivers/gpu/drm/xe/xe_guc_log.c > +++ b/drivers/gpu/drm/xe/xe_guc_log.c > @@ -293,7 +293,7 @@ u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum guc_log_buffer_typ > case GUC_LOG_BUFFER_CRASH_DUMP: > offset += XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE; > fallthrough; > - case GUC_LOG_BUFFER_DEBUG: > + case GUC_LOG_BUFFER_EVENT_LOG: > break; > } > ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 2/2] drm/xe/guc: Update GuC log buffer type value 2025-10-04 16:42 ` Michal Wajdeczko @ 2025-10-09 14:38 ` Dong, Zhanjun 0 siblings, 0 replies; 15+ messages in thread From: Dong, Zhanjun @ 2025-10-09 14:38 UTC (permalink / raw) To: Michal Wajdeczko, intel-xe, Daniele Ceraolo Spurio On 2025-10-04 12:42 p.m., Michal Wajdeczko wrote: > > > On 10/2/2025 5:03 PM, Zhanjun Dong wrote: >> Update GuC log buffer type value, to align with the GuC specification. >> Rename GUC_LOG_BUFFER_DEBUG to GUC_LOG_BUFFER_EVENT_LOG. > > hmm, my copy of GuC specification has: > > GENERAL = 0 /* Log event data */ > CRASH = 1 /* Raw crash data */ > ERROR_STATE_CAPTURE = 2 /* Error State Capture data */ > > so if the goal is to align (more) with the spec, maybe it should be (to keep them reasonable short): > > GENERAL_LOG 1st, the issue is the "GENERAL" here give us no information about what it is, GENERAL_LOG almost equal to _LOG. 2nd, here is within the enum define about log buffer type, so _LOG here also didn't tell us anything. As you mentioned: GENERAL = 0 /* Log event data */ that's why I would like to use the name from comment EVENT_LOG This name tell us something and also aligned with spec. or maybe EVENT as _LOG means nothing here BTW, the previous name _DEBUG not aligns with spec, too generic and not provide much info. > CRASH_DUMP > ERROR_CAPTURE That's fine Regards, Zhanjun Dong > > + @Daniele > > and btw, IMO this patch should be before the other one that cleanups macros > >> >> Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com> >> --- >> drivers/gpu/drm/xe/abi/guc_log_abi.h | 2 +- >> drivers/gpu/drm/xe/xe_guc_log.c | 2 +- >> 2 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/xe/abi/guc_log_abi.h b/drivers/gpu/drm/xe/abi/guc_log_abi.h >> index 554630b7ccd9..1a487164b980 100644 >> --- a/drivers/gpu/drm/xe/abi/guc_log_abi.h >> +++ b/drivers/gpu/drm/xe/abi/guc_log_abi.h >> @@ -10,8 +10,8 @@ >> >> /* GuC logging buffer types */ >> enum guc_log_buffer_type { >> + GUC_LOG_BUFFER_EVENT_LOG, >> GUC_LOG_BUFFER_CRASH_DUMP, >> - GUC_LOG_BUFFER_DEBUG, >> GUC_LOG_BUFFER_CAPTURE, >> }; > >> >> diff --git a/drivers/gpu/drm/xe/xe_guc_log.c b/drivers/gpu/drm/xe/xe_guc_log.c >> index fa1d490dca0d..900b39fc734f 100644 >> --- a/drivers/gpu/drm/xe/xe_guc_log.c >> +++ b/drivers/gpu/drm/xe/xe_guc_log.c >> @@ -293,7 +293,7 @@ u32 xe_guc_get_log_buffer_offset(struct xe_guc_log *log, enum guc_log_buffer_typ >> case GUC_LOG_BUFFER_CRASH_DUMP: >> offset += XE_GUC_LOG_EVENT_LOG_BUFFER_SIZE; >> fallthrough; >> - case GUC_LOG_BUFFER_DEBUG: >> + case GUC_LOG_BUFFER_EVENT_LOG: >> break; >> } >> > ^ permalink raw reply [flat|nested] 15+ messages in thread
* ✓ CI.KUnit: success for drm/xe/guc: Cleanup GuC log buffer macros and helpers 2025-10-02 15:03 [PATCH v4 0/2] drm/xe/guc: Cleanup GuC log buffer macros and helpers Zhanjun Dong 2025-10-02 15:03 ` [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros Zhanjun Dong 2025-10-02 15:03 ` [PATCH v4 2/2] drm/xe/guc: Update GuC log buffer type value Zhanjun Dong @ 2025-10-02 15:35 ` Patchwork 2025-10-02 16:18 ` ✓ Xe.CI.BAT: " Patchwork 2025-10-02 18:48 ` ✓ Xe.CI.Full: " Patchwork 4 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2025-10-02 15:35 UTC (permalink / raw) To: Zhanjun Dong; +Cc: intel-xe == Series Details == Series: drm/xe/guc: Cleanup GuC log buffer macros and helpers URL : https://patchwork.freedesktop.org/series/155338/ State : success == Summary == + trap cleanup EXIT + /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig [15:34:15] Configuring KUnit Kernel ... Generating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [15:34:19] Building KUnit Kernel ... Populating config with: $ make ARCH=um O=.kunit olddefconfig Building with: $ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48 [15:34:48] Starting KUnit Kernel (1/1)... [15:34:48] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [15:34:48] ================== guc_buf (11 subtests) =================== [15:34:48] [PASSED] test_smallest [15:34:48] [PASSED] test_largest [15:34:48] [PASSED] test_granular [15:34:48] [PASSED] test_unique [15:34:48] [PASSED] test_overlap [15:34:48] [PASSED] test_reusable [15:34:48] [PASSED] test_too_big [15:34:48] [PASSED] test_flush [15:34:48] [PASSED] test_lookup [15:34:48] [PASSED] test_data [15:34:48] [PASSED] test_class [15:34:48] ===================== [PASSED] guc_buf ===================== [15:34:48] =================== guc_dbm (7 subtests) =================== [15:34:48] [PASSED] test_empty [15:34:48] [PASSED] test_default [15:34:48] ======================== test_size ======================== [15:34:48] [PASSED] 4 [15:34:48] [PASSED] 8 [15:34:48] [PASSED] 32 [15:34:48] [PASSED] 256 [15:34:48] ==================== [PASSED] test_size ==================== [15:34:48] ======================= test_reuse ======================== [15:34:48] [PASSED] 4 [15:34:48] [PASSED] 8 [15:34:48] [PASSED] 32 [15:34:48] [PASSED] 256 [15:34:48] =================== [PASSED] test_reuse ==================== [15:34:48] =================== test_range_overlap ==================== [15:34:48] [PASSED] 4 [15:34:48] [PASSED] 8 [15:34:48] [PASSED] 32 [15:34:48] [PASSED] 256 [15:34:48] =============== [PASSED] test_range_overlap ================ [15:34:48] =================== test_range_compact ==================== [15:34:48] [PASSED] 4 [15:34:48] [PASSED] 8 [15:34:48] [PASSED] 32 [15:34:48] [PASSED] 256 [15:34:48] =============== [PASSED] test_range_compact ================ [15:34:48] ==================== test_range_spare ===================== [15:34:48] [PASSED] 4 [15:34:48] [PASSED] 8 [15:34:48] [PASSED] 32 [15:34:48] [PASSED] 256 [15:34:48] ================ [PASSED] test_range_spare ================= [15:34:48] ===================== [PASSED] guc_dbm ===================== [15:34:48] =================== guc_idm (6 subtests) =================== [15:34:48] [PASSED] bad_init [15:34:48] [PASSED] no_init [15:34:48] [PASSED] init_fini [15:34:48] [PASSED] check_used [15:34:48] [PASSED] check_quota [15:34:48] [PASSED] check_all [15:34:48] ===================== [PASSED] guc_idm ===================== [15:34:48] ================== no_relay (3 subtests) =================== [15:34:48] [PASSED] xe_drops_guc2pf_if_not_ready [15:34:48] [PASSED] xe_drops_guc2vf_if_not_ready [15:34:48] [PASSED] xe_rejects_send_if_not_ready [15:34:48] ==================== [PASSED] no_relay ===================== [15:34:48] ================== pf_relay (14 subtests) ================== [15:34:48] [PASSED] pf_rejects_guc2pf_too_short [15:34:48] [PASSED] pf_rejects_guc2pf_too_long [15:34:48] [PASSED] pf_rejects_guc2pf_no_payload [15:34:48] [PASSED] pf_fails_no_payload [15:34:48] [PASSED] pf_fails_bad_origin [15:34:48] [PASSED] pf_fails_bad_type [15:34:48] [PASSED] pf_txn_reports_error [15:34:48] [PASSED] pf_txn_sends_pf2guc [15:34:48] [PASSED] pf_sends_pf2guc [15:34:48] [SKIPPED] pf_loopback_nop [15:34:48] [SKIPPED] pf_loopback_echo [15:34:48] [SKIPPED] pf_loopback_fail [15:34:48] [SKIPPED] pf_loopback_busy [15:34:48] [SKIPPED] pf_loopback_retry [15:34:48] ==================== [PASSED] pf_relay ===================== [15:34:48] ================== vf_relay (3 subtests) =================== [15:34:48] [PASSED] vf_rejects_guc2vf_too_short [15:34:48] [PASSED] vf_rejects_guc2vf_too_long [15:34:48] [PASSED] vf_rejects_guc2vf_no_payload [15:34:48] ==================== [PASSED] vf_relay ===================== [15:34:48] ===================== lmtt (1 subtest) ===================== [15:34:48] ======================== test_ops ========================= [15:34:48] [PASSED] 2-level [15:34:48] [PASSED] multi-level [15:34:48] ==================== [PASSED] test_ops ===================== [15:34:48] ====================== [PASSED] lmtt ======================= [15:34:48] ================= pf_service (11 subtests) ================= [15:34:48] [PASSED] pf_negotiate_any [15:34:48] [PASSED] pf_negotiate_base_match [15:34:48] [PASSED] pf_negotiate_base_newer [15:34:48] [PASSED] pf_negotiate_base_next [15:34:48] [SKIPPED] pf_negotiate_base_older [15:34:48] [PASSED] pf_negotiate_base_prev [15:34:48] [PASSED] pf_negotiate_latest_match [15:34:48] [PASSED] pf_negotiate_latest_newer [15:34:48] [PASSED] pf_negotiate_latest_next [15:34:48] [SKIPPED] pf_negotiate_latest_older [15:34:48] [SKIPPED] pf_negotiate_latest_prev [15:34:48] =================== [PASSED] pf_service ==================== [15:34:48] ================= xe_guc_g2g (2 subtests) ================== [15:34:48] ============== xe_live_guc_g2g_kunit_default ============== [15:34:48] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ========== [15:34:48] ============== xe_live_guc_g2g_kunit_allmem =============== [15:34:48] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ========== [15:34:48] =================== [SKIPPED] xe_guc_g2g =================== [15:34:48] =================== xe_mocs (2 subtests) =================== [15:34:48] ================ xe_live_mocs_kernel_kunit ================ [15:34:48] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============ [15:34:48] ================ xe_live_mocs_reset_kunit ================= [15:34:48] ============ [SKIPPED] xe_live_mocs_reset_kunit ============ [15:34:48] ==================== [SKIPPED] xe_mocs ===================== [15:34:48] ================= xe_migrate (2 subtests) ================== [15:34:48] ================= xe_migrate_sanity_kunit ================= [15:34:48] ============ [SKIPPED] xe_migrate_sanity_kunit ============= [15:34:48] ================== xe_validate_ccs_kunit ================== [15:34:48] ============= [SKIPPED] xe_validate_ccs_kunit ============== [15:34:48] =================== [SKIPPED] xe_migrate =================== [15:34:48] ================== xe_dma_buf (1 subtest) ================== [15:34:48] ==================== xe_dma_buf_kunit ===================== [15:34:48] ================ [SKIPPED] xe_dma_buf_kunit ================ [15:34:48] =================== [SKIPPED] xe_dma_buf =================== [15:34:48] ================= xe_bo_shrink (1 subtest) ================= [15:34:48] =================== xe_bo_shrink_kunit ==================== [15:34:48] =============== [SKIPPED] xe_bo_shrink_kunit =============== [15:34:48] ================== [SKIPPED] xe_bo_shrink ================== [15:34:48] ==================== xe_bo (2 subtests) ==================== [15:34:48] ================== xe_ccs_migrate_kunit =================== [15:34:48] ============== [SKIPPED] xe_ccs_migrate_kunit ============== [15:34:48] ==================== xe_bo_evict_kunit ==================== [15:34:48] =============== [SKIPPED] xe_bo_evict_kunit ================ [15:34:48] ===================== [SKIPPED] xe_bo ====================== [15:34:48] ==================== args (11 subtests) ==================== [15:34:48] [PASSED] count_args_test [15:34:48] [PASSED] call_args_example [15:34:48] [PASSED] call_args_test [15:34:48] [PASSED] drop_first_arg_example [15:34:48] [PASSED] drop_first_arg_test [15:34:48] [PASSED] first_arg_example [15:34:48] [PASSED] first_arg_test [15:34:48] [PASSED] last_arg_example [15:34:48] [PASSED] last_arg_test [15:34:48] [PASSED] pick_arg_example [15:34:48] [PASSED] sep_comma_example [15:34:48] ====================== [PASSED] args ======================= [15:34:48] =================== xe_pci (3 subtests) ==================== [15:34:48] ==================== check_graphics_ip ==================== [15:34:48] [PASSED] 12.00 Xe_LP [15:34:48] [PASSED] 12.10 Xe_LP+ [15:34:48] [PASSED] 12.55 Xe_HPG [15:34:48] [PASSED] 12.60 Xe_HPC [15:34:48] [PASSED] 12.70 Xe_LPG [15:34:48] [PASSED] 12.71 Xe_LPG [15:34:48] [PASSED] 12.74 Xe_LPG+ [15:34:48] [PASSED] 20.01 Xe2_HPG [15:34:48] [PASSED] 20.02 Xe2_HPG [15:34:48] [PASSED] 20.04 Xe2_LPG [15:34:48] [PASSED] 30.00 Xe3_LPG [15:34:48] [PASSED] 30.01 Xe3_LPG [15:34:48] [PASSED] 30.03 Xe3_LPG [15:34:48] ================ [PASSED] check_graphics_ip ================ [15:34:48] ===================== check_media_ip ====================== [15:34:48] [PASSED] 12.00 Xe_M [15:34:48] [PASSED] 12.55 Xe_HPM [15:34:48] [PASSED] 13.00 Xe_LPM+ [15:34:48] [PASSED] 13.01 Xe2_HPM [15:34:48] [PASSED] 20.00 Xe2_LPM [15:34:48] [PASSED] 30.00 Xe3_LPM [15:34:48] [PASSED] 30.02 Xe3_LPM [15:34:48] ================= [PASSED] check_media_ip ================== [15:34:48] ================= check_platform_gt_count ================= [15:34:48] [PASSED] 0x9A60 (TIGERLAKE) [15:34:48] [PASSED] 0x9A68 (TIGERLAKE) [15:34:48] [PASSED] 0x9A70 (TIGERLAKE) [15:34:48] [PASSED] 0x9A40 (TIGERLAKE) [15:34:48] [PASSED] 0x9A49 (TIGERLAKE) [15:34:48] [PASSED] 0x9A59 (TIGERLAKE) [15:34:48] [PASSED] 0x9A78 (TIGERLAKE) [15:34:48] [PASSED] 0x9AC0 (TIGERLAKE) [15:34:48] [PASSED] 0x9AC9 (TIGERLAKE) [15:34:48] [PASSED] 0x9AD9 (TIGERLAKE) [15:34:48] [PASSED] 0x9AF8 (TIGERLAKE) [15:34:48] [PASSED] 0x4C80 (ROCKETLAKE) [15:34:48] [PASSED] 0x4C8A (ROCKETLAKE) [15:34:48] [PASSED] 0x4C8B (ROCKETLAKE) [15:34:48] [PASSED] 0x4C8C (ROCKETLAKE) [15:34:48] [PASSED] 0x4C90 (ROCKETLAKE) [15:34:48] [PASSED] 0x4C9A (ROCKETLAKE) [15:34:48] [PASSED] 0x4680 (ALDERLAKE_S) [15:34:48] [PASSED] 0x4682 (ALDERLAKE_S) [15:34:48] [PASSED] 0x4688 (ALDERLAKE_S) [15:34:48] [PASSED] 0x468A (ALDERLAKE_S) [15:34:48] [PASSED] 0x468B (ALDERLAKE_S) [15:34:48] [PASSED] 0x4690 (ALDERLAKE_S) [15:34:48] [PASSED] 0x4692 (ALDERLAKE_S) [15:34:48] [PASSED] 0x4693 (ALDERLAKE_S) [15:34:48] [PASSED] 0x46A0 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46A1 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46A2 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46A3 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46A6 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46A8 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46AA (ALDERLAKE_P) [15:34:48] [PASSED] 0x462A (ALDERLAKE_P) [15:34:48] [PASSED] 0x4626 (ALDERLAKE_P) [15:34:48] [PASSED] 0x4628 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46B0 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46B1 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46B2 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46B3 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46C0 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46C1 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46C2 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46C3 (ALDERLAKE_P) [15:34:48] [PASSED] 0x46D0 (ALDERLAKE_N) [15:34:48] [PASSED] 0x46D1 (ALDERLAKE_N) [15:34:48] [PASSED] 0x46D2 (ALDERLAKE_N) [15:34:48] [PASSED] 0x46D3 (ALDERLAKE_N) [15:34:48] [PASSED] 0x46D4 (ALDERLAKE_N) [15:34:48] [PASSED] 0xA721 (ALDERLAKE_P) [15:34:48] [PASSED] 0xA7A1 (ALDERLAKE_P) [15:34:48] [PASSED] 0xA7A9 (ALDERLAKE_P) [15:34:48] [PASSED] 0xA7AC (ALDERLAKE_P) [15:34:48] [PASSED] 0xA7AD (ALDERLAKE_P) [15:34:48] [PASSED] 0xA720 (ALDERLAKE_P) [15:34:48] [PASSED] 0xA7A0 (ALDERLAKE_P) [15:34:48] [PASSED] 0xA7A8 (ALDERLAKE_P) [15:34:48] [PASSED] 0xA7AA (ALDERLAKE_P) [15:34:48] [PASSED] 0xA7AB (ALDERLAKE_P) [15:34:48] [PASSED] 0xA780 (ALDERLAKE_S) [15:34:48] [PASSED] 0xA781 (ALDERLAKE_S) [15:34:48] [PASSED] 0xA782 (ALDERLAKE_S) [15:34:48] [PASSED] 0xA783 (ALDERLAKE_S) [15:34:48] [PASSED] 0xA788 (ALDERLAKE_S) [15:34:48] [PASSED] 0xA789 (ALDERLAKE_S) [15:34:48] [PASSED] 0xA78A (ALDERLAKE_S) [15:34:48] [PASSED] 0xA78B (ALDERLAKE_S) [15:34:48] [PASSED] 0x4905 (DG1) [15:34:48] [PASSED] 0x4906 (DG1) [15:34:48] [PASSED] 0x4907 (DG1) [15:34:48] [PASSED] 0x4908 (DG1) [15:34:48] [PASSED] 0x4909 (DG1) [15:34:48] [PASSED] 0x56C0 (DG2) [15:34:48] [PASSED] 0x56C2 (DG2) [15:34:48] [PASSED] 0x56C1 (DG2) [15:34:48] [PASSED] 0x7D51 (METEORLAKE) [15:34:48] [PASSED] 0x7DD1 (METEORLAKE) [15:34:48] [PASSED] 0x7D41 (METEORLAKE) [15:34:48] [PASSED] 0x7D67 (METEORLAKE) [15:34:48] [PASSED] 0xB640 (METEORLAKE) [15:34:48] [PASSED] 0x56A0 (DG2) [15:34:48] [PASSED] 0x56A1 (DG2) [15:34:48] [PASSED] 0x56A2 (DG2) [15:34:48] [PASSED] 0x56BE (DG2) [15:34:48] [PASSED] 0x56BF (DG2) [15:34:48] [PASSED] 0x5690 (DG2) [15:34:48] [PASSED] 0x5691 (DG2) [15:34:48] [PASSED] 0x5692 (DG2) [15:34:48] [PASSED] 0x56A5 (DG2) [15:34:48] [PASSED] 0x56A6 (DG2) [15:34:48] [PASSED] 0x56B0 (DG2) [15:34:48] [PASSED] 0x56B1 (DG2) [15:34:48] [PASSED] 0x56BA (DG2) [15:34:48] [PASSED] 0x56BB (DG2) [15:34:48] [PASSED] 0x56BC (DG2) [15:34:48] [PASSED] 0x56BD (DG2) [15:34:48] [PASSED] 0x5693 (DG2) [15:34:48] [PASSED] 0x5694 (DG2) [15:34:48] [PASSED] 0x5695 (DG2) [15:34:48] [PASSED] 0x56A3 (DG2) [15:34:48] [PASSED] 0x56A4 (DG2) [15:34:48] [PASSED] 0x56B2 (DG2) [15:34:48] [PASSED] 0x56B3 (DG2) [15:34:48] [PASSED] 0x5696 (DG2) [15:34:48] [PASSED] 0x5697 (DG2) [15:34:48] [PASSED] 0xB69 (PVC) [15:34:48] [PASSED] 0xB6E (PVC) [15:34:48] [PASSED] 0xBD4 (PVC) [15:34:48] [PASSED] 0xBD5 (PVC) [15:34:48] [PASSED] 0xBD6 (PVC) [15:34:48] [PASSED] 0xBD7 (PVC) [15:34:48] [PASSED] 0xBD8 (PVC) [15:34:48] [PASSED] 0xBD9 (PVC) [15:34:48] [PASSED] 0xBDA (PVC) [15:34:48] [PASSED] 0xBDB (PVC) [15:34:48] [PASSED] 0xBE0 (PVC) [15:34:48] [PASSED] 0xBE1 (PVC) [15:34:48] [PASSED] 0xBE5 (PVC) [15:34:48] [PASSED] 0x7D40 (METEORLAKE) [15:34:48] [PASSED] 0x7D45 (METEORLAKE) [15:34:48] [PASSED] 0x7D55 (METEORLAKE) [15:34:48] [PASSED] 0x7D60 (METEORLAKE) [15:34:48] [PASSED] 0x7DD5 (METEORLAKE) [15:34:48] [PASSED] 0x6420 (LUNARLAKE) [15:34:48] [PASSED] 0x64A0 (LUNARLAKE) [15:34:48] [PASSED] 0x64B0 (LUNARLAKE) [15:34:48] [PASSED] 0xE202 (BATTLEMAGE) [15:34:48] [PASSED] 0xE209 (BATTLEMAGE) [15:34:48] [PASSED] 0xE20B (BATTLEMAGE) [15:34:48] [PASSED] 0xE20C (BATTLEMAGE) [15:34:48] [PASSED] 0xE20D (BATTLEMAGE) [15:34:48] [PASSED] 0xE210 (BATTLEMAGE) [15:34:48] [PASSED] 0xE211 (BATTLEMAGE) [15:34:48] [PASSED] 0xE212 (BATTLEMAGE) [15:34:48] [PASSED] 0xE216 (BATTLEMAGE) [15:34:48] [PASSED] 0xE220 (BATTLEMAGE) [15:34:48] [PASSED] 0xE221 (BATTLEMAGE) [15:34:48] [PASSED] 0xE222 (BATTLEMAGE) [15:34:48] [PASSED] 0xE223 (BATTLEMAGE) [15:34:48] [PASSED] 0xB080 (PANTHERLAKE) [15:34:48] [PASSED] 0xB081 (PANTHERLAKE) [15:34:48] [PASSED] 0xB082 (PANTHERLAKE) [15:34:48] [PASSED] 0xB083 (PANTHERLAKE) [15:34:48] [PASSED] 0xB084 (PANTHERLAKE) [15:34:48] [PASSED] 0xB085 (PANTHERLAKE) [15:34:48] [PASSED] 0xB086 (PANTHERLAKE) [15:34:48] [PASSED] 0xB087 (PANTHERLAKE) [15:34:48] [PASSED] 0xB08F (PANTHERLAKE) [15:34:48] [PASSED] 0xB090 (PANTHERLAKE) [15:34:48] [PASSED] 0xB0A0 (PANTHERLAKE) [15:34:48] [PASSED] 0xB0B0 (PANTHERLAKE) [15:34:48] [PASSED] 0xFD80 (PANTHERLAKE) [15:34:48] [PASSED] 0xFD81 (PANTHERLAKE) [15:34:48] ============= [PASSED] check_platform_gt_count ============= [15:34:48] ===================== [PASSED] xe_pci ====================== [15:34:48] =================== xe_rtp (2 subtests) ==================== [15:34:48] =============== xe_rtp_process_to_sr_tests ================ [15:34:48] [PASSED] coalesce-same-reg [15:34:48] [PASSED] no-match-no-add [15:34:48] [PASSED] match-or [15:34:48] [PASSED] match-or-xfail [15:34:48] [PASSED] no-match-no-add-multiple-rules [15:34:48] [PASSED] two-regs-two-entries [15:34:48] [PASSED] clr-one-set-other [15:34:48] [PASSED] set-field [15:34:48] [PASSED] conflict-duplicate [15:34:48] [PASSED] conflict-not-disjoint [15:34:48] [PASSED] conflict-reg-type [15:34:48] =========== [PASSED] xe_rtp_process_to_sr_tests ============ [15:34:48] ================== xe_rtp_process_tests =================== [15:34:48] [PASSED] active1 [15:34:48] [PASSED] active2 [15:34:48] [PASSED] active-inactive [15:34:48] [PASSED] inactive-active [15:34:48] [PASSED] inactive-1st_or_active-inactive [15:34:48] [PASSED] inactive-2nd_or_active-inactive [15:34:48] [PASSED] inactive-last_or_active-inactive [15:34:48] [PASSED] inactive-no_or_active-inactive [15:34:48] ============== [PASSED] xe_rtp_process_tests =============== [15:34:48] ===================== [PASSED] xe_rtp ====================== [15:34:48] ==================== xe_wa (1 subtest) ===================== [15:34:48] ======================== xe_wa_gt ========================= [15:34:48] [PASSED] TIGERLAKE B0 [15:34:48] [PASSED] DG1 A0 [15:34:48] [PASSED] DG1 B0 [15:34:48] [PASSED] ALDERLAKE_S A0 [15:34:48] [PASSED] ALDERLAKE_S B0 stty: 'standard input': Inappropriate ioctl for device [15:34:48] [PASSED] ALDERLAKE_S C0 [15:34:48] [PASSED] ALDERLAKE_S D0 [15:34:48] [PASSED] ALDERLAKE_P A0 [15:34:48] [PASSED] ALDERLAKE_P B0 [15:34:48] [PASSED] ALDERLAKE_P C0 [15:34:48] [PASSED] ALDERLAKE_S RPLS D0 [15:34:48] [PASSED] ALDERLAKE_P RPLU E0 [15:34:48] [PASSED] DG2 G10 C0 [15:34:48] [PASSED] DG2 G11 B1 [15:34:48] [PASSED] DG2 G12 A1 [15:34:48] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0 [15:34:48] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0 [15:34:48] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0 [15:34:48] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0 [15:34:48] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0 [15:34:48] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1 [15:34:48] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0 [15:34:48] ==================== [PASSED] xe_wa_gt ===================== [15:34:48] ====================== [PASSED] xe_wa ====================== [15:34:48] ============================================================ [15:34:48] Testing complete. Ran 306 tests: passed: 288, skipped: 18 [15:34:48] Elapsed time: 33.409s total, 4.197s configuring, 28.895s building, 0.273s running + /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig [15:34:48] Configuring KUnit Kernel ... Regenerating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [15:34:50] Building KUnit Kernel ... Populating config with: $ make ARCH=um O=.kunit olddefconfig Building with: $ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48 [15:35:14] Starting KUnit Kernel (1/1)... [15:35:14] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [15:35:14] ============ drm_test_pick_cmdline (2 subtests) ============ [15:35:14] [PASSED] drm_test_pick_cmdline_res_1920_1080_60 [15:35:14] =============== drm_test_pick_cmdline_named =============== [15:35:14] [PASSED] NTSC [15:35:14] [PASSED] NTSC-J [15:35:14] [PASSED] PAL [15:35:14] [PASSED] PAL-M [15:35:14] =========== [PASSED] drm_test_pick_cmdline_named =========== [15:35:14] ============== [PASSED] drm_test_pick_cmdline ============== [15:35:14] == drm_test_atomic_get_connector_for_encoder (1 subtest) === [15:35:14] [PASSED] drm_test_drm_atomic_get_connector_for_encoder [15:35:14] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ==== [15:35:14] =========== drm_validate_clone_mode (2 subtests) =========== [15:35:14] ============== drm_test_check_in_clone_mode =============== [15:35:14] [PASSED] in_clone_mode [15:35:14] [PASSED] not_in_clone_mode [15:35:14] ========== [PASSED] drm_test_check_in_clone_mode =========== [15:35:14] =============== drm_test_check_valid_clones =============== [15:35:14] [PASSED] not_in_clone_mode [15:35:14] [PASSED] valid_clone [15:35:14] [PASSED] invalid_clone [15:35:14] =========== [PASSED] drm_test_check_valid_clones =========== [15:35:14] ============= [PASSED] drm_validate_clone_mode ============= [15:35:14] ============= drm_validate_modeset (1 subtest) ============= [15:35:14] [PASSED] drm_test_check_connector_changed_modeset [15:35:14] ============== [PASSED] drm_validate_modeset =============== [15:35:14] ====== drm_test_bridge_get_current_state (2 subtests) ====== [15:35:14] [PASSED] drm_test_drm_bridge_get_current_state_atomic [15:35:14] [PASSED] drm_test_drm_bridge_get_current_state_legacy [15:35:14] ======== [PASSED] drm_test_bridge_get_current_state ======== [15:35:14] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ====== [15:35:14] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic [15:35:14] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled [15:35:14] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy [15:35:14] ======== [PASSED] drm_test_bridge_helper_reset_crtc ======== [15:35:14] ============== drm_bridge_alloc (2 subtests) =============== [15:35:14] [PASSED] drm_test_drm_bridge_alloc_basic [15:35:14] [PASSED] drm_test_drm_bridge_alloc_get_put [15:35:14] ================ [PASSED] drm_bridge_alloc ================= [15:35:14] ================== drm_buddy (7 subtests) ================== [15:35:14] [PASSED] drm_test_buddy_alloc_limit [15:35:14] [PASSED] drm_test_buddy_alloc_optimistic [15:35:14] [PASSED] drm_test_buddy_alloc_pessimistic [15:35:14] [PASSED] drm_test_buddy_alloc_pathological [15:35:14] [PASSED] drm_test_buddy_alloc_contiguous [15:35:14] [PASSED] drm_test_buddy_alloc_clear [15:35:14] [PASSED] drm_test_buddy_alloc_range_bias [15:35:14] ==================== [PASSED] drm_buddy ==================== [15:35:14] ============= drm_cmdline_parser (40 subtests) ============= [15:35:14] [PASSED] drm_test_cmdline_force_d_only [15:35:14] [PASSED] drm_test_cmdline_force_D_only_dvi [15:35:14] [PASSED] drm_test_cmdline_force_D_only_hdmi [15:35:14] [PASSED] drm_test_cmdline_force_D_only_not_digital [15:35:14] [PASSED] drm_test_cmdline_force_e_only [15:35:14] [PASSED] drm_test_cmdline_res [15:35:14] [PASSED] drm_test_cmdline_res_vesa [15:35:14] [PASSED] drm_test_cmdline_res_vesa_rblank [15:35:14] [PASSED] drm_test_cmdline_res_rblank [15:35:14] [PASSED] drm_test_cmdline_res_bpp [15:35:14] [PASSED] drm_test_cmdline_res_refresh [15:35:14] [PASSED] drm_test_cmdline_res_bpp_refresh [15:35:14] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced [15:35:14] [PASSED] drm_test_cmdline_res_bpp_refresh_margins [15:35:14] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off [15:35:14] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on [15:35:14] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog [15:35:14] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital [15:35:14] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on [15:35:14] [PASSED] drm_test_cmdline_res_margins_force_on [15:35:14] [PASSED] drm_test_cmdline_res_vesa_margins [15:35:14] [PASSED] drm_test_cmdline_name [15:35:14] [PASSED] drm_test_cmdline_name_bpp [15:35:14] [PASSED] drm_test_cmdline_name_option [15:35:14] [PASSED] drm_test_cmdline_name_bpp_option [15:35:14] [PASSED] drm_test_cmdline_rotate_0 [15:35:14] [PASSED] drm_test_cmdline_rotate_90 [15:35:14] [PASSED] drm_test_cmdline_rotate_180 [15:35:14] [PASSED] drm_test_cmdline_rotate_270 [15:35:14] [PASSED] drm_test_cmdline_hmirror [15:35:14] [PASSED] drm_test_cmdline_vmirror [15:35:14] [PASSED] drm_test_cmdline_margin_options [15:35:14] [PASSED] drm_test_cmdline_multiple_options [15:35:14] [PASSED] drm_test_cmdline_bpp_extra_and_option [15:35:14] [PASSED] drm_test_cmdline_extra_and_option [15:35:14] [PASSED] drm_test_cmdline_freestanding_options [15:35:14] [PASSED] drm_test_cmdline_freestanding_force_e_and_options [15:35:14] [PASSED] drm_test_cmdline_panel_orientation [15:35:14] ================ drm_test_cmdline_invalid ================= [15:35:14] [PASSED] margin_only [15:35:14] [PASSED] interlace_only [15:35:14] [PASSED] res_missing_x [15:35:14] [PASSED] res_missing_y [15:35:14] [PASSED] res_bad_y [15:35:14] [PASSED] res_missing_y_bpp [15:35:14] [PASSED] res_bad_bpp [15:35:14] [PASSED] res_bad_refresh [15:35:14] [PASSED] res_bpp_refresh_force_on_off [15:35:14] [PASSED] res_invalid_mode [15:35:14] [PASSED] res_bpp_wrong_place_mode [15:35:14] [PASSED] name_bpp_refresh [15:35:14] [PASSED] name_refresh [15:35:14] [PASSED] name_refresh_wrong_mode [15:35:14] [PASSED] name_refresh_invalid_mode [15:35:14] [PASSED] rotate_multiple [15:35:14] [PASSED] rotate_invalid_val [15:35:14] [PASSED] rotate_truncated [15:35:14] [PASSED] invalid_option [15:35:14] [PASSED] invalid_tv_option [15:35:14] [PASSED] truncated_tv_option [15:35:14] ============ [PASSED] drm_test_cmdline_invalid ============= [15:35:14] =============== drm_test_cmdline_tv_options =============== [15:35:14] [PASSED] NTSC [15:35:14] [PASSED] NTSC_443 [15:35:14] [PASSED] NTSC_J [15:35:14] [PASSED] PAL [15:35:14] [PASSED] PAL_M [15:35:14] [PASSED] PAL_N [15:35:14] [PASSED] SECAM [15:35:14] [PASSED] MONO_525 [15:35:14] [PASSED] MONO_625 [15:35:14] =========== [PASSED] drm_test_cmdline_tv_options =========== [15:35:14] =============== [PASSED] drm_cmdline_parser ================ [15:35:14] ========== drmm_connector_hdmi_init (20 subtests) ========== [15:35:14] [PASSED] drm_test_connector_hdmi_init_valid [15:35:14] [PASSED] drm_test_connector_hdmi_init_bpc_8 [15:35:14] [PASSED] drm_test_connector_hdmi_init_bpc_10 [15:35:14] [PASSED] drm_test_connector_hdmi_init_bpc_12 [15:35:14] [PASSED] drm_test_connector_hdmi_init_bpc_invalid [15:35:14] [PASSED] drm_test_connector_hdmi_init_bpc_null [15:35:14] [PASSED] drm_test_connector_hdmi_init_formats_empty [15:35:14] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb [15:35:14] === drm_test_connector_hdmi_init_formats_yuv420_allowed === [15:35:14] [PASSED] supported_formats=0x9 yuv420_allowed=1 [15:35:14] [PASSED] supported_formats=0x9 yuv420_allowed=0 [15:35:14] [PASSED] supported_formats=0x3 yuv420_allowed=1 [15:35:14] [PASSED] supported_formats=0x3 yuv420_allowed=0 [15:35:14] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed === [15:35:14] [PASSED] drm_test_connector_hdmi_init_null_ddc [15:35:14] [PASSED] drm_test_connector_hdmi_init_null_product [15:35:14] [PASSED] drm_test_connector_hdmi_init_null_vendor [15:35:14] [PASSED] drm_test_connector_hdmi_init_product_length_exact [15:35:14] [PASSED] drm_test_connector_hdmi_init_product_length_too_long [15:35:14] [PASSED] drm_test_connector_hdmi_init_product_valid [15:35:14] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact [15:35:14] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long [15:35:14] [PASSED] drm_test_connector_hdmi_init_vendor_valid [15:35:14] ========= drm_test_connector_hdmi_init_type_valid ========= [15:35:14] [PASSED] HDMI-A [15:35:14] [PASSED] HDMI-B [15:35:14] ===== [PASSED] drm_test_connector_hdmi_init_type_valid ===== [15:35:14] ======== drm_test_connector_hdmi_init_type_invalid ======== [15:35:14] [PASSED] Unknown [15:35:14] [PASSED] VGA [15:35:14] [PASSED] DVI-I [15:35:14] [PASSED] DVI-D [15:35:14] [PASSED] DVI-A [15:35:14] [PASSED] Composite [15:35:14] [PASSED] SVIDEO [15:35:14] [PASSED] LVDS [15:35:14] [PASSED] Component [15:35:14] [PASSED] DIN [15:35:14] [PASSED] DP [15:35:14] [PASSED] TV [15:35:14] [PASSED] eDP [15:35:14] [PASSED] Virtual [15:35:14] [PASSED] DSI [15:35:14] [PASSED] DPI [15:35:14] [PASSED] Writeback [15:35:14] [PASSED] SPI [15:35:14] [PASSED] USB [15:35:14] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ==== [15:35:14] ============ [PASSED] drmm_connector_hdmi_init ============= [15:35:14] ============= drmm_connector_init (3 subtests) ============= [15:35:14] [PASSED] drm_test_drmm_connector_init [15:35:14] [PASSED] drm_test_drmm_connector_init_null_ddc [15:35:14] ========= drm_test_drmm_connector_init_type_valid ========= [15:35:14] [PASSED] Unknown [15:35:14] [PASSED] VGA [15:35:14] [PASSED] DVI-I [15:35:14] [PASSED] DVI-D [15:35:14] [PASSED] DVI-A [15:35:14] [PASSED] Composite [15:35:14] [PASSED] SVIDEO [15:35:14] [PASSED] LVDS [15:35:14] [PASSED] Component [15:35:14] [PASSED] DIN [15:35:14] [PASSED] DP [15:35:14] [PASSED] HDMI-A [15:35:14] [PASSED] HDMI-B [15:35:14] [PASSED] TV [15:35:14] [PASSED] eDP [15:35:14] [PASSED] Virtual [15:35:14] [PASSED] DSI [15:35:14] [PASSED] DPI [15:35:14] [PASSED] Writeback [15:35:14] [PASSED] SPI [15:35:14] [PASSED] USB [15:35:14] ===== [PASSED] drm_test_drmm_connector_init_type_valid ===== [15:35:14] =============== [PASSED] drmm_connector_init =============== [15:35:14] ========= drm_connector_dynamic_init (6 subtests) ========== [15:35:14] [PASSED] drm_test_drm_connector_dynamic_init [15:35:14] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc [15:35:14] [PASSED] drm_test_drm_connector_dynamic_init_not_added [15:35:14] [PASSED] drm_test_drm_connector_dynamic_init_properties [15:35:14] ===== drm_test_drm_connector_dynamic_init_type_valid ====== [15:35:14] [PASSED] Unknown [15:35:14] [PASSED] VGA [15:35:14] [PASSED] DVI-I [15:35:14] [PASSED] DVI-D [15:35:14] [PASSED] DVI-A [15:35:14] [PASSED] Composite [15:35:14] [PASSED] SVIDEO [15:35:14] [PASSED] LVDS [15:35:14] [PASSED] Component [15:35:14] [PASSED] DIN [15:35:14] [PASSED] DP [15:35:14] [PASSED] HDMI-A [15:35:14] [PASSED] HDMI-B [15:35:14] [PASSED] TV [15:35:14] [PASSED] eDP [15:35:14] [PASSED] Virtual [15:35:14] [PASSED] DSI [15:35:14] [PASSED] DPI [15:35:14] [PASSED] Writeback [15:35:14] [PASSED] SPI [15:35:14] [PASSED] USB [15:35:14] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid == [15:35:14] ======== drm_test_drm_connector_dynamic_init_name ========= [15:35:14] [PASSED] Unknown [15:35:14] [PASSED] VGA [15:35:14] [PASSED] DVI-I [15:35:14] [PASSED] DVI-D [15:35:14] [PASSED] DVI-A [15:35:14] [PASSED] Composite [15:35:14] [PASSED] SVIDEO [15:35:14] [PASSED] LVDS [15:35:14] [PASSED] Component [15:35:14] [PASSED] DIN [15:35:14] [PASSED] DP [15:35:14] [PASSED] HDMI-A [15:35:14] [PASSED] HDMI-B [15:35:14] [PASSED] TV [15:35:14] [PASSED] eDP [15:35:14] [PASSED] Virtual [15:35:14] [PASSED] DSI [15:35:14] [PASSED] DPI [15:35:14] [PASSED] Writeback [15:35:14] [PASSED] SPI [15:35:14] [PASSED] USB [15:35:14] ==== [PASSED] drm_test_drm_connector_dynamic_init_name ===== [15:35:14] =========== [PASSED] drm_connector_dynamic_init ============ [15:35:14] ==== drm_connector_dynamic_register_early (4 subtests) ===== [15:35:14] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list [15:35:14] [PASSED] drm_test_drm_connector_dynamic_register_early_defer [15:35:14] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init [15:35:14] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object [15:35:14] ====== [PASSED] drm_connector_dynamic_register_early ======= [15:35:14] ======= drm_connector_dynamic_register (7 subtests) ======== [15:35:14] [PASSED] drm_test_drm_connector_dynamic_register_on_list [15:35:14] [PASSED] drm_test_drm_connector_dynamic_register_no_defer [15:35:14] [PASSED] drm_test_drm_connector_dynamic_register_no_init [15:35:14] [PASSED] drm_test_drm_connector_dynamic_register_mode_object [15:35:14] [PASSED] drm_test_drm_connector_dynamic_register_sysfs [15:35:14] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name [15:35:14] [PASSED] drm_test_drm_connector_dynamic_register_debugfs [15:35:14] ========= [PASSED] drm_connector_dynamic_register ========== [15:35:14] = drm_connector_attach_broadcast_rgb_property (2 subtests) = [15:35:14] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property [15:35:14] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector [15:35:14] === [PASSED] drm_connector_attach_broadcast_rgb_property === [15:35:14] ========== drm_get_tv_mode_from_name (2 subtests) ========== [15:35:14] ========== drm_test_get_tv_mode_from_name_valid =========== [15:35:14] [PASSED] NTSC [15:35:14] [PASSED] NTSC-443 [15:35:14] [PASSED] NTSC-J [15:35:14] [PASSED] PAL [15:35:14] [PASSED] PAL-M [15:35:14] [PASSED] PAL-N [15:35:14] [PASSED] SECAM [15:35:14] [PASSED] Mono [15:35:14] ====== [PASSED] drm_test_get_tv_mode_from_name_valid ======= [15:35:14] [PASSED] drm_test_get_tv_mode_from_name_truncated [15:35:14] ============ [PASSED] drm_get_tv_mode_from_name ============ [15:35:14] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) = [15:35:14] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb [15:35:14] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc [15:35:14] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1 [15:35:14] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc [15:35:14] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1 [15:35:14] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double [15:35:14] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid = [15:35:14] [PASSED] VIC 96 [15:35:14] [PASSED] VIC 97 [15:35:14] [PASSED] VIC 101 [15:35:14] [PASSED] VIC 102 [15:35:14] [PASSED] VIC 106 [15:35:14] [PASSED] VIC 107 [15:35:14] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid === [15:35:14] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc [15:35:14] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc [15:35:14] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc [15:35:14] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc [15:35:14] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc [15:35:14] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ==== [15:35:14] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) == [15:35:14] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ==== [15:35:14] [PASSED] Automatic [15:35:14] [PASSED] Full [15:35:14] [PASSED] Limited 16:235 [15:35:14] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name === [15:35:14] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid [15:35:14] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ==== [15:35:14] == drm_hdmi_connector_get_output_format_name (2 subtests) == [15:35:14] === drm_test_drm_hdmi_connector_get_output_format_name ==== [15:35:14] [PASSED] RGB [15:35:14] [PASSED] YUV 4:2:0 [15:35:14] [PASSED] YUV 4:2:2 [15:35:14] [PASSED] YUV 4:4:4 [15:35:14] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name === [15:35:14] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid [15:35:14] ==== [PASSED] drm_hdmi_connector_get_output_format_name ==== [15:35:14] ============= drm_damage_helper (21 subtests) ============== [15:35:14] [PASSED] drm_test_damage_iter_no_damage [15:35:14] [PASSED] drm_test_damage_iter_no_damage_fractional_src [15:35:14] [PASSED] drm_test_damage_iter_no_damage_src_moved [15:35:14] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved [15:35:14] [PASSED] drm_test_damage_iter_no_damage_not_visible [15:35:14] [PASSED] drm_test_damage_iter_no_damage_no_crtc [15:35:14] [PASSED] drm_test_damage_iter_no_damage_no_fb [15:35:14] [PASSED] drm_test_damage_iter_simple_damage [15:35:14] [PASSED] drm_test_damage_iter_single_damage [15:35:14] [PASSED] drm_test_damage_iter_single_damage_intersect_src [15:35:14] [PASSED] drm_test_damage_iter_single_damage_outside_src [15:35:14] [PASSED] drm_test_damage_iter_single_damage_fractional_src [15:35:14] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src [15:35:14] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src [15:35:14] [PASSED] drm_test_damage_iter_single_damage_src_moved [15:35:14] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved [15:35:14] [PASSED] drm_test_damage_iter_damage [15:35:14] [PASSED] drm_test_damage_iter_damage_one_intersect [15:35:14] [PASSED] drm_test_damage_iter_damage_one_outside [15:35:14] [PASSED] drm_test_damage_iter_damage_src_moved [15:35:14] [PASSED] drm_test_damage_iter_damage_not_visible [15:35:14] ================ [PASSED] drm_damage_helper ================ [15:35:14] ============== drm_dp_mst_helper (3 subtests) ============== [15:35:14] ============== drm_test_dp_mst_calc_pbn_mode ============== [15:35:14] [PASSED] Clock 154000 BPP 30 DSC disabled [15:35:14] [PASSED] Clock 234000 BPP 30 DSC disabled [15:35:14] [PASSED] Clock 297000 BPP 24 DSC disabled [15:35:14] [PASSED] Clock 332880 BPP 24 DSC enabled [15:35:14] [PASSED] Clock 324540 BPP 24 DSC enabled [15:35:14] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ========== [15:35:14] ============== drm_test_dp_mst_calc_pbn_div =============== [15:35:14] [PASSED] Link rate 2000000 lane count 4 [15:35:14] [PASSED] Link rate 2000000 lane count 2 [15:35:14] [PASSED] Link rate 2000000 lane count 1 [15:35:14] [PASSED] Link rate 1350000 lane count 4 [15:35:14] [PASSED] Link rate 1350000 lane count 2 [15:35:14] [PASSED] Link rate 1350000 lane count 1 [15:35:14] [PASSED] Link rate 1000000 lane count 4 [15:35:14] [PASSED] Link rate 1000000 lane count 2 [15:35:14] [PASSED] Link rate 1000000 lane count 1 [15:35:14] [PASSED] Link rate 810000 lane count 4 [15:35:14] [PASSED] Link rate 810000 lane count 2 [15:35:14] [PASSED] Link rate 810000 lane count 1 [15:35:14] [PASSED] Link rate 540000 lane count 4 [15:35:14] [PASSED] Link rate 540000 lane count 2 [15:35:14] [PASSED] Link rate 540000 lane count 1 [15:35:14] [PASSED] Link rate 270000 lane count 4 [15:35:14] [PASSED] Link rate 270000 lane count 2 [15:35:14] [PASSED] Link rate 270000 lane count 1 [15:35:14] [PASSED] Link rate 162000 lane count 4 [15:35:14] [PASSED] Link rate 162000 lane count 2 [15:35:14] [PASSED] Link rate 162000 lane count 1 [15:35:14] ========== [PASSED] drm_test_dp_mst_calc_pbn_div =========== [15:35:14] ========= drm_test_dp_mst_sideband_msg_req_decode ========= [15:35:14] [PASSED] DP_ENUM_PATH_RESOURCES with port number [15:35:14] [PASSED] DP_POWER_UP_PHY with port number [15:35:14] [PASSED] DP_POWER_DOWN_PHY with port number [15:35:14] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks [15:35:14] [PASSED] DP_ALLOCATE_PAYLOAD with port number [15:35:14] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI [15:35:14] [PASSED] DP_ALLOCATE_PAYLOAD with PBN [15:35:14] [PASSED] DP_QUERY_PAYLOAD with port number [15:35:14] [PASSED] DP_QUERY_PAYLOAD with VCPI [15:35:14] [PASSED] DP_REMOTE_DPCD_READ with port number [15:35:14] [PASSED] DP_REMOTE_DPCD_READ with DPCD address [15:35:14] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes [15:35:14] [PASSED] DP_REMOTE_DPCD_WRITE with port number [15:35:14] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address [15:35:14] [PASSED] DP_REMOTE_DPCD_WRITE with data array [15:35:14] [PASSED] DP_REMOTE_I2C_READ with port number [15:35:14] [PASSED] DP_REMOTE_I2C_READ with I2C device ID [15:35:14] [PASSED] DP_REMOTE_I2C_READ with transactions array [15:35:14] [PASSED] DP_REMOTE_I2C_WRITE with port number [15:35:14] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID [15:35:14] [PASSED] DP_REMOTE_I2C_WRITE with data array [15:35:14] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID [15:35:14] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID [15:35:14] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event [15:35:14] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event [15:35:14] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior [15:35:14] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior [15:35:14] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode ===== [15:35:14] ================ [PASSED] drm_dp_mst_helper ================ [15:35:14] ================== drm_exec (7 subtests) =================== [15:35:14] [PASSED] sanitycheck [15:35:14] [PASSED] test_lock [15:35:14] [PASSED] test_lock_unlock [15:35:14] [PASSED] test_duplicates [15:35:14] [PASSED] test_prepare [15:35:14] [PASSED] test_prepare_array [15:35:14] [PASSED] test_multiple_loops [15:35:14] ==================== [PASSED] drm_exec ===================== [15:35:14] =========== drm_format_helper_test (17 subtests) =========== [15:35:14] ============== drm_test_fb_xrgb8888_to_gray8 ============== [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ========== [15:35:14] ============= drm_test_fb_xrgb8888_to_rgb332 ============== [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ========== [15:35:14] ============= drm_test_fb_xrgb8888_to_rgb565 ============== [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ========== [15:35:14] ============ drm_test_fb_xrgb8888_to_xrgb1555 ============= [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 ========= [15:35:14] ============ drm_test_fb_xrgb8888_to_argb1555 ============= [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 ========= [15:35:14] ============ drm_test_fb_xrgb8888_to_rgba5551 ============= [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 ========= [15:35:14] ============= drm_test_fb_xrgb8888_to_rgb888 ============== [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ========== [15:35:14] ============= drm_test_fb_xrgb8888_to_bgr888 ============== [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ========== [15:35:14] ============ drm_test_fb_xrgb8888_to_argb8888 ============= [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 ========= [15:35:14] =========== drm_test_fb_xrgb8888_to_xrgb2101010 =========== [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 ======= [15:35:14] =========== drm_test_fb_xrgb8888_to_argb2101010 =========== [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 ======= [15:35:14] ============== drm_test_fb_xrgb8888_to_mono =============== [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ========== [PASSED] drm_test_fb_xrgb8888_to_mono =========== [15:35:14] ==================== drm_test_fb_swab ===================== [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ================ [PASSED] drm_test_fb_swab ================= [15:35:14] ============ drm_test_fb_xrgb8888_to_xbgr8888 ============= [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 ========= [15:35:14] ============ drm_test_fb_xrgb8888_to_abgr8888 ============= [15:35:14] [PASSED] single_pixel_source_buffer [15:35:14] [PASSED] single_pixel_clip_rectangle [15:35:14] [PASSED] well_known_colors [15:35:14] [PASSED] destination_pitch [15:35:14] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 ========= [15:35:14] ================= drm_test_fb_clip_offset ================= [15:35:14] [PASSED] pass through [15:35:14] [PASSED] horizontal offset [15:35:14] [PASSED] vertical offset [15:35:14] [PASSED] horizontal and vertical offset [15:35:14] [PASSED] horizontal offset (custom pitch) [15:35:14] [PASSED] vertical offset (custom pitch) [15:35:14] [PASSED] horizontal and vertical offset (custom pitch) [15:35:14] ============= [PASSED] drm_test_fb_clip_offset ============= [15:35:14] =================== drm_test_fb_memcpy ==================== [15:35:14] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258) [15:35:14] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258) [15:35:14] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559) [15:35:14] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258) [15:35:14] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258) [15:35:14] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559) [15:35:14] [PASSED] well_known_colors: XB24 little-endian (0x34324258) [15:35:14] [PASSED] well_known_colors: XRA8 little-endian (0x38415258) [15:35:14] [PASSED] well_known_colors: YU24 little-endian (0x34325559) [15:35:14] [PASSED] destination_pitch: XB24 little-endian (0x34324258) [15:35:14] [PASSED] destination_pitch: XRA8 little-endian (0x38415258) [15:35:14] [PASSED] destination_pitch: YU24 little-endian (0x34325559) [15:35:14] =============== [PASSED] drm_test_fb_memcpy ================ [15:35:14] ============= [PASSED] drm_format_helper_test ============== [15:35:14] ================= drm_format (18 subtests) ================= [15:35:14] [PASSED] drm_test_format_block_width_invalid [15:35:14] [PASSED] drm_test_format_block_width_one_plane [15:35:14] [PASSED] drm_test_format_block_width_two_plane [15:35:14] [PASSED] drm_test_format_block_width_three_plane [15:35:14] [PASSED] drm_test_format_block_width_tiled [15:35:14] [PASSED] drm_test_format_block_height_invalid [15:35:14] [PASSED] drm_test_format_block_height_one_plane [15:35:14] [PASSED] drm_test_format_block_height_two_plane [15:35:14] [PASSED] drm_test_format_block_height_three_plane [15:35:14] [PASSED] drm_test_format_block_height_tiled [15:35:14] [PASSED] drm_test_format_min_pitch_invalid [15:35:14] [PASSED] drm_test_format_min_pitch_one_plane_8bpp [15:35:14] [PASSED] drm_test_format_min_pitch_one_plane_16bpp [15:35:14] [PASSED] drm_test_format_min_pitch_one_plane_24bpp [15:35:14] [PASSED] drm_test_format_min_pitch_one_plane_32bpp [15:35:14] [PASSED] drm_test_format_min_pitch_two_plane [15:35:14] [PASSED] drm_test_format_min_pitch_three_plane_8bpp [15:35:14] [PASSED] drm_test_format_min_pitch_tiled [15:35:14] =================== [PASSED] drm_format ==================== [15:35:14] ============== drm_framebuffer (10 subtests) =============== [15:35:14] ========== drm_test_framebuffer_check_src_coords ========== [15:35:14] [PASSED] Success: source fits into fb [15:35:14] [PASSED] Fail: overflowing fb with x-axis coordinate [15:35:14] [PASSED] Fail: overflowing fb with y-axis coordinate [15:35:14] [PASSED] Fail: overflowing fb with source width [15:35:14] [PASSED] Fail: overflowing fb with source height [15:35:14] ====== [PASSED] drm_test_framebuffer_check_src_coords ====== [15:35:14] [PASSED] drm_test_framebuffer_cleanup [15:35:14] =============== drm_test_framebuffer_create =============== [15:35:14] [PASSED] ABGR8888 normal sizes [15:35:14] [PASSED] ABGR8888 max sizes [15:35:14] [PASSED] ABGR8888 pitch greater than min required [15:35:14] [PASSED] ABGR8888 pitch less than min required [15:35:14] [PASSED] ABGR8888 Invalid width [15:35:14] [PASSED] ABGR8888 Invalid buffer handle [15:35:14] [PASSED] No pixel format [15:35:14] [PASSED] ABGR8888 Width 0 [15:35:14] [PASSED] ABGR8888 Height 0 [15:35:14] [PASSED] ABGR8888 Out of bound height * pitch combination [15:35:14] [PASSED] ABGR8888 Large buffer offset [15:35:14] [PASSED] ABGR8888 Buffer offset for inexistent plane [15:35:14] [PASSED] ABGR8888 Invalid flag [15:35:14] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers [15:35:14] [PASSED] ABGR8888 Valid buffer modifier [15:35:14] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE) [15:35:14] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS [15:35:14] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS [15:35:14] [PASSED] NV12 Normal sizes [15:35:14] [PASSED] NV12 Max sizes [15:35:14] [PASSED] NV12 Invalid pitch [15:35:14] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag [15:35:14] [PASSED] NV12 different modifier per-plane [15:35:14] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE [15:35:14] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS [15:35:14] [PASSED] NV12 Modifier for inexistent plane [15:35:14] [PASSED] NV12 Handle for inexistent plane [15:35:14] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS [15:35:14] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier [15:35:14] [PASSED] YVU420 Normal sizes [15:35:14] [PASSED] YVU420 Max sizes [15:35:14] [PASSED] YVU420 Invalid pitch [15:35:14] [PASSED] YVU420 Different pitches [15:35:14] [PASSED] YVU420 Different buffer offsets/pitches [15:35:14] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS [15:35:14] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS [15:35:14] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS [15:35:14] [PASSED] YVU420 Valid modifier [15:35:14] [PASSED] YVU420 Different modifiers per plane [15:35:14] [PASSED] YVU420 Modifier for inexistent plane [15:35:14] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR) [15:35:14] [PASSED] X0L2 Normal sizes [15:35:14] [PASSED] X0L2 Max sizes [15:35:14] [PASSED] X0L2 Invalid pitch [15:35:14] [PASSED] X0L2 Pitch greater than minimum required [15:35:14] [PASSED] X0L2 Handle for inexistent plane [15:35:14] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set [15:35:14] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set [15:35:14] [PASSED] X0L2 Valid modifier [15:35:14] [PASSED] X0L2 Modifier for inexistent plane [15:35:14] =========== [PASSED] drm_test_framebuffer_create =========== [15:35:14] [PASSED] drm_test_framebuffer_free [15:35:14] [PASSED] drm_test_framebuffer_init [15:35:14] [PASSED] drm_test_framebuffer_init_bad_format [15:35:14] [PASSED] drm_test_framebuffer_init_dev_mismatch [15:35:14] [PASSED] drm_test_framebuffer_lookup [15:35:14] [PASSED] drm_test_framebuffer_lookup_inexistent [15:35:14] [PASSED] drm_test_framebuffer_modifiers_not_supported [15:35:14] ================= [PASSED] drm_framebuffer ================= [15:35:14] ================ drm_gem_shmem (8 subtests) ================ [15:35:14] [PASSED] drm_gem_shmem_test_obj_create [15:35:14] [PASSED] drm_gem_shmem_test_obj_create_private [15:35:14] [PASSED] drm_gem_shmem_test_pin_pages [15:35:14] [PASSED] drm_gem_shmem_test_vmap [15:35:14] [PASSED] drm_gem_shmem_test_get_pages_sgt [15:35:14] [PASSED] drm_gem_shmem_test_get_sg_table [15:35:14] [PASSED] drm_gem_shmem_test_madvise [15:35:14] [PASSED] drm_gem_shmem_test_purge [15:35:14] ================== [PASSED] drm_gem_shmem ================== [15:35:14] === drm_atomic_helper_connector_hdmi_check (27 subtests) === [15:35:14] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode [15:35:14] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1 [15:35:14] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode [15:35:14] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1 [15:35:14] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode [15:35:14] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1 [15:35:14] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 ======= [15:35:14] [PASSED] Automatic [15:35:14] [PASSED] Full [15:35:14] [PASSED] Limited 16:235 [15:35:14] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 === [15:35:14] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed [15:35:14] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed [15:35:14] [PASSED] drm_test_check_disable_connector [15:35:14] [PASSED] drm_test_check_hdmi_funcs_reject_rate [15:35:14] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb [15:35:14] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420 [15:35:14] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422 [15:35:14] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420 [15:35:14] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420 [15:35:14] [PASSED] drm_test_check_output_bpc_crtc_mode_changed [15:35:14] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed [15:35:14] [PASSED] drm_test_check_output_bpc_dvi [15:35:14] [PASSED] drm_test_check_output_bpc_format_vic_1 [15:35:14] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only [15:35:14] [PASSED] drm_test_check_output_bpc_format_display_rgb_only [15:35:14] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only [15:35:14] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only [15:35:14] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc [15:35:14] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc [15:35:14] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc [15:35:14] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ====== [15:35:14] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ==== [15:35:14] [PASSED] drm_test_check_broadcast_rgb_value [15:35:14] [PASSED] drm_test_check_bpc_8_value [15:35:14] [PASSED] drm_test_check_bpc_10_value [15:35:14] [PASSED] drm_test_check_bpc_12_value [15:35:14] [PASSED] drm_test_check_format_value [15:35:14] [PASSED] drm_test_check_tmds_char_value [15:35:14] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ====== [15:35:14] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) = [15:35:14] [PASSED] drm_test_check_mode_valid [15:35:14] [PASSED] drm_test_check_mode_valid_reject [15:35:14] [PASSED] drm_test_check_mode_valid_reject_rate [15:35:14] [PASSED] drm_test_check_mode_valid_reject_max_clock [15:35:14] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid === [15:35:14] ================= drm_managed (2 subtests) ================= [15:35:14] [PASSED] drm_test_managed_release_action [15:35:14] [PASSED] drm_test_managed_run_action [15:35:14] =================== [PASSED] drm_managed =================== [15:35:14] =================== drm_mm (6 subtests) ==================== [15:35:14] [PASSED] drm_test_mm_init [15:35:14] [PASSED] drm_test_mm_debug [15:35:14] [PASSED] drm_test_mm_align32 [15:35:14] [PASSED] drm_test_mm_align64 [15:35:14] [PASSED] drm_test_mm_lowest [15:35:14] [PASSED] drm_test_mm_highest [15:35:14] ===================== [PASSED] drm_mm ====================== [15:35:14] ============= drm_modes_analog_tv (5 subtests) ============= [15:35:14] [PASSED] drm_test_modes_analog_tv_mono_576i [15:35:14] [PASSED] drm_test_modes_analog_tv_ntsc_480i [15:35:14] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined [15:35:14] [PASSED] drm_test_modes_analog_tv_pal_576i [15:35:14] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined [15:35:14] =============== [PASSED] drm_modes_analog_tv =============== [15:35:14] ============== drm_plane_helper (2 subtests) =============== [15:35:14] =============== drm_test_check_plane_state ================ [15:35:14] [PASSED] clipping_simple [15:35:14] [PASSED] clipping_rotate_reflect [15:35:14] [PASSED] positioning_simple [15:35:14] [PASSED] upscaling [15:35:14] [PASSED] downscaling [15:35:14] [PASSED] rounding1 [15:35:14] [PASSED] rounding2 [15:35:14] [PASSED] rounding3 [15:35:14] [PASSED] rounding4 [15:35:14] =========== [PASSED] drm_test_check_plane_state ============ [15:35:14] =========== drm_test_check_invalid_plane_state ============ [15:35:14] [PASSED] positioning_invalid [15:35:14] [PASSED] upscaling_invalid [15:35:14] [PASSED] downscaling_invalid [15:35:14] ======= [PASSED] drm_test_check_invalid_plane_state ======== [15:35:14] ================ [PASSED] drm_plane_helper ================= [15:35:14] ====== drm_connector_helper_tv_get_modes (1 subtest) ======= [15:35:14] ====== drm_test_connector_helper_tv_get_modes_check ======= [15:35:14] [PASSED] None [15:35:14] [PASSED] PAL [15:35:14] [PASSED] NTSC [15:35:14] [PASSED] Both, NTSC Default [15:35:14] [PASSED] Both, PAL Default [15:35:14] [PASSED] Both, NTSC Default, with PAL on command-line [15:35:14] [PASSED] Both, PAL Default, with NTSC on command-line [15:35:14] == [PASSED] drm_test_connector_helper_tv_get_modes_check === [15:35:14] ======== [PASSED] drm_connector_helper_tv_get_modes ======== [15:35:14] ================== drm_rect (9 subtests) =================== [15:35:14] [PASSED] drm_test_rect_clip_scaled_div_by_zero [15:35:14] [PASSED] drm_test_rect_clip_scaled_not_clipped [15:35:14] [PASSED] drm_test_rect_clip_scaled_clipped [15:35:14] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned [15:35:14] ================= drm_test_rect_intersect ================= [15:35:14] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0 [15:35:14] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1 [15:35:14] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0 [15:35:14] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1 [15:35:14] [PASSED] right x left: 2x1+0+0 x 3x1+1+0 [15:35:14] [PASSED] left x right: 3x1+1+0 x 2x1+0+0 [15:35:14] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1 [15:35:14] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0 [15:35:14] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1 [15:35:14] [PASSED] touching side: 1x1+0+0 x 1x1+1+0 [15:35:14] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0 [15:35:14] [PASSED] inside another: 2x2+0+0 x 1x1+1+1 [15:35:14] [PASSED] far away: 1x1+0+0 x 1x1+3+6 [15:35:14] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10 [15:35:14] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10 [15:35:14] ============= [PASSED] drm_test_rect_intersect ============= [15:35:14] ================ drm_test_rect_calc_hscale ================ [15:35:14] [PASSED] normal use [15:35:14] [PASSED] out of max range [15:35:14] [PASSED] out of min range [15:35:14] [PASSED] zero dst [15:35:14] [PASSED] negative src [15:35:14] [PASSED] negative dst [15:35:14] ============ [PASSED] drm_test_rect_calc_hscale ============ [15:35:14] ================ drm_test_rect_calc_vscale ================ [15:35:14] [PASSED] normal use [15:35:14] [PASSED] out of max range [15:35:14] [PASSED] out of min range [15:35:14] [PASSED] zero dst [15:35:14] [PASSED] negative src stty: 'standard input': Inappropriate ioctl for device [15:35:14] [PASSED] negative dst [15:35:14] ============ [PASSED] drm_test_rect_calc_vscale ============ [15:35:14] ================== drm_test_rect_rotate =================== [15:35:14] [PASSED] reflect-x [15:35:14] [PASSED] reflect-y [15:35:14] [PASSED] rotate-0 [15:35:14] [PASSED] rotate-90 [15:35:14] [PASSED] rotate-180 [15:35:14] [PASSED] rotate-270 [15:35:14] ============== [PASSED] drm_test_rect_rotate =============== [15:35:14] ================ drm_test_rect_rotate_inv ================= [15:35:14] [PASSED] reflect-x [15:35:14] [PASSED] reflect-y [15:35:14] [PASSED] rotate-0 [15:35:14] [PASSED] rotate-90 [15:35:14] [PASSED] rotate-180 [15:35:14] [PASSED] rotate-270 [15:35:14] ============ [PASSED] drm_test_rect_rotate_inv ============= [15:35:14] ==================== [PASSED] drm_rect ===================== [15:35:14] ============ drm_sysfb_modeset_test (1 subtest) ============ [15:35:14] ============ drm_test_sysfb_build_fourcc_list ============= [15:35:14] [PASSED] no native formats [15:35:14] [PASSED] XRGB8888 as native format [15:35:14] [PASSED] remove duplicates [15:35:14] [PASSED] convert alpha formats [15:35:14] [PASSED] random formats [15:35:14] ======== [PASSED] drm_test_sysfb_build_fourcc_list ========= [15:35:14] ============= [PASSED] drm_sysfb_modeset_test ============== [15:35:14] ============================================================ [15:35:14] Testing complete. Ran 621 tests: passed: 621 [15:35:14] Elapsed time: 25.477s total, 1.767s configuring, 23.543s building, 0.152s running + /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig [15:35:14] Configuring KUnit Kernel ... Regenerating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [15:35:16] Building KUnit Kernel ... Populating config with: $ make ARCH=um O=.kunit olddefconfig Building with: $ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48 [15:35:25] Starting KUnit Kernel (1/1)... [15:35:25] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [15:35:25] ================= ttm_device (5 subtests) ================== [15:35:25] [PASSED] ttm_device_init_basic [15:35:25] [PASSED] ttm_device_init_multiple [15:35:25] [PASSED] ttm_device_fini_basic [15:35:25] [PASSED] ttm_device_init_no_vma_man [15:35:25] ================== ttm_device_init_pools ================== [15:35:25] [PASSED] No DMA allocations, no DMA32 required [15:35:25] [PASSED] DMA allocations, DMA32 required [15:35:25] [PASSED] No DMA allocations, DMA32 required [15:35:25] [PASSED] DMA allocations, no DMA32 required [15:35:25] ============== [PASSED] ttm_device_init_pools ============== [15:35:25] =================== [PASSED] ttm_device ==================== [15:35:25] ================== ttm_pool (8 subtests) =================== [15:35:25] ================== ttm_pool_alloc_basic =================== [15:35:25] [PASSED] One page [15:35:25] [PASSED] More than one page [15:35:25] [PASSED] Above the allocation limit [15:35:25] [PASSED] One page, with coherent DMA mappings enabled [15:35:25] [PASSED] Above the allocation limit, with coherent DMA mappings enabled [15:35:25] ============== [PASSED] ttm_pool_alloc_basic =============== [15:35:25] ============== ttm_pool_alloc_basic_dma_addr ============== [15:35:25] [PASSED] One page [15:35:25] [PASSED] More than one page [15:35:25] [PASSED] Above the allocation limit [15:35:25] [PASSED] One page, with coherent DMA mappings enabled [15:35:25] [PASSED] Above the allocation limit, with coherent DMA mappings enabled [15:35:25] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ========== [15:35:25] [PASSED] ttm_pool_alloc_order_caching_match [15:35:25] [PASSED] ttm_pool_alloc_caching_mismatch [15:35:25] [PASSED] ttm_pool_alloc_order_mismatch [15:35:25] [PASSED] ttm_pool_free_dma_alloc [15:35:25] [PASSED] ttm_pool_free_no_dma_alloc [15:35:25] [PASSED] ttm_pool_fini_basic [15:35:25] ==================== [PASSED] ttm_pool ===================== [15:35:25] ================ ttm_resource (8 subtests) ================= [15:35:25] ================= ttm_resource_init_basic ================= [15:35:25] [PASSED] Init resource in TTM_PL_SYSTEM [15:35:25] [PASSED] Init resource in TTM_PL_VRAM [15:35:25] [PASSED] Init resource in a private placement [15:35:25] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags [15:35:25] ============= [PASSED] ttm_resource_init_basic ============= [15:35:25] [PASSED] ttm_resource_init_pinned [15:35:25] [PASSED] ttm_resource_fini_basic [15:35:25] [PASSED] ttm_resource_manager_init_basic [15:35:25] [PASSED] ttm_resource_manager_usage_basic [15:35:25] [PASSED] ttm_resource_manager_set_used_basic [15:35:25] [PASSED] ttm_sys_man_alloc_basic [15:35:25] [PASSED] ttm_sys_man_free_basic [15:35:25] ================== [PASSED] ttm_resource =================== [15:35:25] =================== ttm_tt (15 subtests) =================== [15:35:25] ==================== ttm_tt_init_basic ==================== [15:35:25] [PASSED] Page-aligned size [15:35:25] [PASSED] Extra pages requested [15:35:25] ================ [PASSED] ttm_tt_init_basic ================ [15:35:25] [PASSED] ttm_tt_init_misaligned [15:35:25] [PASSED] ttm_tt_fini_basic [15:35:25] [PASSED] ttm_tt_fini_sg [15:35:25] [PASSED] ttm_tt_fini_shmem [15:35:25] [PASSED] ttm_tt_create_basic [15:35:25] [PASSED] ttm_tt_create_invalid_bo_type [15:35:25] [PASSED] ttm_tt_create_ttm_exists [15:35:25] [PASSED] ttm_tt_create_failed [15:35:25] [PASSED] ttm_tt_destroy_basic [15:35:25] [PASSED] ttm_tt_populate_null_ttm [15:35:25] [PASSED] ttm_tt_populate_populated_ttm [15:35:25] [PASSED] ttm_tt_unpopulate_basic [15:35:25] [PASSED] ttm_tt_unpopulate_empty_ttm [15:35:25] [PASSED] ttm_tt_swapin_basic [15:35:25] ===================== [PASSED] ttm_tt ====================== [15:35:25] =================== ttm_bo (14 subtests) =================== [15:35:25] =========== ttm_bo_reserve_optimistic_no_ticket =========== [15:35:25] [PASSED] Cannot be interrupted and sleeps [15:35:25] [PASSED] Cannot be interrupted, locks straight away [15:35:25] [PASSED] Can be interrupted, sleeps [15:35:25] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket ======= [15:35:25] [PASSED] ttm_bo_reserve_locked_no_sleep [15:35:25] [PASSED] ttm_bo_reserve_no_wait_ticket [15:35:25] [PASSED] ttm_bo_reserve_double_resv [15:35:25] [PASSED] ttm_bo_reserve_interrupted [15:35:25] [PASSED] ttm_bo_reserve_deadlock [15:35:25] [PASSED] ttm_bo_unreserve_basic [15:35:25] [PASSED] ttm_bo_unreserve_pinned [15:35:25] [PASSED] ttm_bo_unreserve_bulk [15:35:25] [PASSED] ttm_bo_fini_basic [15:35:25] [PASSED] ttm_bo_fini_shared_resv [15:35:25] [PASSED] ttm_bo_pin_basic [15:35:25] [PASSED] ttm_bo_pin_unpin_resource [15:35:25] [PASSED] ttm_bo_multiple_pin_one_unpin [15:35:25] ===================== [PASSED] ttm_bo ====================== [15:35:25] ============== ttm_bo_validate (21 subtests) =============== [15:35:25] ============== ttm_bo_init_reserved_sys_man =============== [15:35:25] [PASSED] Buffer object for userspace [15:35:25] [PASSED] Kernel buffer object [15:35:25] [PASSED] Shared buffer object [15:35:25] ========== [PASSED] ttm_bo_init_reserved_sys_man =========== [15:35:25] ============== ttm_bo_init_reserved_mock_man ============== [15:35:25] [PASSED] Buffer object for userspace [15:35:25] [PASSED] Kernel buffer object [15:35:25] [PASSED] Shared buffer object [15:35:25] ========== [PASSED] ttm_bo_init_reserved_mock_man ========== [15:35:25] [PASSED] ttm_bo_init_reserved_resv [15:35:25] ================== ttm_bo_validate_basic ================== [15:35:25] [PASSED] Buffer object for userspace [15:35:25] [PASSED] Kernel buffer object [15:35:25] [PASSED] Shared buffer object [15:35:25] ============== [PASSED] ttm_bo_validate_basic ============== [15:35:25] [PASSED] ttm_bo_validate_invalid_placement [15:35:25] ============= ttm_bo_validate_same_placement ============== [15:35:25] [PASSED] System manager [15:35:25] [PASSED] VRAM manager [15:35:25] ========= [PASSED] ttm_bo_validate_same_placement ========== [15:35:25] [PASSED] ttm_bo_validate_failed_alloc [15:35:25] [PASSED] ttm_bo_validate_pinned [15:35:25] [PASSED] ttm_bo_validate_busy_placement [15:35:25] ================ ttm_bo_validate_multihop ================= [15:35:25] [PASSED] Buffer object for userspace [15:35:25] [PASSED] Kernel buffer object [15:35:25] [PASSED] Shared buffer object [15:35:25] ============ [PASSED] ttm_bo_validate_multihop ============= [15:35:25] ========== ttm_bo_validate_no_placement_signaled ========== [15:35:25] [PASSED] Buffer object in system domain, no page vector [15:35:25] [PASSED] Buffer object in system domain with an existing page vector [15:35:25] ====== [PASSED] ttm_bo_validate_no_placement_signaled ====== [15:35:25] ======== ttm_bo_validate_no_placement_not_signaled ======== [15:35:25] [PASSED] Buffer object for userspace [15:35:25] [PASSED] Kernel buffer object [15:35:25] [PASSED] Shared buffer object [15:35:25] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ==== [15:35:25] [PASSED] ttm_bo_validate_move_fence_signaled [15:35:25] ========= ttm_bo_validate_move_fence_not_signaled ========= [15:35:25] [PASSED] Waits for GPU [15:35:25] [PASSED] Tries to lock straight away [15:35:25] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled ===== [15:35:25] [PASSED] ttm_bo_validate_happy_evict [15:35:25] [PASSED] ttm_bo_validate_all_pinned_evict [15:35:25] [PASSED] ttm_bo_validate_allowed_only_evict [15:35:25] [PASSED] ttm_bo_validate_deleted_evict [15:35:25] [PASSED] ttm_bo_validate_busy_domain_evict [15:35:25] [PASSED] ttm_bo_validate_evict_gutting [15:35:25] [PASSED] ttm_bo_validate_recrusive_evict stty: 'standard input': Inappropriate ioctl for device [15:35:25] ================= [PASSED] ttm_bo_validate ================= [15:35:25] ============================================================ [15:35:25] Testing complete. Ran 101 tests: passed: 101 [15:35:25] Elapsed time: 11.236s total, 1.786s configuring, 9.234s building, 0.183s running + cleanup ++ stat -c %u:%g /kernel + chown -R 1003:1003 /kernel ^ permalink raw reply [flat|nested] 15+ messages in thread
* ✓ Xe.CI.BAT: success for drm/xe/guc: Cleanup GuC log buffer macros and helpers 2025-10-02 15:03 [PATCH v4 0/2] drm/xe/guc: Cleanup GuC log buffer macros and helpers Zhanjun Dong ` (2 preceding siblings ...) 2025-10-02 15:35 ` ✓ CI.KUnit: success for drm/xe/guc: Cleanup GuC log buffer macros and helpers Patchwork @ 2025-10-02 16:18 ` Patchwork 2025-10-02 18:48 ` ✓ Xe.CI.Full: " Patchwork 4 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2025-10-02 16:18 UTC (permalink / raw) To: Zhanjun Dong; +Cc: intel-xe [-- Attachment #1: Type: text/plain, Size: 876 bytes --] == Series Details == Series: drm/xe/guc: Cleanup GuC log buffer macros and helpers URL : https://patchwork.freedesktop.org/series/155338/ State : success == Summary == CI Bug Log - changes from xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f_BAT -> xe-pw-155338v1_BAT ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (11 -> 11) ------------------------------ No changes in participating hosts Changes ------- No changes found Build changes ------------- * Linux: xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f -> xe-pw-155338v1 IGT_8570: 8570 xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f: 84ca7020309a0416ee72fd8e12f40d7654496b2f xe-pw-155338v1: 155338v1 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/index.html [-- Attachment #2: Type: text/html, Size: 1424 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* ✓ Xe.CI.Full: success for drm/xe/guc: Cleanup GuC log buffer macros and helpers 2025-10-02 15:03 [PATCH v4 0/2] drm/xe/guc: Cleanup GuC log buffer macros and helpers Zhanjun Dong ` (3 preceding siblings ...) 2025-10-02 16:18 ` ✓ Xe.CI.BAT: " Patchwork @ 2025-10-02 18:48 ` Patchwork 4 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2025-10-02 18:48 UTC (permalink / raw) To: Zhanjun Dong; +Cc: intel-xe [-- Attachment #1: Type: text/plain, Size: 27668 bytes --] == Series Details == Series: drm/xe/guc: Cleanup GuC log buffer macros and helpers URL : https://patchwork.freedesktop.org/series/155338/ State : success == Summary == CI Bug Log - changes from xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f_FULL -> xe-pw-155338v1_FULL ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (4 -> 4) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in xe-pw-155338v1_FULL that come from known issues: ### IGT changes ### #### Issues hit #### * igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1: - shard-adlp: [PASS][1] -> [FAIL][2] ([Intel XE#3908]) +1 other test fail [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-adlp-6/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-adlp-6/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html * igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p: - shard-bmg: [PASS][3] -> [SKIP][4] ([Intel XE#2314] / [Intel XE#2894]) [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-7/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html * igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs@pipe-c-dp-2: - shard-bmg: NOTRUN -> [SKIP][5] ([Intel XE#2652] / [Intel XE#787]) +7 other tests skip [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-1/igt@kms_ccs@bad-rotation-90-4-tiled-lnl-ccs@pipe-c-dp-2.html * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs@pipe-c-dp-2: - shard-dg2-set2: NOTRUN -> [SKIP][6] ([Intel XE#787]) +118 other tests skip [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-dg2-432/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-mc-ccs@pipe-c-dp-2.html * igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs@pipe-d-dp-2: - shard-dg2-set2: NOTRUN -> [SKIP][7] ([Intel XE#455] / [Intel XE#787]) +16 other tests skip [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-dg2-432/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs@pipe-d-dp-2.html * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs: - shard-dg2-set2: [PASS][8] -> [INCOMPLETE][9] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345]) [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-dp-4: - shard-dg2-set2: [PASS][10] -> [INCOMPLETE][11] ([i915#14968]) [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-dp-4.html [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-dp-4.html * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-6: - shard-dg2-set2: [PASS][12] -> [DMESG-WARN][13] ([Intel XE#1727] / [Intel XE#3113]) [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-6.html [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-6.html * igt@kms_content_protection@atomic-dpms@pipe-a-dp-4: - shard-dg2-set2: NOTRUN -> [FAIL][14] ([Intel XE#1178]) +2 other tests fail [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-dg2-435/igt@kms_content_protection@atomic-dpms@pipe-a-dp-4.html * igt@kms_content_protection@atomic@pipe-a-dp-2: - shard-bmg: NOTRUN -> [FAIL][15] ([Intel XE#1178]) [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-1/igt@kms_content_protection@atomic@pipe-a-dp-2.html * igt@kms_cursor_legacy@cursor-vs-flip-varying-size: - shard-bmg: [PASS][16] -> [DMESG-WARN][17] ([Intel XE#5354]) [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-6/igt@kms_cursor_legacy@cursor-vs-flip-varying-size.html [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-4/igt@kms_cursor_legacy@cursor-vs-flip-varying-size.html * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size: - shard-bmg: [PASS][18] -> [SKIP][19] ([Intel XE#2291]) +3 other tests skip [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-7/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic: - shard-bmg: [PASS][20] -> [INCOMPLETE][21] ([Intel XE#2594] / [Intel XE#3226]) [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-2/igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic.html [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic.html * igt@kms_cursor_legacy@flip-vs-cursor-legacy: - shard-bmg: [PASS][22] -> [FAIL][23] ([Intel XE#4633]) [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-4/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-4/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html * igt@kms_dither@fb-8bpc-vs-panel-6bpc: - shard-bmg: [PASS][24] -> [SKIP][25] ([Intel XE#1340]) [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-7/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html * igt@kms_flip@2x-plain-flip: - shard-bmg: [PASS][26] -> [SKIP][27] ([Intel XE#2316]) +4 other tests skip [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-4/igt@kms_flip@2x-plain-flip.html [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-6/igt@kms_flip@2x-plain-flip.html * igt@kms_flip@basic-flip-vs-wf_vblank: - shard-adlp: [PASS][28] -> [DMESG-WARN][29] ([Intel XE#4543]) +7 other tests dmesg-warn [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-adlp-6/igt@kms_flip@basic-flip-vs-wf_vblank.html [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-adlp-6/igt@kms_flip@basic-flip-vs-wf_vblank.html * igt@kms_flip@flip-vs-expired-vblank@b-edp1: - shard-lnl: [PASS][30] -> [FAIL][31] ([Intel XE#301]) [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html * igt@kms_flip@flip-vs-expired-vblank@d-hdmi-a6: - shard-dg2-set2: [PASS][32] -> [FAIL][33] ([Intel XE#301]) +1 other test fail [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-dg2-464/igt@kms_flip@flip-vs-expired-vblank@d-hdmi-a6.html [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-dg2-436/igt@kms_flip@flip-vs-expired-vblank@d-hdmi-a6.html * igt@kms_flip@flip-vs-rmfb-interruptible: - shard-adlp: [PASS][34] -> [DMESG-WARN][35] ([Intel XE#4543] / [Intel XE#5208]) [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-adlp-1/igt@kms_flip@flip-vs-rmfb-interruptible.html [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-adlp-2/igt@kms_flip@flip-vs-rmfb-interruptible.html * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-y: - shard-adlp: [PASS][36] -> [DMESG-FAIL][37] ([Intel XE#4543]) [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-adlp-4/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-y.html [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-y.html * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-x: - shard-adlp: [PASS][38] -> [FAIL][39] ([Intel XE#1874]) [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-adlp-4/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-x.html [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-x.html * igt@kms_frontbuffer_tracking@drrs-shrfb-scaledprimary: - shard-bmg: NOTRUN -> [SKIP][40] ([Intel XE#2311]) [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-3/igt@kms_frontbuffer_tracking@drrs-shrfb-scaledprimary.html * igt@kms_hdr@static-toggle-dpms: - shard-bmg: [PASS][41] -> [SKIP][42] ([Intel XE#1503]) [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-7/igt@kms_hdr@static-toggle-dpms.html [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-6/igt@kms_hdr@static-toggle-dpms.html * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1: - shard-adlp: [PASS][43] -> [DMESG-WARN][44] ([Intel XE#2953] / [Intel XE#4173]) +3 other tests dmesg-warn [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-adlp-9/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-adlp-2/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-1.html * igt@kms_plane_multiple@2x-tiling-4: - shard-bmg: [PASS][45] -> [SKIP][46] ([Intel XE#4596]) [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-7/igt@kms_plane_multiple@2x-tiling-4.html [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-4.html * igt@kms_setmode@clone-exclusive-crtc: - shard-bmg: [PASS][47] -> [SKIP][48] ([Intel XE#1435]) [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-7/igt@kms_setmode@clone-exclusive-crtc.html [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-6/igt@kms_setmode@clone-exclusive-crtc.html * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-basic-defer-bind: - shard-dg2-set2: [PASS][49] -> [SKIP][50] ([Intel XE#1392]) +4 other tests skip [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-dg2-434/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-basic-defer-bind.html [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-basic-defer-bind.html * igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv: - shard-dg2-set2: [PASS][51] -> [DMESG-WARN][52] ([Intel XE#5893]) [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-dg2-432/igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv.html [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-dg2-435/igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv.html * igt@xe_sriov_scheduling@nonpreempt-engine-resets@numvfs-random: - shard-adlp: [PASS][53] -> [ABORT][54] ([Intel XE#4917]) +1 other test abort [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-adlp-4/igt@xe_sriov_scheduling@nonpreempt-engine-resets@numvfs-random.html [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-adlp-3/igt@xe_sriov_scheduling@nonpreempt-engine-resets@numvfs-random.html #### Possible fixes #### * igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p: - shard-bmg: [SKIP][55] ([Intel XE#2314] / [Intel XE#2894]) -> [PASS][56] +1 other test pass [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-2/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html * igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size: - shard-bmg: [SKIP][57] ([Intel XE#2291]) -> [PASS][58] +5 other tests pass [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-1/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible: - shard-bmg: [SKIP][59] ([Intel XE#2316]) -> [PASS][60] +6 other tests pass [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-1/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html * igt@kms_flip@basic-flip-vs-dpms@c-hdmi-a1: - shard-adlp: [DMESG-WARN][61] ([Intel XE#4543]) -> [PASS][62] +12 other tests pass [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-adlp-1/igt@kms_flip@basic-flip-vs-dpms@c-hdmi-a1.html [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-adlp-2/igt@kms_flip@basic-flip-vs-dpms@c-hdmi-a1.html * igt@kms_flip@flip-vs-expired-vblank: - shard-bmg: [FAIL][63] ([Intel XE#3321]) -> [PASS][64] +1 other test pass [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-3/igt@kms_flip@flip-vs-expired-vblank.html [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-8/igt@kms_flip@flip-vs-expired-vblank.html * igt@kms_flip@flip-vs-expired-vblank@a-edp1: - shard-lnl: [FAIL][65] ([Intel XE#301]) -> [PASS][66] [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-lnl-1/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-lnl-7/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html * igt@kms_flip@flip-vs-suspend@b-hdmi-a1: - shard-adlp: [DMESG-WARN][67] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4543]) -> [PASS][68] [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-adlp-8/igt@kms_flip@flip-vs-suspend@b-hdmi-a1.html [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-adlp-4/igt@kms_flip@flip-vs-suspend@b-hdmi-a1.html * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-y: - shard-adlp: [DMESG-FAIL][69] ([Intel XE#4543]) -> [PASS][70] [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-adlp-4/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-y.html [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-y-to-y.html * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-y: - shard-adlp: [FAIL][71] ([Intel XE#1874]) -> [PASS][72] [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-adlp-4/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-y.html [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-y.html * igt@kms_vblank@wait-forked-hang: - shard-adlp: [DMESG-WARN][73] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][74] +1 other test pass [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-adlp-2/igt@kms_vblank@wait-forked-hang.html [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-adlp-9/igt@kms_vblank@wait-forked-hang.html * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-rebind: - shard-dg2-set2: [SKIP][75] ([Intel XE#1392]) -> [PASS][76] +6 other tests pass [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-rebind.html [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-dg2-435/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-rebind.html * {igt@xe_exec_system_allocator@many-64k-mmap-prefetch-shared}: - shard-bmg: [CRASH][77] ([Intel XE#6192]) -> [PASS][78] +7 other tests pass [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-1/igt@xe_exec_system_allocator@many-64k-mmap-prefetch-shared.html [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-1/igt@xe_exec_system_allocator@many-64k-mmap-prefetch-shared.html * {igt@xe_exec_system_allocator@many-64k-new-prefetch}: - shard-lnl: [CRASH][79] ([Intel XE#6192]) -> [PASS][80] +7 other tests pass [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-lnl-3/igt@xe_exec_system_allocator@many-64k-new-prefetch.html [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-lnl-1/igt@xe_exec_system_allocator@many-64k-new-prefetch.html * {igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma}: - shard-lnl: [FAIL][81] -> [PASS][82] [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-lnl-7/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma.html [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-lnl-3/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-single-vma.html #### Warnings #### * igt@kms_content_protection@atomic: - shard-bmg: [SKIP][83] ([Intel XE#2341]) -> [FAIL][84] ([Intel XE#1178]) [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-6/igt@kms_content_protection@atomic.html [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-1/igt@kms_content_protection@atomic.html * igt@kms_content_protection@uevent: - shard-bmg: [FAIL][85] ([Intel XE#1188]) -> [SKIP][86] ([Intel XE#2341]) [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-7/igt@kms_content_protection@uevent.html [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-6/igt@kms_content_protection@uevent.html * igt@kms_flip@flip-vs-suspend: - shard-adlp: [DMESG-WARN][87] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4543]) -> [DMESG-WARN][88] ([Intel XE#4543]) [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-adlp-8/igt@kms_flip@flip-vs-suspend.html [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-adlp-4/igt@kms_flip@flip-vs-suspend.html * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-blt: - shard-bmg: [SKIP][89] ([Intel XE#2312]) -> [SKIP][90] ([Intel XE#2311]) +17 other tests skip [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-blt.html [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-1/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt: - shard-bmg: [SKIP][91] ([Intel XE#2311]) -> [SKIP][92] ([Intel XE#2312]) +14 other tests skip [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc: - shard-bmg: [SKIP][93] ([Intel XE#2312]) -> [SKIP][94] ([Intel XE#5390]) +1 other test skip [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc: - shard-bmg: [SKIP][95] ([Intel XE#5390]) -> [SKIP][96] ([Intel XE#2312]) +3 other tests skip [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff: - shard-bmg: [SKIP][97] ([Intel XE#2313]) -> [SKIP][98] ([Intel XE#2312]) +11 other tests skip [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff.html [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt: - shard-bmg: [SKIP][99] ([Intel XE#2312]) -> [SKIP][100] ([Intel XE#2313]) +16 other tests skip [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-bmg-2/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html * igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap: - shard-dg2-set2: [SKIP][101] ([Intel XE#1392]) -> [INCOMPLETE][102] ([Intel XE#4842]) [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/shard-dg2-435/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178 [Intel XE#1188]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1188 [Intel XE#1340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1340 [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392 [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435 [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503 [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727 [Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874 [Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291 [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311 [Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312 [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313 [Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314 [Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316 [Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341 [Intel XE#2594]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2594 [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652 [Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894 [Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953 [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301 [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113 [Intel XE#3226]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3226 [Intel XE#3321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3321 [Intel XE#3908]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3908 [Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173 [Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345 [Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543 [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455 [Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596 [Intel XE#4633]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4633 [Intel XE#4842]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4842 [Intel XE#4917]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4917 [Intel XE#5208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5208 [Intel XE#5354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5354 [Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390 [Intel XE#5786]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5786 [Intel XE#5893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5893 [Intel XE#6192]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6192 [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787 [i915#14968]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14968 Build changes ------------- * Linux: xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f -> xe-pw-155338v1 IGT_8570: 8570 xe-3855-84ca7020309a0416ee72fd8e12f40d7654496b2f: 84ca7020309a0416ee72fd8e12f40d7654496b2f xe-pw-155338v1: 155338v1 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155338v1/index.html [-- Attachment #2: Type: text/html, Size: 32113 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-10-09 19:12 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-10-02 15:03 [PATCH v4 0/2] drm/xe/guc: Cleanup GuC log buffer macros and helpers Zhanjun Dong 2025-10-02 15:03 ` [PATCH v4 1/2] drm/xe/guc: Add prefix to guc log buffer macros Zhanjun Dong 2025-10-02 16:00 ` Lucas De Marchi 2025-10-02 17:24 ` Lucas De Marchi 2025-10-07 16:44 ` Dong, Zhanjun 2025-10-07 17:08 ` Lucas De Marchi 2025-10-09 17:54 ` Dong, Zhanjun 2025-10-09 19:12 ` Michal Wajdeczko 2025-10-04 17:13 ` Michal Wajdeczko 2025-10-02 15:03 ` [PATCH v4 2/2] drm/xe/guc: Update GuC log buffer type value Zhanjun Dong 2025-10-04 16:42 ` Michal Wajdeczko 2025-10-09 14:38 ` Dong, Zhanjun 2025-10-02 15:35 ` ✓ CI.KUnit: success for drm/xe/guc: Cleanup GuC log buffer macros and helpers Patchwork 2025-10-02 16:18 ` ✓ Xe.CI.BAT: " Patchwork 2025-10-02 18:48 ` ✓ Xe.CI.Full: " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox