* [PATCH 0/2] Introduce helper for display workarounds and add Wa_16025573575
@ 2025-06-30 5:49 Ankit Nautiyal
2025-06-30 5:49 ` [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa Ankit Nautiyal
` (5 more replies)
0 siblings, 6 replies; 26+ messages in thread
From: Ankit Nautiyal @ 2025-06-30 5:49 UTC (permalink / raw)
To: intel-gfx; +Cc: intel-xe, gustavo.sousa, jani.nikula, Ankit Nautiyal
This series introduces a generic infrastructure for querying display
workarounds. The goal is to simplify WA checks, avoid open-coded conditions,
and make it easier to extend support for future workarounds.
Patch 1 introduces the base infrastructure using an enum and a central
helper function. It also migrates Wa_16023588340 to use this new interface.
Patch 2 adds support for Wa_16025573575, which applies to PTL platforms
and requires preserving additional GPIO bits in GMBUS.
The series is in response to the suggestions to unify workaround handling
and allowing future automation or generation of WA logic in [1].
[1] https://lore.kernel.org/intel-gfx/7f079861f91861e9e895240cd3272f6e29deab7e@intel.com/
Ankit Nautiyal (2):
drm/i915/display_wa: Add helpers to check wa
drm/i915/gmbus: Add Wa_16025573575 for PTL for bit-bashing
.../gpu/drm/i915/display/intel_display_wa.c | 20 +++++++++++
.../gpu/drm/i915/display/intel_display_wa.h | 11 ++++++
drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
drivers/gpu/drm/i915/display/intel_gmbus.c | 34 +++++++++++++++++--
4 files changed, 64 insertions(+), 3 deletions(-)
--
2.45.2
^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-06-30 5:49 [PATCH 0/2] Introduce helper for display workarounds and add Wa_16025573575 Ankit Nautiyal
@ 2025-06-30 5:49 ` Ankit Nautiyal
2025-06-30 7:23 ` Jani Nikula
2025-06-30 5:49 ` [PATCH 2/2] drm/i915/gmbus: Add Wa_16025573575 for PTL for bit-bashing Ankit Nautiyal
` (4 subsequent siblings)
5 siblings, 1 reply; 26+ messages in thread
From: Ankit Nautiyal @ 2025-06-30 5:49 UTC (permalink / raw)
To: intel-gfx
Cc: intel-xe, gustavo.sousa, jani.nikula, Ankit Nautiyal, Jani Nikula
Introduce a generic helper to check display workarounds using an enum.
Convert Wa_16023588340 to use the new interface, simplifying WA checks
and making future additions easier.
Suggested-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_wa.c | 13 +++++++++++++
drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
3 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
index f57280e9d041..70ba66fc7e26 100644
--- a/drivers/gpu/drm/i915/display/intel_display_wa.c
+++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
@@ -39,3 +39,16 @@ void intel_display_wa_apply(struct intel_display *display)
else if (DISPLAY_VER(display) == 11)
gen11_display_wa_apply(display);
}
+
+bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
+{
+ switch (wa) {
+ case INTEL_DISPLAY_WA_16023588340:
+ return intel_display_needs_wa_16023588340(display);
+ default:
+ MISSING_CASE(wa);
+ break;
+ }
+
+ return false;
+}
diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
index babd9d16603d..853939ebf1ac 100644
--- a/drivers/gpu/drm/i915/display/intel_display_wa.h
+++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
@@ -7,6 +7,7 @@
#define __INTEL_DISPLAY_WA_H__
#include <linux/types.h>
+#include <i915_utils.h>
struct intel_display;
@@ -21,4 +22,12 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
bool intel_display_needs_wa_16023588340(struct intel_display *display);
#endif
+enum intel_display_wa {
+ INTEL_DISPLAY_WA_16023588340,
+};
+
+bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa);
+
+#define _intel_display_wa_expand(__wa) INTEL_DISPLAY_WA_##__wa
+#define intel_display_wa(__display, __wa) __intel_display_wa((__display), _intel_display_wa_expand(__wa))
#endif
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index ec1ef8694c35..f4b7ff549fd4 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -1464,7 +1464,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
return 0;
}
- if (intel_display_needs_wa_16023588340(display)) {
+ if (intel_display_wa(display, 16023588340)) {
plane_state->no_fbc_reason = "Wa_16023588340";
return 0;
}
--
2.45.2
^ permalink raw reply related [flat|nested] 26+ messages in thread
* [PATCH 2/2] drm/i915/gmbus: Add Wa_16025573575 for PTL for bit-bashing
2025-06-30 5:49 [PATCH 0/2] Introduce helper for display workarounds and add Wa_16025573575 Ankit Nautiyal
2025-06-30 5:49 ` [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa Ankit Nautiyal
@ 2025-06-30 5:49 ` Ankit Nautiyal
2025-06-30 22:43 ` ✗ CI.checkpatch: warning for Introduce helper for display workarounds and add Wa_16025573575 Patchwork
` (3 subsequent siblings)
5 siblings, 0 replies; 26+ messages in thread
From: Ankit Nautiyal @ 2025-06-30 5:49 UTC (permalink / raw)
To: intel-gfx; +Cc: intel-xe, gustavo.sousa, jani.nikula, Ankit Nautiyal
As per Wa_16025573575 for PTL, set the GPIO masks bit before starting
bit-bashing and maintain value through the bit-bashing sequence.
After bit-bashing sequence is done, clear the GPIO masks bits.
v2:
-Use new helper for display workarounds. (Jani)
-Use a separate if-block for the workaround. (Gustavo)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
.../gpu/drm/i915/display/intel_display_wa.c | 7 ++++
.../gpu/drm/i915/display/intel_display_wa.h | 2 ++
drivers/gpu/drm/i915/display/intel_gmbus.c | 34 +++++++++++++++++--
3 files changed, 41 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
index 70ba66fc7e26..6ba58d9efe60 100644
--- a/drivers/gpu/drm/i915/display/intel_display_wa.c
+++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
@@ -40,11 +40,18 @@ void intel_display_wa_apply(struct intel_display *display)
gen11_display_wa_apply(display);
}
+static bool intel_display_needs_wa_16025573575(struct intel_display *display)
+{
+ return DISPLAY_VER(display) == 30;
+}
+
bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
{
switch (wa) {
case INTEL_DISPLAY_WA_16023588340:
return intel_display_needs_wa_16023588340(display);
+ case INTEL_DISPLAY_WA_16025573575:
+ return intel_display_needs_wa_16025573575(display);
default:
MISSING_CASE(wa);
break;
diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
index 853939ebf1ac..db8f3249bd35 100644
--- a/drivers/gpu/drm/i915/display/intel_display_wa.h
+++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
@@ -8,6 +8,7 @@
#include <linux/types.h>
#include <i915_utils.h>
+#include "intel_display_core.h"
struct intel_display;
@@ -24,6 +25,7 @@ bool intel_display_needs_wa_16023588340(struct intel_display *display);
enum intel_display_wa {
INTEL_DISPLAY_WA_16023588340,
+ INTEL_DISPLAY_WA_16025573575,
};
bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa);
diff --git a/drivers/gpu/drm/i915/display/intel_gmbus.c b/drivers/gpu/drm/i915/display/intel_gmbus.c
index 0d73f32fe7f1..95cab11c9cde 100644
--- a/drivers/gpu/drm/i915/display/intel_gmbus.c
+++ b/drivers/gpu/drm/i915/display/intel_gmbus.c
@@ -39,6 +39,7 @@
#include "intel_de.h"
#include "intel_display_regs.h"
#include "intel_display_types.h"
+#include "intel_display_wa.h"
#include "intel_gmbus.h"
#include "intel_gmbus_regs.h"
@@ -241,11 +242,18 @@ static u32 get_reserved(struct intel_gmbus *bus)
{
struct intel_display *display = bus->display;
u32 reserved = 0;
+ u32 preserve_bits = 0;
/* On most chips, these bits must be preserved in software. */
if (!display->platform.i830 && !display->platform.i845g)
- reserved = intel_de_read_notrace(display, bus->gpio_reg) &
- (GPIO_DATA_PULLUP_DISABLE | GPIO_CLOCK_PULLUP_DISABLE);
+ preserve_bits |= GPIO_DATA_PULLUP_DISABLE | GPIO_CLOCK_PULLUP_DISABLE;
+
+ /* PTL: Wa_16025573575: the masks bits need to be preserved through out */
+ if (intel_display_wa(display, 16025573575))
+ preserve_bits |= GPIO_CLOCK_DIR_MASK | GPIO_CLOCK_VAL_MASK |
+ GPIO_DATA_DIR_MASK | GPIO_DATA_VAL_MASK;
+
+ reserved = intel_de_read_notrace(display, bus->gpio_reg) & preserve_bits;
return reserved;
}
@@ -308,6 +316,22 @@ static void set_data(void *data, int state_high)
intel_de_posting_read(display, bus->gpio_reg);
}
+static void
+ptl_handle_mask_bits(struct intel_gmbus *bus, bool set)
+{
+ struct intel_display *display = bus->display;
+ u32 reg_val = intel_de_read_notrace(display, bus->gpio_reg);
+ u32 mask_bits = GPIO_CLOCK_DIR_MASK | GPIO_CLOCK_VAL_MASK |
+ GPIO_DATA_DIR_MASK | GPIO_DATA_VAL_MASK;
+ if (set)
+ reg_val |= mask_bits;
+ else
+ reg_val &= ~mask_bits;
+
+ intel_de_write_notrace(display, bus->gpio_reg, reg_val);
+ intel_de_posting_read(display, bus->gpio_reg);
+}
+
static int
intel_gpio_pre_xfer(struct i2c_adapter *adapter)
{
@@ -319,6 +343,9 @@ intel_gpio_pre_xfer(struct i2c_adapter *adapter)
if (display->platform.pineview)
pnv_gmbus_clock_gating(display, false);
+ if (intel_display_wa(display, 16025573575))
+ ptl_handle_mask_bits(bus, true);
+
set_data(bus, 1);
set_clock(bus, 1);
udelay(I2C_RISEFALL_TIME);
@@ -336,6 +363,9 @@ intel_gpio_post_xfer(struct i2c_adapter *adapter)
if (display->platform.pineview)
pnv_gmbus_clock_gating(display, true);
+
+ if (intel_display_wa(display, 16025573575))
+ ptl_handle_mask_bits(bus, false);
}
static void
--
2.45.2
^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-06-30 5:49 ` [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa Ankit Nautiyal
@ 2025-06-30 7:23 ` Jani Nikula
2025-06-30 7:54 ` Nautiyal, Ankit K
0 siblings, 1 reply; 26+ messages in thread
From: Jani Nikula @ 2025-06-30 7:23 UTC (permalink / raw)
To: Ankit Nautiyal, intel-gfx; +Cc: intel-xe, gustavo.sousa, Ankit Nautiyal
On Mon, 30 Jun 2025, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
> Introduce a generic helper to check display workarounds using an enum.
>
> Convert Wa_16023588340 to use the new interface, simplifying WA checks
> and making future additions easier.
>
> Suggested-by: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_wa.c | 13 +++++++++++++
> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
> 3 files changed, 23 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
> index f57280e9d041..70ba66fc7e26 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
> @@ -39,3 +39,16 @@ void intel_display_wa_apply(struct intel_display *display)
> else if (DISPLAY_VER(display) == 11)
> gen11_display_wa_apply(display);
> }
> +
> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
> +{
> + switch (wa) {
> + case INTEL_DISPLAY_WA_16023588340:
> + return intel_display_needs_wa_16023588340(display);
> + default:
> + MISSING_CASE(wa);
MISSING_CASE() is a bit of a problem for i915 and display
separation. Please let's not add more. Use drm_WARN() or something.
> + break;
> + }
> +
> + return false;
> +}
> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
> index babd9d16603d..853939ebf1ac 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
> @@ -7,6 +7,7 @@
> #define __INTEL_DISPLAY_WA_H__
>
> #include <linux/types.h>
> +#include <i915_utils.h>
Please don't put that in the header. And shouldn't be needed anyway if
you drop the MISSING_CASE().
>
> struct intel_display;
>
> @@ -21,4 +22,12 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
> bool intel_display_needs_wa_16023588340(struct intel_display *display);
> #endif
>
> +enum intel_display_wa {
> + INTEL_DISPLAY_WA_16023588340,
> +};
> +
> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa);
> +
> +#define _intel_display_wa_expand(__wa) INTEL_DISPLAY_WA_##__wa
Can't we just do this inline instead of adding another macro?
> +#define intel_display_wa(__display, __wa) __intel_display_wa((__display), _intel_display_wa_expand(__wa))
> #endif
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> index ec1ef8694c35..f4b7ff549fd4 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -1464,7 +1464,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
> return 0;
> }
>
> - if (intel_display_needs_wa_16023588340(display)) {
> + if (intel_display_wa(display, 16023588340)) {
> plane_state->no_fbc_reason = "Wa_16023588340";
> return 0;
> }
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-06-30 7:23 ` Jani Nikula
@ 2025-06-30 7:54 ` Nautiyal, Ankit K
0 siblings, 0 replies; 26+ messages in thread
From: Nautiyal, Ankit K @ 2025-06-30 7:54 UTC (permalink / raw)
To: Jani Nikula, intel-gfx; +Cc: intel-xe, gustavo.sousa
On 6/30/2025 12:53 PM, Jani Nikula wrote:
> On Mon, 30 Jun 2025, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
>> Introduce a generic helper to check display workarounds using an enum.
>>
>> Convert Wa_16023588340 to use the new interface, simplifying WA checks
>> and making future additions easier.
>>
>> Suggested-by: Jani Nikula <jani.nikula@intel.com>
>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> ---
>> drivers/gpu/drm/i915/display/intel_display_wa.c | 13 +++++++++++++
>> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
>> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
>> 3 files changed, 23 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
>> index f57280e9d041..70ba66fc7e26 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
>> @@ -39,3 +39,16 @@ void intel_display_wa_apply(struct intel_display *display)
>> else if (DISPLAY_VER(display) == 11)
>> gen11_display_wa_apply(display);
>> }
>> +
>> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
>> +{
>> + switch (wa) {
>> + case INTEL_DISPLAY_WA_16023588340:
>> + return intel_display_needs_wa_16023588340(display);
>> + default:
>> + MISSING_CASE(wa);
> MISSING_CASE() is a bit of a problem for i915 and display
> separation. Please let's not add more. Use drm_WARN() or something.
Sure. Will get rid of the MISSING_CASE().
>
>> + break;
>> + }
>> +
>> + return false;
>> +}
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
>> index babd9d16603d..853939ebf1ac 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
>> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
>> @@ -7,6 +7,7 @@
>> #define __INTEL_DISPLAY_WA_H__
>>
>> #include <linux/types.h>
>> +#include <i915_utils.h>
> Please don't put that in the header. And shouldn't be needed anyway if
> you drop the MISSING_CASE().
Alright will remove this header file.
>
>>
>> struct intel_display;
>>
>> @@ -21,4 +22,12 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
>> bool intel_display_needs_wa_16023588340(struct intel_display *display);
>> #endif
>>
>> +enum intel_display_wa {
>> + INTEL_DISPLAY_WA_16023588340,
>> +};
>> +
>> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa);
>> +
>> +#define _intel_display_wa_expand(__wa) INTEL_DISPLAY_WA_##__wa
> Can't we just do this inline instead of adding another macro?
Yes sure will use :
#define intel_display_wa(__display, __wa) \
__intel_display_wa((__display), INTEL_DISPLAY_WA_##__wa)
Thanks & Regards,
Ankit
>
>> +#define intel_display_wa(__display, __wa) __intel_display_wa((__display), _intel_display_wa_expand(__wa))
>> #endif
>> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
>> index ec1ef8694c35..f4b7ff549fd4 100644
>> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
>> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
>> @@ -1464,7 +1464,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
>> return 0;
>> }
>>
>> - if (intel_display_needs_wa_16023588340(display)) {
>> + if (intel_display_wa(display, 16023588340)) {
>> plane_state->no_fbc_reason = "Wa_16023588340";
>> return 0;
>> }
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✗ CI.checkpatch: warning for Introduce helper for display workarounds and add Wa_16025573575
2025-06-30 5:49 [PATCH 0/2] Introduce helper for display workarounds and add Wa_16025573575 Ankit Nautiyal
2025-06-30 5:49 ` [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa Ankit Nautiyal
2025-06-30 5:49 ` [PATCH 2/2] drm/i915/gmbus: Add Wa_16025573575 for PTL for bit-bashing Ankit Nautiyal
@ 2025-06-30 22:43 ` Patchwork
2025-06-30 22:45 ` ✓ CI.KUnit: success " Patchwork
` (2 subsequent siblings)
5 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2025-06-30 22:43 UTC (permalink / raw)
To: Nautiyal, Ankit K; +Cc: intel-xe
== Series Details ==
Series: Introduce helper for display workarounds and add Wa_16025573575
URL : https://patchwork.freedesktop.org/series/150935/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
f8ff75ae1d2127635239b134695774ed4045d05b
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 37c14fdc8239f3ef00c4603413ee6af1120d1177
Author: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Date: Mon Jun 30 11:19:18 2025 +0530
drm/i915/gmbus: Add Wa_16025573575 for PTL for bit-bashing
As per Wa_16025573575 for PTL, set the GPIO masks bit before starting
bit-bashing and maintain value through the bit-bashing sequence.
After bit-bashing sequence is done, clear the GPIO masks bits.
v2:
-Use new helper for display workarounds. (Jani)
-Use a separate if-block for the workaround. (Gustavo)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
+ /mt/dim checkpatch d9007d535ea106181346f9988c97aa73a9cdfb86 drm-intel
164179ba682e drm/i915/display_wa: Add helpers to check wa
-:58: WARNING:LONG_LINE: line length of 105 exceeds 100 columns
#58: FILE: drivers/gpu/drm/i915/display/intel_display_wa.h:32:
+#define intel_display_wa(__display, __wa) __intel_display_wa((__display), _intel_display_wa_expand(__wa))
total: 0 errors, 1 warnings, 0 checks, 43 lines checked
37c14fdc8239 drm/i915/gmbus: Add Wa_16025573575 for PTL for bit-bashing
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✓ CI.KUnit: success for Introduce helper for display workarounds and add Wa_16025573575
2025-06-30 5:49 [PATCH 0/2] Introduce helper for display workarounds and add Wa_16025573575 Ankit Nautiyal
` (2 preceding siblings ...)
2025-06-30 22:43 ` ✗ CI.checkpatch: warning for Introduce helper for display workarounds and add Wa_16025573575 Patchwork
@ 2025-06-30 22:45 ` Patchwork
2025-06-30 23:43 ` ✓ Xe.CI.BAT: " Patchwork
2025-07-02 8:33 ` ✗ Xe.CI.Full: failure " Patchwork
5 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2025-06-30 22:45 UTC (permalink / raw)
To: Nautiyal, Ankit K; +Cc: intel-xe
== Series Details ==
Series: Introduce helper for display workarounds and add Wa_16025573575
URL : https://patchwork.freedesktop.org/series/150935/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[22:43:37] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[22:43:42] 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=25
[22:44:15] Starting KUnit Kernel (1/1)...
[22:44:15] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[22:44:16] ================== guc_buf (11 subtests) ===================
[22:44:16] [PASSED] test_smallest
[22:44:16] [PASSED] test_largest
[22:44:16] [PASSED] test_granular
[22:44:16] [PASSED] test_unique
[22:44:16] [PASSED] test_overlap
[22:44:16] [PASSED] test_reusable
[22:44:16] [PASSED] test_too_big
[22:44:16] [PASSED] test_flush
[22:44:16] [PASSED] test_lookup
[22:44:16] [PASSED] test_data
[22:44:16] [PASSED] test_class
[22:44:16] ===================== [PASSED] guc_buf =====================
[22:44:16] =================== guc_dbm (7 subtests) ===================
[22:44:16] [PASSED] test_empty
[22:44:16] [PASSED] test_default
[22:44:16] ======================== test_size ========================
[22:44:16] [PASSED] 4
[22:44:16] [PASSED] 8
[22:44:16] [PASSED] 32
[22:44:16] [PASSED] 256
[22:44:16] ==================== [PASSED] test_size ====================
[22:44:16] ======================= test_reuse ========================
[22:44:16] [PASSED] 4
[22:44:16] [PASSED] 8
[22:44:16] [PASSED] 32
[22:44:16] [PASSED] 256
[22:44:16] =================== [PASSED] test_reuse ====================
[22:44:16] =================== test_range_overlap ====================
[22:44:16] [PASSED] 4
[22:44:16] [PASSED] 8
[22:44:16] [PASSED] 32
[22:44:16] [PASSED] 256
[22:44:16] =============== [PASSED] test_range_overlap ================
[22:44:16] =================== test_range_compact ====================
[22:44:16] [PASSED] 4
[22:44:16] [PASSED] 8
[22:44:16] [PASSED] 32
[22:44:16] [PASSED] 256
[22:44:16] =============== [PASSED] test_range_compact ================
[22:44:16] ==================== test_range_spare =====================
[22:44:16] [PASSED] 4
[22:44:16] [PASSED] 8
[22:44:16] [PASSED] 32
[22:44:16] [PASSED] 256
[22:44:16] ================ [PASSED] test_range_spare =================
[22:44:16] ===================== [PASSED] guc_dbm =====================
[22:44:16] =================== guc_idm (6 subtests) ===================
[22:44:16] [PASSED] bad_init
[22:44:16] [PASSED] no_init
[22:44:16] [PASSED] init_fini
[22:44:16] [PASSED] check_used
[22:44:16] [PASSED] check_quota
[22:44:16] [PASSED] check_all
[22:44:16] ===================== [PASSED] guc_idm =====================
[22:44:16] ================== no_relay (3 subtests) ===================
[22:44:16] [PASSED] xe_drops_guc2pf_if_not_ready
[22:44:16] [PASSED] xe_drops_guc2vf_if_not_ready
[22:44:16] [PASSED] xe_rejects_send_if_not_ready
[22:44:16] ==================== [PASSED] no_relay =====================
[22:44:16] ================== pf_relay (14 subtests) ==================
[22:44:16] [PASSED] pf_rejects_guc2pf_too_short
[22:44:16] [PASSED] pf_rejects_guc2pf_too_long
[22:44:16] [PASSED] pf_rejects_guc2pf_no_payload
[22:44:16] [PASSED] pf_fails_no_payload
[22:44:16] [PASSED] pf_fails_bad_origin
[22:44:16] [PASSED] pf_fails_bad_type
[22:44:16] [PASSED] pf_txn_reports_error
[22:44:16] [PASSED] pf_txn_sends_pf2guc
[22:44:16] [PASSED] pf_sends_pf2guc
[22:44:16] [SKIPPED] pf_loopback_nop
[22:44:16] [SKIPPED] pf_loopback_echo
[22:44:16] [SKIPPED] pf_loopback_fail
[22:44:16] [SKIPPED] pf_loopback_busy
[22:44:16] [SKIPPED] pf_loopback_retry
[22:44:16] ==================== [PASSED] pf_relay =====================
[22:44:16] ================== vf_relay (3 subtests) ===================
[22:44:16] [PASSED] vf_rejects_guc2vf_too_short
[22:44:16] [PASSED] vf_rejects_guc2vf_too_long
[22:44:16] [PASSED] vf_rejects_guc2vf_no_payload
[22:44:16] ==================== [PASSED] vf_relay =====================
[22:44:16] ================= pf_service (11 subtests) =================
[22:44:16] [PASSED] pf_negotiate_any
[22:44:16] [PASSED] pf_negotiate_base_match
[22:44:16] [PASSED] pf_negotiate_base_newer
[22:44:16] [PASSED] pf_negotiate_base_next
[22:44:16] [SKIPPED] pf_negotiate_base_older
[22:44:16] [PASSED] pf_negotiate_base_prev
[22:44:16] [PASSED] pf_negotiate_latest_match
[22:44:16] [PASSED] pf_negotiate_latest_newer
[22:44:16] [PASSED] pf_negotiate_latest_next
[22:44:16] [SKIPPED] pf_negotiate_latest_older
[22:44:16] [SKIPPED] pf_negotiate_latest_prev
[22:44:16] =================== [PASSED] pf_service ====================
[22:44:16] ===================== lmtt (1 subtest) =====================
[22:44:16] ======================== test_ops =========================
[22:44:16] [PASSED] 2-level
[22:44:16] [PASSED] multi-level
[22:44:16] ==================== [PASSED] test_ops =====================
[22:44:16] ====================== [PASSED] lmtt =======================
[22:44:16] =================== xe_mocs (2 subtests) ===================
[22:44:16] ================ xe_live_mocs_kernel_kunit ================
[22:44:16] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[22:44:16] ================ xe_live_mocs_reset_kunit =================
[22:44:16] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[22:44:16] ==================== [SKIPPED] xe_mocs =====================
[22:44:16] ================= xe_migrate (2 subtests) ==================
[22:44:16] ================= xe_migrate_sanity_kunit =================
[22:44:16] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[22:44:16] ================== xe_validate_ccs_kunit ==================
[22:44:16] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[22:44:16] =================== [SKIPPED] xe_migrate ===================
[22:44:16] ================== xe_dma_buf (1 subtest) ==================
[22:44:16] ==================== xe_dma_buf_kunit =====================
[22:44:16] ================ [SKIPPED] xe_dma_buf_kunit ================
[22:44:16] =================== [SKIPPED] xe_dma_buf ===================
[22:44:16] ================= xe_bo_shrink (1 subtest) =================
[22:44:16] =================== xe_bo_shrink_kunit ====================
[22:44:16] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[22:44:16] ================== [SKIPPED] xe_bo_shrink ==================
[22:44:16] ==================== xe_bo (2 subtests) ====================
[22:44:16] ================== xe_ccs_migrate_kunit ===================
[22:44:16] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[22:44:16] ==================== xe_bo_evict_kunit ====================
[22:44:16] =============== [SKIPPED] xe_bo_evict_kunit ================
[22:44:16] ===================== [SKIPPED] xe_bo ======================
[22:44:16] ==================== args (11 subtests) ====================
[22:44:16] [PASSED] count_args_test
[22:44:16] [PASSED] call_args_example
[22:44:16] [PASSED] call_args_test
[22:44:16] [PASSED] drop_first_arg_example
[22:44:16] [PASSED] drop_first_arg_test
[22:44:16] [PASSED] first_arg_example
[22:44:16] [PASSED] first_arg_test
[22:44:16] [PASSED] last_arg_example
[22:44:16] [PASSED] last_arg_test
[22:44:16] [PASSED] pick_arg_example
[22:44:16] [PASSED] sep_comma_example
[22:44:16] ====================== [PASSED] args =======================
[22:44:16] =================== xe_pci (2 subtests) ====================
[22:44:16] ==================== check_graphics_ip ====================
[22:44:16] [PASSED] 12.70 Xe_LPG
[22:44:16] [PASSED] 12.71 Xe_LPG
[22:44:16] [PASSED] 12.74 Xe_LPG+
[22:44:16] [PASSED] 20.01 Xe2_HPG
[22:44:16] [PASSED] 20.02 Xe2_HPG
[22:44:16] [PASSED] 20.04 Xe2_LPG
[22:44:16] [PASSED] 30.00 Xe3_LPG
[22:44:16] [PASSED] 30.01 Xe3_LPG
[22:44:16] [PASSED] 30.03 Xe3_LPG
[22:44:16] ================ [PASSED] check_graphics_ip ================
[22:44:16] ===================== check_media_ip ======================
[22:44:16] [PASSED] 13.00 Xe_LPM+
[22:44:16] [PASSED] 13.01 Xe2_HPM
[22:44:16] [PASSED] 20.00 Xe2_LPM
[22:44:16] [PASSED] 30.00 Xe3_LPM
[22:44:16] [PASSED] 30.02 Xe3_LPM
stty: 'standard input': Inappropriate ioctl for device
[22:44:16] ================= [PASSED] check_media_ip ==================
[22:44:16] ===================== [PASSED] xe_pci ======================
[22:44:16] =================== xe_rtp (2 subtests) ====================
[22:44:16] =============== xe_rtp_process_to_sr_tests ================
[22:44:16] [PASSED] coalesce-same-reg
[22:44:16] [PASSED] no-match-no-add
[22:44:16] [PASSED] match-or
[22:44:16] [PASSED] match-or-xfail
[22:44:16] [PASSED] no-match-no-add-multiple-rules
[22:44:16] [PASSED] two-regs-two-entries
[22:44:16] [PASSED] clr-one-set-other
[22:44:16] [PASSED] set-field
[22:44:16] [PASSED] conflict-duplicate
[22:44:16] [PASSED] conflict-not-disjoint
[22:44:16] [PASSED] conflict-reg-type
[22:44:16] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[22:44:16] ================== xe_rtp_process_tests ===================
[22:44:16] [PASSED] active1
[22:44:16] [PASSED] active2
[22:44:16] [PASSED] active-inactive
[22:44:16] [PASSED] inactive-active
[22:44:16] [PASSED] inactive-1st_or_active-inactive
[22:44:16] [PASSED] inactive-2nd_or_active-inactive
[22:44:16] [PASSED] inactive-last_or_active-inactive
[22:44:16] [PASSED] inactive-no_or_active-inactive
[22:44:16] ============== [PASSED] xe_rtp_process_tests ===============
[22:44:16] ===================== [PASSED] xe_rtp ======================
[22:44:16] ==================== xe_wa (1 subtest) =====================
[22:44:16] ======================== xe_wa_gt =========================
[22:44:16] [PASSED] TIGERLAKE (B0)
[22:44:16] [PASSED] DG1 (A0)
[22:44:16] [PASSED] DG1 (B0)
[22:44:16] [PASSED] ALDERLAKE_S (A0)
[22:44:16] [PASSED] ALDERLAKE_S (B0)
[22:44:16] [PASSED] ALDERLAKE_S (C0)
[22:44:16] [PASSED] ALDERLAKE_S (D0)
[22:44:16] [PASSED] ALDERLAKE_P (A0)
[22:44:16] [PASSED] ALDERLAKE_P (B0)
[22:44:16] [PASSED] ALDERLAKE_P (C0)
[22:44:16] [PASSED] ALDERLAKE_S_RPLS (D0)
[22:44:16] [PASSED] ALDERLAKE_P_RPLU (E0)
[22:44:16] [PASSED] DG2_G10 (C0)
[22:44:16] [PASSED] DG2_G11 (B1)
[22:44:16] [PASSED] DG2_G12 (A1)
[22:44:16] [PASSED] METEORLAKE (g:A0, m:A0)
[22:44:16] [PASSED] METEORLAKE (g:A0, m:A0)
[22:44:16] [PASSED] METEORLAKE (g:A0, m:A0)
[22:44:16] [PASSED] LUNARLAKE (g:A0, m:A0)
[22:44:16] [PASSED] LUNARLAKE (g:B0, m:A0)
[22:44:16] [PASSED] BATTLEMAGE (g:A0, m:A1)
[22:44:16] ==================== [PASSED] xe_wa_gt =====================
[22:44:16] ====================== [PASSED] xe_wa ======================
[22:44:16] ============================================================
[22:44:16] Testing complete. Ran 145 tests: passed: 129, skipped: 16
[22:44:16] Elapsed time: 38.341s total, 4.289s configuring, 33.685s building, 0.311s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[22:44:16] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[22:44:17] 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=25
[22:44:44] Starting KUnit Kernel (1/1)...
[22:44:44] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[22:44:44] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[22:44:44] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[22:44:44] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[22:44:44] =========== drm_validate_clone_mode (2 subtests) ===========
[22:44:44] ============== drm_test_check_in_clone_mode ===============
[22:44:44] [PASSED] in_clone_mode
[22:44:44] [PASSED] not_in_clone_mode
[22:44:44] ========== [PASSED] drm_test_check_in_clone_mode ===========
[22:44:44] =============== drm_test_check_valid_clones ===============
[22:44:44] [PASSED] not_in_clone_mode
[22:44:44] [PASSED] valid_clone
[22:44:44] [PASSED] invalid_clone
[22:44:44] =========== [PASSED] drm_test_check_valid_clones ===========
[22:44:44] ============= [PASSED] drm_validate_clone_mode =============
[22:44:44] ============= drm_validate_modeset (1 subtest) =============
[22:44:44] [PASSED] drm_test_check_connector_changed_modeset
[22:44:44] ============== [PASSED] drm_validate_modeset ===============
[22:44:44] ====== drm_test_bridge_get_current_state (2 subtests) ======
[22:44:44] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[22:44:44] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[22:44:44] ======== [PASSED] drm_test_bridge_get_current_state ========
[22:44:44] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[22:44:44] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[22:44:44] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[22:44:44] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[22:44:44] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[22:44:44] ============== drm_bridge_alloc (2 subtests) ===============
[22:44:44] [PASSED] drm_test_drm_bridge_alloc_basic
[22:44:44] [PASSED] drm_test_drm_bridge_alloc_get_put
[22:44:44] ================ [PASSED] drm_bridge_alloc =================
[22:44:44] ================== drm_buddy (7 subtests) ==================
[22:44:44] [PASSED] drm_test_buddy_alloc_limit
[22:44:44] [PASSED] drm_test_buddy_alloc_optimistic
[22:44:44] [PASSED] drm_test_buddy_alloc_pessimistic
[22:44:44] [PASSED] drm_test_buddy_alloc_pathological
[22:44:44] [PASSED] drm_test_buddy_alloc_contiguous
[22:44:44] [PASSED] drm_test_buddy_alloc_clear
[22:44:44] [PASSED] drm_test_buddy_alloc_range_bias
[22:44:44] ==================== [PASSED] drm_buddy ====================
[22:44:44] ============= drm_cmdline_parser (40 subtests) =============
[22:44:44] [PASSED] drm_test_cmdline_force_d_only
[22:44:44] [PASSED] drm_test_cmdline_force_D_only_dvi
[22:44:44] [PASSED] drm_test_cmdline_force_D_only_hdmi
[22:44:44] [PASSED] drm_test_cmdline_force_D_only_not_digital
[22:44:44] [PASSED] drm_test_cmdline_force_e_only
[22:44:44] [PASSED] drm_test_cmdline_res
[22:44:44] [PASSED] drm_test_cmdline_res_vesa
[22:44:44] [PASSED] drm_test_cmdline_res_vesa_rblank
[22:44:44] [PASSED] drm_test_cmdline_res_rblank
[22:44:44] [PASSED] drm_test_cmdline_res_bpp
[22:44:44] [PASSED] drm_test_cmdline_res_refresh
[22:44:44] [PASSED] drm_test_cmdline_res_bpp_refresh
[22:44:44] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[22:44:44] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[22:44:44] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[22:44:44] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[22:44:44] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[22:44:44] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[22:44:44] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[22:44:44] [PASSED] drm_test_cmdline_res_margins_force_on
[22:44:44] [PASSED] drm_test_cmdline_res_vesa_margins
[22:44:44] [PASSED] drm_test_cmdline_name
[22:44:44] [PASSED] drm_test_cmdline_name_bpp
[22:44:44] [PASSED] drm_test_cmdline_name_option
[22:44:44] [PASSED] drm_test_cmdline_name_bpp_option
[22:44:44] [PASSED] drm_test_cmdline_rotate_0
[22:44:44] [PASSED] drm_test_cmdline_rotate_90
[22:44:44] [PASSED] drm_test_cmdline_rotate_180
[22:44:44] [PASSED] drm_test_cmdline_rotate_270
[22:44:44] [PASSED] drm_test_cmdline_hmirror
[22:44:44] [PASSED] drm_test_cmdline_vmirror
[22:44:44] [PASSED] drm_test_cmdline_margin_options
[22:44:44] [PASSED] drm_test_cmdline_multiple_options
[22:44:44] [PASSED] drm_test_cmdline_bpp_extra_and_option
[22:44:44] [PASSED] drm_test_cmdline_extra_and_option
[22:44:44] [PASSED] drm_test_cmdline_freestanding_options
[22:44:44] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[22:44:44] [PASSED] drm_test_cmdline_panel_orientation
[22:44:44] ================ drm_test_cmdline_invalid =================
[22:44:44] [PASSED] margin_only
[22:44:44] [PASSED] interlace_only
[22:44:44] [PASSED] res_missing_x
[22:44:44] [PASSED] res_missing_y
[22:44:44] [PASSED] res_bad_y
[22:44:44] [PASSED] res_missing_y_bpp
[22:44:44] [PASSED] res_bad_bpp
[22:44:44] [PASSED] res_bad_refresh
[22:44:44] [PASSED] res_bpp_refresh_force_on_off
[22:44:44] [PASSED] res_invalid_mode
[22:44:44] [PASSED] res_bpp_wrong_place_mode
[22:44:44] [PASSED] name_bpp_refresh
[22:44:44] [PASSED] name_refresh
[22:44:44] [PASSED] name_refresh_wrong_mode
[22:44:44] [PASSED] name_refresh_invalid_mode
[22:44:44] [PASSED] rotate_multiple
[22:44:44] [PASSED] rotate_invalid_val
[22:44:44] [PASSED] rotate_truncated
[22:44:44] [PASSED] invalid_option
[22:44:44] [PASSED] invalid_tv_option
[22:44:44] [PASSED] truncated_tv_option
[22:44:44] ============ [PASSED] drm_test_cmdline_invalid =============
[22:44:44] =============== drm_test_cmdline_tv_options ===============
[22:44:44] [PASSED] NTSC
[22:44:44] [PASSED] NTSC_443
[22:44:44] [PASSED] NTSC_J
[22:44:44] [PASSED] PAL
[22:44:44] [PASSED] PAL_M
[22:44:44] [PASSED] PAL_N
[22:44:44] [PASSED] SECAM
[22:44:44] [PASSED] MONO_525
[22:44:44] [PASSED] MONO_625
[22:44:44] =========== [PASSED] drm_test_cmdline_tv_options ===========
[22:44:44] =============== [PASSED] drm_cmdline_parser ================
[22:44:44] ========== drmm_connector_hdmi_init (20 subtests) ==========
[22:44:44] [PASSED] drm_test_connector_hdmi_init_valid
[22:44:44] [PASSED] drm_test_connector_hdmi_init_bpc_8
[22:44:44] [PASSED] drm_test_connector_hdmi_init_bpc_10
[22:44:44] [PASSED] drm_test_connector_hdmi_init_bpc_12
[22:44:44] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[22:44:44] [PASSED] drm_test_connector_hdmi_init_bpc_null
[22:44:44] [PASSED] drm_test_connector_hdmi_init_formats_empty
[22:44:44] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[22:44:44] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[22:44:44] [PASSED] supported_formats=0x9 yuv420_allowed=1
[22:44:44] [PASSED] supported_formats=0x9 yuv420_allowed=0
[22:44:44] [PASSED] supported_formats=0x3 yuv420_allowed=1
[22:44:44] [PASSED] supported_formats=0x3 yuv420_allowed=0
[22:44:44] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[22:44:44] [PASSED] drm_test_connector_hdmi_init_null_ddc
[22:44:44] [PASSED] drm_test_connector_hdmi_init_null_product
[22:44:44] [PASSED] drm_test_connector_hdmi_init_null_vendor
[22:44:44] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[22:44:44] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[22:44:44] [PASSED] drm_test_connector_hdmi_init_product_valid
[22:44:44] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[22:44:44] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[22:44:44] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[22:44:44] ========= drm_test_connector_hdmi_init_type_valid =========
[22:44:44] [PASSED] HDMI-A
[22:44:44] [PASSED] HDMI-B
[22:44:44] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[22:44:44] ======== drm_test_connector_hdmi_init_type_invalid ========
[22:44:44] [PASSED] Unknown
[22:44:44] [PASSED] VGA
[22:44:44] [PASSED] DVI-I
[22:44:44] [PASSED] DVI-D
[22:44:44] [PASSED] DVI-A
[22:44:44] [PASSED] Composite
[22:44:44] [PASSED] SVIDEO
[22:44:44] [PASSED] LVDS
[22:44:44] [PASSED] Component
[22:44:44] [PASSED] DIN
[22:44:44] [PASSED] DP
[22:44:44] [PASSED] TV
[22:44:44] [PASSED] eDP
[22:44:44] [PASSED] Virtual
[22:44:44] [PASSED] DSI
[22:44:44] [PASSED] DPI
[22:44:44] [PASSED] Writeback
[22:44:44] [PASSED] SPI
[22:44:44] [PASSED] USB
[22:44:44] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[22:44:44] ============ [PASSED] drmm_connector_hdmi_init =============
[22:44:44] ============= drmm_connector_init (3 subtests) =============
[22:44:44] [PASSED] drm_test_drmm_connector_init
[22:44:44] [PASSED] drm_test_drmm_connector_init_null_ddc
[22:44:44] ========= drm_test_drmm_connector_init_type_valid =========
[22:44:44] [PASSED] Unknown
[22:44:44] [PASSED] VGA
[22:44:44] [PASSED] DVI-I
[22:44:44] [PASSED] DVI-D
[22:44:44] [PASSED] DVI-A
[22:44:44] [PASSED] Composite
[22:44:44] [PASSED] SVIDEO
[22:44:44] [PASSED] LVDS
[22:44:44] [PASSED] Component
[22:44:44] [PASSED] DIN
[22:44:44] [PASSED] DP
[22:44:44] [PASSED] HDMI-A
[22:44:44] [PASSED] HDMI-B
[22:44:44] [PASSED] TV
[22:44:44] [PASSED] eDP
[22:44:44] [PASSED] Virtual
[22:44:44] [PASSED] DSI
[22:44:44] [PASSED] DPI
[22:44:44] [PASSED] Writeback
[22:44:44] [PASSED] SPI
[22:44:44] [PASSED] USB
[22:44:44] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[22:44:44] =============== [PASSED] drmm_connector_init ===============
[22:44:44] ========= drm_connector_dynamic_init (6 subtests) ==========
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_init
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_init_properties
[22:44:44] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[22:44:44] [PASSED] Unknown
[22:44:44] [PASSED] VGA
[22:44:44] [PASSED] DVI-I
[22:44:44] [PASSED] DVI-D
[22:44:44] [PASSED] DVI-A
[22:44:44] [PASSED] Composite
[22:44:44] [PASSED] SVIDEO
[22:44:44] [PASSED] LVDS
[22:44:44] [PASSED] Component
[22:44:44] [PASSED] DIN
[22:44:44] [PASSED] DP
[22:44:44] [PASSED] HDMI-A
[22:44:44] [PASSED] HDMI-B
[22:44:44] [PASSED] TV
[22:44:44] [PASSED] eDP
[22:44:44] [PASSED] Virtual
[22:44:44] [PASSED] DSI
[22:44:44] [PASSED] DPI
[22:44:44] [PASSED] Writeback
[22:44:44] [PASSED] SPI
[22:44:44] [PASSED] USB
[22:44:44] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[22:44:44] ======== drm_test_drm_connector_dynamic_init_name =========
[22:44:44] [PASSED] Unknown
[22:44:44] [PASSED] VGA
[22:44:44] [PASSED] DVI-I
[22:44:44] [PASSED] DVI-D
[22:44:44] [PASSED] DVI-A
[22:44:44] [PASSED] Composite
[22:44:44] [PASSED] SVIDEO
[22:44:44] [PASSED] LVDS
[22:44:44] [PASSED] Component
[22:44:44] [PASSED] DIN
[22:44:44] [PASSED] DP
[22:44:44] [PASSED] HDMI-A
[22:44:44] [PASSED] HDMI-B
[22:44:44] [PASSED] TV
[22:44:44] [PASSED] eDP
[22:44:44] [PASSED] Virtual
[22:44:44] [PASSED] DSI
[22:44:44] [PASSED] DPI
[22:44:44] [PASSED] Writeback
[22:44:44] [PASSED] SPI
[22:44:44] [PASSED] USB
[22:44:44] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[22:44:44] =========== [PASSED] drm_connector_dynamic_init ============
[22:44:44] ==== drm_connector_dynamic_register_early (4 subtests) =====
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[22:44:44] ====== [PASSED] drm_connector_dynamic_register_early =======
[22:44:44] ======= drm_connector_dynamic_register (7 subtests) ========
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[22:44:44] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[22:44:44] ========= [PASSED] drm_connector_dynamic_register ==========
[22:44:44] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[22:44:44] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[22:44:44] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[22:44:44] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[22:44:44] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[22:44:44] ========== drm_test_get_tv_mode_from_name_valid ===========
[22:44:44] [PASSED] NTSC
[22:44:44] [PASSED] NTSC-443
[22:44:44] [PASSED] NTSC-J
[22:44:44] [PASSED] PAL
[22:44:44] [PASSED] PAL-M
[22:44:44] [PASSED] PAL-N
[22:44:44] [PASSED] SECAM
[22:44:44] [PASSED] Mono
[22:44:44] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[22:44:44] [PASSED] drm_test_get_tv_mode_from_name_truncated
[22:44:44] ============ [PASSED] drm_get_tv_mode_from_name ============
[22:44:44] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[22:44:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[22:44:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[22:44:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[22:44:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[22:44:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[22:44:44] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[22:44:44] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[22:44:44] [PASSED] VIC 96
[22:44:44] [PASSED] VIC 97
[22:44:44] [PASSED] VIC 101
[22:44:44] [PASSED] VIC 102
[22:44:44] [PASSED] VIC 106
[22:44:44] [PASSED] VIC 107
[22:44:44] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[22:44:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[22:44:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[22:44:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[22:44:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[22:44:44] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[22:44:44] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[22:44:44] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[22:44:44] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[22:44:44] [PASSED] Automatic
[22:44:44] [PASSED] Full
[22:44:44] [PASSED] Limited 16:235
[22:44:44] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[22:44:44] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[22:44:44] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[22:44:44] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[22:44:44] === drm_test_drm_hdmi_connector_get_output_format_name ====
[22:44:44] [PASSED] RGB
[22:44:44] [PASSED] YUV 4:2:0
[22:44:44] [PASSED] YUV 4:2:2
[22:44:44] [PASSED] YUV 4:4:4
[22:44:44] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[22:44:44] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[22:44:44] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[22:44:44] ============= drm_damage_helper (21 subtests) ==============
[22:44:44] [PASSED] drm_test_damage_iter_no_damage
[22:44:44] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[22:44:44] [PASSED] drm_test_damage_iter_no_damage_src_moved
[22:44:44] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[22:44:44] [PASSED] drm_test_damage_iter_no_damage_not_visible
[22:44:44] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[22:44:44] [PASSED] drm_test_damage_iter_no_damage_no_fb
[22:44:44] [PASSED] drm_test_damage_iter_simple_damage
[22:44:44] [PASSED] drm_test_damage_iter_single_damage
[22:44:44] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[22:44:44] [PASSED] drm_test_damage_iter_single_damage_outside_src
[22:44:44] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[22:44:44] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[22:44:44] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[22:44:44] [PASSED] drm_test_damage_iter_single_damage_src_moved
[22:44:44] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[22:44:44] [PASSED] drm_test_damage_iter_damage
[22:44:44] [PASSED] drm_test_damage_iter_damage_one_intersect
[22:44:44] [PASSED] drm_test_damage_iter_damage_one_outside
[22:44:44] [PASSED] drm_test_damage_iter_damage_src_moved
[22:44:44] [PASSED] drm_test_damage_iter_damage_not_visible
[22:44:44] ================ [PASSED] drm_damage_helper ================
[22:44:44] ============== drm_dp_mst_helper (3 subtests) ==============
[22:44:44] ============== drm_test_dp_mst_calc_pbn_mode ==============
[22:44:44] [PASSED] Clock 154000 BPP 30 DSC disabled
[22:44:44] [PASSED] Clock 234000 BPP 30 DSC disabled
[22:44:44] [PASSED] Clock 297000 BPP 24 DSC disabled
[22:44:44] [PASSED] Clock 332880 BPP 24 DSC enabled
[22:44:44] [PASSED] Clock 324540 BPP 24 DSC enabled
[22:44:44] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[22:44:44] ============== drm_test_dp_mst_calc_pbn_div ===============
[22:44:44] [PASSED] Link rate 2000000 lane count 4
[22:44:44] [PASSED] Link rate 2000000 lane count 2
[22:44:44] [PASSED] Link rate 2000000 lane count 1
[22:44:44] [PASSED] Link rate 1350000 lane count 4
[22:44:44] [PASSED] Link rate 1350000 lane count 2
[22:44:44] [PASSED] Link rate 1350000 lane count 1
[22:44:44] [PASSED] Link rate 1000000 lane count 4
[22:44:44] [PASSED] Link rate 1000000 lane count 2
[22:44:44] [PASSED] Link rate 1000000 lane count 1
[22:44:44] [PASSED] Link rate 810000 lane count 4
[22:44:44] [PASSED] Link rate 810000 lane count 2
[22:44:44] [PASSED] Link rate 810000 lane count 1
[22:44:44] [PASSED] Link rate 540000 lane count 4
[22:44:44] [PASSED] Link rate 540000 lane count 2
[22:44:44] [PASSED] Link rate 540000 lane count 1
[22:44:44] [PASSED] Link rate 270000 lane count 4
[22:44:44] [PASSED] Link rate 270000 lane count 2
[22:44:44] [PASSED] Link rate 270000 lane count 1
[22:44:44] [PASSED] Link rate 162000 lane count 4
[22:44:44] [PASSED] Link rate 162000 lane count 2
[22:44:44] [PASSED] Link rate 162000 lane count 1
[22:44:44] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[22:44:44] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[22:44:44] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[22:44:44] [PASSED] DP_POWER_UP_PHY with port number
[22:44:44] [PASSED] DP_POWER_DOWN_PHY with port number
[22:44:44] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[22:44:44] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[22:44:44] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[22:44:44] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[22:44:44] [PASSED] DP_QUERY_PAYLOAD with port number
[22:44:44] [PASSED] DP_QUERY_PAYLOAD with VCPI
[22:44:44] [PASSED] DP_REMOTE_DPCD_READ with port number
[22:44:44] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[22:44:44] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[22:44:44] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[22:44:44] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[22:44:44] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[22:44:44] [PASSED] DP_REMOTE_I2C_READ with port number
[22:44:44] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[22:44:44] [PASSED] DP_REMOTE_I2C_READ with transactions array
[22:44:44] [PASSED] DP_REMOTE_I2C_WRITE with port number
[22:44:44] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[22:44:44] [PASSED] DP_REMOTE_I2C_WRITE with data array
[22:44:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[22:44:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[22:44:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[22:44:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[22:44:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[22:44:44] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[22:44:44] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[22:44:44] ================ [PASSED] drm_dp_mst_helper ================
[22:44:44] ================== drm_exec (7 subtests) ===================
[22:44:44] [PASSED] sanitycheck
[22:44:44] [PASSED] test_lock
[22:44:44] [PASSED] test_lock_unlock
[22:44:44] [PASSED] test_duplicates
[22:44:44] [PASSED] test_prepare
[22:44:44] [PASSED] test_prepare_array
[22:44:44] [PASSED] test_multiple_loops
[22:44:44] ==================== [PASSED] drm_exec =====================
[22:44:44] =========== drm_format_helper_test (17 subtests) ===========
[22:44:44] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[22:44:44] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[22:44:44] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[22:44:44] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[22:44:44] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[22:44:44] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[22:44:44] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[22:44:44] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[22:44:44] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[22:44:44] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[22:44:44] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[22:44:44] ============== drm_test_fb_xrgb8888_to_mono ===============
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[22:44:44] ==================== drm_test_fb_swab =====================
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ================ [PASSED] drm_test_fb_swab =================
[22:44:44] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[22:44:44] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[22:44:44] [PASSED] single_pixel_source_buffer
[22:44:44] [PASSED] single_pixel_clip_rectangle
[22:44:44] [PASSED] well_known_colors
[22:44:44] [PASSED] destination_pitch
[22:44:44] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[22:44:44] ================= drm_test_fb_clip_offset =================
[22:44:44] [PASSED] pass through
[22:44:44] [PASSED] horizontal offset
[22:44:44] [PASSED] vertical offset
[22:44:44] [PASSED] horizontal and vertical offset
[22:44:44] [PASSED] horizontal offset (custom pitch)
[22:44:44] [PASSED] vertical offset (custom pitch)
[22:44:44] [PASSED] horizontal and vertical offset (custom pitch)
[22:44:44] ============= [PASSED] drm_test_fb_clip_offset =============
[22:44:44] =================== drm_test_fb_memcpy ====================
[22:44:44] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[22:44:44] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[22:44:44] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[22:44:44] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[22:44:44] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[22:44:44] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[22:44:44] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[22:44:44] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[22:44:44] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[22:44:44] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[22:44:44] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[22:44:44] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[22:44:44] =============== [PASSED] drm_test_fb_memcpy ================
[22:44:44] ============= [PASSED] drm_format_helper_test ==============
[22:44:44] ================= drm_format (18 subtests) =================
[22:44:44] [PASSED] drm_test_format_block_width_invalid
[22:44:44] [PASSED] drm_test_format_block_width_one_plane
[22:44:44] [PASSED] drm_test_format_block_width_two_plane
[22:44:44] [PASSED] drm_test_format_block_width_three_plane
[22:44:44] [PASSED] drm_test_format_block_width_tiled
[22:44:44] [PASSED] drm_test_format_block_height_invalid
[22:44:44] [PASSED] drm_test_format_block_height_one_plane
[22:44:44] [PASSED] drm_test_format_block_height_two_plane
[22:44:44] [PASSED] drm_test_format_block_height_three_plane
[22:44:44] [PASSED] drm_test_format_block_height_tiled
[22:44:44] [PASSED] drm_test_format_min_pitch_invalid
[22:44:44] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[22:44:44] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[22:44:44] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[22:44:44] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[22:44:44] [PASSED] drm_test_format_min_pitch_two_plane
[22:44:44] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[22:44:44] [PASSED] drm_test_format_min_pitch_tiled
[22:44:44] =================== [PASSED] drm_format ====================
[22:44:44] ============== drm_framebuffer (10 subtests) ===============
[22:44:44] ========== drm_test_framebuffer_check_src_coords ==========
[22:44:44] [PASSED] Success: source fits into fb
[22:44:44] [PASSED] Fail: overflowing fb with x-axis coordinate
[22:44:44] [PASSED] Fail: overflowing fb with y-axis coordinate
[22:44:44] [PASSED] Fail: overflowing fb with source width
[22:44:44] [PASSED] Fail: overflowing fb with source height
[22:44:44] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[22:44:44] [PASSED] drm_test_framebuffer_cleanup
[22:44:44] =============== drm_test_framebuffer_create ===============
[22:44:44] [PASSED] ABGR8888 normal sizes
[22:44:44] [PASSED] ABGR8888 max sizes
[22:44:44] [PASSED] ABGR8888 pitch greater than min required
[22:44:44] [PASSED] ABGR8888 pitch less than min required
[22:44:44] [PASSED] ABGR8888 Invalid width
[22:44:44] [PASSED] ABGR8888 Invalid buffer handle
[22:44:44] [PASSED] No pixel format
[22:44:44] [PASSED] ABGR8888 Width 0
[22:44:44] [PASSED] ABGR8888 Height 0
[22:44:44] [PASSED] ABGR8888 Out of bound height * pitch combination
[22:44:44] [PASSED] ABGR8888 Large buffer offset
[22:44:44] [PASSED] ABGR8888 Buffer offset for inexistent plane
[22:44:44] [PASSED] ABGR8888 Invalid flag
[22:44:44] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[22:44:44] [PASSED] ABGR8888 Valid buffer modifier
[22:44:44] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[22:44:44] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[22:44:44] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[22:44:44] [PASSED] NV12 Normal sizes
[22:44:44] [PASSED] NV12 Max sizes
[22:44:44] [PASSED] NV12 Invalid pitch
[22:44:44] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[22:44:44] [PASSED] NV12 different modifier per-plane
[22:44:44] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[22:44:44] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[22:44:44] [PASSED] NV12 Modifier for inexistent plane
[22:44:44] [PASSED] NV12 Handle for inexistent plane
[22:44:44] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[22:44:44] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[22:44:44] [PASSED] YVU420 Normal sizes
[22:44:44] [PASSED] YVU420 Max sizes
[22:44:44] [PASSED] YVU420 Invalid pitch
[22:44:44] [PASSED] YVU420 Different pitches
[22:44:44] [PASSED] YVU420 Different buffer offsets/pitches
[22:44:44] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[22:44:44] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[22:44:44] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[22:44:44] [PASSED] YVU420 Valid modifier
[22:44:44] [PASSED] YVU420 Different modifiers per plane
[22:44:44] [PASSED] YVU420 Modifier for inexistent plane
[22:44:44] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[22:44:44] [PASSED] X0L2 Normal sizes
[22:44:44] [PASSED] X0L2 Max sizes
[22:44:44] [PASSED] X0L2 Invalid pitch
[22:44:44] [PASSED] X0L2 Pitch greater than minimum required
[22:44:44] [PASSED] X0L2 Handle for inexistent plane
[22:44:44] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[22:44:44] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[22:44:44] [PASSED] X0L2 Valid modifier
[22:44:44] [PASSED] X0L2 Modifier for inexistent plane
[22:44:44] =========== [PASSED] drm_test_framebuffer_create ===========
[22:44:44] [PASSED] drm_test_framebuffer_free
[22:44:44] [PASSED] drm_test_framebuffer_init
[22:44:44] [PASSED] drm_test_framebuffer_init_bad_format
[22:44:44] [PASSED] drm_test_framebuffer_init_dev_mismatch
[22:44:44] [PASSED] drm_test_framebuffer_lookup
[22:44:44] [PASSED] drm_test_framebuffer_lookup_inexistent
[22:44:44] [PASSED] drm_test_framebuffer_modifiers_not_supported
[22:44:44] ================= [PASSED] drm_framebuffer =================
[22:44:44] ================ drm_gem_shmem (8 subtests) ================
[22:44:44] [PASSED] drm_gem_shmem_test_obj_create
[22:44:44] [PASSED] drm_gem_shmem_test_obj_create_private
[22:44:44] [PASSED] drm_gem_shmem_test_pin_pages
[22:44:44] [PASSED] drm_gem_shmem_test_vmap
[22:44:44] [PASSED] drm_gem_shmem_test_get_pages_sgt
[22:44:44] [PASSED] drm_gem_shmem_test_get_sg_table
[22:44:44] [PASSED] drm_gem_shmem_test_madvise
[22:44:44] [PASSED] drm_gem_shmem_test_purge
[22:44:44] ================== [PASSED] drm_gem_shmem ==================
[22:44:44] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[22:44:44] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[22:44:44] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[22:44:44] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[22:44:44] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[22:44:44] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[22:44:44] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[22:44:44] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[22:44:44] [PASSED] Automatic
[22:44:44] [PASSED] Full
[22:44:44] [PASSED] Limited 16:235
[22:44:44] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[22:44:44] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[22:44:44] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[22:44:44] [PASSED] drm_test_check_disable_connector
[22:44:44] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[22:44:44] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[22:44:44] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[22:44:44] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[22:44:44] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[22:44:44] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[22:44:44] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[22:44:44] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[22:44:44] [PASSED] drm_test_check_output_bpc_dvi
[22:44:44] [PASSED] drm_test_check_output_bpc_format_vic_1
[22:44:44] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[22:44:44] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[22:44:44] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[22:44:44] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[22:44:44] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[22:44:44] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[22:44:44] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[22:44:44] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[22:44:44] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[22:44:44] [PASSED] drm_test_check_broadcast_rgb_value
[22:44:44] [PASSED] drm_test_check_bpc_8_value
[22:44:44] [PASSED] drm_test_check_bpc_10_value
[22:44:44] [PASSED] drm_test_check_bpc_12_value
[22:44:44] [PASSED] drm_test_check_format_value
[22:44:44] [PASSED] drm_test_check_tmds_char_value
[22:44:44] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[22:44:44] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[22:44:44] [PASSED] drm_test_check_mode_valid
[22:44:44] [PASSED] drm_test_check_mode_valid_reject
[22:44:44] [PASSED] drm_test_check_mode_valid_reject_rate
[22:44:44] [PASSED] drm_test_check_mode_valid_reject_max_clock
[22:44:44] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[22:44:44] ================= drm_managed (2 subtests) =================
[22:44:44] [PASSED] drm_test_managed_release_action
[22:44:44] [PASSED] drm_test_managed_run_action
[22:44:44] =================== [PASSED] drm_managed ===================
[22:44:44] =================== drm_mm (6 subtests) ====================
[22:44:44] [PASSED] drm_test_mm_init
[22:44:44] [PASSED] drm_test_mm_debug
[22:44:44] [PASSED] drm_test_mm_align32
[22:44:44] [PASSED] drm_test_mm_align64
[22:44:44] [PASSED] drm_test_mm_lowest
[22:44:44] [PASSED] drm_test_mm_highest
[22:44:44] ===================== [PASSED] drm_mm ======================
[22:44:44] ============= drm_modes_analog_tv (5 subtests) =============
[22:44:44] [PASSED] drm_test_modes_analog_tv_mono_576i
[22:44:44] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[22:44:44] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[22:44:44] [PASSED] drm_test_modes_analog_tv_pal_576i
[22:44:44] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[22:44:44] =============== [PASSED] drm_modes_analog_tv ===============
[22:44:44] ============== drm_plane_helper (2 subtests) ===============
[22:44:44] =============== drm_test_check_plane_state ================
[22:44:44] [PASSED] clipping_simple
[22:44:44] [PASSED] clipping_rotate_reflect
[22:44:44] [PASSED] positioning_simple
[22:44:44] [PASSED] upscaling
[22:44:44] [PASSED] downscaling
[22:44:44] [PASSED] rounding1
[22:44:44] [PASSED] rounding2
[22:44:44] [PASSED] rounding3
[22:44:44] [PASSED] rounding4
[22:44:44] =========== [PASSED] drm_test_check_plane_state ============
[22:44:44] =========== drm_test_check_invalid_plane_state ============
[22:44:44] [PASSED] positioning_invalid
[22:44:44] [PASSED] upscaling_invalid
[22:44:44] [PASSED] downscaling_invalid
[22:44:44] ======= [PASSED] drm_test_check_invalid_plane_state ========
[22:44:44] ================ [PASSED] drm_plane_helper =================
[22:44:44] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[22:44:44] ====== drm_test_connector_helper_tv_get_modes_check =======
[22:44:44] [PASSED] None
[22:44:44] [PASSED] PAL
[22:44:44] [PASSED] NTSC
[22:44:44] [PASSED] Both, NTSC Default
[22:44:44] [PASSED] Both, PAL Default
[22:44:44] [PASSED] Both, NTSC Default, with PAL on command-line
[22:44:44] [PASSED] Both, PAL Default, with NTSC on command-line
[22:44:44] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[22:44:44] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[22:44:44] ================== drm_rect (9 subtests) ===================
[22:44:44] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[22:44:44] [PASSED] drm_test_rect_clip_scaled_not_clipped
[22:44:44] [PASSED] drm_test_rect_clip_scaled_clipped
[22:44:44] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[22:44:44] ================= drm_test_rect_intersect =================
[22:44:44] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[22:44:44] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[22:44:44] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[22:44:44] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[22:44:44] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[22:44:44] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[22:44:44] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[22:44:44] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[22:44:44] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[22:44:44] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[22:44:44] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[22:44:44] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[22:44:44] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[22:44:44] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[22:44:44] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[22:44:44] ============= [PASSED] drm_test_rect_intersect =============
[22:44:44] ================ drm_test_rect_calc_hscale ================
[22:44:44] [PASSED] normal use
[22:44:44] [PASSED] out of max range
[22:44:44] [PASSED] out of min range
[22:44:44] [PASSED] zero dst
[22:44:44] [PASSED] negative src
[22:44:44] [PASSED] negative dst
[22:44:44] ============ [PASSED] drm_test_rect_calc_hscale ============
[22:44:44] ================ drm_test_rect_calc_vscale ================
[22:44:44] [PASSED] normal use
[22:44:44] [PASSED] out of max range
[22:44:44] [PASSED] out of min range
[22:44:44] [PASSED] zero dst
[22:44:44] [PASSED] negative src
[22:44:44] [PASSED] negative dst
[22:44:44] ============ [PASSED] drm_test_rect_calc_vscale ============
[22:44:44] ================== drm_test_rect_rotate ===================
[22:44:44] [PASSED] reflect-x
[22:44:44] [PASSED] reflect-y
[22:44:44] [PASSED] rotate-0
[22:44:44] [PASSED] rotate-90
[22:44:44] [PASSED] rotate-180
[22:44:44] [PASSED] rotate-270
stty: 'standard input': Inappropriate ioctl for device
[22:44:44] ============== [PASSED] drm_test_rect_rotate ===============
[22:44:44] ================ drm_test_rect_rotate_inv =================
[22:44:44] [PASSED] reflect-x
[22:44:44] [PASSED] reflect-y
[22:44:44] [PASSED] rotate-0
[22:44:44] [PASSED] rotate-90
[22:44:44] [PASSED] rotate-180
[22:44:44] [PASSED] rotate-270
[22:44:44] ============ [PASSED] drm_test_rect_rotate_inv =============
[22:44:44] ==================== [PASSED] drm_rect =====================
[22:44:44] ============ drm_sysfb_modeset_test (1 subtest) ============
[22:44:44] ============ drm_test_sysfb_build_fourcc_list =============
[22:44:44] [PASSED] no native formats
[22:44:44] [PASSED] XRGB8888 as native format
[22:44:44] [PASSED] remove duplicates
[22:44:44] [PASSED] convert alpha formats
[22:44:44] [PASSED] random formats
[22:44:44] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[22:44:44] ============= [PASSED] drm_sysfb_modeset_test ==============
[22:44:44] ============================================================
[22:44:44] Testing complete. Ran 616 tests: passed: 616
[22:44:44] Elapsed time: 28.193s total, 1.569s configuring, 26.408s building, 0.174s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[22:44:44] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[22:44:46] 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=25
[22:44:53] Starting KUnit Kernel (1/1)...
[22:44:53] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[22:44:54] ================= ttm_device (5 subtests) ==================
[22:44:54] [PASSED] ttm_device_init_basic
[22:44:54] [PASSED] ttm_device_init_multiple
[22:44:54] [PASSED] ttm_device_fini_basic
[22:44:54] [PASSED] ttm_device_init_no_vma_man
[22:44:54] ================== ttm_device_init_pools ==================
[22:44:54] [PASSED] No DMA allocations, no DMA32 required
[22:44:54] [PASSED] DMA allocations, DMA32 required
[22:44:54] [PASSED] No DMA allocations, DMA32 required
[22:44:54] [PASSED] DMA allocations, no DMA32 required
[22:44:54] ============== [PASSED] ttm_device_init_pools ==============
[22:44:54] =================== [PASSED] ttm_device ====================
[22:44:54] ================== ttm_pool (8 subtests) ===================
[22:44:54] ================== ttm_pool_alloc_basic ===================
[22:44:54] [PASSED] One page
[22:44:54] [PASSED] More than one page
[22:44:54] [PASSED] Above the allocation limit
[22:44:54] [PASSED] One page, with coherent DMA mappings enabled
[22:44:54] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[22:44:54] ============== [PASSED] ttm_pool_alloc_basic ===============
[22:44:54] ============== ttm_pool_alloc_basic_dma_addr ==============
[22:44:54] [PASSED] One page
[22:44:54] [PASSED] More than one page
[22:44:54] [PASSED] Above the allocation limit
[22:44:54] [PASSED] One page, with coherent DMA mappings enabled
[22:44:54] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[22:44:54] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[22:44:54] [PASSED] ttm_pool_alloc_order_caching_match
[22:44:54] [PASSED] ttm_pool_alloc_caching_mismatch
[22:44:54] [PASSED] ttm_pool_alloc_order_mismatch
[22:44:54] [PASSED] ttm_pool_free_dma_alloc
[22:44:54] [PASSED] ttm_pool_free_no_dma_alloc
[22:44:54] [PASSED] ttm_pool_fini_basic
[22:44:54] ==================== [PASSED] ttm_pool =====================
[22:44:54] ================ ttm_resource (8 subtests) =================
[22:44:54] ================= ttm_resource_init_basic =================
[22:44:54] [PASSED] Init resource in TTM_PL_SYSTEM
[22:44:54] [PASSED] Init resource in TTM_PL_VRAM
[22:44:54] [PASSED] Init resource in a private placement
[22:44:54] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[22:44:54] ============= [PASSED] ttm_resource_init_basic =============
[22:44:54] [PASSED] ttm_resource_init_pinned
[22:44:54] [PASSED] ttm_resource_fini_basic
[22:44:54] [PASSED] ttm_resource_manager_init_basic
[22:44:54] [PASSED] ttm_resource_manager_usage_basic
[22:44:54] [PASSED] ttm_resource_manager_set_used_basic
[22:44:54] [PASSED] ttm_sys_man_alloc_basic
[22:44:54] [PASSED] ttm_sys_man_free_basic
[22:44:54] ================== [PASSED] ttm_resource ===================
[22:44:54] =================== ttm_tt (15 subtests) ===================
[22:44:54] ==================== ttm_tt_init_basic ====================
[22:44:54] [PASSED] Page-aligned size
[22:44:54] [PASSED] Extra pages requested
[22:44:54] ================ [PASSED] ttm_tt_init_basic ================
[22:44:54] [PASSED] ttm_tt_init_misaligned
[22:44:54] [PASSED] ttm_tt_fini_basic
[22:44:54] [PASSED] ttm_tt_fini_sg
[22:44:54] [PASSED] ttm_tt_fini_shmem
[22:44:54] [PASSED] ttm_tt_create_basic
[22:44:54] [PASSED] ttm_tt_create_invalid_bo_type
[22:44:54] [PASSED] ttm_tt_create_ttm_exists
[22:44:54] [PASSED] ttm_tt_create_failed
[22:44:54] [PASSED] ttm_tt_destroy_basic
[22:44:54] [PASSED] ttm_tt_populate_null_ttm
[22:44:54] [PASSED] ttm_tt_populate_populated_ttm
[22:44:54] [PASSED] ttm_tt_unpopulate_basic
[22:44:54] [PASSED] ttm_tt_unpopulate_empty_ttm
[22:44:54] [PASSED] ttm_tt_swapin_basic
[22:44:54] ===================== [PASSED] ttm_tt ======================
[22:44:54] =================== ttm_bo (14 subtests) ===================
[22:44:54] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[22:44:54] [PASSED] Cannot be interrupted and sleeps
[22:44:54] [PASSED] Cannot be interrupted, locks straight away
[22:44:54] [PASSED] Can be interrupted, sleeps
[22:44:54] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[22:44:54] [PASSED] ttm_bo_reserve_locked_no_sleep
[22:44:54] [PASSED] ttm_bo_reserve_no_wait_ticket
[22:44:54] [PASSED] ttm_bo_reserve_double_resv
[22:44:54] [PASSED] ttm_bo_reserve_interrupted
[22:44:54] [PASSED] ttm_bo_reserve_deadlock
[22:44:54] [PASSED] ttm_bo_unreserve_basic
[22:44:54] [PASSED] ttm_bo_unreserve_pinned
[22:44:54] [PASSED] ttm_bo_unreserve_bulk
[22:44:54] [PASSED] ttm_bo_put_basic
[22:44:54] [PASSED] ttm_bo_put_shared_resv
[22:44:54] [PASSED] ttm_bo_pin_basic
[22:44:54] [PASSED] ttm_bo_pin_unpin_resource
[22:44:54] [PASSED] ttm_bo_multiple_pin_one_unpin
[22:44:54] ===================== [PASSED] ttm_bo ======================
[22:44:54] ============== ttm_bo_validate (22 subtests) ===============
[22:44:54] ============== ttm_bo_init_reserved_sys_man ===============
[22:44:54] [PASSED] Buffer object for userspace
[22:44:54] [PASSED] Kernel buffer object
[22:44:54] [PASSED] Shared buffer object
[22:44:54] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[22:44:54] ============== ttm_bo_init_reserved_mock_man ==============
[22:44:54] [PASSED] Buffer object for userspace
[22:44:54] [PASSED] Kernel buffer object
[22:44:54] [PASSED] Shared buffer object
[22:44:54] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[22:44:54] [PASSED] ttm_bo_init_reserved_resv
[22:44:54] ================== ttm_bo_validate_basic ==================
[22:44:54] [PASSED] Buffer object for userspace
[22:44:54] [PASSED] Kernel buffer object
[22:44:54] [PASSED] Shared buffer object
[22:44:54] ============== [PASSED] ttm_bo_validate_basic ==============
[22:44:54] [PASSED] ttm_bo_validate_invalid_placement
[22:44:54] ============= ttm_bo_validate_same_placement ==============
[22:44:54] [PASSED] System manager
[22:44:54] [PASSED] VRAM manager
[22:44:54] ========= [PASSED] ttm_bo_validate_same_placement ==========
[22:44:54] [PASSED] ttm_bo_validate_failed_alloc
[22:44:54] [PASSED] ttm_bo_validate_pinned
[22:44:54] [PASSED] ttm_bo_validate_busy_placement
[22:44:54] ================ ttm_bo_validate_multihop =================
[22:44:54] [PASSED] Buffer object for userspace
[22:44:54] [PASSED] Kernel buffer object
[22:44:54] [PASSED] Shared buffer object
[22:44:54] ============ [PASSED] ttm_bo_validate_multihop =============
[22:44:54] ========== ttm_bo_validate_no_placement_signaled ==========
[22:44:54] [PASSED] Buffer object in system domain, no page vector
[22:44:54] [PASSED] Buffer object in system domain with an existing page vector
[22:44:54] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[22:44:54] ======== ttm_bo_validate_no_placement_not_signaled ========
[22:44:54] [PASSED] Buffer object for userspace
[22:44:54] [PASSED] Kernel buffer object
[22:44:54] [PASSED] Shared buffer object
[22:44:54] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[22:44:54] [PASSED] ttm_bo_validate_move_fence_signaled
[22:44:54] ========= ttm_bo_validate_move_fence_not_signaled =========
[22:44:54] [PASSED] Waits for GPU
[22:44:54] [PASSED] Tries to lock straight away
[22:44:54] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[22:44:54] [PASSED] ttm_bo_validate_swapout
[22:44:54] [PASSED] ttm_bo_validate_happy_evict
[22:44:54] [PASSED] ttm_bo_validate_all_pinned_evict
[22:44:54] [PASSED] ttm_bo_validate_allowed_only_evict
[22:44:54] [PASSED] ttm_bo_validate_deleted_evict
[22:44:54] [PASSED] ttm_bo_validate_busy_domain_evict
[22:44:54] [PASSED] ttm_bo_validate_evict_gutting
[22:44:54] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[22:44:54] ================= [PASSED] ttm_bo_validate =================
[22:44:54] ============================================================
[22:44:54] Testing complete. Ran 102 tests: passed: 102
[22:44:54] Elapsed time: 9.918s total, 1.578s configuring, 7.672s building, 0.589s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✓ Xe.CI.BAT: success for Introduce helper for display workarounds and add Wa_16025573575
2025-06-30 5:49 [PATCH 0/2] Introduce helper for display workarounds and add Wa_16025573575 Ankit Nautiyal
` (3 preceding siblings ...)
2025-06-30 22:45 ` ✓ CI.KUnit: success " Patchwork
@ 2025-06-30 23:43 ` Patchwork
2025-07-02 8:33 ` ✗ Xe.CI.Full: failure " Patchwork
5 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2025-06-30 23:43 UTC (permalink / raw)
To: Nautiyal, Ankit K; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 1022 bytes --]
== Series Details ==
Series: Introduce helper for display workarounds and add Wa_16025573575
URL : https://patchwork.freedesktop.org/series/150935/
State : success
== Summary ==
CI Bug Log - changes from xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86_BAT -> xe-pw-150935v1_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (8 -> 8)
------------------------------
No changes in participating hosts
Changes
-------
No changes found
Build changes
-------------
* IGT: IGT_8431 -> IGT_8432
* Linux: xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86 -> xe-pw-150935v1
IGT_8431: 8431
IGT_8432: 4871829d8b7117553eb2dc1bdb9a0d18de428a98 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86: d9007d535ea106181346f9988c97aa73a9cdfb86
xe-pw-150935v1: 150935v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/index.html
[-- Attachment #2: Type: text/html, Size: 1584 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* ✗ Xe.CI.Full: failure for Introduce helper for display workarounds and add Wa_16025573575
2025-06-30 5:49 [PATCH 0/2] Introduce helper for display workarounds and add Wa_16025573575 Ankit Nautiyal
` (4 preceding siblings ...)
2025-06-30 23:43 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-07-02 8:33 ` Patchwork
5 siblings, 0 replies; 26+ messages in thread
From: Patchwork @ 2025-07-02 8:33 UTC (permalink / raw)
To: Nautiyal, Ankit K; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 86823 bytes --]
== Series Details ==
Series: Introduce helper for display workarounds and add Wa_16025573575
URL : https://patchwork.freedesktop.org/series/150935/
State : failure
== Summary ==
CI Bug Log - changes from xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86_FULL -> xe-pw-150935v1_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-150935v1_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-150935v1_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-150935v1_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt:
- shard-dg2-set2: [PASS][1] -> [INCOMPLETE][2]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-432/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt.html
Known issues
------------
Here are the changes found in xe-pw-150935v1_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@intel_hwmon@hwmon-write:
- shard-lnl: NOTRUN -> [SKIP][3] ([Intel XE#1125])
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-7/igt@intel_hwmon@hwmon-write.html
* igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1:
- shard-lnl: [PASS][4] -> [FAIL][5] ([Intel XE#911]) +3 other tests fail
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-3/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-3/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html
* igt@kms_atomic_transition@plane-toggle-modeset-transition:
- shard-adlp: [PASS][6] -> [FAIL][7] ([Intel XE#3908]) +1 other test fail
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-adlp-8/igt@kms_atomic_transition@plane-toggle-modeset-transition.html
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-4/igt@kms_atomic_transition@plane-toggle-modeset-transition.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-270:
- shard-bmg: NOTRUN -> [SKIP][8] ([Intel XE#2327])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-1/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html
- shard-lnl: NOTRUN -> [SKIP][9] ([Intel XE#1407]) +1 other test skip
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-8/igt@kms_big_fb@4-tiled-64bpp-rotate-270.html
* igt@kms_big_fb@linear-16bpp-rotate-270:
- shard-dg2-set2: NOTRUN -> [SKIP][10] ([Intel XE#316])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@kms_big_fb@linear-16bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-8bpp-rotate-180:
- shard-lnl: [PASS][11] -> [ABORT][12] ([Intel XE#4760])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-6/igt@kms_big_fb@x-tiled-8bpp-rotate-180.html
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-2/igt@kms_big_fb@x-tiled-8bpp-rotate-180.html
* igt@kms_big_fb@y-tiled-addfb-size-overflow:
- shard-bmg: NOTRUN -> [SKIP][13] ([Intel XE#610])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-1/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
- shard-dg2-set2: NOTRUN -> [SKIP][14] ([Intel XE#610])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-466/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
- shard-lnl: NOTRUN -> [SKIP][15] ([Intel XE#1428])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-8/igt@kms_big_fb@y-tiled-addfb-size-overflow.html
* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0:
- shard-dg2-set2: NOTRUN -> [SKIP][16] ([Intel XE#1124]) +6 other tests skip
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-adlp: [PASS][17] -> [DMESG-FAIL][18] ([Intel XE#4543]) +6 other tests dmesg-fail
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-adlp-2/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-4/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180:
- shard-bmg: NOTRUN -> [SKIP][19] ([Intel XE#1124]) +1 other test skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-2/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180.html
- shard-lnl: NOTRUN -> [SKIP][20] ([Intel XE#1124])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-7/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180.html
* igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p:
- shard-bmg: [PASS][21] -> [SKIP][22] ([Intel XE#2314] / [Intel XE#2894])
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-8/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-1920x1080p.html
* igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p:
- shard-dg2-set2: NOTRUN -> [SKIP][23] ([Intel XE#2191]) +1 other test skip
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p.html
* igt@kms_bw@linear-tiling-4-displays-2560x1440p:
- shard-adlp: NOTRUN -> [SKIP][24] ([Intel XE#367])
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-9/igt@kms_bw@linear-tiling-4-displays-2560x1440p.html
- shard-dg2-set2: NOTRUN -> [SKIP][25] ([Intel XE#367]) +3 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-433/igt@kms_bw@linear-tiling-4-displays-2560x1440p.html
- shard-lnl: NOTRUN -> [SKIP][26] ([Intel XE#1512])
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-2/igt@kms_bw@linear-tiling-4-displays-2560x1440p.html
- shard-bmg: NOTRUN -> [SKIP][27] ([Intel XE#367])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-1/igt@kms_bw@linear-tiling-4-displays-2560x1440p.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][28] ([Intel XE#455] / [Intel XE#787]) +44 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-433/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4.html
* igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs:
- shard-bmg: NOTRUN -> [SKIP][29] ([Intel XE#2887]) +6 other tests skip
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-1/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-ccs:
- shard-bmg: NOTRUN -> [SKIP][30] ([Intel XE#3432])
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-8/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs.html
- shard-lnl: NOTRUN -> [SKIP][31] ([Intel XE#3432])
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-3/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][32] ([Intel XE#787]) +244 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][33] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-d-dp-4.html
* igt@kms_ccs@random-ccs-data-y-tiled-gen12-mc-ccs:
- shard-lnl: NOTRUN -> [SKIP][34] ([Intel XE#2887]) +4 other tests skip
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-7/igt@kms_ccs@random-ccs-data-y-tiled-gen12-mc-ccs.html
* igt@kms_cdclk@mode-transition@pipe-a-dp-2:
- shard-dg2-set2: NOTRUN -> [SKIP][35] ([Intel XE#4417]) +3 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@kms_cdclk@mode-transition@pipe-a-dp-2.html
* igt@kms_chamelium_color@ctm-green-to-red:
- shard-bmg: NOTRUN -> [SKIP][36] ([Intel XE#2325])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-1/igt@kms_chamelium_color@ctm-green-to-red.html
- shard-dg2-set2: NOTRUN -> [SKIP][37] ([Intel XE#306]) +2 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-433/igt@kms_chamelium_color@ctm-green-to-red.html
* igt@kms_chamelium_hpd@dp-hpd-for-each-pipe:
- shard-bmg: NOTRUN -> [SKIP][38] ([Intel XE#2252]) +2 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_chamelium_hpd@dp-hpd-for-each-pipe.html
* igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode:
- shard-dg2-set2: NOTRUN -> [SKIP][39] ([Intel XE#373]) +10 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode.html
- shard-lnl: NOTRUN -> [SKIP][40] ([Intel XE#373]) +1 other test skip
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-6/igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode.html
- shard-adlp: NOTRUN -> [SKIP][41] ([Intel XE#373])
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-3/igt@kms_chamelium_hpd@vga-hpd-with-enabled-mode.html
* igt@kms_content_protection@dp-mst-type-1:
- shard-dg2-set2: NOTRUN -> [SKIP][42] ([Intel XE#307])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@kms_content_protection@dp-mst-type-1.html
* igt@kms_content_protection@srm@pipe-a-dp-4:
- shard-dg2-set2: NOTRUN -> [FAIL][43] ([Intel XE#1178]) +2 other tests fail
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-433/igt@kms_content_protection@srm@pipe-a-dp-4.html
* igt@kms_content_protection@uevent@pipe-a-dp-4:
- shard-dg2-set2: NOTRUN -> [FAIL][44] ([Intel XE#1188])
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@kms_content_protection@uevent@pipe-a-dp-4.html
* igt@kms_cursor_crc@cursor-offscreen-256x85:
- shard-bmg: NOTRUN -> [SKIP][45] ([Intel XE#2320]) +1 other test skip
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-3/igt@kms_cursor_crc@cursor-offscreen-256x85.html
* igt@kms_cursor_crc@cursor-onscreen-128x42:
- shard-adlp: [PASS][46] -> [DMESG-WARN][47] ([Intel XE#2953] / [Intel XE#4173]) +10 other tests dmesg-warn
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-adlp-8/igt@kms_cursor_crc@cursor-onscreen-128x42.html
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-6/igt@kms_cursor_crc@cursor-onscreen-128x42.html
* igt@kms_cursor_crc@cursor-onscreen-512x512:
- shard-dg2-set2: NOTRUN -> [SKIP][48] ([Intel XE#308])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@kms_cursor_crc@cursor-onscreen-512x512.html
* igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
- shard-lnl: NOTRUN -> [SKIP][49] ([Intel XE#309]) +1 other test skip
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-1/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
- shard-adlp: NOTRUN -> [SKIP][50] ([Intel XE#309])
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-6/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
- shard-bmg: NOTRUN -> [SKIP][51] ([Intel XE#2291])
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
* igt@kms_cursor_legacy@cursora-vs-flipb-legacy:
- shard-bmg: [PASS][52] -> [SKIP][53] ([Intel XE#2291]) +2 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-8/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-bmg: [PASS][54] -> [FAIL][55] ([Intel XE#4633])
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-4/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-7/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_display_modes@extended-mode-basic:
- shard-bmg: [PASS][56] -> [SKIP][57] ([Intel XE#4302])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-3/igt@kms_display_modes@extended-mode-basic.html
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_dp_link_training@non-uhbr-mst:
- shard-lnl: NOTRUN -> [SKIP][58] ([Intel XE#4354])
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-4/igt@kms_dp_link_training@non-uhbr-mst.html
- shard-bmg: NOTRUN -> [SKIP][59] ([Intel XE#4354])
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-7/igt@kms_dp_link_training@non-uhbr-mst.html
* igt@kms_dp_link_training@uhbr-sst:
- shard-dg2-set2: NOTRUN -> [SKIP][60] ([Intel XE#4356])
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@kms_dp_link_training@uhbr-sst.html
* igt@kms_feature_discovery@psr1:
- shard-dg2-set2: NOTRUN -> [SKIP][61] ([Intel XE#1135])
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@kms_feature_discovery@psr1.html
* igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible:
- shard-bmg: NOTRUN -> [SKIP][62] ([Intel XE#2316]) +1 other test skip
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible.html
* igt@kms_flip@2x-nonexisting-fb-interruptible:
- shard-adlp: NOTRUN -> [SKIP][63] ([Intel XE#310]) +1 other test skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-1/igt@kms_flip@2x-nonexisting-fb-interruptible.html
* igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
- shard-bmg: [PASS][64] -> [SKIP][65] ([Intel XE#2316]) +6 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-8/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
* igt@kms_flip@2x-plain-flip-ts-check:
- shard-lnl: NOTRUN -> [SKIP][66] ([Intel XE#1421]) +2 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-1/igt@kms_flip@2x-plain-flip-ts-check.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible:
- shard-lnl: NOTRUN -> [FAIL][67] ([Intel XE#301]) +1 other test fail
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-6/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@d-hdmi-a1:
- shard-adlp: [PASS][68] -> [DMESG-WARN][69] ([Intel XE#4543]) +18 other tests dmesg-warn
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-adlp-4/igt@kms_flip@flip-vs-expired-vblank-interruptible@d-hdmi-a1.html
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-6/igt@kms_flip@flip-vs-expired-vblank-interruptible@d-hdmi-a1.html
* igt@kms_flip@plain-flip-ts-check-interruptible:
- shard-lnl: [PASS][70] -> [FAIL][71] ([Intel XE#5337] / [Intel XE#886]) +1 other test fail
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-5/igt@kms_flip@plain-flip-ts-check-interruptible.html
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-1/igt@kms_flip@plain-flip-ts-check-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
- shard-dg2-set2: NOTRUN -> [SKIP][72] ([Intel XE#455]) +14 other tests skip
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling:
- shard-bmg: NOTRUN -> [SKIP][73] ([Intel XE#2293] / [Intel XE#2380]) +1 other test skip
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-7/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode:
- shard-adlp: [PASS][74] -> [DMESG-FAIL][75] ([Intel XE#4543] / [Intel XE#4921]) +5 other tests dmesg-fail
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-adlp-8/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode.html
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling:
- shard-lnl: NOTRUN -> [SKIP][76] ([Intel XE#1401] / [Intel XE#1745])
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-default-mode:
- shard-lnl: NOTRUN -> [SKIP][77] ([Intel XE#1401])
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-valid-mode:
- shard-bmg: NOTRUN -> [SKIP][78] ([Intel XE#2293]) +1 other test skip
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-3/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@drrs-1p-offscren-pri-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][79] ([Intel XE#2311]) +8 other tests skip
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-1p-offscren-pri-indfb-draw-blt.html
- shard-adlp: NOTRUN -> [SKIP][80] ([Intel XE#651])
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-6/igt@kms_frontbuffer_tracking@drrs-1p-offscren-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-onoff:
- shard-lnl: NOTRUN -> [SKIP][81] ([Intel XE#651]) +3 other tests skip
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-1/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary:
- shard-bmg: NOTRUN -> [SKIP][82] ([Intel XE#4141]) +2 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-shrfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render:
- shard-dg2-set2: NOTRUN -> [SKIP][83] ([Intel XE#651]) +35 other tests skip
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-rte:
- shard-lnl: NOTRUN -> [SKIP][84] ([Intel XE#656]) +8 other tests skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-3/igt@kms_frontbuffer_tracking@fbcdrrs-2p-rte.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][85] ([Intel XE#2312]) +5 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-wc:
- shard-adlp: NOTRUN -> [SKIP][86] ([Intel XE#656]) +1 other test skip
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][87] ([Intel XE#653]) +33 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][88] ([Intel XE#2313]) +7 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt:
- shard-adlp: NOTRUN -> [SKIP][89] ([Intel XE#653])
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html
* igt@kms_hdr@invalid-hdr:
- shard-dg2-set2: [PASS][90] -> [SKIP][91] ([Intel XE#455])
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-463/igt@kms_hdr@invalid-hdr.html
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-466/igt@kms_hdr@invalid-hdr.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-bmg: [PASS][92] -> [SKIP][93] ([Intel XE#3012])
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-3/igt@kms_joiner@invalid-modeset-force-big-joiner.html
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_joiner@invalid-modeset-ultra-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][94] ([Intel XE#2927])
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-464/igt@kms_joiner@invalid-modeset-ultra-joiner.html
- shard-bmg: NOTRUN -> [SKIP][95] ([Intel XE#2927])
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-7/igt@kms_joiner@invalid-modeset-ultra-joiner.html
* igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][96] ([Intel XE#2925])
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@kms_joiner@switch-modeset-ultra-joiner-big-joiner.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-b:
- shard-lnl: NOTRUN -> [SKIP][97] ([Intel XE#2763]) +3 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-3/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-b.html
* igt@kms_pm_dc@dc6-dpms:
- shard-lnl: [PASS][98] -> [FAIL][99] ([Intel XE#718])
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-3/igt@kms_pm_dc@dc6-dpms.html
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-7/igt@kms_pm_dc@dc6-dpms.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-bmg: NOTRUN -> [SKIP][100] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#836])
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-1/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area:
- shard-bmg: NOTRUN -> [SKIP][101] ([Intel XE#1489]) +2 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html
- shard-lnl: NOTRUN -> [SKIP][102] ([Intel XE#2893])
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-5/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf@pipe-a-edp-1:
- shard-lnl: NOTRUN -> [SKIP][103] ([Intel XE#4608]) +2 other tests skip
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-2/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf@pipe-a-edp-1.html
* igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf:
- shard-dg2-set2: NOTRUN -> [SKIP][104] ([Intel XE#1489]) +6 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-466/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf.html
* igt@kms_psr@fbc-pr-cursor-blt:
- shard-bmg: NOTRUN -> [SKIP][105] ([Intel XE#2234] / [Intel XE#2850]) +8 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-2/igt@kms_psr@fbc-pr-cursor-blt.html
* igt@kms_psr@fbc-psr-cursor-blt:
- shard-adlp: NOTRUN -> [SKIP][106] ([Intel XE#2850] / [Intel XE#929])
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-6/igt@kms_psr@fbc-psr-cursor-blt.html
* igt@kms_psr@fbc-psr2-sprite-plane-move:
- shard-dg2-set2: NOTRUN -> [SKIP][107] ([Intel XE#2850] / [Intel XE#929]) +16 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@kms_psr@fbc-psr2-sprite-plane-move.html
* igt@kms_psr@pr-cursor-plane-onoff:
- shard-lnl: NOTRUN -> [SKIP][108] ([Intel XE#1406]) +1 other test skip
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-1/igt@kms_psr@pr-cursor-plane-onoff.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-bmg: NOTRUN -> [SKIP][109] ([Intel XE#2414])
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-2/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
- shard-dg2-set2: NOTRUN -> [SKIP][110] ([Intel XE#3414]) +1 other test skip
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
- shard-bmg: NOTRUN -> [SKIP][111] ([Intel XE#3414] / [Intel XE#3904])
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
* igt@kms_setmode@basic:
- shard-adlp: [PASS][112] -> [FAIL][113] ([Intel XE#2883]) +2 other tests fail
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-adlp-1/igt@kms_setmode@basic.html
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-2/igt@kms_setmode@basic.html
* igt@kms_setmode@basic@pipe-b-edp-1:
- shard-lnl: [PASS][114] -> [FAIL][115] ([Intel XE#2883]) +2 other tests fail
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-6/igt@kms_setmode@basic@pipe-b-edp-1.html
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-4/igt@kms_setmode@basic@pipe-b-edp-1.html
* igt@kms_tv_load_detect@load-detect:
- shard-dg2-set2: NOTRUN -> [SKIP][116] ([Intel XE#330])
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-433/igt@kms_tv_load_detect@load-detect.html
- shard-lnl: NOTRUN -> [SKIP][117] ([Intel XE#330])
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-1/igt@kms_tv_load_detect@load-detect.html
- shard-bmg: NOTRUN -> [SKIP][118] ([Intel XE#2450])
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-3/igt@kms_tv_load_detect@load-detect.html
* igt@kms_vrr@flip-basic:
- shard-adlp: NOTRUN -> [SKIP][119] ([Intel XE#455])
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-9/igt@kms_vrr@flip-basic.html
* igt@kms_vrr@flip-suspend:
- shard-bmg: NOTRUN -> [SKIP][120] ([Intel XE#1499]) +1 other test skip
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-1/igt@kms_vrr@flip-suspend.html
* igt@kms_vrr@lobf:
- shard-bmg: NOTRUN -> [SKIP][121] ([Intel XE#2168])
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-8/igt@kms_vrr@lobf.html
- shard-dg2-set2: NOTRUN -> [SKIP][122] ([Intel XE#2168])
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-433/igt@kms_vrr@lobf.html
* igt@kms_vrr@negative-basic:
- shard-bmg: [PASS][123] -> [SKIP][124] ([Intel XE#1499])
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-8/igt@kms_vrr@negative-basic.html
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_vrr@negative-basic.html
* igt@xe_eudebug@basic-close:
- shard-dg2-set2: NOTRUN -> [SKIP][125] ([Intel XE#4837]) +12 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@xe_eudebug@basic-close.html
* igt@xe_eudebug@discovery-race:
- shard-adlp: NOTRUN -> [SKIP][126] ([Intel XE#4837])
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-4/igt@xe_eudebug@discovery-race.html
* igt@xe_eudebug@sysfs-toggle:
- shard-lnl: NOTRUN -> [SKIP][127] ([Intel XE#4837]) +2 other tests skip
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-6/igt@xe_eudebug@sysfs-toggle.html
* igt@xe_eudebug_online@single-step-one:
- shard-bmg: NOTRUN -> [SKIP][128] ([Intel XE#4837]) +5 other tests skip
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-2/igt@xe_eudebug_online@single-step-one.html
* igt@xe_evict@evict-beng-small:
- shard-lnl: NOTRUN -> [SKIP][129] ([Intel XE#688])
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-2/igt@xe_evict@evict-beng-small.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null:
- shard-dg2-set2: NOTRUN -> [SKIP][130] ([Intel XE#1392]) +4 other tests skip
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null.html
* igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap:
- shard-dg2-set2: [PASS][131] -> [SKIP][132] ([Intel XE#1392]) +5 other tests skip
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-435/igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap.html
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-basic-defer-mmap.html
* igt@xe_exec_basic@multigpu-no-exec-null:
- shard-bmg: NOTRUN -> [SKIP][133] ([Intel XE#2322]) +1 other test skip
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-8/igt@xe_exec_basic@multigpu-no-exec-null.html
* igt@xe_exec_basic@multigpu-no-exec-null-defer-bind:
- shard-lnl: NOTRUN -> [SKIP][134] ([Intel XE#1392])
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-6/igt@xe_exec_basic@multigpu-no-exec-null-defer-bind.html
* igt@xe_exec_fault_mode@once-invalid-userptr-fault:
- shard-dg2-set2: NOTRUN -> [SKIP][135] ([Intel XE#288]) +24 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@xe_exec_fault_mode@once-invalid-userptr-fault.html
* igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-rebind:
- shard-adlp: NOTRUN -> [SKIP][136] ([Intel XE#288]) +1 other test skip
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-4/igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-rebind.html
* igt@xe_exec_mix_modes@exec-simple-batch-store-lr:
- shard-dg2-set2: NOTRUN -> [SKIP][137] ([Intel XE#2360])
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-464/igt@xe_exec_mix_modes@exec-simple-batch-store-lr.html
* igt@xe_exec_system_allocator@many-new-bo-map:
- shard-adlp: NOTRUN -> [SKIP][138] ([Intel XE#4915]) +19 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-1/igt@xe_exec_system_allocator@many-new-bo-map.html
* igt@xe_exec_system_allocator@process-many-large-execqueues-mmap-nomemset:
- shard-dg2-set2: NOTRUN -> [SKIP][139] ([Intel XE#4915]) +263 other tests skip
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-466/igt@xe_exec_system_allocator@process-many-large-execqueues-mmap-nomemset.html
* igt@xe_exec_system_allocator@threads-many-mmap-new-huge-nomemset:
- shard-bmg: NOTRUN -> [SKIP][140] ([Intel XE#4943]) +8 other tests skip
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@xe_exec_system_allocator@threads-many-mmap-new-huge-nomemset.html
* igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-new-bo-map-nomemset:
- shard-lnl: [PASS][141] -> [FAIL][142] ([Intel XE#5018]) +1 other test fail
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-8/igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-new-bo-map-nomemset.html
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-4/igt@xe_exec_system_allocator@threads-shared-vm-many-large-execqueues-new-bo-map-nomemset.html
* igt@xe_exec_system_allocator@twice-mmap-new-huge:
- shard-lnl: NOTRUN -> [SKIP][143] ([Intel XE#4943]) +6 other tests skip
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-1/igt@xe_exec_system_allocator@twice-mmap-new-huge.html
* igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
- shard-adlp: NOTRUN -> [SKIP][144] ([Intel XE#2229])
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-8/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
- shard-dg2-set2: NOTRUN -> [SKIP][145] ([Intel XE#2229])
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
- shard-lnl: NOTRUN -> [SKIP][146] ([Intel XE#2229])
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-3/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
* igt@xe_mmap@small-bar:
- shard-dg2-set2: NOTRUN -> [SKIP][147] ([Intel XE#512])
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@xe_mmap@small-bar.html
* igt@xe_module_load@load:
- shard-lnl: ([PASS][148], [PASS][149], [PASS][150], [PASS][151], [PASS][152], [PASS][153], [PASS][154], [PASS][155], [PASS][156], [PASS][157], [PASS][158], [PASS][159], [PASS][160], [PASS][161], [PASS][162], [PASS][163], [PASS][164], [PASS][165], [PASS][166], [PASS][167], [PASS][168], [PASS][169], [PASS][170], [PASS][171], [PASS][172]) -> ([PASS][173], [PASS][174], [PASS][175], [PASS][176], [PASS][177], [PASS][178], [PASS][179], [PASS][180], [PASS][181], [PASS][182], [SKIP][183], [PASS][184], [PASS][185], [PASS][186], [PASS][187], [PASS][188], [PASS][189], [PASS][190], [PASS][191], [PASS][192], [PASS][193], [PASS][194], [PASS][195], [PASS][196], [PASS][197], [PASS][198]) ([Intel XE#378])
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-5/igt@xe_module_load@load.html
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-7/igt@xe_module_load@load.html
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-2/igt@xe_module_load@load.html
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-4/igt@xe_module_load@load.html
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-1/igt@xe_module_load@load.html
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-8/igt@xe_module_load@load.html
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-6/igt@xe_module_load@load.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-6/igt@xe_module_load@load.html
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-5/igt@xe_module_load@load.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-5/igt@xe_module_load@load.html
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-1/igt@xe_module_load@load.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-4/igt@xe_module_load@load.html
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-8/igt@xe_module_load@load.html
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-7/igt@xe_module_load@load.html
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-6/igt@xe_module_load@load.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-7/igt@xe_module_load@load.html
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-4/igt@xe_module_load@load.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-2/igt@xe_module_load@load.html
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-2/igt@xe_module_load@load.html
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-3/igt@xe_module_load@load.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-3/igt@xe_module_load@load.html
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-3/igt@xe_module_load@load.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-3/igt@xe_module_load@load.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-8/igt@xe_module_load@load.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-5/igt@xe_module_load@load.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-5/igt@xe_module_load@load.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-5/igt@xe_module_load@load.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-2/igt@xe_module_load@load.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-5/igt@xe_module_load@load.html
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-6/igt@xe_module_load@load.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-8/igt@xe_module_load@load.html
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-6/igt@xe_module_load@load.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-4/igt@xe_module_load@load.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-2/igt@xe_module_load@load.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-2/igt@xe_module_load@load.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-2/igt@xe_module_load@load.html
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-8/igt@xe_module_load@load.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-8/igt@xe_module_load@load.html
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-3/igt@xe_module_load@load.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-3/igt@xe_module_load@load.html
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-3/igt@xe_module_load@load.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-2/igt@xe_module_load@load.html
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-4/igt@xe_module_load@load.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-7/igt@xe_module_load@load.html
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-7/igt@xe_module_load@load.html
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-7/igt@xe_module_load@load.html
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-1/igt@xe_module_load@load.html
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-1/igt@xe_module_load@load.html
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-1/igt@xe_module_load@load.html
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-6/igt@xe_module_load@load.html
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-4/igt@xe_module_load@load.html
- shard-bmg: ([PASS][199], [PASS][200], [PASS][201], [PASS][202], [PASS][203], [PASS][204], [PASS][205], [PASS][206], [PASS][207], [PASS][208], [PASS][209], [PASS][210], [PASS][211], [PASS][212], [PASS][213], [PASS][214], [PASS][215], [PASS][216], [PASS][217], [PASS][218], [PASS][219], [PASS][220], [PASS][221], [PASS][222], [PASS][223]) -> ([PASS][224], [PASS][225], [PASS][226], [PASS][227], [SKIP][228], [PASS][229], [PASS][230], [PASS][231], [PASS][232], [PASS][233], [PASS][234], [PASS][235], [PASS][236], [PASS][237], [PASS][238], [PASS][239], [PASS][240], [PASS][241], [PASS][242], [PASS][243], [PASS][244], [PASS][245], [PASS][246], [PASS][247], [PASS][248]) ([Intel XE#2457])
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-8/igt@xe_module_load@load.html
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-1/igt@xe_module_load@load.html
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-3/igt@xe_module_load@load.html
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-2/igt@xe_module_load@load.html
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-3/igt@xe_module_load@load.html
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-2/igt@xe_module_load@load.html
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-2/igt@xe_module_load@load.html
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-7/igt@xe_module_load@load.html
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-4/igt@xe_module_load@load.html
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-4/igt@xe_module_load@load.html
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-3/igt@xe_module_load@load.html
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-4/igt@xe_module_load@load.html
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-8/igt@xe_module_load@load.html
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-1/igt@xe_module_load@load.html
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-8/igt@xe_module_load@load.html
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-1/igt@xe_module_load@load.html
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-7/igt@xe_module_load@load.html
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-7/igt@xe_module_load@load.html
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-1/igt@xe_module_load@load.html
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@xe_module_load@load.html
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@xe_module_load@load.html
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-3/igt@xe_module_load@load.html
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@xe_module_load@load.html
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-7/igt@xe_module_load@load.html
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@xe_module_load@load.html
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-1/igt@xe_module_load@load.html
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-1/igt@xe_module_load@load.html
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-1/igt@xe_module_load@load.html
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@xe_module_load@load.html
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-8/igt@xe_module_load@load.html
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-8/igt@xe_module_load@load.html
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-8/igt@xe_module_load@load.html
[231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-2/igt@xe_module_load@load.html
[232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-2/igt@xe_module_load@load.html
[233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-8/igt@xe_module_load@load.html
[234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-3/igt@xe_module_load@load.html
[235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-3/igt@xe_module_load@load.html
[236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@xe_module_load@load.html
[237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@xe_module_load@load.html
[238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@xe_module_load@load.html
[239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-8/igt@xe_module_load@load.html
[240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-2/igt@xe_module_load@load.html
[241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-2/igt@xe_module_load@load.html
[242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-2/igt@xe_module_load@load.html
[243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-3/igt@xe_module_load@load.html
[244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-7/igt@xe_module_load@load.html
[245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-3/igt@xe_module_load@load.html
[246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-7/igt@xe_module_load@load.html
[247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-7/igt@xe_module_load@load.html
[248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-7/igt@xe_module_load@load.html
- shard-dg2-set2: ([PASS][249], [PASS][250], [PASS][251], [PASS][252], [PASS][253], [PASS][254], [PASS][255], [PASS][256], [PASS][257], [PASS][258], [PASS][259], [PASS][260], [PASS][261], [PASS][262], [PASS][263], [PASS][264], [PASS][265], [PASS][266], [PASS][267], [PASS][268], [PASS][269], [PASS][270], [PASS][271], [PASS][272], [PASS][273]) -> ([SKIP][274], [PASS][275], [PASS][276], [PASS][277], [PASS][278], [PASS][279], [PASS][280], [PASS][281], [PASS][282], [PASS][283], [PASS][284], [PASS][285], [PASS][286], [PASS][287], [PASS][288], [PASS][289], [PASS][290], [PASS][291], [PASS][292], [PASS][293], [PASS][294], [PASS][295], [PASS][296], [PASS][297], [PASS][298], [PASS][299]) ([Intel XE#378])
[249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-435/igt@xe_module_load@load.html
[250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-433/igt@xe_module_load@load.html
[251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-433/igt@xe_module_load@load.html
[252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-433/igt@xe_module_load@load.html
[253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-464/igt@xe_module_load@load.html
[254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-466/igt@xe_module_load@load.html
[255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-432/igt@xe_module_load@load.html
[256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-432/igt@xe_module_load@load.html
[257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-463/igt@xe_module_load@load.html
[258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-463/igt@xe_module_load@load.html
[259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-432/igt@xe_module_load@load.html
[260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-432/igt@xe_module_load@load.html
[261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-432/igt@xe_module_load@load.html
[262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-466/igt@xe_module_load@load.html
[263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-464/igt@xe_module_load@load.html
[264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-463/igt@xe_module_load@load.html
[265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-466/igt@xe_module_load@load.html
[266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-466/igt@xe_module_load@load.html
[267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-435/igt@xe_module_load@load.html
[268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-435/igt@xe_module_load@load.html
[269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-464/igt@xe_module_load@load.html
[270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-435/igt@xe_module_load@load.html
[271]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-463/igt@xe_module_load@load.html
[272]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-463/igt@xe_module_load@load.html
[273]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-464/igt@xe_module_load@load.html
[274]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@xe_module_load@load.html
[275]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@xe_module_load@load.html
[276]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@xe_module_load@load.html
[277]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-433/igt@xe_module_load@load.html
[278]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-466/igt@xe_module_load@load.html
[279]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-466/igt@xe_module_load@load.html
[280]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-466/igt@xe_module_load@load.html
[281]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-464/igt@xe_module_load@load.html
[282]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@xe_module_load@load.html
[283]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@xe_module_load@load.html
[284]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@xe_module_load@load.html
[285]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-433/igt@xe_module_load@load.html
[286]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@xe_module_load@load.html
[287]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@xe_module_load@load.html
[288]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@xe_module_load@load.html
[289]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-464/igt@xe_module_load@load.html
[290]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@xe_module_load@load.html
[291]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@xe_module_load@load.html
[292]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-433/igt@xe_module_load@load.html
[293]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-433/igt@xe_module_load@load.html
[294]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-466/igt@xe_module_load@load.html
[295]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@xe_module_load@load.html
[296]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@xe_module_load@load.html
[297]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@xe_module_load@load.html
[298]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@xe_module_load@load.html
[299]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@xe_module_load@load.html
* igt@xe_oa@buffer-size:
- shard-dg2-set2: NOTRUN -> [SKIP][300] ([Intel XE#4501])
[300]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@xe_oa@buffer-size.html
* igt@xe_oa@closed-fd-and-unmapped-access:
- shard-dg2-set2: NOTRUN -> [SKIP][301] ([Intel XE#2541] / [Intel XE#3573]) +5 other tests skip
[301]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@xe_oa@closed-fd-and-unmapped-access.html
* igt@xe_oa@syncs-ufence-wait:
- shard-dg2-set2: NOTRUN -> [SKIP][302] ([Intel XE#2541] / [Intel XE#3573] / [Intel XE#4501]) +1 other test skip
[302]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@xe_oa@syncs-ufence-wait.html
* igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p:
- shard-dg2-set2: NOTRUN -> [FAIL][303] ([Intel XE#1173]) +1 other test fail
[303]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@xe_peer2peer@write@write-gpua-vram01-gpub-system-p2p.html
* igt@xe_pmu@gt-frequency:
- shard-dg2-set2: [PASS][304] -> [FAIL][305] ([Intel XE#5166]) +1 other test fail
[304]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-463/igt@xe_pmu@gt-frequency.html
[305]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@xe_pmu@gt-frequency.html
* igt@xe_pxp@pxp-termination-key-update-post-termination-irq:
- shard-dg2-set2: NOTRUN -> [SKIP][306] ([Intel XE#4733]) +1 other test skip
[306]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-464/igt@xe_pxp@pxp-termination-key-update-post-termination-irq.html
* igt@xe_query@multigpu-query-invalid-cs-cycles:
- shard-bmg: NOTRUN -> [SKIP][307] ([Intel XE#944])
[307]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@xe_query@multigpu-query-invalid-cs-cycles.html
- shard-lnl: NOTRUN -> [SKIP][308] ([Intel XE#944])
[308]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-1/igt@xe_query@multigpu-query-invalid-cs-cycles.html
* igt@xe_query@multigpu-query-topology:
- shard-dg2-set2: NOTRUN -> [SKIP][309] ([Intel XE#944]) +1 other test skip
[309]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@xe_query@multigpu-query-topology.html
* igt@xe_render_copy@render-stress-0-copies:
- shard-dg2-set2: NOTRUN -> [SKIP][310] ([Intel XE#4814])
[310]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-463/igt@xe_render_copy@render-stress-0-copies.html
* igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs:
- shard-bmg: NOTRUN -> [SKIP][311] ([Intel XE#4130])
[311]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-1/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs.html
- shard-dg2-set2: NOTRUN -> [SKIP][312] ([Intel XE#4130]) +1 other test skip
[312]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-466/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs.html
- shard-lnl: NOTRUN -> [SKIP][313] ([Intel XE#4130])
[313]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-7/igt@xe_sriov_auto_provisioning@selfconfig-reprovision-reduce-numvfs.html
* igt@xe_sriov_flr@flr-twice:
- shard-dg2-set2: NOTRUN -> [SKIP][314] ([Intel XE#4273])
[314]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-433/igt@xe_sriov_flr@flr-twice.html
* igt@xe_sriov_scheduling@nonpreempt-engine-resets:
- shard-dg2-set2: NOTRUN -> [SKIP][315] ([Intel XE#4351])
[315]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-435/igt@xe_sriov_scheduling@nonpreempt-engine-resets.html
- shard-lnl: NOTRUN -> [SKIP][316] ([Intel XE#4351])
[316]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-5/igt@xe_sriov_scheduling@nonpreempt-engine-resets.html
- shard-bmg: NOTRUN -> [SKIP][317] ([Intel XE#4351])
[317]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-3/igt@xe_sriov_scheduling@nonpreempt-engine-resets.html
#### Possible fixes ####
* igt@kms_async_flips@async-flip-with-page-flip-events-linear@pipe-c-edp-1:
- shard-lnl: [FAIL][318] ([Intel XE#911]) -> [PASS][319] +3 other tests pass
[318]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-3/igt@kms_async_flips@async-flip-with-page-flip-events-linear@pipe-c-edp-1.html
[319]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-2/igt@kms_async_flips@async-flip-with-page-flip-events-linear@pipe-c-edp-1.html
* igt@kms_big_fb@x-tiled-8bpp-rotate-0:
- shard-adlp: [DMESG-FAIL][320] ([Intel XE#4543]) -> [PASS][321] +14 other tests pass
[320]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-adlp-1/igt@kms_big_fb@x-tiled-8bpp-rotate-0.html
[321]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-6/igt@kms_big_fb@x-tiled-8bpp-rotate-0.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
- shard-dg2-set2: [INCOMPLETE][322] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345]) -> [PASS][323]
[322]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
[323]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-dp-4:
- shard-dg2-set2: [INCOMPLETE][324] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522]) -> [PASS][325]
[324]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-dp-4.html
[325]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-d-dp-2:
- shard-dg2-set2: [INCOMPLETE][326] ([Intel XE#3113]) -> [PASS][327]
[326]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-d-dp-2.html
[327]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-d-dp-2.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size:
- shard-bmg: [SKIP][328] ([Intel XE#2291]) -> [PASS][329] +4 other tests pass
[328]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
[329]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-8/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@flip-vs-cursor-legacy:
- shard-bmg: [FAIL][330] ([Intel XE#4633]) -> [PASS][331]
[330]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-2/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
[331]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-bmg: [SKIP][332] ([Intel XE#1340]) -> [PASS][333]
[332]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
[333]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-1/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-bmg: [SKIP][334] ([Intel XE#4294]) -> [PASS][335]
[334]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@kms_dp_linktrain_fallback@dp-fallback.html
[335]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-8/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_flip@2x-plain-flip-interruptible:
- shard-bmg: [SKIP][336] ([Intel XE#2316]) -> [PASS][337] +4 other tests pass
[336]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@kms_flip@2x-plain-flip-interruptible.html
[337]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-8/igt@kms_flip@2x-plain-flip-interruptible.html
* igt@kms_flip@blocking-wf_vblank:
- shard-lnl: [FAIL][338] ([Intel XE#886]) -> [PASS][339] +1 other test pass
[338]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-lnl-8/igt@kms_flip@blocking-wf_vblank.html
[339]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-lnl-7/igt@kms_flip@blocking-wf_vblank.html
* igt@kms_flip@blocking-wf_vblank@a-hdmi-a1:
- shard-adlp: [FAIL][340] ([Intel XE#2882]) -> [PASS][341] +1 other test pass
[340]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-adlp-9/igt@kms_flip@blocking-wf_vblank@a-hdmi-a1.html
[341]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-4/igt@kms_flip@blocking-wf_vblank@a-hdmi-a1.html
* igt@kms_flip@flip-vs-panning-interruptible@b-hdmi-a1:
- shard-adlp: [DMESG-WARN][342] ([Intel XE#4543]) -> [PASS][343] +16 other tests pass
[342]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-adlp-2/igt@kms_flip@flip-vs-panning-interruptible@b-hdmi-a1.html
[343]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-6/igt@kms_flip@flip-vs-panning-interruptible@b-hdmi-a1.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-dg2-set2: [INCOMPLETE][344] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][345] +1 other test pass
[344]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-463/igt@kms_flip@flip-vs-suspend-interruptible.html
[345]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-433/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling:
- shard-adlp: [DMESG-FAIL][346] ([Intel XE#4543] / [Intel XE#4921]) -> [PASS][347] +1 other test pass
[346]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-adlp-6/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
[347]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-4/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
* igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-y:
- shard-adlp: [FAIL][348] ([Intel XE#1874]) -> [PASS][349]
[348]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-adlp-9/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-y.html
[349]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-6/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-y.html
* igt@kms_hdr@bpc-switch@pipe-a-dp-4:
- shard-dg2-set2: [INCOMPLETE][350] ([Intel XE#5383]) -> [PASS][351] +1 other test pass
[350]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-435/igt@kms_hdr@bpc-switch@pipe-a-dp-4.html
[351]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-433/igt@kms_hdr@bpc-switch@pipe-a-dp-4.html
* igt@kms_hdr@static-toggle-suspend:
- shard-bmg: [SKIP][352] ([Intel XE#1503]) -> [PASS][353]
[352]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@kms_hdr@static-toggle-suspend.html
[353]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-8/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64:
- shard-dg2-set2: [FAIL][354] ([Intel XE#616]) -> [PASS][355] +2 other tests pass
[354]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-466/igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64.html
[355]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-464/igt@kms_plane_cursor@overlay@pipe-a-hdmi-a-6-size-64.html
* igt@kms_plane_multiple@2x-tiling-x:
- shard-bmg: [SKIP][356] ([Intel XE#4596]) -> [PASS][357]
[356]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-x.html
[357]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-3/igt@kms_plane_multiple@2x-tiling-x.html
* igt@kms_setmode@clone-exclusive-crtc:
- shard-bmg: [SKIP][358] ([Intel XE#1435]) -> [PASS][359] +1 other test pass
[358]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@kms_setmode@clone-exclusive-crtc.html
[359]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-3/igt@kms_setmode@clone-exclusive-crtc.html
* igt@xe_exec_basic@multigpu-once-basic-defer-mmap:
- shard-dg2-set2: [SKIP][360] ([Intel XE#1392]) -> [PASS][361] +6 other tests pass
[360]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-dg2-432/igt@xe_exec_basic@multigpu-once-basic-defer-mmap.html
[361]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-dg2-466/igt@xe_exec_basic@multigpu-once-basic-defer-mmap.html
* igt@xe_pm@s2idle-basic-exec:
- shard-adlp: [DMESG-WARN][362] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][363]
[362]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-adlp-3/igt@xe_pm@s2idle-basic-exec.html
[363]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-adlp-4/igt@xe_pm@s2idle-basic-exec.html
#### Warnings ####
* igt@kms_content_protection@atomic-dpms:
- shard-bmg: [FAIL][364] ([Intel XE#1178]) -> [SKIP][365] ([Intel XE#2341])
[364]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-7/igt@kms_content_protection@atomic-dpms.html
[365]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_content_protection@atomic-dpms.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][366] ([Intel XE#2311]) -> [SKIP][367] ([Intel XE#2312]) +8 other tests skip
[366]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html
[367]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt:
- shard-bmg: [SKIP][368] ([Intel XE#2312]) -> [SKIP][369] ([Intel XE#4141]) +2 other tests skip
[368]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html
[369]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][370] ([Intel XE#4141]) -> [SKIP][371] ([Intel XE#2312]) +6 other tests skip
[370]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
[371]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render:
- shard-bmg: [SKIP][372] ([Intel XE#2312]) -> [SKIP][373] ([Intel XE#2311]) +14 other tests skip
[372]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render.html
[373]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw:
- shard-bmg: [SKIP][374] ([Intel XE#2313]) -> [SKIP][375] ([Intel XE#2312]) +13 other tests skip
[374]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw.html
[375]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt:
- shard-bmg: [SKIP][376] ([Intel XE#2312]) -> [SKIP][377] ([Intel XE#2313]) +13 other tests skip
[376]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html
[377]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-3/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html
* igt@kms_plane_multiple@2x-tiling-yf:
- shard-bmg: [SKIP][378] ([Intel XE#5021]) -> [SKIP][379] ([Intel XE#4596])
[378]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86/shard-bmg-2/igt@kms_plane_multiple@2x-tiling-yf.html
[379]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-yf.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1125]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1125
[Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
[Intel XE#1173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1173
[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#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
[Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
[Intel XE#1428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1428
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1439]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1439
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1512
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
[Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
[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#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
[Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
[Intel XE#2414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2414
[Intel XE#2450]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2450
[Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457
[Intel XE#2541]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2541
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
[Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2882
[Intel XE#2883]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2883
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
[Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
[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#3012]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3012
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
[Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/330
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/378
[Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
[Intel XE#3908]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3908
[Intel XE#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#4273]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4273
[Intel XE#4294]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4294
[Intel XE#4302]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4302
[Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
[Intel XE#4351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4351
[Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
[Intel XE#4356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4356
[Intel XE#4417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4417
[Intel XE#4501]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4501
[Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
[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#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
[Intel XE#4633]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4633
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#4760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4760
[Intel XE#4814]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4814
[Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
[Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
[Intel XE#4921]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4921
[Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
[Intel XE#5018]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5018
[Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
[Intel XE#512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/512
[Intel XE#5166]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5166
[Intel XE#5191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5191
[Intel XE#5300]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5300
[Intel XE#5337]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5337
[Intel XE#5383]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5383
[Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
[Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/718
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
[Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
[Intel XE#911]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/911
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
Build changes
-------------
* IGT: IGT_8431 -> IGT_8432
* Linux: xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86 -> xe-pw-150935v1
IGT_8431: 8431
IGT_8432: 4871829d8b7117553eb2dc1bdb9a0d18de428a98 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-3325-d9007d535ea106181346f9988c97aa73a9cdfb86: d9007d535ea106181346f9988c97aa73a9cdfb86
xe-pw-150935v1: 150935v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-150935v1/index.html
[-- Attachment #2: Type: text/html, Size: 97188 bytes --]
^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-02 8:46 [PATCH 0/2] " Ankit Nautiyal
@ 2025-07-02 8:46 ` Ankit Nautiyal
2025-07-02 9:29 ` Jani Nikula
` (2 more replies)
0 siblings, 3 replies; 26+ messages in thread
From: Ankit Nautiyal @ 2025-07-02 8:46 UTC (permalink / raw)
To: intel-gfx
Cc: intel-xe, jani.nikula, gustavo.sousa, Ankit Nautiyal, Jani Nikula
Introduce a generic helper to check display workarounds using an enum.
Convert Wa_16023588340 to use the new interface, simplifying WA checks
and making future additions easier.
v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
macro. (Jani)
Suggested-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
3 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
index f57280e9d041..f5e8d58d9a68 100644
--- a/drivers/gpu/drm/i915/display/intel_display_wa.c
+++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
@@ -3,6 +3,8 @@
* Copyright © 2023 Intel Corporation
*/
+#include "drm/drm_print.h"
+
#include "i915_reg.h"
#include "intel_de.h"
#include "intel_display_core.h"
@@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
else if (DISPLAY_VER(display) == 11)
gen11_display_wa_apply(display);
}
+
+bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
+{
+ switch (wa) {
+ case INTEL_DISPLAY_WA_16023588340:
+ return intel_display_needs_wa_16023588340(display);
+ default:
+ drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
+ break;
+ }
+
+ return false;
+}
diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
index babd9d16603d..146ee70d66f7 100644
--- a/drivers/gpu/drm/i915/display/intel_display_wa.h
+++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
@@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
bool intel_display_needs_wa_16023588340(struct intel_display *display);
#endif
+enum intel_display_wa {
+ INTEL_DISPLAY_WA_16023588340,
+};
+
+bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa);
+
+#define intel_display_wa(__display, __wa) \
+ __intel_display_wa((__display), INTEL_DISPLAY_WA_##__wa)
+
#endif
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index 6e26cb4c5724..e2e03af520b2 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -1464,7 +1464,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
return 0;
}
- if (intel_display_needs_wa_16023588340(display)) {
+ if (intel_display_wa(display, 16023588340)) {
plane_state->no_fbc_reason = "Wa_16023588340";
return 0;
}
--
2.45.2
^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-02 8:46 ` [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa Ankit Nautiyal
@ 2025-07-02 9:29 ` Jani Nikula
2025-07-02 13:30 ` Gustavo Sousa
2025-07-02 19:40 ` Ville Syrjälä
2 siblings, 0 replies; 26+ messages in thread
From: Jani Nikula @ 2025-07-02 9:29 UTC (permalink / raw)
To: Ankit Nautiyal, intel-gfx; +Cc: intel-xe, gustavo.sousa, Ankit Nautiyal
On Wed, 02 Jul 2025, Ankit Nautiyal <ankit.k.nautiyal@intel.com> wrote:
> Introduce a generic helper to check display workarounds using an enum.
>
> Convert Wa_16023588340 to use the new interface, simplifying WA checks
> and making future additions easier.
>
> v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
> macro. (Jani)
>
> Suggested-by: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
> 3 files changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
> index f57280e9d041..f5e8d58d9a68 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
> @@ -3,6 +3,8 @@
> * Copyright © 2023 Intel Corporation
> */
>
> +#include "drm/drm_print.h"
The headers in include/ are always included with <>,
i.e. <drm/drm_print.h>.
With that,
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
> +
> #include "i915_reg.h"
> #include "intel_de.h"
> #include "intel_display_core.h"
> @@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
> else if (DISPLAY_VER(display) == 11)
> gen11_display_wa_apply(display);
> }
> +
> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
> +{
> + switch (wa) {
> + case INTEL_DISPLAY_WA_16023588340:
> + return intel_display_needs_wa_16023588340(display);
> + default:
> + drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
> + break;
> + }
> +
> + return false;
> +}
> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
> index babd9d16603d..146ee70d66f7 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
> @@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
> bool intel_display_needs_wa_16023588340(struct intel_display *display);
> #endif
>
> +enum intel_display_wa {
> + INTEL_DISPLAY_WA_16023588340,
> +};
> +
> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa);
> +
> +#define intel_display_wa(__display, __wa) \
> + __intel_display_wa((__display), INTEL_DISPLAY_WA_##__wa)
> +
> #endif
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> index 6e26cb4c5724..e2e03af520b2 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -1464,7 +1464,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
> return 0;
> }
>
> - if (intel_display_needs_wa_16023588340(display)) {
> + if (intel_display_wa(display, 16023588340)) {
> plane_state->no_fbc_reason = "Wa_16023588340";
> return 0;
> }
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-02 8:46 ` [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa Ankit Nautiyal
2025-07-02 9:29 ` Jani Nikula
@ 2025-07-02 13:30 ` Gustavo Sousa
2025-07-02 14:12 ` Jani Nikula
2025-07-02 19:40 ` Ville Syrjälä
2 siblings, 1 reply; 26+ messages in thread
From: Gustavo Sousa @ 2025-07-02 13:30 UTC (permalink / raw)
To: Ankit Nautiyal, intel-gfx
Cc: intel-xe, jani.nikula, Ankit Nautiyal, Jani Nikula
Quoting Ankit Nautiyal (2025-07-02 05:46:18-03:00)
>Introduce a generic helper to check display workarounds using an enum.
>
>Convert Wa_16023588340 to use the new interface, simplifying WA checks
>and making future additions easier.
>
>v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
>macro. (Jani)
>
>Suggested-by: Jani Nikula <jani.nikula@intel.com>
>Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>---
> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
> 3 files changed, 25 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
>index f57280e9d041..f5e8d58d9a68 100644
>--- a/drivers/gpu/drm/i915/display/intel_display_wa.c
>+++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
>@@ -3,6 +3,8 @@
> * Copyright © 2023 Intel Corporation
> */
>
>+#include "drm/drm_print.h"
>+
> #include "i915_reg.h"
> #include "intel_de.h"
> #include "intel_display_core.h"
>@@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
> else if (DISPLAY_VER(display) == 11)
> gen11_display_wa_apply(display);
> }
>+
>+bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
>+{
>+ switch (wa) {
>+ case INTEL_DISPLAY_WA_16023588340:
>+ return intel_display_needs_wa_16023588340(display);
>+ default:
>+ drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
Hm... I wonder how useful the message would be if we just show the enum
value. For example, if the next workaround that we added was
INTEL_DISPLAY_WA_99999999999 and we had it missing here, I think we
would get the following warning message:
"Missing Wa number: 1"
Perhaps the enum identifier could be found in the callstack that is
presented with the warning, but I'm wondering if we could do better
here.
Not sure there is a good solution without requiring extra memory to map
each enum member to its corresponding the workaround number.
--
Gustavo Sousa
>+ break;
>+ }
>+
>+ return false;
>+}
>diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
>index babd9d16603d..146ee70d66f7 100644
>--- a/drivers/gpu/drm/i915/display/intel_display_wa.h
>+++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
>@@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
> bool intel_display_needs_wa_16023588340(struct intel_display *display);
> #endif
>
>+enum intel_display_wa {
>+ INTEL_DISPLAY_WA_16023588340,
>+};
>+
>+bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa);
>+
>+#define intel_display_wa(__display, __wa) \
>+ __intel_display_wa((__display), INTEL_DISPLAY_WA_##__wa)
>+
> #endif
>diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
>index 6e26cb4c5724..e2e03af520b2 100644
>--- a/drivers/gpu/drm/i915/display/intel_fbc.c
>+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
>@@ -1464,7 +1464,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
> return 0;
> }
>
>- if (intel_display_needs_wa_16023588340(display)) {
>+ if (intel_display_wa(display, 16023588340)) {
> plane_state->no_fbc_reason = "Wa_16023588340";
> return 0;
> }
>--
>2.45.2
>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-02 13:30 ` Gustavo Sousa
@ 2025-07-02 14:12 ` Jani Nikula
2025-07-03 6:19 ` Nautiyal, Ankit K
0 siblings, 1 reply; 26+ messages in thread
From: Jani Nikula @ 2025-07-02 14:12 UTC (permalink / raw)
To: Gustavo Sousa, Ankit Nautiyal, intel-gfx; +Cc: intel-xe, Ankit Nautiyal
On Wed, 02 Jul 2025, Gustavo Sousa <gustavo.sousa@intel.com> wrote:
> Quoting Ankit Nautiyal (2025-07-02 05:46:18-03:00)
>>Introduce a generic helper to check display workarounds using an enum.
>>
>>Convert Wa_16023588340 to use the new interface, simplifying WA checks
>>and making future additions easier.
>>
>>v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
>>macro. (Jani)
>>
>>Suggested-by: Jani Nikula <jani.nikula@intel.com>
>>Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>---
>> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
>> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
>> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
>> 3 files changed, 25 insertions(+), 1 deletion(-)
>>
>>diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>index f57280e9d041..f5e8d58d9a68 100644
>>--- a/drivers/gpu/drm/i915/display/intel_display_wa.c
>>+++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>@@ -3,6 +3,8 @@
>> * Copyright © 2023 Intel Corporation
>> */
>>
>>+#include "drm/drm_print.h"
>>+
>> #include "i915_reg.h"
>> #include "intel_de.h"
>> #include "intel_display_core.h"
>>@@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
>> else if (DISPLAY_VER(display) == 11)
>> gen11_display_wa_apply(display);
>> }
>>+
>>+bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
>>+{
>>+ switch (wa) {
>>+ case INTEL_DISPLAY_WA_16023588340:
>>+ return intel_display_needs_wa_16023588340(display);
>>+ default:
>>+ drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
>
> Hm... I wonder how useful the message would be if we just show the enum
> value. For example, if the next workaround that we added was
> INTEL_DISPLAY_WA_99999999999 and we had it missing here, I think we
> would get the following warning message:
>
> "Missing Wa number: 1"
>
> Perhaps the enum identifier could be found in the callstack that is
> presented with the warning, but I'm wondering if we could do better
> here.
>
> Not sure there is a good solution without requiring extra memory to map
> each enum member to its corresponding the workaround number.
The solution would be to make the function:
bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa, const char *name);
and the macro:
#define intel_display_wa(__display, __wa) \
__intel_display_wa((__display), INTEL_DISPLAY_WA_##__wa, __stringify(__wa))
and then you could debug log the name.
Worth it? Not sure.
BR,
Jani.
>
> --
> Gustavo Sousa
>
>>+ break;
>>+ }
>>+
>>+ return false;
>>+}
>>diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>index babd9d16603d..146ee70d66f7 100644
>>--- a/drivers/gpu/drm/i915/display/intel_display_wa.h
>>+++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>@@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
>> bool intel_display_needs_wa_16023588340(struct intel_display *display);
>> #endif
>>
>>+enum intel_display_wa {
>>+ INTEL_DISPLAY_WA_16023588340,
>>+};
>>+
>>+bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa);
>>+
>>+#define intel_display_wa(__display, __wa) \
>>+ __intel_display_wa((__display), INTEL_DISPLAY_WA_##__wa)
>>+
>> #endif
>>diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
>>index 6e26cb4c5724..e2e03af520b2 100644
>>--- a/drivers/gpu/drm/i915/display/intel_fbc.c
>>+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
>>@@ -1464,7 +1464,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
>> return 0;
>> }
>>
>>- if (intel_display_needs_wa_16023588340(display)) {
>>+ if (intel_display_wa(display, 16023588340)) {
>> plane_state->no_fbc_reason = "Wa_16023588340";
>> return 0;
>> }
>>--
>>2.45.2
>>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-02 8:46 ` [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa Ankit Nautiyal
2025-07-02 9:29 ` Jani Nikula
2025-07-02 13:30 ` Gustavo Sousa
@ 2025-07-02 19:40 ` Ville Syrjälä
2025-07-02 20:25 ` Lucas De Marchi
2 siblings, 1 reply; 26+ messages in thread
From: Ville Syrjälä @ 2025-07-02 19:40 UTC (permalink / raw)
To: Ankit Nautiyal
Cc: intel-gfx, intel-xe, jani.nikula, gustavo.sousa, Jani Nikula
On Wed, Jul 02, 2025 at 02:16:18PM +0530, Ankit Nautiyal wrote:
> Introduce a generic helper to check display workarounds using an enum.
>
> Convert Wa_16023588340 to use the new interface, simplifying WA checks
> and making future additions easier.
>
> v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
> macro. (Jani)
>
> Suggested-by: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
> 3 files changed, 25 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
> index f57280e9d041..f5e8d58d9a68 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
> @@ -3,6 +3,8 @@
> * Copyright © 2023 Intel Corporation
> */
>
> +#include "drm/drm_print.h"
> +
> #include "i915_reg.h"
> #include "intel_de.h"
> #include "intel_display_core.h"
> @@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
> else if (DISPLAY_VER(display) == 11)
> gen11_display_wa_apply(display);
> }
> +
> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
> +{
> + switch (wa) {
> + case INTEL_DISPLAY_WA_16023588340:
> + return intel_display_needs_wa_16023588340(display);
> + default:
> + drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
> + break;
> + }
> +
> + return false;
> +}
> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
> index babd9d16603d..146ee70d66f7 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
> @@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
> bool intel_display_needs_wa_16023588340(struct intel_display *display);
> #endif
>
> +enum intel_display_wa {
> + INTEL_DISPLAY_WA_16023588340,
How is anyone supposed to keep track of these random numbers
and what they mean?
The only time I want to see these numbers is if I really have to
open the spec/hsd for it to double check some details. Othwerwise
it just seems like pointless noise that makes it harder to follow
the code/figure out what the heck is going on.
> +};
> +
> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa);
> +
> +#define intel_display_wa(__display, __wa) \
> + __intel_display_wa((__display), INTEL_DISPLAY_WA_##__wa)
> +
> #endif
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
> index 6e26cb4c5724..e2e03af520b2 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -1464,7 +1464,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
> return 0;
> }
>
> - if (intel_display_needs_wa_16023588340(display)) {
> + if (intel_display_wa(display, 16023588340)) {
> plane_state->no_fbc_reason = "Wa_16023588340";
This here for instance is completely useless. I have no idea what that
w/a is about or why it requires FBC to be disabled. And if I jump into
intel_display_needs_wa_16023588340() I am none the wiser.
> return 0;
> }
> --
> 2.45.2
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-02 19:40 ` Ville Syrjälä
@ 2025-07-02 20:25 ` Lucas De Marchi
2025-07-02 21:29 ` Ville Syrjälä
0 siblings, 1 reply; 26+ messages in thread
From: Lucas De Marchi @ 2025-07-02 20:25 UTC (permalink / raw)
To: Ville Syrjälä
Cc: Ankit Nautiyal, intel-gfx, intel-xe, jani.nikula, gustavo.sousa,
Jani Nikula
On Wed, Jul 02, 2025 at 10:40:34PM +0300, Ville Syrjälä wrote:
>On Wed, Jul 02, 2025 at 02:16:18PM +0530, Ankit Nautiyal wrote:
>> Introduce a generic helper to check display workarounds using an enum.
>>
>> Convert Wa_16023588340 to use the new interface, simplifying WA checks
>> and making future additions easier.
>>
>> v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
>> macro. (Jani)
>>
>> Suggested-by: Jani Nikula <jani.nikula@intel.com>
>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> ---
>> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
>> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
>> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
>> 3 files changed, 25 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
>> index f57280e9d041..f5e8d58d9a68 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
>> @@ -3,6 +3,8 @@
>> * Copyright © 2023 Intel Corporation
>> */
>>
>> +#include "drm/drm_print.h"
>> +
>> #include "i915_reg.h"
>> #include "intel_de.h"
>> #include "intel_display_core.h"
>> @@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
>> else if (DISPLAY_VER(display) == 11)
>> gen11_display_wa_apply(display);
>> }
>> +
>> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
>> +{
>> + switch (wa) {
>> + case INTEL_DISPLAY_WA_16023588340:
>> + return intel_display_needs_wa_16023588340(display);
>> + default:
>> + drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
>> + break;
>> + }
>> +
>> + return false;
>> +}
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
>> index babd9d16603d..146ee70d66f7 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
>> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
>> @@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
>> bool intel_display_needs_wa_16023588340(struct intel_display *display);
>> #endif
>>
>> +enum intel_display_wa {
>> + INTEL_DISPLAY_WA_16023588340,
>
>How is anyone supposed to keep track of these random numbers
>and what they mean?
they mean there's a h/w workaround that requires that and this is the id
if you need to find more details about it or what platforms/IPs use
that.
>
>The only time I want to see these numbers is if I really have to
>open the spec/hsd for it to double check some details. Othwerwise
>it just seems like pointless noise that makes it harder to follow
>the code/figure out what the heck is going on.
what is the alternative? The current status quo checking by platform
and/or IP version, dissociated from the WA numbers?
Lucas De Marchi
>
>> +};
>> +
>> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa);
>> +
>> +#define intel_display_wa(__display, __wa) \
>> + __intel_display_wa((__display), INTEL_DISPLAY_WA_##__wa)
>> +
>> #endif
>> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
>> index 6e26cb4c5724..e2e03af520b2 100644
>> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
>> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
>> @@ -1464,7 +1464,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
>> return 0;
>> }
>>
>> - if (intel_display_needs_wa_16023588340(display)) {
>> + if (intel_display_wa(display, 16023588340)) {
>> plane_state->no_fbc_reason = "Wa_16023588340";
>
>This here for instance is completely useless. I have no idea what that
>w/a is about or why it requires FBC to be disabled. And if I jump into
>intel_display_needs_wa_16023588340() I am none the wiser.
>
>> return 0;
>> }
>> --
>> 2.45.2
>
>--
>Ville Syrjälä
>Intel
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-02 20:25 ` Lucas De Marchi
@ 2025-07-02 21:29 ` Ville Syrjälä
2025-07-02 21:49 ` Ville Syrjälä
0 siblings, 1 reply; 26+ messages in thread
From: Ville Syrjälä @ 2025-07-02 21:29 UTC (permalink / raw)
To: Lucas De Marchi
Cc: Ankit Nautiyal, intel-gfx, intel-xe, jani.nikula, gustavo.sousa,
Jani Nikula
On Wed, Jul 02, 2025 at 03:25:21PM -0500, Lucas De Marchi wrote:
> On Wed, Jul 02, 2025 at 10:40:34PM +0300, Ville Syrjälä wrote:
> >On Wed, Jul 02, 2025 at 02:16:18PM +0530, Ankit Nautiyal wrote:
> >> Introduce a generic helper to check display workarounds using an enum.
> >>
> >> Convert Wa_16023588340 to use the new interface, simplifying WA checks
> >> and making future additions easier.
> >>
> >> v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
> >> macro. (Jani)
> >>
> >> Suggested-by: Jani Nikula <jani.nikula@intel.com>
> >> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> >> ---
> >> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
> >> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
> >> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
> >> 3 files changed, 25 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
> >> index f57280e9d041..f5e8d58d9a68 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
> >> @@ -3,6 +3,8 @@
> >> * Copyright © 2023 Intel Corporation
> >> */
> >>
> >> +#include "drm/drm_print.h"
> >> +
> >> #include "i915_reg.h"
> >> #include "intel_de.h"
> >> #include "intel_display_core.h"
> >> @@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
> >> else if (DISPLAY_VER(display) == 11)
> >> gen11_display_wa_apply(display);
> >> }
> >> +
> >> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
> >> +{
> >> + switch (wa) {
> >> + case INTEL_DISPLAY_WA_16023588340:
> >> + return intel_display_needs_wa_16023588340(display);
> >> + default:
> >> + drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
> >> + break;
> >> + }
> >> +
> >> + return false;
> >> +}
> >> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
> >> index babd9d16603d..146ee70d66f7 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
> >> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
> >> @@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
> >> bool intel_display_needs_wa_16023588340(struct intel_display *display);
> >> #endif
> >>
> >> +enum intel_display_wa {
> >> + INTEL_DISPLAY_WA_16023588340,
> >
> >How is anyone supposed to keep track of these random numbers
> >and what they mean?
>
> they mean there's a h/w workaround that requires that and this is the id
> if you need to find more details about it or what platforms/IPs use
> that.
I don't want to go look up all the details in the common case.
I just want to read the code and see that it generally makes
sense without having to trawl through the spec/hsd for an
hour every time.
>
> >
> >The only time I want to see these numbers is if I really have to
> >open the spec/hsd for it to double check some details. Othwerwise
> >it just seems like pointless noise that makes it harder to follow
> >the code/figure out what the heck is going on.
>
> what is the alternative? The current status quo checking by platform
> and/or IP version, dissociated from the WA numbers?
I find it easiest if everything is in one place. I think every
w/a generally should have these:
- which hardware is affected
- what other runtime conditions are required to hit the issue
- what is being done to avoid the issue
- a short human readable explanation of the issue
- the w/a number for looking up futher details
Splitting it all up into random bits and pieces just means more
jumping around all the time, which I find annoying at best.
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-02 21:29 ` Ville Syrjälä
@ 2025-07-02 21:49 ` Ville Syrjälä
2025-07-03 9:30 ` Nautiyal, Ankit K
2025-07-03 12:08 ` Gustavo Sousa
0 siblings, 2 replies; 26+ messages in thread
From: Ville Syrjälä @ 2025-07-02 21:49 UTC (permalink / raw)
To: Lucas De Marchi
Cc: Ankit Nautiyal, intel-gfx, intel-xe, jani.nikula, gustavo.sousa,
Jani Nikula
On Thu, Jul 03, 2025 at 12:29:37AM +0300, Ville Syrjälä wrote:
> On Wed, Jul 02, 2025 at 03:25:21PM -0500, Lucas De Marchi wrote:
> > On Wed, Jul 02, 2025 at 10:40:34PM +0300, Ville Syrjälä wrote:
> > >On Wed, Jul 02, 2025 at 02:16:18PM +0530, Ankit Nautiyal wrote:
> > >> Introduce a generic helper to check display workarounds using an enum.
> > >>
> > >> Convert Wa_16023588340 to use the new interface, simplifying WA checks
> > >> and making future additions easier.
> > >>
> > >> v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
> > >> macro. (Jani)
> > >>
> > >> Suggested-by: Jani Nikula <jani.nikula@intel.com>
> > >> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> > >> ---
> > >> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
> > >> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
> > >> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
> > >> 3 files changed, 25 insertions(+), 1 deletion(-)
> > >>
> > >> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
> > >> index f57280e9d041..f5e8d58d9a68 100644
> > >> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
> > >> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
> > >> @@ -3,6 +3,8 @@
> > >> * Copyright © 2023 Intel Corporation
> > >> */
> > >>
> > >> +#include "drm/drm_print.h"
> > >> +
> > >> #include "i915_reg.h"
> > >> #include "intel_de.h"
> > >> #include "intel_display_core.h"
> > >> @@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
> > >> else if (DISPLAY_VER(display) == 11)
> > >> gen11_display_wa_apply(display);
> > >> }
> > >> +
> > >> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
> > >> +{
> > >> + switch (wa) {
> > >> + case INTEL_DISPLAY_WA_16023588340:
> > >> + return intel_display_needs_wa_16023588340(display);
> > >> + default:
> > >> + drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
> > >> + break;
> > >> + }
> > >> +
> > >> + return false;
> > >> +}
> > >> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
> > >> index babd9d16603d..146ee70d66f7 100644
> > >> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
> > >> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
> > >> @@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
> > >> bool intel_display_needs_wa_16023588340(struct intel_display *display);
> > >> #endif
> > >>
> > >> +enum intel_display_wa {
> > >> + INTEL_DISPLAY_WA_16023588340,
> > >
> > >How is anyone supposed to keep track of these random numbers
> > >and what they mean?
> >
> > they mean there's a h/w workaround that requires that and this is the id
> > if you need to find more details about it or what platforms/IPs use
> > that.
>
> I don't want to go look up all the details in the common case.
> I just want to read the code and see that it generally makes
> sense without having to trawl through the spec/hsd for an
> hour every time.
>
> >
> > >
> > >The only time I want to see these numbers is if I really have to
> > >open the spec/hsd for it to double check some details. Othwerwise
> > >it just seems like pointless noise that makes it harder to follow
> > >the code/figure out what the heck is going on.
> >
> > what is the alternative? The current status quo checking by platform
> > and/or IP version, dissociated from the WA numbers?
>
> I find it easiest if everything is in one place. I think every
> w/a generally should have these:
> - which hardware is affected
> - what other runtime conditions are required to hit the issue
> - what is being done to avoid the issue
> - a short human readable explanation of the issue
> - the w/a number for looking up futher details
>
> Splitting it all up into random bits and pieces just means more
> jumping around all the time, which I find annoying at best.
I suppose one could argue for a more formal thing for these three:
- which hardware is affected
- a short human readable explanation of the issue
- the w/a number for looking up futher details
Might be still a real pain to deal with that due to having to jump
around, but at least it could be used to force people to document
each w/a a bit better.
Basically anything that avoids having to wait for the spec/hsd to
load is a good thing in my book.
There's also the question of what to do with duplicates, as in often
it seems the same issue is present on multiple platforms under different
w/a numbers.
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-02 14:12 ` Jani Nikula
@ 2025-07-03 6:19 ` Nautiyal, Ankit K
0 siblings, 0 replies; 26+ messages in thread
From: Nautiyal, Ankit K @ 2025-07-03 6:19 UTC (permalink / raw)
To: Jani Nikula, Gustavo Sousa, intel-gfx; +Cc: intel-xe
On 7/2/2025 7:42 PM, Jani Nikula wrote:
> On Wed, 02 Jul 2025, Gustavo Sousa <gustavo.sousa@intel.com> wrote:
>> Quoting Ankit Nautiyal (2025-07-02 05:46:18-03:00)
>>> Introduce a generic helper to check display workarounds using an enum.
>>>
>>> Convert Wa_16023588340 to use the new interface, simplifying WA checks
>>> and making future additions easier.
>>>
>>> v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
>>> macro. (Jani)
>>>
>>> Suggested-by: Jani Nikula <jani.nikula@intel.com>
>>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>> ---
>>> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
>>> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
>>> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
>>> 3 files changed, 25 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>> index f57280e9d041..f5e8d58d9a68 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>> @@ -3,6 +3,8 @@
>>> * Copyright © 2023 Intel Corporation
>>> */
>>>
>>> +#include "drm/drm_print.h"
>>> +
>>> #include "i915_reg.h"
>>> #include "intel_de.h"
>>> #include "intel_display_core.h"
>>> @@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
>>> else if (DISPLAY_VER(display) == 11)
>>> gen11_display_wa_apply(display);
>>> }
>>> +
>>> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
>>> +{
>>> + switch (wa) {
>>> + case INTEL_DISPLAY_WA_16023588340:
>>> + return intel_display_needs_wa_16023588340(display);
>>> + default:
>>> + drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
>> Hm... I wonder how useful the message would be if we just show the enum
>> value. For example, if the next workaround that we added was
>> INTEL_DISPLAY_WA_99999999999 and we had it missing here, I think we
>> would get the following warning message:
>>
>> "Missing Wa number: 1"
>>
>> Perhaps the enum identifier could be found in the callstack that is
>> presented with the warning, but I'm wondering if we could do better
>> here.
>>
>> Not sure there is a good solution without requiring extra memory to map
>> each enum member to its corresponding the workaround number.
> The solution would be to make the function:
>
> bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa, const char *name);
>
> and the macro:
>
> #define intel_display_wa(__display, __wa) \
> __intel_display_wa((__display), INTEL_DISPLAY_WA_##__wa, __stringify(__wa))
>
> and then you could debug log the name.
>
> Worth it? Not sure.
Hmm... there might be some value to have some mechanism to print the WA
name.
While it might not add much value in this particular case, but it could
be helpful in other failure scenario,
where identifying the exact WA name might give clue while debugging.
Regards,
Ankit
>
>
> BR,
> Jani.
>
>
>> --
>> Gustavo Sousa
>>
>>> + break;
>>> + }
>>> +
>>> + return false;
>>> +}
>>> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>> index babd9d16603d..146ee70d66f7 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
>>> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>> @@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
>>> bool intel_display_needs_wa_16023588340(struct intel_display *display);
>>> #endif
>>>
>>> +enum intel_display_wa {
>>> + INTEL_DISPLAY_WA_16023588340,
>>> +};
>>> +
>>> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa);
>>> +
>>> +#define intel_display_wa(__display, __wa) \
>>> + __intel_display_wa((__display), INTEL_DISPLAY_WA_##__wa)
>>> +
>>> #endif
>>> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
>>> index 6e26cb4c5724..e2e03af520b2 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
>>> @@ -1464,7 +1464,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
>>> return 0;
>>> }
>>>
>>> - if (intel_display_needs_wa_16023588340(display)) {
>>> + if (intel_display_wa(display, 16023588340)) {
>>> plane_state->no_fbc_reason = "Wa_16023588340";
>>> return 0;
>>> }
>>> --
>>> 2.45.2
>>>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-02 21:49 ` Ville Syrjälä
@ 2025-07-03 9:30 ` Nautiyal, Ankit K
2025-07-03 12:14 ` Gustavo Sousa
2025-07-03 13:51 ` Lucas De Marchi
2025-07-03 12:08 ` Gustavo Sousa
1 sibling, 2 replies; 26+ messages in thread
From: Nautiyal, Ankit K @ 2025-07-03 9:30 UTC (permalink / raw)
To: Ville Syrjälä, Lucas De Marchi
Cc: intel-gfx, intel-xe, jani.nikula, gustavo.sousa, Jani Nikula
On 7/3/2025 3:19 AM, Ville Syrjälä wrote:
> On Thu, Jul 03, 2025 at 12:29:37AM +0300, Ville Syrjälä wrote:
>> On Wed, Jul 02, 2025 at 03:25:21PM -0500, Lucas De Marchi wrote:
>>> On Wed, Jul 02, 2025 at 10:40:34PM +0300, Ville Syrjälä wrote:
>>>> On Wed, Jul 02, 2025 at 02:16:18PM +0530, Ankit Nautiyal wrote:
>>>>> Introduce a generic helper to check display workarounds using an enum.
>>>>>
>>>>> Convert Wa_16023588340 to use the new interface, simplifying WA checks
>>>>> and making future additions easier.
>>>>>
>>>>> v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
>>>>> macro. (Jani)
>>>>>
>>>>> Suggested-by: Jani Nikula <jani.nikula@intel.com>
>>>>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>>>> ---
>>>>> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
>>>>> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
>>>>> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
>>>>> 3 files changed, 25 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>>>> index f57280e9d041..f5e8d58d9a68 100644
>>>>> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
>>>>> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>>>> @@ -3,6 +3,8 @@
>>>>> * Copyright © 2023 Intel Corporation
>>>>> */
>>>>>
>>>>> +#include "drm/drm_print.h"
>>>>> +
>>>>> #include "i915_reg.h"
>>>>> #include "intel_de.h"
>>>>> #include "intel_display_core.h"
>>>>> @@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
>>>>> else if (DISPLAY_VER(display) == 11)
>>>>> gen11_display_wa_apply(display);
>>>>> }
>>>>> +
>>>>> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
>>>>> +{
>>>>> + switch (wa) {
>>>>> + case INTEL_DISPLAY_WA_16023588340:
>>>>> + return intel_display_needs_wa_16023588340(display);
>>>>> + default:
>>>>> + drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
>>>>> + break;
>>>>> + }
>>>>> +
>>>>> + return false;
>>>>> +}
>>>>> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>>>> index babd9d16603d..146ee70d66f7 100644
>>>>> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
>>>>> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>>>> @@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
>>>>> bool intel_display_needs_wa_16023588340(struct intel_display *display);
>>>>> #endif
>>>>>
>>>>> +enum intel_display_wa {
>>>>> + INTEL_DISPLAY_WA_16023588340,
>>>> How is anyone supposed to keep track of these random numbers
>>>> and what they mean?
>>> they mean there's a h/w workaround that requires that and this is the id
>>> if you need to find more details about it or what platforms/IPs use
>>> that.
>> I don't want to go look up all the details in the common case.
>> I just want to read the code and see that it generally makes
>> sense without having to trawl through the spec/hsd for an
>> hour every time.
>>
>>>> The only time I want to see these numbers is if I really have to
>>>> open the spec/hsd for it to double check some details. Othwerwise
>>>> it just seems like pointless noise that makes it harder to follow
>>>> the code/figure out what the heck is going on.
>>> what is the alternative? The current status quo checking by platform
>>> and/or IP version, dissociated from the WA numbers?
>> I find it easiest if everything is in one place. I think every
>> w/a generally should have these:
>> - which hardware is affected
>> - what other runtime conditions are required to hit the issue
>> - what is being done to avoid the issue
>> - a short human readable explanation of the issue
>> - the w/a number for looking up futher details
>>
>> Splitting it all up into random bits and pieces just means more
>> jumping around all the time, which I find annoying at best.
> I suppose one could argue for a more formal thing for these three:
> - which hardware is affected
> - a short human readable explanation of the issue
> - the w/a number for looking up futher details
Whether adding comments with platform and relevant information about Wa
would be sufficient?
Something like:
/*
* Wa_16025573575: PTL/WCL
* Fix issue with bitbashing on PTL.
* Set masks bits in GPIO CTL and preserve it during bitbashing sequence.
*/
static bool intel_display_needs_wa_16025573575(struct intel_display
*display)
{
return DISPLAY_VER(display) == 30;
}
Or we want to have some wa_struct with fields for platforms and stuff?
Regards,
Ankit
>
> Might be still a real pain to deal with that due to having to jump
> around, but at least it could be used to force people to document
> each w/a a bit better.
>
> Basically anything that avoids having to wait for the spec/hsd to
> load is a good thing in my book.
>
> There's also the question of what to do with duplicates, as in often
> it seems the same issue is present on multiple platforms under different
> w/a numbers.
>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-02 21:49 ` Ville Syrjälä
2025-07-03 9:30 ` Nautiyal, Ankit K
@ 2025-07-03 12:08 ` Gustavo Sousa
2025-07-03 13:55 ` Lucas De Marchi
1 sibling, 1 reply; 26+ messages in thread
From: Gustavo Sousa @ 2025-07-03 12:08 UTC (permalink / raw)
To: Ville Syrjälä, Lucas De Marchi
Cc: Ankit Nautiyal, intel-gfx, intel-xe, jani.nikula, Jani Nikula
Quoting Ville Syrjälä (2025-07-02 18:49:30-03:00)
>On Thu, Jul 03, 2025 at 12:29:37AM +0300, Ville Syrjälä wrote:
>> On Wed, Jul 02, 2025 at 03:25:21PM -0500, Lucas De Marchi wrote:
>> > On Wed, Jul 02, 2025 at 10:40:34PM +0300, Ville Syrjälä wrote:
>> > >On Wed, Jul 02, 2025 at 02:16:18PM +0530, Ankit Nautiyal wrote:
>> > >> Introduce a generic helper to check display workarounds using an enum.
>> > >>
>> > >> Convert Wa_16023588340 to use the new interface, simplifying WA checks
>> > >> and making future additions easier.
>> > >>
>> > >> v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
>> > >> macro. (Jani)
>> > >>
>> > >> Suggested-by: Jani Nikula <jani.nikula@intel.com>
>> > >> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>> > >> ---
>> > >> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
>> > >> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
>> > >> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
>> > >> 3 files changed, 25 insertions(+), 1 deletion(-)
>> > >>
>> > >> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
>> > >> index f57280e9d041..f5e8d58d9a68 100644
>> > >> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
>> > >> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
>> > >> @@ -3,6 +3,8 @@
>> > >> * Copyright © 2023 Intel Corporation
>> > >> */
>> > >>
>> > >> +#include "drm/drm_print.h"
>> > >> +
>> > >> #include "i915_reg.h"
>> > >> #include "intel_de.h"
>> > >> #include "intel_display_core.h"
>> > >> @@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
>> > >> else if (DISPLAY_VER(display) == 11)
>> > >> gen11_display_wa_apply(display);
>> > >> }
>> > >> +
>> > >> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
>> > >> +{
>> > >> + switch (wa) {
>> > >> + case INTEL_DISPLAY_WA_16023588340:
>> > >> + return intel_display_needs_wa_16023588340(display);
>> > >> + default:
>> > >> + drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
>> > >> + break;
>> > >> + }
>> > >> +
>> > >> + return false;
>> > >> +}
>> > >> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
>> > >> index babd9d16603d..146ee70d66f7 100644
>> > >> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
>> > >> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
>> > >> @@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
>> > >> bool intel_display_needs_wa_16023588340(struct intel_display *display);
>> > >> #endif
>> > >>
>> > >> +enum intel_display_wa {
>> > >> + INTEL_DISPLAY_WA_16023588340,
>> > >
>> > >How is anyone supposed to keep track of these random numbers
>> > >and what they mean?
>> >
>> > they mean there's a h/w workaround that requires that and this is the id
>> > if you need to find more details about it or what platforms/IPs use
>> > that.
>>
>> I don't want to go look up all the details in the common case.
>> I just want to read the code and see that it generally makes
>> sense without having to trawl through the spec/hsd for an
>> hour every time.
>>
>> >
>> > >
>> > >The only time I want to see these numbers is if I really have to
>> > >open the spec/hsd for it to double check some details. Othwerwise
>> > >it just seems like pointless noise that makes it harder to follow
>> > >the code/figure out what the heck is going on.
>> >
>> > what is the alternative? The current status quo checking by platform
>> > and/or IP version, dissociated from the WA numbers?
>>
>> I find it easiest if everything is in one place. I think every
>> w/a generally should have these:
>> - which hardware is affected
>> - what other runtime conditions are required to hit the issue
>> - what is being done to avoid the issue
>> - a short human readable explanation of the issue
>> - the w/a number for looking up futher details
>>
>> Splitting it all up into random bits and pieces just means more
>> jumping around all the time, which I find annoying at best.
>
>I suppose one could argue for a more formal thing for these three:
>- which hardware is affected
>- a short human readable explanation of the issue
>- the w/a number for looking up futher details
>
>Might be still a real pain to deal with that due to having to jump
>around, but at least it could be used to force people to document
>each w/a a bit better.
>
>Basically anything that avoids having to wait for the spec/hsd to
>load is a good thing in my book.
>
>There's also the question of what to do with duplicates, as in often
>it seems the same issue is present on multiple platforms under different
>w/a numbers.
With regard to this last paragraph, in my experience, I have seen two
types of situation:
1. Usually we have a single w/a number that is shared accross different
platforms/IPs, which is what we call the lineage number in our
database. What happens sometimes is that people, by mistake, use the
platform specific ticket number instead of the w/a number.
2. Another thing that happens sometimes is that we might have different
hw bugs that have the same workaround implementation. That is the
legitimate case of having our code mapping two or more w/a numbers to
the same implementation.
--
Gustavo Sousa
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-03 9:30 ` Nautiyal, Ankit K
@ 2025-07-03 12:14 ` Gustavo Sousa
2025-07-03 13:51 ` Lucas De Marchi
1 sibling, 0 replies; 26+ messages in thread
From: Gustavo Sousa @ 2025-07-03 12:14 UTC (permalink / raw)
To: Nautiyal, Ankit K, Ville Syrjälä, Lucas De Marchi
Cc: intel-gfx, intel-xe, jani.nikula, Jani Nikula
Quoting Nautiyal, Ankit K (2025-07-03 06:30:19-03:00)
>
>On 7/3/2025 3:19 AM, Ville Syrjälä wrote:
>> On Thu, Jul 03, 2025 at 12:29:37AM +0300, Ville Syrjälä wrote:
>>> On Wed, Jul 02, 2025 at 03:25:21PM -0500, Lucas De Marchi wrote:
>>>> On Wed, Jul 02, 2025 at 10:40:34PM +0300, Ville Syrjälä wrote:
>>>>> On Wed, Jul 02, 2025 at 02:16:18PM +0530, Ankit Nautiyal wrote:
>>>>>> Introduce a generic helper to check display workarounds using an enum.
>>>>>>
>>>>>> Convert Wa_16023588340 to use the new interface, simplifying WA checks
>>>>>> and making future additions easier.
>>>>>>
>>>>>> v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
>>>>>> macro. (Jani)
>>>>>>
>>>>>> Suggested-by: Jani Nikula <jani.nikula@intel.com>
>>>>>> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>>>>> ---
>>>>>> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
>>>>>> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
>>>>>> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
>>>>>> 3 files changed, 25 insertions(+), 1 deletion(-)
>>>>>>
>>>>>> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>>>>> index f57280e9d041..f5e8d58d9a68 100644
>>>>>> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
>>>>>> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>>>>> @@ -3,6 +3,8 @@
>>>>>> * Copyright © 2023 Intel Corporation
>>>>>> */
>>>>>>
>>>>>> +#include "drm/drm_print.h"
>>>>>> +
>>>>>> #include "i915_reg.h"
>>>>>> #include "intel_de.h"
>>>>>> #include "intel_display_core.h"
>>>>>> @@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
>>>>>> else if (DISPLAY_VER(display) == 11)
>>>>>> gen11_display_wa_apply(display);
>>>>>> }
>>>>>> +
>>>>>> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
>>>>>> +{
>>>>>> + switch (wa) {
>>>>>> + case INTEL_DISPLAY_WA_16023588340:
>>>>>> + return intel_display_needs_wa_16023588340(display);
>>>>>> + default:
>>>>>> + drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
>>>>>> + break;
>>>>>> + }
>>>>>> +
>>>>>> + return false;
>>>>>> +}
>>>>>> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>>>>> index babd9d16603d..146ee70d66f7 100644
>>>>>> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
>>>>>> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>>>>> @@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
>>>>>> bool intel_display_needs_wa_16023588340(struct intel_display *display);
>>>>>> #endif
>>>>>>
>>>>>> +enum intel_display_wa {
>>>>>> + INTEL_DISPLAY_WA_16023588340,
>>>>> How is anyone supposed to keep track of these random numbers
>>>>> and what they mean?
>>>> they mean there's a h/w workaround that requires that and this is the id
>>>> if you need to find more details about it or what platforms/IPs use
>>>> that.
>>> I don't want to go look up all the details in the common case.
>>> I just want to read the code and see that it generally makes
>>> sense without having to trawl through the spec/hsd for an
>>> hour every time.
>>>
>>>>> The only time I want to see these numbers is if I really have to
>>>>> open the spec/hsd for it to double check some details. Othwerwise
>>>>> it just seems like pointless noise that makes it harder to follow
>>>>> the code/figure out what the heck is going on.
>>>> what is the alternative? The current status quo checking by platform
>>>> and/or IP version, dissociated from the WA numbers?
>>> I find it easiest if everything is in one place. I think every
>>> w/a generally should have these:
>>> - which hardware is affected
>>> - what other runtime conditions are required to hit the issue
>>> - what is being done to avoid the issue
>>> - a short human readable explanation of the issue
>>> - the w/a number for looking up futher details
>>>
>>> Splitting it all up into random bits and pieces just means more
>>> jumping around all the time, which I find annoying at best.
>> I suppose one could argue for a more formal thing for these three:
>> - which hardware is affected
>> - a short human readable explanation of the issue
>> - the w/a number for looking up futher details
>
>Whether adding comments with platform and relevant information about Wa
>would be sufficient?
>
>Something like:
>
>/*
> * Wa_16025573575: PTL/WCL
I would not add the ": PTL/WCL" here. The information is already in the
function body and, based on what we have seen on i915, it is easy for
those getting out of sync with the conditions in the code if people are
not careful.
Also, PTL/WCL would not be very accurate: the workaround applies to the
display IP (which could get re-used on another platform) and not the
platform itself.
--
Gustavo Sousa
> * Fix issue with bitbashing on PTL.
> * Set masks bits in GPIO CTL and preserve it during bitbashing sequence.
> */
>static bool intel_display_needs_wa_16025573575(struct intel_display
>*display)
>{
> return DISPLAY_VER(display) == 30;
>}
>
>Or we want to have some wa_struct with fields for platforms and stuff?
>
>
>Regards,
>
>Ankit
>
>>
>> Might be still a real pain to deal with that due to having to jump
>> around, but at least it could be used to force people to document
>> each w/a a bit better.
>>
>> Basically anything that avoids having to wait for the spec/hsd to
>> load is a good thing in my book.
>>
>> There's also the question of what to do with duplicates, as in often
>> it seems the same issue is present on multiple platforms under different
>> w/a numbers.
>>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-03 9:30 ` Nautiyal, Ankit K
2025-07-03 12:14 ` Gustavo Sousa
@ 2025-07-03 13:51 ` Lucas De Marchi
1 sibling, 0 replies; 26+ messages in thread
From: Lucas De Marchi @ 2025-07-03 13:51 UTC (permalink / raw)
To: Nautiyal, Ankit K
Cc: Ville Syrjälä, intel-gfx, intel-xe, jani.nikula,
gustavo.sousa, Jani Nikula
On Thu, Jul 03, 2025 at 03:00:19PM +0530, Nautiyal, Ankit K wrote:
>
>On 7/3/2025 3:19 AM, Ville Syrjälä wrote:
>>On Thu, Jul 03, 2025 at 12:29:37AM +0300, Ville Syrjälä wrote:
>>>On Wed, Jul 02, 2025 at 03:25:21PM -0500, Lucas De Marchi wrote:
>>>>On Wed, Jul 02, 2025 at 10:40:34PM +0300, Ville Syrjälä wrote:
>>>>>On Wed, Jul 02, 2025 at 02:16:18PM +0530, Ankit Nautiyal wrote:
>>>>>>Introduce a generic helper to check display workarounds using an enum.
>>>>>>
>>>>>>Convert Wa_16023588340 to use the new interface, simplifying WA checks
>>>>>>and making future additions easier.
>>>>>>
>>>>>>v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
>>>>>>macro. (Jani)
>>>>>>
>>>>>>Suggested-by: Jani Nikula <jani.nikula@intel.com>
>>>>>>Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>>>>>---
>>>>>> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
>>>>>> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
>>>>>> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
>>>>>> 3 files changed, 25 insertions(+), 1 deletion(-)
>>>>>>
>>>>>>diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>>>>>index f57280e9d041..f5e8d58d9a68 100644
>>>>>>--- a/drivers/gpu/drm/i915/display/intel_display_wa.c
>>>>>>+++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>>>>>@@ -3,6 +3,8 @@
>>>>>> * Copyright © 2023 Intel Corporation
>>>>>> */
>>>>>>
>>>>>>+#include "drm/drm_print.h"
>>>>>>+
>>>>>> #include "i915_reg.h"
>>>>>> #include "intel_de.h"
>>>>>> #include "intel_display_core.h"
>>>>>>@@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
>>>>>> else if (DISPLAY_VER(display) == 11)
>>>>>> gen11_display_wa_apply(display);
>>>>>> }
>>>>>>+
>>>>>>+bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
>>>>>>+{
>>>>>>+ switch (wa) {
>>>>>>+ case INTEL_DISPLAY_WA_16023588340:
>>>>>>+ return intel_display_needs_wa_16023588340(display);
>>>>>>+ default:
>>>>>>+ drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
>>>>>>+ break;
>>>>>>+ }
>>>>>>+
>>>>>>+ return false;
>>>>>>+}
>>>>>>diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>>>>>index babd9d16603d..146ee70d66f7 100644
>>>>>>--- a/drivers/gpu/drm/i915/display/intel_display_wa.h
>>>>>>+++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>>>>>@@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
>>>>>> bool intel_display_needs_wa_16023588340(struct intel_display *display);
>>>>>> #endif
>>>>>>
>>>>>>+enum intel_display_wa {
>>>>>>+ INTEL_DISPLAY_WA_16023588340,
>>>>>How is anyone supposed to keep track of these random numbers
>>>>>and what they mean?
>>>>they mean there's a h/w workaround that requires that and this is the id
>>>>if you need to find more details about it or what platforms/IPs use
>>>>that.
>>>I don't want to go look up all the details in the common case.
>>>I just want to read the code and see that it generally makes
>>>sense without having to trawl through the spec/hsd for an
>>>hour every time.
>>>
>>>>>The only time I want to see these numbers is if I really have to
>>>>>open the spec/hsd for it to double check some details. Othwerwise
>>>>>it just seems like pointless noise that makes it harder to follow
>>>>>the code/figure out what the heck is going on.
>>>>what is the alternative? The current status quo checking by platform
>>>>and/or IP version, dissociated from the WA numbers?
>>>I find it easiest if everything is in one place. I think every
>>>w/a generally should have these:
>>>- which hardware is affected
>>>- what other runtime conditions are required to hit the issue
>>>- what is being done to avoid the issue
>>>- a short human readable explanation of the issue
>>>- the w/a number for looking up futher details
>>>
>>>Splitting it all up into random bits and pieces just means more
>>>jumping around all the time, which I find annoying at best.
>>I suppose one could argue for a more formal thing for these three:
>>- which hardware is affected
>>- a short human readable explanation of the issue
>>- the w/a number for looking up futher details
>
>Whether adding comments with platform and relevant information about
>Wa would be sufficient?
>
>Something like:
>
>/*
> * Wa_16025573575: PTL/WCL
See the nightmare the intel_workarounds.c became. The comments also
don't match what the code is doing which means it's not only noise, it's
wrong information over time.
> * Fix issue with bitbashing on PTL.
> * Set masks bits in GPIO CTL and preserve it during bitbashing sequence.
This description not always can be there. So out of the 3 pieces of
information we already have 2.
> */
>static bool intel_display_needs_wa_16025573575(struct intel_display
>*display)
>{
> return DISPLAY_VER(display) == 30;
>}
>
>Or we want to have some wa_struct with fields for platforms and stuff?
on the xe side we check it once during init and set a bitmap to be used
later. This also allows us to check "what W/A is enabled" from outside
and double check the list of the workarounds for a platform.
Lucas De Marchi
>
>
>Regards,
>
>Ankit
>
>>
>>Might be still a real pain to deal with that due to having to jump
>>around, but at least it could be used to force people to document
>>each w/a a bit better.
>>
>>Basically anything that avoids having to wait for the spec/hsd to
>>load is a good thing in my book.
>>
>>There's also the question of what to do with duplicates, as in often
>>it seems the same issue is present on multiple platforms under different
>>w/a numbers.
>>
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-03 12:08 ` Gustavo Sousa
@ 2025-07-03 13:55 ` Lucas De Marchi
2025-07-03 14:44 ` Gustavo Sousa
0 siblings, 1 reply; 26+ messages in thread
From: Lucas De Marchi @ 2025-07-03 13:55 UTC (permalink / raw)
To: Gustavo Sousa
Cc: Ville Syrjälä, Ankit Nautiyal, intel-gfx, intel-xe,
jani.nikula, Jani Nikula
On Thu, Jul 03, 2025 at 09:08:54AM -0300, Gustavo Sousa wrote:
>Quoting Ville Syrjälä (2025-07-02 18:49:30-03:00)
>>On Thu, Jul 03, 2025 at 12:29:37AM +0300, Ville Syrjälä wrote:
>>> On Wed, Jul 02, 2025 at 03:25:21PM -0500, Lucas De Marchi wrote:
>>> > On Wed, Jul 02, 2025 at 10:40:34PM +0300, Ville Syrjälä wrote:
>>> > >On Wed, Jul 02, 2025 at 02:16:18PM +0530, Ankit Nautiyal wrote:
>>> > >> Introduce a generic helper to check display workarounds using an enum.
>>> > >>
>>> > >> Convert Wa_16023588340 to use the new interface, simplifying WA checks
>>> > >> and making future additions easier.
>>> > >>
>>> > >> v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
>>> > >> macro. (Jani)
>>> > >>
>>> > >> Suggested-by: Jani Nikula <jani.nikula@intel.com>
>>> > >> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>> > >> ---
>>> > >> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
>>> > >> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
>>> > >> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
>>> > >> 3 files changed, 25 insertions(+), 1 deletion(-)
>>> > >>
>>> > >> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>> > >> index f57280e9d041..f5e8d58d9a68 100644
>>> > >> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
>>> > >> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>> > >> @@ -3,6 +3,8 @@
>>> > >> * Copyright © 2023 Intel Corporation
>>> > >> */
>>> > >>
>>> > >> +#include "drm/drm_print.h"
>>> > >> +
>>> > >> #include "i915_reg.h"
>>> > >> #include "intel_de.h"
>>> > >> #include "intel_display_core.h"
>>> > >> @@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
>>> > >> else if (DISPLAY_VER(display) == 11)
>>> > >> gen11_display_wa_apply(display);
>>> > >> }
>>> > >> +
>>> > >> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
>>> > >> +{
>>> > >> + switch (wa) {
>>> > >> + case INTEL_DISPLAY_WA_16023588340:
>>> > >> + return intel_display_needs_wa_16023588340(display);
>>> > >> + default:
>>> > >> + drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
>>> > >> + break;
>>> > >> + }
>>> > >> +
>>> > >> + return false;
>>> > >> +}
>>> > >> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>> > >> index babd9d16603d..146ee70d66f7 100644
>>> > >> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
>>> > >> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>> > >> @@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
>>> > >> bool intel_display_needs_wa_16023588340(struct intel_display *display);
>>> > >> #endif
>>> > >>
>>> > >> +enum intel_display_wa {
>>> > >> + INTEL_DISPLAY_WA_16023588340,
>>> > >
>>> > >How is anyone supposed to keep track of these random numbers
>>> > >and what they mean?
>>> >
>>> > they mean there's a h/w workaround that requires that and this is the id
>>> > if you need to find more details about it or what platforms/IPs use
>>> > that.
>>>
>>> I don't want to go look up all the details in the common case.
>>> I just want to read the code and see that it generally makes
>>> sense without having to trawl through the spec/hsd for an
>>> hour every time.
>>>
>>> >
>>> > >
>>> > >The only time I want to see these numbers is if I really have to
>>> > >open the spec/hsd for it to double check some details. Othwerwise
>>> > >it just seems like pointless noise that makes it harder to follow
>>> > >the code/figure out what the heck is going on.
>>> >
>>> > what is the alternative? The current status quo checking by platform
>>> > and/or IP version, dissociated from the WA numbers?
>>>
>>> I find it easiest if everything is in one place. I think every
>>> w/a generally should have these:
>>> - which hardware is affected
>>> - what other runtime conditions are required to hit the issue
>>> - what is being done to avoid the issue
>>> - a short human readable explanation of the issue
>>> - the w/a number for looking up futher details
>>>
>>> Splitting it all up into random bits and pieces just means more
>>> jumping around all the time, which I find annoying at best.
>>
>>I suppose one could argue for a more formal thing for these three:
>>- which hardware is affected
>>- a short human readable explanation of the issue
>>- the w/a number for looking up futher details
>>
>>Might be still a real pain to deal with that due to having to jump
>>around, but at least it could be used to force people to document
>>each w/a a bit better.
>>
>>Basically anything that avoids having to wait for the spec/hsd to
>>load is a good thing in my book.
>>
>>There's also the question of what to do with duplicates, as in often
>>it seems the same issue is present on multiple platforms under different
>>w/a numbers.
>
>With regard to this last paragraph, in my experience, I have seen two
>types of situation:
>
>1. Usually we have a single w/a number that is shared accross different
> platforms/IPs, which is what we call the lineage number in our
> database. What happens sometimes is that people, by mistake, use the
> platform specific ticket number instead of the w/a number.
>
>2. Another thing that happens sometimes is that we might have different
> hw bugs that have the same workaround implementation. That is the
> legitimate case of having our code mapping two or more w/a numbers to
> the same implementation.
well... but this is the same mitigation for different bugs. They are not
duplicate bugs. It could be that the platforms affected are even
different. We should mark both as implemented to be able to cross check
what we have implemented in the drivers vs the list of workarounds.
Lucas De Marchi
>
>--
>Gustavo Sousa
^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-03 13:55 ` Lucas De Marchi
@ 2025-07-03 14:44 ` Gustavo Sousa
0 siblings, 0 replies; 26+ messages in thread
From: Gustavo Sousa @ 2025-07-03 14:44 UTC (permalink / raw)
To: Lucas De Marchi
Cc: Ville Syrjälä, Ankit Nautiyal, intel-gfx, intel-xe,
jani.nikula, Jani Nikula
Quoting Lucas De Marchi (2025-07-03 10:55:07-03:00)
>On Thu, Jul 03, 2025 at 09:08:54AM -0300, Gustavo Sousa wrote:
>>Quoting Ville Syrjälä (2025-07-02 18:49:30-03:00)
>>>On Thu, Jul 03, 2025 at 12:29:37AM +0300, Ville Syrjälä wrote:
>>>> On Wed, Jul 02, 2025 at 03:25:21PM -0500, Lucas De Marchi wrote:
>>>> > On Wed, Jul 02, 2025 at 10:40:34PM +0300, Ville Syrjälä wrote:
>>>> > >On Wed, Jul 02, 2025 at 02:16:18PM +0530, Ankit Nautiyal wrote:
>>>> > >> Introduce a generic helper to check display workarounds using an enum.
>>>> > >>
>>>> > >> Convert Wa_16023588340 to use the new interface, simplifying WA checks
>>>> > >> and making future additions easier.
>>>> > >>
>>>> > >> v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
>>>> > >> macro. (Jani)
>>>> > >>
>>>> > >> Suggested-by: Jani Nikula <jani.nikula@intel.com>
>>>> > >> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>>>> > >> ---
>>>> > >> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
>>>> > >> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
>>>> > >> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
>>>> > >> 3 files changed, 25 insertions(+), 1 deletion(-)
>>>> > >>
>>>> > >> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>>> > >> index f57280e9d041..f5e8d58d9a68 100644
>>>> > >> --- a/drivers/gpu/drm/i915/display/intel_display_wa.c
>>>> > >> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
>>>> > >> @@ -3,6 +3,8 @@
>>>> > >> * Copyright © 2023 Intel Corporation
>>>> > >> */
>>>> > >>
>>>> > >> +#include "drm/drm_print.h"
>>>> > >> +
>>>> > >> #include "i915_reg.h"
>>>> > >> #include "intel_de.h"
>>>> > >> #include "intel_display_core.h"
>>>> > >> @@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
>>>> > >> else if (DISPLAY_VER(display) == 11)
>>>> > >> gen11_display_wa_apply(display);
>>>> > >> }
>>>> > >> +
>>>> > >> +bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa)
>>>> > >> +{
>>>> > >> + switch (wa) {
>>>> > >> + case INTEL_DISPLAY_WA_16023588340:
>>>> > >> + return intel_display_needs_wa_16023588340(display);
>>>> > >> + default:
>>>> > >> + drm_WARN(display->drm, 1, "Missing Wa number: %d\n", wa);
>>>> > >> + break;
>>>> > >> + }
>>>> > >> +
>>>> > >> + return false;
>>>> > >> +}
>>>> > >> diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>>> > >> index babd9d16603d..146ee70d66f7 100644
>>>> > >> --- a/drivers/gpu/drm/i915/display/intel_display_wa.h
>>>> > >> +++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
>>>> > >> @@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
>>>> > >> bool intel_display_needs_wa_16023588340(struct intel_display *display);
>>>> > >> #endif
>>>> > >>
>>>> > >> +enum intel_display_wa {
>>>> > >> + INTEL_DISPLAY_WA_16023588340,
>>>> > >
>>>> > >How is anyone supposed to keep track of these random numbers
>>>> > >and what they mean?
>>>> >
>>>> > they mean there's a h/w workaround that requires that and this is the id
>>>> > if you need to find more details about it or what platforms/IPs use
>>>> > that.
>>>>
>>>> I don't want to go look up all the details in the common case.
>>>> I just want to read the code and see that it generally makes
>>>> sense without having to trawl through the spec/hsd for an
>>>> hour every time.
>>>>
>>>> >
>>>> > >
>>>> > >The only time I want to see these numbers is if I really have to
>>>> > >open the spec/hsd for it to double check some details. Othwerwise
>>>> > >it just seems like pointless noise that makes it harder to follow
>>>> > >the code/figure out what the heck is going on.
>>>> >
>>>> > what is the alternative? The current status quo checking by platform
>>>> > and/or IP version, dissociated from the WA numbers?
>>>>
>>>> I find it easiest if everything is in one place. I think every
>>>> w/a generally should have these:
>>>> - which hardware is affected
>>>> - what other runtime conditions are required to hit the issue
>>>> - what is being done to avoid the issue
>>>> - a short human readable explanation of the issue
>>>> - the w/a number for looking up futher details
>>>>
>>>> Splitting it all up into random bits and pieces just means more
>>>> jumping around all the time, which I find annoying at best.
>>>
>>>I suppose one could argue for a more formal thing for these three:
>>>- which hardware is affected
>>>- a short human readable explanation of the issue
>>>- the w/a number for looking up futher details
>>>
>>>Might be still a real pain to deal with that due to having to jump
>>>around, but at least it could be used to force people to document
>>>each w/a a bit better.
>>>
>>>Basically anything that avoids having to wait for the spec/hsd to
>>>load is a good thing in my book.
>>>
>>>There's also the question of what to do with duplicates, as in often
>>>it seems the same issue is present on multiple platforms under different
>>>w/a numbers.
>>
>>With regard to this last paragraph, in my experience, I have seen two
>>types of situation:
>>
>>1. Usually we have a single w/a number that is shared accross different
>> platforms/IPs, which is what we call the lineage number in our
>> database. What happens sometimes is that people, by mistake, use the
>> platform specific ticket number instead of the w/a number.
>>
>>2. Another thing that happens sometimes is that we might have different
>> hw bugs that have the same workaround implementation. That is the
>> legitimate case of having our code mapping two or more w/a numbers to
>> the same implementation.
>
>well... but this is the same mitigation for different bugs. They are not
>duplicate bugs. It could be that the platforms affected are even
>different. We should mark both as implemented to be able to cross check
>what we have implemented in the drivers vs the list of workarounds.
Yep, that way I mentioned that case (2) is a legitimate one.
--
Gustavo Sousa
^ permalink raw reply [flat|nested] 26+ messages in thread
* [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-11 4:18 [PATCH 0/2] Introduce helper for display workarounds and add Wa_16025573575 Ankit Nautiyal
@ 2025-07-11 4:18 ` Ankit Nautiyal
2025-07-16 14:18 ` Gustavo Sousa
0 siblings, 1 reply; 26+ messages in thread
From: Ankit Nautiyal @ 2025-07-11 4:18 UTC (permalink / raw)
To: intel-gfx
Cc: intel-xe, gustavo.sousa, lucas.demarchi, ville.syrjala,
Ankit Nautiyal, Jani Nikula
Introduce a generic helper to check display workarounds using an enum.
Convert Wa_16023588340 to use the new interface, simplifying WA checks
and making future additions easier.
v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
macro. (Jani)
v3: Print Missing wa number, instead of enum value. (Gustavo, Jani)
Suggested-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
3 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
index f57280e9d041..32719e2c6025 100644
--- a/drivers/gpu/drm/i915/display/intel_display_wa.c
+++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
@@ -3,6 +3,8 @@
* Copyright © 2023 Intel Corporation
*/
+#include <drm/drm_print.h>
+
#include "i915_reg.h"
#include "intel_de.h"
#include "intel_display_core.h"
@@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
else if (DISPLAY_VER(display) == 11)
gen11_display_wa_apply(display);
}
+
+bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa, const char *name)
+{
+ switch (wa) {
+ case INTEL_DISPLAY_WA_16023588340:
+ return intel_display_needs_wa_16023588340(display);
+ default:
+ drm_WARN(display->drm, 1, "Missing Wa number: %s\n", name);
+ break;
+ }
+
+ return false;
+}
diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
index babd9d16603d..8319e16eb460 100644
--- a/drivers/gpu/drm/i915/display/intel_display_wa.h
+++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
@@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
bool intel_display_needs_wa_16023588340(struct intel_display *display);
#endif
+enum intel_display_wa {
+ INTEL_DISPLAY_WA_16023588340,
+};
+
+bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa, const char *name);
+
+#define intel_display_wa(__display, __wa) \
+ __intel_display_wa((__display), INTEL_DISPLAY_WA_##__wa, __stringify(__wa))
+
#endif
diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
index 6e26cb4c5724..e2e03af520b2 100644
--- a/drivers/gpu/drm/i915/display/intel_fbc.c
+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
@@ -1464,7 +1464,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
return 0;
}
- if (intel_display_needs_wa_16023588340(display)) {
+ if (intel_display_wa(display, 16023588340)) {
plane_state->no_fbc_reason = "Wa_16023588340";
return 0;
}
--
2.45.2
^ permalink raw reply related [flat|nested] 26+ messages in thread
* Re: [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa
2025-07-11 4:18 ` [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa Ankit Nautiyal
@ 2025-07-16 14:18 ` Gustavo Sousa
0 siblings, 0 replies; 26+ messages in thread
From: Gustavo Sousa @ 2025-07-16 14:18 UTC (permalink / raw)
To: Ankit Nautiyal, intel-gfx
Cc: intel-xe, lucas.demarchi, ville.syrjala, Ankit Nautiyal,
Jani Nikula
Quoting Ankit Nautiyal (2025-07-11 01:18:59-03:00)
>Introduce a generic helper to check display workarounds using an enum.
>
>Convert Wa_16023588340 to use the new interface, simplifying WA checks
>and making future additions easier.
>
>v2: Use drm_WARN instead of MISSING_CASE and simplify intel_display_wa
>macro. (Jani)
>v3: Print Missing wa number, instead of enum value. (Gustavo, Jani)
>
>Suggested-by: Jani Nikula <jani.nikula@intel.com>
>Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
>Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
>---
> drivers/gpu/drm/i915/display/intel_display_wa.c | 15 +++++++++++++++
> drivers/gpu/drm/i915/display/intel_display_wa.h | 9 +++++++++
> drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
> 3 files changed, 25 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.c b/drivers/gpu/drm/i915/display/intel_display_wa.c
>index f57280e9d041..32719e2c6025 100644
>--- a/drivers/gpu/drm/i915/display/intel_display_wa.c
>+++ b/drivers/gpu/drm/i915/display/intel_display_wa.c
>@@ -3,6 +3,8 @@
> * Copyright © 2023 Intel Corporation
> */
>
>+#include <drm/drm_print.h>
>+
> #include "i915_reg.h"
> #include "intel_de.h"
> #include "intel_display_core.h"
>@@ -39,3 +41,16 @@ void intel_display_wa_apply(struct intel_display *display)
> else if (DISPLAY_VER(display) == 11)
> gen11_display_wa_apply(display);
> }
>+
>+bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa, const char *name)
>+{
>+ switch (wa) {
>+ case INTEL_DISPLAY_WA_16023588340:
>+ return intel_display_needs_wa_16023588340(display);
>+ default:
>+ drm_WARN(display->drm, 1, "Missing Wa number: %s\n", name);
>+ break;
>+ }
>+
>+ return false;
>+}
>diff --git a/drivers/gpu/drm/i915/display/intel_display_wa.h b/drivers/gpu/drm/i915/display/intel_display_wa.h
>index babd9d16603d..8319e16eb460 100644
>--- a/drivers/gpu/drm/i915/display/intel_display_wa.h
>+++ b/drivers/gpu/drm/i915/display/intel_display_wa.h
>@@ -21,4 +21,13 @@ static inline bool intel_display_needs_wa_16023588340(struct intel_display *disp
> bool intel_display_needs_wa_16023588340(struct intel_display *display);
> #endif
>
>+enum intel_display_wa {
>+ INTEL_DISPLAY_WA_16023588340,
>+};
>+
>+bool __intel_display_wa(struct intel_display *display, enum intel_display_wa wa, const char *name);
>+
>+#define intel_display_wa(__display, __wa) \
>+ __intel_display_wa((__display), INTEL_DISPLAY_WA_##__wa, __stringify(__wa))
>+
> #endif
>diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c b/drivers/gpu/drm/i915/display/intel_fbc.c
>index 6e26cb4c5724..e2e03af520b2 100644
>--- a/drivers/gpu/drm/i915/display/intel_fbc.c
>+++ b/drivers/gpu/drm/i915/display/intel_fbc.c
>@@ -1464,7 +1464,7 @@ static int intel_fbc_check_plane(struct intel_atomic_state *state,
> return 0;
> }
>
>- if (intel_display_needs_wa_16023588340(display)) {
>+ if (intel_display_wa(display, 16023588340)) {
> plane_state->no_fbc_reason = "Wa_16023588340";
> return 0;
> }
>--
>2.45.2
>
^ permalink raw reply [flat|nested] 26+ messages in thread
end of thread, other threads:[~2025-07-16 14:18 UTC | newest]
Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-30 5:49 [PATCH 0/2] Introduce helper for display workarounds and add Wa_16025573575 Ankit Nautiyal
2025-06-30 5:49 ` [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa Ankit Nautiyal
2025-06-30 7:23 ` Jani Nikula
2025-06-30 7:54 ` Nautiyal, Ankit K
2025-06-30 5:49 ` [PATCH 2/2] drm/i915/gmbus: Add Wa_16025573575 for PTL for bit-bashing Ankit Nautiyal
2025-06-30 22:43 ` ✗ CI.checkpatch: warning for Introduce helper for display workarounds and add Wa_16025573575 Patchwork
2025-06-30 22:45 ` ✓ CI.KUnit: success " Patchwork
2025-06-30 23:43 ` ✓ Xe.CI.BAT: " Patchwork
2025-07-02 8:33 ` ✗ Xe.CI.Full: failure " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2025-07-02 8:46 [PATCH 0/2] " Ankit Nautiyal
2025-07-02 8:46 ` [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa Ankit Nautiyal
2025-07-02 9:29 ` Jani Nikula
2025-07-02 13:30 ` Gustavo Sousa
2025-07-02 14:12 ` Jani Nikula
2025-07-03 6:19 ` Nautiyal, Ankit K
2025-07-02 19:40 ` Ville Syrjälä
2025-07-02 20:25 ` Lucas De Marchi
2025-07-02 21:29 ` Ville Syrjälä
2025-07-02 21:49 ` Ville Syrjälä
2025-07-03 9:30 ` Nautiyal, Ankit K
2025-07-03 12:14 ` Gustavo Sousa
2025-07-03 13:51 ` Lucas De Marchi
2025-07-03 12:08 ` Gustavo Sousa
2025-07-03 13:55 ` Lucas De Marchi
2025-07-03 14:44 ` Gustavo Sousa
2025-07-11 4:18 [PATCH 0/2] Introduce helper for display workarounds and add Wa_16025573575 Ankit Nautiyal
2025-07-11 4:18 ` [PATCH 1/2] drm/i915/display_wa: Add helpers to check wa Ankit Nautiyal
2025-07-16 14:18 ` Gustavo Sousa
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox