* [PATCH 01/13] drm/xe/ggtt: Rename parameter name in xe_ggtt_init_kunit()
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
@ 2026-04-28 14:27 ` Michal Wajdeczko
2026-04-29 20:29 ` Summers, Stuart
2026-04-28 14:27 ` [PATCH 02/13] drm/xe/guc: Allow to replace xe_guc_irq_handler() with stub Michal Wajdeczko
` (15 subsequent siblings)
16 siblings, 1 reply; 29+ messages in thread
From: Michal Wajdeczko @ 2026-04-28 14:27 UTC (permalink / raw)
To: intel-xe; +Cc: Michal Wajdeczko, Maarten Lankhorst
The parameter name was changed by the commit 22437f30d2f0 ("drm/xe:
Start using ggtt->start in preparation of balloon removal"), but we
missed then to update the function prototype.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
Cc: Maarten Lankhorst <dev@lankhorst.se>
---
drivers/gpu/drm/xe/xe_ggtt.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xe/xe_ggtt.h b/drivers/gpu/drm/xe/xe_ggtt.h
index c864cc975a69..f0ac7ec0502a 100644
--- a/drivers/gpu/drm/xe/xe_ggtt.h
+++ b/drivers/gpu/drm/xe/xe_ggtt.h
@@ -15,7 +15,7 @@ struct drm_exec;
struct xe_ggtt *xe_ggtt_alloc(struct xe_tile *tile);
int xe_ggtt_init_early(struct xe_ggtt *ggtt);
-int xe_ggtt_init_kunit(struct xe_ggtt *ggtt, u32 reserved, u32 size);
+int xe_ggtt_init_kunit(struct xe_ggtt *ggtt, u32 start, u32 size);
int xe_ggtt_init(struct xe_ggtt *ggtt);
void xe_ggtt_shift_nodes(struct xe_ggtt *ggtt, u64 new_base);
--
2.47.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 01/13] drm/xe/ggtt: Rename parameter name in xe_ggtt_init_kunit()
2026-04-28 14:27 ` [PATCH 01/13] drm/xe/ggtt: Rename parameter name in xe_ggtt_init_kunit() Michal Wajdeczko
@ 2026-04-29 20:29 ` Summers, Stuart
2026-04-30 8:32 ` Jani Nikula
0 siblings, 1 reply; 29+ messages in thread
From: Summers, Stuart @ 2026-04-29 20:29 UTC (permalink / raw)
To: intel-xe@lists.freedesktop.org, Wajdeczko, Michal; +Cc: dev@lankhorst.se
On Tue, 2026-04-28 at 16:27 +0200, Michal Wajdeczko wrote:
> The parameter name was changed by the commit 22437f30d2f0 ("drm/xe:
> Start using ggtt->start in preparation of balloon removal"), but we
> missed then to update the function prototype.
>
Include the Fixes:?
Otherwise the change looks good I agree:
Reviewed-by: Stuart Summers <stuart.summers@intel.com>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
> Cc: Maarten Lankhorst <dev@lankhorst.se>
> ---
> drivers/gpu/drm/xe/xe_ggtt.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_ggtt.h
> b/drivers/gpu/drm/xe/xe_ggtt.h
> index c864cc975a69..f0ac7ec0502a 100644
> --- a/drivers/gpu/drm/xe/xe_ggtt.h
> +++ b/drivers/gpu/drm/xe/xe_ggtt.h
> @@ -15,7 +15,7 @@ struct drm_exec;
>
> struct xe_ggtt *xe_ggtt_alloc(struct xe_tile *tile);
> int xe_ggtt_init_early(struct xe_ggtt *ggtt);
> -int xe_ggtt_init_kunit(struct xe_ggtt *ggtt, u32 reserved, u32
> size);
> +int xe_ggtt_init_kunit(struct xe_ggtt *ggtt, u32 start, u32 size);
> int xe_ggtt_init(struct xe_ggtt *ggtt);
>
> void xe_ggtt_shift_nodes(struct xe_ggtt *ggtt, u64 new_base);
^ permalink raw reply [flat|nested] 29+ messages in thread* Re: [PATCH 01/13] drm/xe/ggtt: Rename parameter name in xe_ggtt_init_kunit()
2026-04-29 20:29 ` Summers, Stuart
@ 2026-04-30 8:32 ` Jani Nikula
2026-04-30 21:50 ` Summers, Stuart
0 siblings, 1 reply; 29+ messages in thread
From: Jani Nikula @ 2026-04-30 8:32 UTC (permalink / raw)
To: Summers, Stuart, intel-xe@lists.freedesktop.org,
Wajdeczko, Michal
Cc: dev@lankhorst.se
On Wed, 29 Apr 2026, "Summers, Stuart" <stuart.summers@intel.com> wrote:
> On Tue, 2026-04-28 at 16:27 +0200, Michal Wajdeczko wrote:
>> The parameter name was changed by the commit 22437f30d2f0 ("drm/xe:
>> Start using ggtt->start in preparation of balloon removal"), but we
>> missed then to update the function prototype.
>>
>
> Include the Fixes:?
Does it really matter? It'll lead to a stable backport of an
inconsequental parameter rename.
BR,
Jani.
>
> Otherwise the change looks good I agree:
> Reviewed-by: Stuart Summers <stuart.summers@intel.com>
>
>> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
>> ---
>> Cc: Maarten Lankhorst <dev@lankhorst.se>
>> ---
>> drivers/gpu/drm/xe/xe_ggtt.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_ggtt.h
>> b/drivers/gpu/drm/xe/xe_ggtt.h
>> index c864cc975a69..f0ac7ec0502a 100644
>> --- a/drivers/gpu/drm/xe/xe_ggtt.h
>> +++ b/drivers/gpu/drm/xe/xe_ggtt.h
>> @@ -15,7 +15,7 @@ struct drm_exec;
>>
>> struct xe_ggtt *xe_ggtt_alloc(struct xe_tile *tile);
>> int xe_ggtt_init_early(struct xe_ggtt *ggtt);
>> -int xe_ggtt_init_kunit(struct xe_ggtt *ggtt, u32 reserved, u32
>> size);
>> +int xe_ggtt_init_kunit(struct xe_ggtt *ggtt, u32 start, u32 size);
>> int xe_ggtt_init(struct xe_ggtt *ggtt);
>>
>> void xe_ggtt_shift_nodes(struct xe_ggtt *ggtt, u64 new_base);
>
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 29+ messages in thread* Re: [PATCH 01/13] drm/xe/ggtt: Rename parameter name in xe_ggtt_init_kunit()
2026-04-30 8:32 ` Jani Nikula
@ 2026-04-30 21:50 ` Summers, Stuart
0 siblings, 0 replies; 29+ messages in thread
From: Summers, Stuart @ 2026-04-30 21:50 UTC (permalink / raw)
To: intel-xe@lists.freedesktop.org, jani.nikula@linux.intel.com,
Wajdeczko, Michal
Cc: dev@lankhorst.se
On Thu, 2026-04-30 at 11:32 +0300, Jani Nikula wrote:
> On Wed, 29 Apr 2026, "Summers, Stuart" <stuart.summers@intel.com>
> wrote:
> > On Tue, 2026-04-28 at 16:27 +0200, Michal Wajdeczko wrote:
> > > The parameter name was changed by the commit 22437f30d2f0
> > > ("drm/xe:
> > > Start using ggtt->start in preparation of balloon removal"), but
> > > we
> > > missed then to update the function prototype.
> > >
> >
> > Include the Fixes:?
>
> Does it really matter? It'll lead to a stable backport of an
> inconsequental parameter rename.
Yeah it's a fair point. Anyway not a blocker from me.
-Stuart
>
> BR,
> Jani.
>
>
> >
> > Otherwise the change looks good I agree:
> > Reviewed-by: Stuart Summers <stuart.summers@intel.com>
> >
> > > Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> > > ---
> > > Cc: Maarten Lankhorst <dev@lankhorst.se>
> > > ---
> > > drivers/gpu/drm/xe/xe_ggtt.h | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/gpu/drm/xe/xe_ggtt.h
> > > b/drivers/gpu/drm/xe/xe_ggtt.h
> > > index c864cc975a69..f0ac7ec0502a 100644
> > > --- a/drivers/gpu/drm/xe/xe_ggtt.h
> > > +++ b/drivers/gpu/drm/xe/xe_ggtt.h
> > > @@ -15,7 +15,7 @@ struct drm_exec;
> > >
> > > struct xe_ggtt *xe_ggtt_alloc(struct xe_tile *tile);
> > > int xe_ggtt_init_early(struct xe_ggtt *ggtt);
> > > -int xe_ggtt_init_kunit(struct xe_ggtt *ggtt, u32 reserved, u32
> > > size);
> > > +int xe_ggtt_init_kunit(struct xe_ggtt *ggtt, u32 start, u32
> > > size);
> > > int xe_ggtt_init(struct xe_ggtt *ggtt);
> > >
> > > void xe_ggtt_shift_nodes(struct xe_ggtt *ggtt, u64 new_base);
> >
>
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 02/13] drm/xe/guc: Allow to replace xe_guc_irq_handler() with stub
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
2026-04-28 14:27 ` [PATCH 01/13] drm/xe/ggtt: Rename parameter name in xe_ggtt_init_kunit() Michal Wajdeczko
@ 2026-04-28 14:27 ` Michal Wajdeczko
2026-04-30 5:44 ` K V P, Satyanarayana
2026-04-28 14:27 ` [PATCH 03/13] drm/xe/hwe: Allow to replace xe_hw_engine_handle_irq() " Michal Wajdeczko
` (14 subsequent siblings)
16 siblings, 1 reply; 29+ messages in thread
From: Michal Wajdeczko @ 2026-04-28 14:27 UTC (permalink / raw)
To: intel-xe; +Cc: Michal Wajdeczko
We want to use replacement functions in upcoming kunit tests.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
drivers/gpu/drm/xe/xe_guc.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
index e468b638271b..13228b0bd63c 100644
--- a/drivers/gpu/drm/xe/xe_guc.c
+++ b/drivers/gpu/drm/xe/xe_guc.c
@@ -7,6 +7,7 @@
#include <linux/iopoll.h>
#include <drm/drm_managed.h>
+#include <kunit/static_stub.h>
#include <generated/xe_wa_oob.h>
@@ -1675,6 +1676,8 @@ static void xe_guc_sw_0_irq_handler(struct xe_guc *guc)
void xe_guc_irq_handler(struct xe_guc *guc, const u16 iir)
{
+ KUNIT_STATIC_STUB_REDIRECT(xe_guc_irq_handler, guc, iir);
+
if (iir & GUC_INTR_GUC2HOST)
xe_guc_ct_irq_handler(&guc->ct);
--
2.47.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 02/13] drm/xe/guc: Allow to replace xe_guc_irq_handler() with stub
2026-04-28 14:27 ` [PATCH 02/13] drm/xe/guc: Allow to replace xe_guc_irq_handler() with stub Michal Wajdeczko
@ 2026-04-30 5:44 ` K V P, Satyanarayana
0 siblings, 0 replies; 29+ messages in thread
From: K V P, Satyanarayana @ 2026-04-30 5:44 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe
[-- Attachment #1: Type: text/plain, Size: 1019 bytes --]
On 28-Apr-26 7:57 PM, Michal Wajdeczko wrote:
> We want to use replacement functions in upcoming kunit tests.
>
> Signed-off-by: Michal Wajdeczko<michal.wajdeczko@intel.com>
> ---
> drivers/gpu/drm/xe/xe_guc.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
> index e468b638271b..13228b0bd63c 100644
> --- a/drivers/gpu/drm/xe/xe_guc.c
> +++ b/drivers/gpu/drm/xe/xe_guc.c
> @@ -7,6 +7,7 @@
>
> #include <linux/iopoll.h>
> #include <drm/drm_managed.h>
> +#include <kunit/static_stub.h>
>
> #include <generated/xe_wa_oob.h>
>
> @@ -1675,6 +1676,8 @@ static void xe_guc_sw_0_irq_handler(struct xe_guc *guc)
>
> void xe_guc_irq_handler(struct xe_guc *guc, const u16 iir)
> {
> + KUNIT_STATIC_STUB_REDIRECT(xe_guc_irq_handler, guc, iir);
> +
> if (iir & GUC_INTR_GUC2HOST)
> xe_guc_ct_irq_handler(&guc->ct);
>
LGTM.
Reviewed-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com
<mailto:satyanarayana.k.v.p@intel.com>>
[-- Attachment #2: Type: text/html, Size: 1771 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 03/13] drm/xe/hwe: Allow to replace xe_hw_engine_handle_irq() with stub
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
2026-04-28 14:27 ` [PATCH 01/13] drm/xe/ggtt: Rename parameter name in xe_ggtt_init_kunit() Michal Wajdeczko
2026-04-28 14:27 ` [PATCH 02/13] drm/xe/guc: Allow to replace xe_guc_irq_handler() with stub Michal Wajdeczko
@ 2026-04-28 14:27 ` Michal Wajdeczko
2026-04-30 5:47 ` K V P, Satyanarayana
2026-04-28 14:27 ` [PATCH 04/13] drm/xe/mmio: Allow to replace xe_mmio_read32|write32() " Michal Wajdeczko
` (13 subsequent siblings)
16 siblings, 1 reply; 29+ messages in thread
From: Michal Wajdeczko @ 2026-04-28 14:27 UTC (permalink / raw)
To: intel-xe; +Cc: Michal Wajdeczko
We want to use replacement functions in upcoming kunit tests.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
drivers/gpu/drm/xe/xe_hw_engine.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
index 0f0e08bcc182..fb1bd2550160 100644
--- a/drivers/gpu/drm/xe/xe_hw_engine.c
+++ b/drivers/gpu/drm/xe/xe_hw_engine.c
@@ -6,6 +6,7 @@
#include "xe_hw_engine.h"
#include <linux/nospec.h>
+#include <kunit/static_stub.h>
#include <drm/drm_managed.h>
#include <drm/drm_print.h>
@@ -882,6 +883,8 @@ int xe_hw_engines_init(struct xe_gt *gt)
void xe_hw_engine_handle_irq(struct xe_hw_engine *hwe, u16 intr_vec)
{
+ KUNIT_STATIC_STUB_REDIRECT(xe_hw_engine_handle_irq, hwe, intr_vec);
+
wake_up_all(>_to_xe(hwe->gt)->ufence_wq);
if (hwe->irq_handler)
--
2.47.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 03/13] drm/xe/hwe: Allow to replace xe_hw_engine_handle_irq() with stub
2026-04-28 14:27 ` [PATCH 03/13] drm/xe/hwe: Allow to replace xe_hw_engine_handle_irq() " Michal Wajdeczko
@ 2026-04-30 5:47 ` K V P, Satyanarayana
0 siblings, 0 replies; 29+ messages in thread
From: K V P, Satyanarayana @ 2026-04-30 5:47 UTC (permalink / raw)
To: intel-xe
[-- Attachment #1: Type: text/plain, Size: 1038 bytes --]
On 28-Apr-26 7:57 PM, Michal Wajdeczko wrote:
> We want to use replacement functions in upcoming kunit tests.
>
> Signed-off-by: Michal Wajdeczko<michal.wajdeczko@intel.com>
> ---
> drivers/gpu/drm/xe/xe_hw_engine.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_hw_engine.c b/drivers/gpu/drm/xe/xe_hw_engine.c
> index 0f0e08bcc182..fb1bd2550160 100644
> --- a/drivers/gpu/drm/xe/xe_hw_engine.c
> +++ b/drivers/gpu/drm/xe/xe_hw_engine.c
> @@ -6,6 +6,7 @@
> #include "xe_hw_engine.h"
>
> #include <linux/nospec.h>
> +#include <kunit/static_stub.h>
>
> #include <drm/drm_managed.h>
> #include <drm/drm_print.h>
> @@ -882,6 +883,8 @@ int xe_hw_engines_init(struct xe_gt *gt)
>
> void xe_hw_engine_handle_irq(struct xe_hw_engine *hwe, u16 intr_vec)
> {
> + KUNIT_STATIC_STUB_REDIRECT(xe_hw_engine_handle_irq, hwe, intr_vec);
> +
> wake_up_all(>_to_xe(hwe->gt)->ufence_wq);
>
> if (hwe->irq_handler)
LGTM.
Reviewed-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
[-- Attachment #2: Type: text/html, Size: 1790 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 04/13] drm/xe/mmio: Allow to replace xe_mmio_read32|write32() with stub
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (2 preceding siblings ...)
2026-04-28 14:27 ` [PATCH 03/13] drm/xe/hwe: Allow to replace xe_hw_engine_handle_irq() " Michal Wajdeczko
@ 2026-04-28 14:27 ` Michal Wajdeczko
2026-04-30 5:48 ` K V P, Satyanarayana
2026-04-28 14:27 ` [PATCH 05/13] drm/xe/kunit: Promote GGTT initialization to test_init() helper Michal Wajdeczko
` (12 subsequent siblings)
16 siblings, 1 reply; 29+ messages in thread
From: Michal Wajdeczko @ 2026-04-28 14:27 UTC (permalink / raw)
To: intel-xe; +Cc: Michal Wajdeczko
We want to use replacement functions in upcoming kunit tests.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
drivers/gpu/drm/xe/xe_mmio.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c
index 78adb303b663..83cd1157cf61 100644
--- a/drivers/gpu/drm/xe/xe_mmio.c
+++ b/drivers/gpu/drm/xe/xe_mmio.c
@@ -10,6 +10,8 @@
#include <linux/minmax.h>
#include <linux/pci.h>
+#include <kunit/static_stub.h>
+
#include <drm/drm_managed.h>
#include <drm/drm_print.h>
@@ -180,6 +182,8 @@ void xe_mmio_write32(struct xe_mmio *mmio, struct xe_reg reg, u32 val)
{
u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
+ KUNIT_STATIC_STUB_REDIRECT(xe_mmio_write32, mmio, reg, val);
+
trace_xe_reg_rw(mmio, true, addr, val, sizeof(val));
if (!reg.vf && IS_SRIOV_VF(mmio->tile->xe))
@@ -194,6 +198,8 @@ u32 xe_mmio_read32(struct xe_mmio *mmio, struct xe_reg reg)
u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
u32 val;
+ KUNIT_STATIC_STUB_REDIRECT(xe_mmio_read32, mmio, reg);
+
mmio_flush_pending_writes(mmio);
if (!reg.vf && IS_SRIOV_VF(mmio->tile->xe))
--
2.47.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 04/13] drm/xe/mmio: Allow to replace xe_mmio_read32|write32() with stub
2026-04-28 14:27 ` [PATCH 04/13] drm/xe/mmio: Allow to replace xe_mmio_read32|write32() " Michal Wajdeczko
@ 2026-04-30 5:48 ` K V P, Satyanarayana
0 siblings, 0 replies; 29+ messages in thread
From: K V P, Satyanarayana @ 2026-04-30 5:48 UTC (permalink / raw)
To: intel-xe
[-- Attachment #1: Type: text/plain, Size: 1366 bytes --]
On 28-Apr-26 7:57 PM, Michal Wajdeczko wrote:
> We want to use replacement functions in upcoming kunit tests.
>
> Signed-off-by: Michal Wajdeczko<michal.wajdeczko@intel.com>
> ---
> drivers/gpu/drm/xe/xe_mmio.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_mmio.c b/drivers/gpu/drm/xe/xe_mmio.c
> index 78adb303b663..83cd1157cf61 100644
> --- a/drivers/gpu/drm/xe/xe_mmio.c
> +++ b/drivers/gpu/drm/xe/xe_mmio.c
> @@ -10,6 +10,8 @@
> #include <linux/minmax.h>
> #include <linux/pci.h>
>
> +#include <kunit/static_stub.h>
> +
> #include <drm/drm_managed.h>
> #include <drm/drm_print.h>
>
> @@ -180,6 +182,8 @@ void xe_mmio_write32(struct xe_mmio *mmio, struct xe_reg reg, u32 val)
> {
> u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
>
> + KUNIT_STATIC_STUB_REDIRECT(xe_mmio_write32, mmio, reg, val);
> +
> trace_xe_reg_rw(mmio, true, addr, val, sizeof(val));
>
> if (!reg.vf && IS_SRIOV_VF(mmio->tile->xe))
> @@ -194,6 +198,8 @@ u32 xe_mmio_read32(struct xe_mmio *mmio, struct xe_reg reg)
> u32 addr = xe_mmio_adjusted_addr(mmio, reg.addr);
> u32 val;
>
> + KUNIT_STATIC_STUB_REDIRECT(xe_mmio_read32, mmio, reg);
> +
> mmio_flush_pending_writes(mmio);
>
> if (!reg.vf && IS_SRIOV_VF(mmio->tile->xe))
LGTM.
Reviewed-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
[-- Attachment #2: Type: text/html, Size: 2142 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 05/13] drm/xe/kunit: Promote GGTT initialization to test_init() helper
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (3 preceding siblings ...)
2026-04-28 14:27 ` [PATCH 04/13] drm/xe/mmio: Allow to replace xe_mmio_read32|write32() " Michal Wajdeczko
@ 2026-04-28 14:27 ` Michal Wajdeczko
2026-04-28 14:27 ` [PATCH 06/13] drm/xe/kunit: Promote fake BO activation " Michal Wajdeczko
` (11 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Michal Wajdeczko @ 2026-04-28 14:27 UTC (permalink / raw)
To: intel-xe; +Cc: Michal Wajdeczko
Our test_init() helper already do a minimal initialization of the
kunit fake xe_device, including basic setup of main components like
xe_tile and xe_gt, but some other main components, like xe_ggtt or
xe_mmio, were completely untouched. Move basic GGTT initialization
to the test_init() helper function, as it does not require much
work, and allows to simplify other tests init functions.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c | 9 +++------
drivers/gpu/drm/xe/tests/xe_kunit_helpers.c | 20 ++++++++++++++++++++
drivers/gpu/drm/xe/tests/xe_pci_test.h | 2 ++
3 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c b/drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c
index 51e1e04001ac..0108316fa64a 100644
--- a/drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c
+++ b/drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c
@@ -51,19 +51,16 @@ static int guc_buf_test_init(struct kunit *test)
.sriov_mode = XE_SRIOV_MODE_PF,
.platform = XE_TIGERLAKE, /* some random platform */
.subplatform = XE_SUBPLATFORM_NONE,
+ .ggtt_start = DUT_GGTT_START,
+ .ggtt_size = DUT_GGTT_SIZE,
};
- struct xe_ggtt *ggtt;
struct xe_guc *guc;
test->priv = &fake;
xe_kunit_helper_xe_device_test_init(test);
- ggtt = xe_device_get_root_tile(test->priv)->mem.ggtt;
guc = &xe_device_get_gt(test->priv, 0)->uc.guc;
-
- KUNIT_ASSERT_EQ(test, 0,
- xe_ggtt_init_kunit(ggtt, DUT_GGTT_START,
- DUT_GGTT_SIZE));
+ KUNIT_ASSERT_NOT_ERR_OR_NULL(test, guc);
kunit_activate_static_stub(test, xe_managed_bo_create_pin_map,
replacement_xe_managed_bo_create_pin_map);
diff --git a/drivers/gpu/drm/xe/tests/xe_kunit_helpers.c b/drivers/gpu/drm/xe/tests/xe_kunit_helpers.c
index bc5156966ce9..e4495a453f80 100644
--- a/drivers/gpu/drm/xe/tests/xe_kunit_helpers.c
+++ b/drivers/gpu/drm/xe/tests/xe_kunit_helpers.c
@@ -14,6 +14,7 @@
#include "tests/xe_pci_test.h"
#include "xe_device.h"
#include "xe_device_types.h"
+#include "xe_ggtt.h"
#include "xe_pm.h"
/**
@@ -50,6 +51,18 @@ static void kunit_action_restore_priv(void *priv)
test->priv = priv;
}
+static void fake_device_init_ggtt(struct xe_device *xe, u64 start, u64 size)
+{
+ struct kunit *test = kunit_get_current_test();
+ struct xe_tile *tile;
+ unsigned int id;
+
+ for_each_tile(tile, xe, id) {
+ KUNIT_ASSERT_NOT_ERR_OR_NULL(test, tile->mem.ggtt);
+ KUNIT_EXPECT_EQ(test, xe_ggtt_init_kunit(tile->mem.ggtt, start, size), 0);
+ }
+}
+
/**
* xe_kunit_helper_xe_device_test_init - Prepare a &xe_device for a KUnit test.
* @test: the &kunit where this fake &xe_device will be used
@@ -64,12 +77,16 @@ static void kunit_action_restore_priv(void *priv)
* in &kunit.priv pointer to the struct xe_pci_fake_data supplemented with
* desired parameters prior to calling this function.
*
+ * If xe_pci_fake_data->ggtt_size is set then this function will also do
+ * a minimal GGTT initialization.
+ *
* This function uses KUNIT_ASSERT to detect any failures.
*
* Return: Always 0.
*/
int xe_kunit_helper_xe_device_test_init(struct kunit *test)
{
+ struct xe_pci_fake_data *data = test->priv;
struct xe_device *xe;
struct device *dev;
int err;
@@ -86,6 +103,9 @@ int xe_kunit_helper_xe_device_test_init(struct kunit *test)
err = kunit_add_action_or_reset(test, kunit_action_restore_priv, test->priv);
KUNIT_ASSERT_EQ(test, err, 0);
+ if (data && data->ggtt_size)
+ fake_device_init_ggtt(xe, data->ggtt_start, data->ggtt_size);
+
test->priv = xe;
return 0;
}
diff --git a/drivers/gpu/drm/xe/tests/xe_pci_test.h b/drivers/gpu/drm/xe/tests/xe_pci_test.h
index 30505d1cbefc..e807585b88c2 100644
--- a/drivers/gpu/drm/xe/tests/xe_pci_test.h
+++ b/drivers/gpu/drm/xe/tests/xe_pci_test.h
@@ -22,6 +22,8 @@ struct xe_pci_fake_data {
struct xe_step_info step;
u32 graphics_verx100;
u32 media_verx100;
+ u64 ggtt_start;
+ u64 ggtt_size;
};
int xe_pci_fake_device_init(struct xe_device *xe);
--
2.47.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* [PATCH 06/13] drm/xe/kunit: Promote fake BO activation to test_init() helper
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (4 preceding siblings ...)
2026-04-28 14:27 ` [PATCH 05/13] drm/xe/kunit: Promote GGTT initialization to test_init() helper Michal Wajdeczko
@ 2026-04-28 14:27 ` Michal Wajdeczko
2026-04-28 14:27 ` [PATCH 07/13] drm/xe/kunit: Activate empty MMIO stubs in test_init() Michal Wajdeczko
` (10 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Michal Wajdeczko @ 2026-04-28 14:27 UTC (permalink / raw)
To: intel-xe; +Cc: Michal Wajdeczko
We already introduced a fake buffer object allocation stub in one
of our kunit tests. Move this stub activation to our test_init()
helper function for easier reuse and to avoid code duplication.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c | 33 -----------------
drivers/gpu/drm/xe/tests/xe_kunit_helpers.c | 39 +++++++++++++++++++++
2 files changed, 39 insertions(+), 33 deletions(-)
diff --git a/drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c b/drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c
index 0108316fa64a..a6439e991688 100644
--- a/drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c
+++ b/drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c
@@ -16,35 +16,6 @@
#define DUT_GGTT_START SZ_1M
#define DUT_GGTT_SIZE SZ_2M
-static struct xe_bo *replacement_xe_managed_bo_create_pin_map(struct xe_device *xe,
- struct xe_tile *tile,
- size_t size, u32 flags)
-{
- struct kunit *test = kunit_get_current_test();
- struct xe_bo *bo;
- void *buf;
-
- bo = drmm_kzalloc(&xe->drm, sizeof(*bo), GFP_KERNEL);
- KUNIT_ASSERT_NOT_ERR_OR_NULL(test, bo);
-
- buf = drmm_kzalloc(&xe->drm, size, GFP_KERNEL);
- KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buf);
-
- bo->tile = tile;
- bo->ttm.bdev = &xe->ttm;
- bo->ttm.base.size = size;
- iosys_map_set_vaddr(&bo->vmap, buf);
-
- if (flags & XE_BO_FLAG_GGTT) {
- struct xe_ggtt *ggtt = tile->mem.ggtt;
-
- bo->ggtt_node[tile->id] = xe_ggtt_insert_node(ggtt, xe_bo_size(bo), SZ_4K);
- KUNIT_ASSERT_NOT_ERR_OR_NULL(test, bo->ggtt_node[tile->id]);
- }
-
- return bo;
-}
-
static int guc_buf_test_init(struct kunit *test)
{
struct xe_pci_fake_data fake = {
@@ -61,10 +32,6 @@ static int guc_buf_test_init(struct kunit *test)
guc = &xe_device_get_gt(test->priv, 0)->uc.guc;
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, guc);
-
- kunit_activate_static_stub(test, xe_managed_bo_create_pin_map,
- replacement_xe_managed_bo_create_pin_map);
-
KUNIT_ASSERT_EQ(test, 0, xe_guc_buf_cache_init(&guc->buf));
test->priv = &guc->buf;
diff --git a/drivers/gpu/drm/xe/tests/xe_kunit_helpers.c b/drivers/gpu/drm/xe/tests/xe_kunit_helpers.c
index e4495a453f80..8276cabc4820 100644
--- a/drivers/gpu/drm/xe/tests/xe_kunit_helpers.c
+++ b/drivers/gpu/drm/xe/tests/xe_kunit_helpers.c
@@ -9,9 +9,11 @@
#include <drm/drm_drv.h>
#include <drm/drm_kunit_helpers.h>
+#include <drm/drm_managed.h>
#include "tests/xe_kunit_helpers.h"
#include "tests/xe_pci_test.h"
+#include "xe_bo.h"
#include "xe_device.h"
#include "xe_device_types.h"
#include "xe_ggtt.h"
@@ -63,6 +65,40 @@ static void fake_device_init_ggtt(struct xe_device *xe, u64 start, u64 size)
}
}
+static struct xe_bo *fake_xe_managed_bo_create_pin_map(struct xe_device *xe,
+ struct xe_tile *tile,
+ size_t size, u32 flags)
+{
+ struct kunit *test = kunit_get_current_test();
+ struct xe_bo *bo;
+ void *buf;
+
+ KUNIT_EXPECT_TRUE(test, flags & XE_BO_FLAG_SYSTEM);
+ buf = drmm_kzalloc(&xe->drm, size, GFP_KERNEL);
+ KUNIT_ASSERT_NOT_ERR_OR_NULL(test, buf);
+
+ bo = drmm_kzalloc(&xe->drm, sizeof(*bo), GFP_KERNEL);
+ KUNIT_ASSERT_NOT_ERR_OR_NULL(test, bo);
+
+ bo->tile = tile;
+ bo->ttm.bdev = &xe->ttm;
+ bo->ttm.base.size = size;
+ iosys_map_set_vaddr(&bo->vmap, buf);
+
+ if (flags & XE_BO_FLAG_GGTT) {
+ struct xe_ggtt *ggtt = tile->mem.ggtt;
+ struct xe_ggtt_node *node;
+
+ KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ggtt);
+ node = xe_ggtt_insert_node(ggtt, xe_bo_size(bo), SZ_4K);
+ if (IS_ERR(node))
+ return ERR_CAST(node);
+ bo->ggtt_node[tile->id] = node;
+ }
+
+ return bo;
+}
+
/**
* xe_kunit_helper_xe_device_test_init - Prepare a &xe_device for a KUnit test.
* @test: the &kunit where this fake &xe_device will be used
@@ -106,6 +142,9 @@ int xe_kunit_helper_xe_device_test_init(struct kunit *test)
if (data && data->ggtt_size)
fake_device_init_ggtt(xe, data->ggtt_start, data->ggtt_size);
+ kunit_activate_static_stub(test, xe_managed_bo_create_pin_map,
+ fake_xe_managed_bo_create_pin_map);
+
test->priv = xe;
return 0;
}
--
2.47.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* [PATCH 07/13] drm/xe/kunit: Activate empty MMIO stubs in test_init()
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (5 preceding siblings ...)
2026-04-28 14:27 ` [PATCH 06/13] drm/xe/kunit: Promote fake BO activation " Michal Wajdeczko
@ 2026-04-28 14:27 ` Michal Wajdeczko
2026-04-28 14:27 ` [PATCH 08/13] drm/xe/memirq: Make page layout macros private Michal Wajdeczko
` (9 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Michal Wajdeczko @ 2026-04-28 14:27 UTC (permalink / raw)
To: intel-xe; +Cc: Michal Wajdeczko
Our fake xe_device created in test_init() will immediately crash
when test code attempts to reuse any function that is accessing
the xe_mmio structure. But in many cases we can simply ignore
writes and return some value on reads, to make the code happy.
Activate simple stubs that will just log the MMIO accesses and
allow to pass test specific value, if non-zero value is better.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
drivers/gpu/drm/xe/tests/xe_kunit_helpers.c | 37 +++++++++++++++++++++
drivers/gpu/drm/xe/tests/xe_pci_test.h | 1 +
2 files changed, 38 insertions(+)
diff --git a/drivers/gpu/drm/xe/tests/xe_kunit_helpers.c b/drivers/gpu/drm/xe/tests/xe_kunit_helpers.c
index 8276cabc4820..14271c4662d6 100644
--- a/drivers/gpu/drm/xe/tests/xe_kunit_helpers.c
+++ b/drivers/gpu/drm/xe/tests/xe_kunit_helpers.c
@@ -17,6 +17,7 @@
#include "xe_device.h"
#include "xe_device_types.h"
#include "xe_ggtt.h"
+#include "xe_mmio.h"
#include "xe_pm.h"
/**
@@ -99,6 +100,28 @@ static struct xe_bo *fake_xe_managed_bo_create_pin_map(struct xe_device *xe,
return bo;
}
+static u32 fake_xe_mmio_read32(struct xe_mmio *mmio, struct xe_reg reg)
+{
+ struct kunit *test = kunit_get_current_test();
+ struct kunit_resource *res;
+ u32 val = 0;
+
+ res = kunit_find_named_resource(test, "mmio_read");
+ if (res) {
+ val = *(u32 *)res->data;
+ kunit_put_resource(res);
+ }
+ kunit_info(test, "mmio[%#x] read %#x\n", reg.addr, val);
+ return val;
+}
+
+static void fake_xe_mmio_write32(struct xe_mmio *mmio, struct xe_reg reg, u32 val)
+{
+ struct kunit *test = kunit_get_current_test();
+
+ kunit_info(test, "mmio[%#x] write %#x\n", reg.addr, val);
+}
+
/**
* xe_kunit_helper_xe_device_test_init - Prepare a &xe_device for a KUnit test.
* @test: the &kunit where this fake &xe_device will be used
@@ -116,6 +139,9 @@ static struct xe_bo *fake_xe_managed_bo_create_pin_map(struct xe_device *xe,
* If xe_pci_fake_data->ggtt_size is set then this function will also do
* a minimal GGTT initialization.
*
+ * This function will also activate stubs for some xe_mmio operations.
+ * The xe_mmio reads will return value passed in xe_pci_fake_data->mmio_read.
+ *
* This function uses KUNIT_ASSERT to detect any failures.
*
* Return: Always 0.
@@ -145,6 +171,17 @@ int xe_kunit_helper_xe_device_test_init(struct kunit *test)
kunit_activate_static_stub(test, xe_managed_bo_create_pin_map,
fake_xe_managed_bo_create_pin_map);
+ if (data && data->mmio_read) {
+ struct kunit_resource *res = kunit_kzalloc(test, sizeof(*res), GFP_KERNEL);
+
+ KUNIT_ASSERT_NOT_ERR_OR_NULL(test, res);
+ err = kunit_add_named_resource(test, NULL, NULL, res,
+ "mmio_read", &data->mmio_read);
+ KUNIT_ASSERT_EQ(test, err, 0);
+ }
+ kunit_activate_static_stub(test, xe_mmio_read32, fake_xe_mmio_read32);
+ kunit_activate_static_stub(test, xe_mmio_write32, fake_xe_mmio_write32);
+
test->priv = xe;
return 0;
}
diff --git a/drivers/gpu/drm/xe/tests/xe_pci_test.h b/drivers/gpu/drm/xe/tests/xe_pci_test.h
index e807585b88c2..0011b9e710e5 100644
--- a/drivers/gpu/drm/xe/tests/xe_pci_test.h
+++ b/drivers/gpu/drm/xe/tests/xe_pci_test.h
@@ -24,6 +24,7 @@ struct xe_pci_fake_data {
u32 media_verx100;
u64 ggtt_start;
u64 ggtt_size;
+ u32 mmio_read;
};
int xe_pci_fake_device_init(struct xe_device *xe);
--
2.47.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* [PATCH 08/13] drm/xe/memirq: Make page layout macros private
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (6 preceding siblings ...)
2026-04-28 14:27 ` [PATCH 07/13] drm/xe/kunit: Activate empty MMIO stubs in test_init() Michal Wajdeczko
@ 2026-04-28 14:27 ` Michal Wajdeczko
2026-05-05 7:54 ` Levi, Ilia
2026-04-28 14:27 ` [PATCH 09/13] drm/xe/memirq: Introduce helper to calculate source page offset Michal Wajdeczko
` (8 subsequent siblings)
16 siblings, 1 reply; 29+ messages in thread
From: Michal Wajdeczko @ 2026-04-28 14:27 UTC (permalink / raw)
To: intel-xe; +Cc: Michal Wajdeczko
There is no need to expose the macros describing memory-based
interrupts page layouts in the .h file as we only use them in
the private code. Move them to the .c file near the kernel-doc.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
drivers/gpu/drm/xe/xe_memirq.c | 7 +++++++
drivers/gpu/drm/xe/xe_memirq_types.h | 7 -------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_memirq.c b/drivers/gpu/drm/xe/xe_memirq.c
index 811e07136efb..519b36ce2020 100644
--- a/drivers/gpu/drm/xe/xe_memirq.c
+++ b/drivers/gpu/drm/xe/xe_memirq.c
@@ -152,6 +152,13 @@ static const char *guc_name(struct xe_guc *guc)
*
*/
+/* ISR */
+#define XE_MEMIRQ_STATUS_OFFSET(inst) ((inst) * SZ_4K + 0x0)
+/* IIR */
+#define XE_MEMIRQ_SOURCE_OFFSET(inst) ((inst) * SZ_4K + 0x400)
+/* IMR */
+#define XE_MEMIRQ_ENABLE_OFFSET 0x440
+
static inline bool hw_reports_to_instance_zero(struct xe_memirq *memirq)
{
/*
diff --git a/drivers/gpu/drm/xe/xe_memirq_types.h b/drivers/gpu/drm/xe/xe_memirq_types.h
index 9d0f6c1cdb9d..02ac938cadb4 100644
--- a/drivers/gpu/drm/xe/xe_memirq_types.h
+++ b/drivers/gpu/drm/xe/xe_memirq_types.h
@@ -10,13 +10,6 @@
struct xe_bo;
-/* ISR */
-#define XE_MEMIRQ_STATUS_OFFSET(inst) ((inst) * SZ_4K + 0x0)
-/* IIR */
-#define XE_MEMIRQ_SOURCE_OFFSET(inst) ((inst) * SZ_4K + 0x400)
-/* IMR */
-#define XE_MEMIRQ_ENABLE_OFFSET 0x440
-
/**
* struct xe_memirq - Data used by the `Memory Based Interrupts`_.
*
--
2.47.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 08/13] drm/xe/memirq: Make page layout macros private
2026-04-28 14:27 ` [PATCH 08/13] drm/xe/memirq: Make page layout macros private Michal Wajdeczko
@ 2026-05-05 7:54 ` Levi, Ilia
0 siblings, 0 replies; 29+ messages in thread
From: Levi, Ilia @ 2026-05-05 7:54 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe
On 4/28/2026 5:27 PM, Michal Wajdeczko wrote:
> There is no need to expose the macros describing memory-based
> interrupts page layouts in the .h file as we only use them in
> the private code. Move them to the .c file near the kernel-doc.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Reviewed-by: Ilia Levi <ilia.levi@intel.com>
> ---
> drivers/gpu/drm/xe/xe_memirq.c | 7 +++++++
> drivers/gpu/drm/xe/xe_memirq_types.h | 7 -------
> 2 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_memirq.c b/drivers/gpu/drm/xe/xe_memirq.c
> index 811e07136efb..519b36ce2020 100644
> --- a/drivers/gpu/drm/xe/xe_memirq.c
> +++ b/drivers/gpu/drm/xe/xe_memirq.c
> @@ -152,6 +152,13 @@ static const char *guc_name(struct xe_guc *guc)
> *
> */
>
> +/* ISR */
> +#define XE_MEMIRQ_STATUS_OFFSET(inst) ((inst) * SZ_4K + 0x0)
> +/* IIR */
> +#define XE_MEMIRQ_SOURCE_OFFSET(inst) ((inst) * SZ_4K + 0x400)
> +/* IMR */
> +#define XE_MEMIRQ_ENABLE_OFFSET 0x440
> +
> static inline bool hw_reports_to_instance_zero(struct xe_memirq *memirq)
> {
> /*
> diff --git a/drivers/gpu/drm/xe/xe_memirq_types.h b/drivers/gpu/drm/xe/xe_memirq_types.h
> index 9d0f6c1cdb9d..02ac938cadb4 100644
> --- a/drivers/gpu/drm/xe/xe_memirq_types.h
> +++ b/drivers/gpu/drm/xe/xe_memirq_types.h
> @@ -10,13 +10,6 @@
>
> struct xe_bo;
>
> -/* ISR */
> -#define XE_MEMIRQ_STATUS_OFFSET(inst) ((inst) * SZ_4K + 0x0)
> -/* IIR */
> -#define XE_MEMIRQ_SOURCE_OFFSET(inst) ((inst) * SZ_4K + 0x400)
> -/* IMR */
> -#define XE_MEMIRQ_ENABLE_OFFSET 0x440
> -
> /**
> * struct xe_memirq - Data used by the `Memory Based Interrupts`_.
> *
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 09/13] drm/xe/memirq: Introduce helper to calculate source page offset
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (7 preceding siblings ...)
2026-04-28 14:27 ` [PATCH 08/13] drm/xe/memirq: Make page layout macros private Michal Wajdeczko
@ 2026-04-28 14:27 ` Michal Wajdeczko
2026-05-05 8:27 ` Levi, Ilia
2026-04-28 14:27 ` [PATCH 10/13] drm/xe/memirq: Introduce helper to calculate status vector offset Michal Wajdeczko
` (7 subsequent siblings)
16 siblings, 1 reply; 29+ messages in thread
From: Michal Wajdeczko @ 2026-04-28 14:27 UTC (permalink / raw)
To: intel-xe; +Cc: Michal Wajdeczko
We already have XE_MEMIRQ_SOURCE_OFFSET() macro, but it expects
that instance parameter will separately prepared based on the
MSI-X usage. Add memirq_source_page_offset() helper function that
will take care of this.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
drivers/gpu/drm/xe/xe_memirq.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_memirq.c b/drivers/gpu/drm/xe/xe_memirq.c
index 519b36ce2020..113b792d373e 100644
--- a/drivers/gpu/drm/xe/xe_memirq.c
+++ b/drivers/gpu/drm/xe/xe_memirq.c
@@ -256,13 +256,20 @@ int xe_memirq_init(struct xe_memirq *memirq)
return 0;
}
+/* Return: offset to the source page used by engines' nth @instance */
+static u32 memirq_source_page_offset(struct xe_memirq *memirq, u16 instance)
+{
+ memirq_assert(memirq, instance <= XE_HW_ENGINE_MAX_INSTANCE);
+
+ instance = hw_reports_to_instance_zero(memirq) ? instance : 0;
+ return XE_MEMIRQ_SOURCE_OFFSET(instance);
+}
+
static u32 __memirq_source_page(struct xe_memirq *memirq, u16 instance)
{
- memirq_assert(memirq, instance <= XE_HW_ENGINE_MAX_INSTANCE);
memirq_assert(memirq, memirq->bo);
- instance = hw_reports_to_instance_zero(memirq) ? instance : 0;
- return xe_bo_ggtt_addr(memirq->bo) + XE_MEMIRQ_SOURCE_OFFSET(instance);
+ return xe_bo_ggtt_addr(memirq->bo) + memirq_source_page_offset(memirq, instance);
}
/**
--
2.47.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 09/13] drm/xe/memirq: Introduce helper to calculate source page offset
2026-04-28 14:27 ` [PATCH 09/13] drm/xe/memirq: Introduce helper to calculate source page offset Michal Wajdeczko
@ 2026-05-05 8:27 ` Levi, Ilia
0 siblings, 0 replies; 29+ messages in thread
From: Levi, Ilia @ 2026-05-05 8:27 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe
On 4/28/2026 5:27 PM, Michal Wajdeczko wrote:
> We already have XE_MEMIRQ_SOURCE_OFFSET() macro, but it expects
> that instance parameter will separately prepared based on the
> MSI-X usage. Add memirq_source_page_offset() helper function that
> will take care of this.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
NIT: will _be_ separately prepared? I would change it slightly to something like: "but it expects the caller to pass instance 0 when not using MSI-X."
Reviewed-by: Ilia Levi <ilia.levi@intel.com>
> ---
> drivers/gpu/drm/xe/xe_memirq.c | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_memirq.c b/drivers/gpu/drm/xe/xe_memirq.c
> index 519b36ce2020..113b792d373e 100644
> --- a/drivers/gpu/drm/xe/xe_memirq.c
> +++ b/drivers/gpu/drm/xe/xe_memirq.c
> @@ -256,13 +256,20 @@ int xe_memirq_init(struct xe_memirq *memirq)
> return 0;
> }
>
> +/* Return: offset to the source page used by engines' nth @instance */
> +static u32 memirq_source_page_offset(struct xe_memirq *memirq, u16 instance)
> +{
> + memirq_assert(memirq, instance <= XE_HW_ENGINE_MAX_INSTANCE);
> +
> + instance = hw_reports_to_instance_zero(memirq) ? instance : 0;
> + return XE_MEMIRQ_SOURCE_OFFSET(instance);
> +}
> +
> static u32 __memirq_source_page(struct xe_memirq *memirq, u16 instance)
> {
> - memirq_assert(memirq, instance <= XE_HW_ENGINE_MAX_INSTANCE);
> memirq_assert(memirq, memirq->bo);
>
> - instance = hw_reports_to_instance_zero(memirq) ? instance : 0;
> - return xe_bo_ggtt_addr(memirq->bo) + XE_MEMIRQ_SOURCE_OFFSET(instance);
> + return xe_bo_ggtt_addr(memirq->bo) + memirq_source_page_offset(memirq, instance);
> }
>
> /**
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 10/13] drm/xe/memirq: Introduce helper to calculate status vector offset
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (8 preceding siblings ...)
2026-04-28 14:27 ` [PATCH 09/13] drm/xe/memirq: Introduce helper to calculate source page offset Michal Wajdeczko
@ 2026-04-28 14:27 ` Michal Wajdeczko
2026-05-05 12:40 ` Levi, Ilia
2026-04-28 14:27 ` [PATCH 11/13] drm/xe/memirq: Refactor xe_memirq_hwe_handler Michal Wajdeczko
` (6 subsequent siblings)
16 siblings, 1 reply; 29+ messages in thread
From: Michal Wajdeczko @ 2026-04-28 14:27 UTC (permalink / raw)
To: intel-xe; +Cc: Michal Wajdeczko
We already have XE_MEMIRQ_STATUS_OFFSET() macro, but it expects
that instance parameter will separately prepared based on the
MSI-X status. Add memirq_status_vector_offset() helper function
that will take care of this and by using engine specific offset,
return an offset to the engine's status vector bytes.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
drivers/gpu/drm/xe/xe_memirq.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_memirq.c b/drivers/gpu/drm/xe/xe_memirq.c
index 113b792d373e..f5e139f4525b 100644
--- a/drivers/gpu/drm/xe/xe_memirq.c
+++ b/drivers/gpu/drm/xe/xe_memirq.c
@@ -289,13 +289,25 @@ u32 xe_memirq_source_ptr(struct xe_memirq *memirq, struct xe_hw_engine *hwe)
return __memirq_source_page(memirq, hwe->instance);
}
+/* Return: offset to the status vector used by the given @source's nth @instance */
+static u32 memirq_status_vector_offset(struct xe_memirq *memirq, u16 source, u16 instance)
+{
+ memirq_assert(memirq, instance <= XE_HW_ENGINE_MAX_INSTANCE);
+
+ instance = hw_reports_to_instance_zero(memirq) ? instance : 0;
+ return XE_MEMIRQ_STATUS_OFFSET(instance) + source * SZ_16;
+}
+
+static u32 memirq_status_page_offset(struct xe_memirq *memirq, u16 instance)
+{
+ return memirq_status_vector_offset(memirq, 0, instance);
+}
+
static u32 __memirq_status_page(struct xe_memirq *memirq, u16 instance)
{
- memirq_assert(memirq, instance <= XE_HW_ENGINE_MAX_INSTANCE);
memirq_assert(memirq, memirq->bo);
- instance = hw_reports_to_instance_zero(memirq) ? instance : 0;
- return xe_bo_ggtt_addr(memirq->bo) + XE_MEMIRQ_STATUS_OFFSET(instance);
+ return xe_bo_ggtt_addr(memirq->bo) + memirq_status_page_offset(memirq, instance);
}
/**
--
2.47.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 10/13] drm/xe/memirq: Introduce helper to calculate status vector offset
2026-04-28 14:27 ` [PATCH 10/13] drm/xe/memirq: Introduce helper to calculate status vector offset Michal Wajdeczko
@ 2026-05-05 12:40 ` Levi, Ilia
0 siblings, 0 replies; 29+ messages in thread
From: Levi, Ilia @ 2026-05-05 12:40 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe
On 4/28/2026 5:27 PM, Michal Wajdeczko wrote:
> We already have XE_MEMIRQ_STATUS_OFFSET() macro, but it expects
> that instance parameter will separately prepared based on the
> MSI-X status. Add memirq_status_vector_offset() helper function
> that will take care of this and by using engine specific offset,
> return an offset to the engine's status vector bytes.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
NIT: same as in previous patch regarding commit message.
> ---
> drivers/gpu/drm/xe/xe_memirq.c | 18 +++++++++++++++---
> 1 file changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_memirq.c b/drivers/gpu/drm/xe/xe_memirq.c
> index 113b792d373e..f5e139f4525b 100644
> --- a/drivers/gpu/drm/xe/xe_memirq.c
> +++ b/drivers/gpu/drm/xe/xe_memirq.c
> @@ -289,13 +289,25 @@ u32 xe_memirq_source_ptr(struct xe_memirq *memirq, struct xe_hw_engine *hwe)
> return __memirq_source_page(memirq, hwe->instance);
> }
>
> +/* Return: offset to the status vector used by the given @source's nth @instance */
The semantics of source & instance become somewhat complex. Or rather they already were, but
adding the term "source" makes it more pronounced. Perhaps we should consider modifying the addressing
scheme to (irq_page, irq_offset) and set hwe->irq_page in hw_engine_init_early().
This will alleviate the need of overriding the instance in those helper functions.
For example for BCS2 engine we'll configure:
if (MSI-x)
irq_page = 2, irq_offset = ilog2(INTR_BCS(0))
else
irq_page = 0, irq_offset = ilog2(INTR_BCS(2))
- Ilia
> +static u32 memirq_status_vector_offset(struct xe_memirq *memirq, u16 source, u16 instance)
> +{
> + memirq_assert(memirq, instance <= XE_HW_ENGINE_MAX_INSTANCE);
> +
> + instance = hw_reports_to_instance_zero(memirq) ? instance : 0;
> + return XE_MEMIRQ_STATUS_OFFSET(instance) + source * SZ_16;
> +}
> +
> +static u32 memirq_status_page_offset(struct xe_memirq *memirq, u16 instance)
> +{
> + return memirq_status_vector_offset(memirq, 0, instance);
> +}
> +
> static u32 __memirq_status_page(struct xe_memirq *memirq, u16 instance)
> {
> - memirq_assert(memirq, instance <= XE_HW_ENGINE_MAX_INSTANCE);
> memirq_assert(memirq, memirq->bo);
>
> - instance = hw_reports_to_instance_zero(memirq) ? instance : 0;
> - return xe_bo_ggtt_addr(memirq->bo) + XE_MEMIRQ_STATUS_OFFSET(instance);
> + return xe_bo_ggtt_addr(memirq->bo) + memirq_status_page_offset(memirq, instance);
> }
>
> /**
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 11/13] drm/xe/memirq: Refactor xe_memirq_hwe_handler
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (9 preceding siblings ...)
2026-04-28 14:27 ` [PATCH 10/13] drm/xe/memirq: Introduce helper to calculate status vector offset Michal Wajdeczko
@ 2026-04-28 14:27 ` Michal Wajdeczko
2026-05-05 12:46 ` Levi, Ilia
2026-04-28 14:27 ` [PATCH 12/13] drm/xe/memirq: Dump additional source pages if MSI-X Michal Wajdeczko
` (5 subsequent siblings)
16 siblings, 1 reply; 29+ messages in thread
From: Michal Wajdeczko @ 2026-04-28 14:27 UTC (permalink / raw)
To: intel-xe; +Cc: Michal Wajdeczko
We can use helper functions that take care of adjusting source
and status vector offsets based on the MSI-X support, no need
to duplicate logic here.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
drivers/gpu/drm/xe/xe_memirq.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_memirq.c b/drivers/gpu/drm/xe/xe_memirq.c
index f5e139f4525b..30266b258087 100644
--- a/drivers/gpu/drm/xe/xe_memirq.c
+++ b/drivers/gpu/drm/xe/xe_memirq.c
@@ -493,16 +493,18 @@ static void memirq_dispatch_guc(struct xe_memirq *memirq, struct iosys_map *stat
*/
void xe_memirq_hwe_handler(struct xe_memirq *memirq, struct xe_hw_engine *hwe)
{
- u16 offset = hwe->irq_offset;
- u16 instance = hw_reports_to_instance_zero(memirq) ? hwe->instance : 0;
- struct iosys_map src_offset = IOSYS_MAP_INIT_OFFSET(&memirq->bo->vmap,
- XE_MEMIRQ_SOURCE_OFFSET(instance));
+ struct iosys_map source_map =
+ IOSYS_MAP_INIT_OFFSET(&memirq->bo->vmap,
+ memirq_source_page_offset(memirq, hwe->instance));
- if (memirq_received(memirq, &src_offset, offset, "SRC")) {
- struct iosys_map status_offset =
+ if (memirq_received(memirq, &source_map, hwe->irq_offset, "SRC")) {
+ struct iosys_map status_map =
IOSYS_MAP_INIT_OFFSET(&memirq->bo->vmap,
- XE_MEMIRQ_STATUS_OFFSET(instance) + offset * SZ_16);
- memirq_dispatch_engine(memirq, &status_offset, hwe);
+ memirq_status_vector_offset(memirq,
+ hwe->irq_offset,
+ hwe->instance));
+
+ memirq_dispatch_engine(memirq, &status_map, hwe);
}
}
--
2.47.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 11/13] drm/xe/memirq: Refactor xe_memirq_hwe_handler
2026-04-28 14:27 ` [PATCH 11/13] drm/xe/memirq: Refactor xe_memirq_hwe_handler Michal Wajdeczko
@ 2026-05-05 12:46 ` Levi, Ilia
0 siblings, 0 replies; 29+ messages in thread
From: Levi, Ilia @ 2026-05-05 12:46 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe
On 4/28/2026 5:27 PM, Michal Wajdeczko wrote:
> We can use helper functions that take care of adjusting source
> and status vector offsets based on the MSI-X support, no need
> to duplicate logic here.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
> drivers/gpu/drm/xe/xe_memirq.c | 18 ++++++++++--------
> 1 file changed, 10 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_memirq.c b/drivers/gpu/drm/xe/xe_memirq.c
> index f5e139f4525b..30266b258087 100644
> --- a/drivers/gpu/drm/xe/xe_memirq.c
> +++ b/drivers/gpu/drm/xe/xe_memirq.c
> @@ -493,16 +493,18 @@ static void memirq_dispatch_guc(struct xe_memirq *memirq, struct iosys_map *stat
> */
> void xe_memirq_hwe_handler(struct xe_memirq *memirq, struct xe_hw_engine *hwe)
> {
> - u16 offset = hwe->irq_offset;
> - u16 instance = hw_reports_to_instance_zero(memirq) ? hwe->instance : 0;
A slight disadvantage of this is that hw_reports_to_instance_zero() check is now called twice in this path (in each helper). Per my comment in the previous patch: computing the irq_page in hw_engine_init_early() can alleviate this need. - Ilia
> - struct iosys_map src_offset = IOSYS_MAP_INIT_OFFSET(&memirq->bo->vmap,
> - XE_MEMIRQ_SOURCE_OFFSET(instance));
> + struct iosys_map source_map =
> + IOSYS_MAP_INIT_OFFSET(&memirq->bo->vmap,
> + memirq_source_page_offset(memirq, hwe->instance));
>
> - if (memirq_received(memirq, &src_offset, offset, "SRC")) {
> - struct iosys_map status_offset =
> + if (memirq_received(memirq, &source_map, hwe->irq_offset, "SRC")) {
> + struct iosys_map status_map =
> IOSYS_MAP_INIT_OFFSET(&memirq->bo->vmap,
> - XE_MEMIRQ_STATUS_OFFSET(instance) + offset * SZ_16);
> - memirq_dispatch_engine(memirq, &status_offset, hwe);
> + memirq_status_vector_offset(memirq,
> + hwe->irq_offset,
> + hwe->instance));
> +
> + memirq_dispatch_engine(memirq, &status_map, hwe);
> }
> }
>
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 12/13] drm/xe/memirq: Dump additional source pages if MSI-X
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (10 preceding siblings ...)
2026-04-28 14:27 ` [PATCH 11/13] drm/xe/memirq: Refactor xe_memirq_hwe_handler Michal Wajdeczko
@ 2026-04-28 14:27 ` Michal Wajdeczko
2026-05-05 13:12 ` Levi, Ilia
2026-04-28 14:27 ` [PATCH 13/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (4 subsequent siblings)
16 siblings, 1 reply; 29+ messages in thread
From: Michal Wajdeczko @ 2026-04-28 14:27 UTC (permalink / raw)
To: intel-xe; +Cc: Michal Wajdeczko
In MSI-X setup engines report their source/status as instance 0
and we should dump additional source pages, not just the first one.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
drivers/gpu/drm/xe/xe_memirq.c | 35 +++++++++++++++++++++++++---
drivers/gpu/drm/xe/xe_memirq_types.h | 2 ++
2 files changed, 34 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_memirq.c b/drivers/gpu/drm/xe/xe_memirq.c
index 30266b258087..b6fdefaf9463 100644
--- a/drivers/gpu/drm/xe/xe_memirq.c
+++ b/drivers/gpu/drm/xe/xe_memirq.c
@@ -169,6 +169,21 @@ static inline bool hw_reports_to_instance_zero(struct xe_memirq *memirq)
return xe_device_has_msix(memirq_to_xe(memirq));
}
+static unsigned int max_instance(struct xe_tile *tile)
+{
+ enum xe_engine_class ec;
+ struct xe_gt *gt;
+ unsigned int id;
+ u32 emask = 0;
+
+ for_each_gt_on_tile(gt, tile, id) {
+ for (ec = XE_ENGINE_CLASS_RENDER; ec < XE_ENGINE_CLASS_MAX; ec++)
+ emask |= xe_hw_engine_mask_per_class(gt, ec);
+ }
+
+ return fls(emask);
+}
+
static int memirq_alloc_pages(struct xe_memirq *memirq)
{
struct xe_device *xe = memirq_to_xe(memirq);
@@ -210,6 +225,9 @@ static int memirq_alloc_pages(struct xe_memirq *memirq)
xe_bo_ggtt_addr(bo), bo_size, XE_MEMIRQ_SOURCE_OFFSET(0),
XE_MEMIRQ_STATUS_OFFSET(0));
+ memirq->num_pages = hw_reports_to_instance_zero(memirq) ? max_instance(tile) : 1;
+ memirq_debug(memirq, "page instances: %u\n", memirq->num_pages);
+
return 0;
out:
@@ -525,6 +543,18 @@ bool xe_memirq_guc_sw_int_0_irq_pending(struct xe_memirq *memirq, struct xe_guc
guc_name(guc));
}
+static void memirq_dump_source_pages(struct xe_memirq *memirq)
+{
+ memirq_assert(memirq, !memirq->source.is_iomem);
+
+ for (int n = 0; n < memirq->num_pages; n++) {
+ memirq_debug(memirq, "SOURCE %*ph\n", 32,
+ memirq->bo->vmap.vaddr + memirq_source_page_offset(memirq, n));
+ memirq_debug(memirq, "SOURCE %*ph\n", 32,
+ memirq->bo->vmap.vaddr + memirq_source_page_offset(memirq, n) + 32);
+ }
+}
+
/**
* xe_memirq_handler - The `Memory Based Interrupts`_ Handler.
* @memirq: the &xe_memirq
@@ -544,9 +574,8 @@ void xe_memirq_handler(struct xe_memirq *memirq)
if (!memirq->bo)
return;
- memirq_assert(memirq, !memirq->source.is_iomem);
- memirq_debug(memirq, "SOURCE %*ph\n", 32, memirq->source.vaddr);
- memirq_debug(memirq, "SOURCE %*ph\n", 32, memirq->source.vaddr + 32);
+ if (IS_ENABLED(CONFIG_DRM_XE_DEBUG_MEMIRQ))
+ memirq_dump_source_pages(memirq);
for_each_gt(gt, xe, gtid) {
if (gt->tile != tile)
diff --git a/drivers/gpu/drm/xe/xe_memirq_types.h b/drivers/gpu/drm/xe/xe_memirq_types.h
index 02ac938cadb4..eab384342878 100644
--- a/drivers/gpu/drm/xe/xe_memirq_types.h
+++ b/drivers/gpu/drm/xe/xe_memirq_types.h
@@ -14,6 +14,7 @@ struct xe_bo;
* struct xe_memirq - Data used by the `Memory Based Interrupts`_.
*
* @bo: buffer object with `Memory Based Interrupts Page Layout`_.
+ * @num_pages: number of per-instance source/status pages.
* @source: iosys pointer to `Interrupt Source Report Page`_.
* @status: iosys pointer to `Interrupt Status Report Page`_.
* @mask: iosys pointer to Interrupt Enable Mask.
@@ -21,6 +22,7 @@ struct xe_bo;
*/
struct xe_memirq {
struct xe_bo *bo;
+ unsigned int num_pages;
struct iosys_map source;
struct iosys_map status;
struct iosys_map mask;
--
2.47.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* Re: [PATCH 12/13] drm/xe/memirq: Dump additional source pages if MSI-X
2026-04-28 14:27 ` [PATCH 12/13] drm/xe/memirq: Dump additional source pages if MSI-X Michal Wajdeczko
@ 2026-05-05 13:12 ` Levi, Ilia
0 siblings, 0 replies; 29+ messages in thread
From: Levi, Ilia @ 2026-05-05 13:12 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe
On 4/28/2026 5:27 PM, Michal Wajdeczko wrote:
> In MSI-X setup engines report their source/status as instance 0
> and we should dump additional source pages, not just the first one.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
> drivers/gpu/drm/xe/xe_memirq.c | 35 +++++++++++++++++++++++++---
> drivers/gpu/drm/xe/xe_memirq_types.h | 2 ++
> 2 files changed, 34 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_memirq.c b/drivers/gpu/drm/xe/xe_memirq.c
> index 30266b258087..b6fdefaf9463 100644
> --- a/drivers/gpu/drm/xe/xe_memirq.c
> +++ b/drivers/gpu/drm/xe/xe_memirq.c
> @@ -169,6 +169,21 @@ static inline bool hw_reports_to_instance_zero(struct xe_memirq *memirq)
> return xe_device_has_msix(memirq_to_xe(memirq));
> }
>
> +static unsigned int max_instance(struct xe_tile *tile)
> +{
> + enum xe_engine_class ec;
> + struct xe_gt *gt;
> + unsigned int id;
> + u32 emask = 0;
> +
> + for_each_gt_on_tile(gt, tile, id) {
> + for (ec = XE_ENGINE_CLASS_RENDER; ec < XE_ENGINE_CLASS_MAX; ec++)
> + emask |= xe_hw_engine_mask_per_class(gt, ec);
> + }
> +
> + return fls(emask);
Wouldn't it be more readable to do something like:
for_each_gt_on_tile(gt, tile, gtid)
for_each_hw_engine(hwe, gt, id)
max_inst = max(max_inst, hwe->instance);
return max_inst + 1;
- Ilia
> +}
> +
> static int memirq_alloc_pages(struct xe_memirq *memirq)
> {
> struct xe_device *xe = memirq_to_xe(memirq);
> @@ -210,6 +225,9 @@ static int memirq_alloc_pages(struct xe_memirq *memirq)
> xe_bo_ggtt_addr(bo), bo_size, XE_MEMIRQ_SOURCE_OFFSET(0),
> XE_MEMIRQ_STATUS_OFFSET(0));
>
> + memirq->num_pages = hw_reports_to_instance_zero(memirq) ? max_instance(tile) : 1;
Don't you want to use max_instance in the calculation of BO size instead of XE_HW_ENGINE_MAX_INSTANCE?
- Ilia
> + memirq_debug(memirq, "page instances: %u\n", memirq->num_pages);
> +
> return 0;
>
> out:
> @@ -525,6 +543,18 @@ bool xe_memirq_guc_sw_int_0_irq_pending(struct xe_memirq *memirq, struct xe_guc
> guc_name(guc));
> }
>
> +static void memirq_dump_source_pages(struct xe_memirq *memirq)
> +{
> + memirq_assert(memirq, !memirq->source.is_iomem);
> +
> + for (int n = 0; n < memirq->num_pages; n++) {
> + memirq_debug(memirq, "SOURCE %*ph\n", 32,
> + memirq->bo->vmap.vaddr + memirq_source_page_offset(memirq, n));
> + memirq_debug(memirq, "SOURCE %*ph\n", 32,
> + memirq->bo->vmap.vaddr + memirq_source_page_offset(memirq, n) + 32);
> + }
> +}
> +
> /**
> * xe_memirq_handler - The `Memory Based Interrupts`_ Handler.
> * @memirq: the &xe_memirq
> @@ -544,9 +574,8 @@ void xe_memirq_handler(struct xe_memirq *memirq)
> if (!memirq->bo)
> return;
>
> - memirq_assert(memirq, !memirq->source.is_iomem);
> - memirq_debug(memirq, "SOURCE %*ph\n", 32, memirq->source.vaddr);
> - memirq_debug(memirq, "SOURCE %*ph\n", 32, memirq->source.vaddr + 32);
> + if (IS_ENABLED(CONFIG_DRM_XE_DEBUG_MEMIRQ))
> + memirq_dump_source_pages(memirq);
>
> for_each_gt(gt, xe, gtid) {
> if (gt->tile != tile)
> diff --git a/drivers/gpu/drm/xe/xe_memirq_types.h b/drivers/gpu/drm/xe/xe_memirq_types.h
> index 02ac938cadb4..eab384342878 100644
> --- a/drivers/gpu/drm/xe/xe_memirq_types.h
> +++ b/drivers/gpu/drm/xe/xe_memirq_types.h
> @@ -14,6 +14,7 @@ struct xe_bo;
> * struct xe_memirq - Data used by the `Memory Based Interrupts`_.
> *
> * @bo: buffer object with `Memory Based Interrupts Page Layout`_.
> + * @num_pages: number of per-instance source/status pages.
> * @source: iosys pointer to `Interrupt Source Report Page`_.
> * @status: iosys pointer to `Interrupt Status Report Page`_.
> * @mask: iosys pointer to Interrupt Enable Mask.
> @@ -21,6 +22,7 @@ struct xe_bo;
> */
> struct xe_memirq {
> struct xe_bo *bo;
> + unsigned int num_pages;
> struct iosys_map source;
> struct iosys_map status;
> struct iosys_map mask;
^ permalink raw reply [flat|nested] 29+ messages in thread
* [PATCH 13/13] drm/xe/tests: Add kunit tests for memory based interrupts
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (11 preceding siblings ...)
2026-04-28 14:27 ` [PATCH 12/13] drm/xe/memirq: Dump additional source pages if MSI-X Michal Wajdeczko
@ 2026-04-28 14:27 ` Michal Wajdeczko
2026-04-28 16:33 ` ✗ CI.checkpatch: warning for " Patchwork
` (3 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Michal Wajdeczko @ 2026-04-28 14:27 UTC (permalink / raw)
To: intel-xe; +Cc: Michal Wajdeczko
Add basic kunit tests for the memory based interrupts. For maximum
coverage, we will use non-real device definition with custom mix of
GT IPs that are defined with the largest number of engines.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
drivers/gpu/drm/xe/tests/xe_memirq_kunit.c | 276 +++++++++++++++++++++
drivers/gpu/drm/xe/xe_memirq.c | 4 +
2 files changed, 280 insertions(+)
create mode 100644 drivers/gpu/drm/xe/tests/xe_memirq_kunit.c
diff --git a/drivers/gpu/drm/xe/tests/xe_memirq_kunit.c b/drivers/gpu/drm/xe/tests/xe_memirq_kunit.c
new file mode 100644
index 000000000000..c60b8fb1edc9
--- /dev/null
+++ b/drivers/gpu/drm/xe/tests/xe_memirq_kunit.c
@@ -0,0 +1,276 @@
+// SPDX-License-Identifier: GPL-2.0 AND MIT
+/*
+ * Copyright © 2026 Intel Corporation
+ */
+
+#include <kunit/static_stub.h>
+#include <kunit/test.h>
+#include <kunit/test-bug.h>
+
+#include "xe_device.h"
+#include "xe_hw_engine.h"
+#include "xe_kunit_helpers.h"
+#include "xe_pci_test.h"
+#include "xe_uc_fw.h"
+
+static int __memirq_test_init(struct kunit *test, bool msix)
+{
+ struct xe_pci_fake_data fake = {
+ .sriov_mode = XE_SRIOV_MODE_VF,
+ .platform = XE_PANTHERLAKE, /* platform known to use memirq */
+ .subplatform = XE_SUBPLATFORM_NONE,
+ .graphics_verx100 = msix ? 3511 : 3000, /* either all BCS/CCS or RCS */
+ .media_verx100 = 3000,
+ .ggtt_start = SZ_1M,
+ .ggtt_size = SZ_64K,
+ .mmio_read = ~0, /* to cheat fuse readings */
+ };
+ struct xe_memirq *memirq;
+ struct xe_device *xe;
+ struct xe_gt *gt;
+ int id;
+
+ test->priv = &fake;
+ xe_kunit_helper_xe_device_test_init(test);
+
+ xe = test->priv;
+ KUNIT_ASSERT_EQ(test, xe_sriov_init(xe), 0);
+
+ /* sufficient to claim MSI-X support */
+ xe->irq.msix.nvec = msix ? 2 : 0;
+ KUNIT_EXPECT_EQ(test, msix, xe_device_has_msix(xe));
+
+ for_each_gt(gt, xe, id) {
+ xe_uc_fw_change_status(>->uc.gsc.fw, XE_UC_FIRMWARE_NOT_SUPPORTED);
+ xe_hw_engines_init_early(gt);
+ }
+
+ memirq = &xe_device_get_root_tile(xe)->memirq;
+ KUNIT_ASSERT_EQ(test, xe_memirq_init(memirq), 0);
+ KUNIT_EXPECT_TRUE(test, memirq->bo);
+ KUNIT_EXPECT_NE(test, xe_bo_ggtt_addr(memirq->bo), 0);
+
+ test->priv = memirq;
+ return 0;
+}
+
+static int memirq_test_init(struct kunit *test)
+{
+ return __memirq_test_init(test, false);
+}
+
+static int memirq_msix_test_init(struct kunit *test)
+{
+ return __memirq_test_init(test, true);
+}
+
+static u32 source_byte_offset(struct xe_memirq *memirq, u16 source, u16 instance)
+{
+ return memirq_source_page_offset(memirq, instance) + source;
+}
+
+static void set_source(struct xe_memirq *memirq, u16 source, u16 instance)
+{
+ iosys_map_wr(&memirq->bo->vmap,
+ source_byte_offset(memirq, source, instance), u8, 0xFF);
+}
+
+static void set_status(struct xe_memirq *memirq, u16 source, u16 instance, u16 status)
+{
+ iosys_map_wr(&memirq->bo->vmap,
+ memirq_status_vector_offset(memirq, source, instance) + status, u8, 0xFF);
+}
+
+static bool is_status_cleared(struct xe_memirq *memirq, u16 source, u16 instance, u16 status)
+{
+ struct iosys_map map =
+ IOSYS_MAP_INIT_OFFSET(&memirq->bo->vmap,
+ memirq_status_vector_offset(memirq, source, instance));
+
+ return !memirq_received_noclear(memirq, &map, status, "kunit");
+}
+
+struct memirq_test_param {
+ const char *name;
+ u16 source;
+ u16 instance;
+ u16 source0;
+ u16 status;
+ u16 iir;
+};
+
+static void replacement_xe_guc_irq_handler(struct xe_guc *guc, const u16 iir)
+{
+ struct kunit *test = kunit_get_current_test();
+ const struct memirq_test_param *p = test->param_value;
+ unsigned int *counter = test->priv;
+
+ *counter += 1;
+ kunit_info(test, "handler %u: IIR %#x\n", *counter, iir);
+
+ KUNIT_EXPECT_EQ(test, p->source == ilog2(INTR_GUC), xe_gt_is_main_type(guc_to_gt(guc)));
+ KUNIT_EXPECT_EQ(test, p->source == ilog2(INTR_MGUC), xe_gt_is_media_type(guc_to_gt(guc)));
+ KUNIT_EXPECT_EQ(test, p->instance, 0);
+ KUNIT_EXPECT_EQ(test, p->iir, iir);
+}
+
+static void test_guc(struct kunit *test)
+{
+ const struct memirq_test_param *p = test->param_value;
+ struct xe_memirq *memirq = test->priv;
+ unsigned int counter = 0;
+
+ test->priv = &counter;
+ kunit_activate_static_stub(test, xe_guc_irq_handler,
+ replacement_xe_guc_irq_handler);
+
+ set_source(memirq, p->source, 0);
+ set_status(memirq, p->source, 0, p->status);
+ KUNIT_ASSERT_FALSE(test, is_status_cleared(memirq, p->source, p->instance, p->status));
+
+ counter = 0;
+ xe_memirq_handler(memirq);
+ KUNIT_EXPECT_EQ(test, counter, 1);
+ KUNIT_EXPECT_TRUE(test, is_status_cleared(memirq, p->source, p->instance, p->status));
+}
+
+static void replacement_xe_hw_engine_handle_irq(struct xe_hw_engine *hwe, u16 intr_vec)
+{
+ struct kunit *test = kunit_get_current_test();
+ const struct memirq_test_param *p = test->param_value;
+ unsigned int *counter = test->priv;
+ u16 source;
+
+ *counter += 1;
+ kunit_info(test, "handler %u: %s IIR %#x\n", *counter, hwe->name, intr_vec);
+
+ source = hw_reports_to_instance_zero(&hwe->gt->tile->memirq) ? p->source0 : p->source;
+
+ KUNIT_EXPECT_EQ(test, source, hwe->irq_offset);
+ KUNIT_EXPECT_EQ(test, p->instance, hwe->instance);
+ KUNIT_EXPECT_EQ(test, p->iir, intr_vec);
+}
+
+static bool has_hwe(struct xe_memirq *memirq, u16 source, u16 instance)
+{
+ struct xe_tile *tile = memirq_to_tile(memirq);
+ struct xe_hw_engine *hwe;
+ unsigned int gid, eid;
+ struct xe_gt *gt;
+
+ for_each_gt_on_tile(gt, tile, gid)
+ for_each_hw_engine(hwe, gt, eid)
+ if (hwe->irq_offset == source &&
+ hwe->instance == instance)
+ return true;
+ return false;
+}
+
+static void test_hwe(struct kunit *test)
+{
+ const struct memirq_test_param *p = test->param_value;
+ struct xe_memirq *memirq = test->priv;
+ unsigned int counter = 0;
+ u16 source;
+
+ test->priv = &counter;
+ kunit_activate_static_stub(test, xe_hw_engine_handle_irq,
+ replacement_xe_hw_engine_handle_irq);
+
+ source = hw_reports_to_instance_zero(memirq) ? p->source0 : p->source;
+ if (!has_hwe(memirq, source, p->instance))
+ kunit_skip(test, "engine not available");
+
+ set_source(memirq, source, p->instance);
+ set_status(memirq, source, p->instance, p->status);
+ KUNIT_EXPECT_FALSE(test, is_status_cleared(memirq, source, p->instance, p->status));
+
+ counter = 0;
+ xe_memirq_handler(memirq);
+ KUNIT_EXPECT_EQ(test, counter, 1);
+ KUNIT_EXPECT_TRUE(test, is_status_cleared(memirq, source, p->instance, p->status));
+}
+
+/* small hacks to allow magic macros work */
+#define INTR_rcs(n) (INTR_RCS0 + BUILD_BUG_ON_ZERO(n))
+#define INTR_bcs(n) ((((n) < 8) ? INTR_BCS(n) : INTR_BCS8) + BUILD_BUG_ON_ZERO((n) > 8))
+
+#define MAKE_MEMIRQ_TEST_PARAM(NAME, SRC, S0, INST, IIR, ...) { \
+ .name = (NAME), \
+ .source = ilog2(INTR_##SRC) __VA_ARGS__, \
+ .source0 = ilog2(INTR_##S0) __VA_ARGS__, \
+ .instance = (INST), \
+ .status = ilog2(IIR), \
+ .iir = (IIR), \
+}
+
+#define MAKE_MEMIRQ_TEST_PARAM_GUC(GUC, IIR, ...) \
+ MAKE_MEMIRQ_TEST_PARAM(#GUC " " #IIR, GUC, GUC, 0, GUC_INTR_##IIR)
+
+#define MAKE_MEMIRQ_TEST_PARAM_HWE(ENG, INST, IIR, ...) \
+ MAKE_MEMIRQ_TEST_PARAM(#ENG #INST " " #IIR, ENG(INST), ENG(0), (INST), \
+ GT_##IIR, ##__VA_ARGS__)
+
+static const struct memirq_test_param guc_irqs[] = {
+ MAKE_MEMIRQ_TEST_PARAM_GUC(GUC, GUC2HOST),
+ MAKE_MEMIRQ_TEST_PARAM_GUC(GUC, SW_INT_0),
+ MAKE_MEMIRQ_TEST_PARAM_GUC(MGUC, GUC2HOST),
+ MAKE_MEMIRQ_TEST_PARAM_GUC(MGUC, SW_INT_0),
+};
+
+static const struct memirq_test_param hwe_irqs[] = {
+ MAKE_MEMIRQ_TEST_PARAM_HWE(rcs, 0, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(bcs, 0, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(bcs, 1, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(bcs, 2, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(bcs, 3, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(bcs, 4, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(bcs, 5, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(bcs, 6, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(bcs, 7, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(bcs, 8, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(CCS, 0, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(CCS, 1, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(CCS, 2, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(CCS, 3, MI_USER_INTERRUPT),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 0, MI_USER_INTERRUPT, +32),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 1, MI_USER_INTERRUPT, +32),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 2, MI_USER_INTERRUPT, +32),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 3, MI_USER_INTERRUPT, +32),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 4, MI_USER_INTERRUPT, +32),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 5, MI_USER_INTERRUPT, +32),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 6, MI_USER_INTERRUPT, +32),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 7, MI_USER_INTERRUPT, +32),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VECS, 0, MI_USER_INTERRUPT, +32),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VECS, 1, MI_USER_INTERRUPT, +32),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VECS, 2, MI_USER_INTERRUPT, +32),
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VECS, 3, MI_USER_INTERRUPT, +32),
+};
+
+static void memirq_test_param_get_desc(const struct memirq_test_param *p, char *desc)
+{
+ snprintf(desc, KUNIT_PARAM_DESC_SIZE, "%s", p->name);
+}
+
+KUNIT_ARRAY_PARAM(guc_irqs, guc_irqs, memirq_test_param_get_desc);
+KUNIT_ARRAY_PARAM(hwe_irqs, hwe_irqs, memirq_test_param_get_desc);
+
+static struct kunit_case memirq_test_cases[] = {
+ KUNIT_CASE_PARAM(test_guc, guc_irqs_gen_params),
+ KUNIT_CASE_PARAM(test_hwe, hwe_irqs_gen_params),
+ {}
+};
+
+static struct kunit_suite memirq_suite = {
+ .name = "memirq",
+ .test_cases = memirq_test_cases,
+ .init = memirq_test_init,
+};
+
+static struct kunit_suite memirq_msix_suite = {
+ .name = "memirq_msix",
+ .test_cases = memirq_test_cases,
+ .init = memirq_msix_test_init,
+};
+
+kunit_test_suites(&memirq_suite, &memirq_msix_suite);
diff --git a/drivers/gpu/drm/xe/xe_memirq.c b/drivers/gpu/drm/xe/xe_memirq.c
index b6fdefaf9463..918a62a6fdf3 100644
--- a/drivers/gpu/drm/xe/xe_memirq.c
+++ b/drivers/gpu/drm/xe/xe_memirq.c
@@ -600,3 +600,7 @@ void xe_memirq_handler(struct xe_memirq *memirq)
memirq_dispatch_guc(memirq, &map, &tile->media_gt->uc.guc);
}
}
+
+#if IS_BUILTIN(CONFIG_DRM_XE_KUNIT_TEST)
+#include "tests/xe_memirq_kunit.c"
+#endif
--
2.47.1
^ permalink raw reply related [flat|nested] 29+ messages in thread* ✗ CI.checkpatch: warning for drm/xe/tests: Add kunit tests for memory based interrupts
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (12 preceding siblings ...)
2026-04-28 14:27 ` [PATCH 13/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
@ 2026-04-28 16:33 ` Patchwork
2026-04-28 16:35 ` ✓ CI.KUnit: success " Patchwork
` (2 subsequent siblings)
16 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2026-04-28 16:33 UTC (permalink / raw)
To: Michal Wajdeczko; +Cc: intel-xe
== Series Details ==
Series: drm/xe/tests: Add kunit tests for memory based interrupts
URL : https://patchwork.freedesktop.org/series/165651/
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
c8c12e558adaef7a4d125d83b6e1f8824bc13b82
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 395d15296dff07c7a84870a45283aad23fa09092
Author: Michal Wajdeczko <michal.wajdeczko@intel.com>
Date: Tue Apr 28 16:27:20 2026 +0200
drm/xe/tests: Add kunit tests for memory based interrupts
Add basic kunit tests for the memory based interrupts. For maximum
coverage, we will use non-real device definition with custom mix of
GT IPs that are defined with the largest number of engines.
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
+ /mt/dim checkpatch e066eb26712bca7174e694a358351c50a38661d6 drm-intel
4da73b511746 drm/xe/ggtt: Rename parameter name in xe_ggtt_init_kunit()
6a2097147607 drm/xe/guc: Allow to replace xe_guc_irq_handler() with stub
b4e281e17701 drm/xe/hwe: Allow to replace xe_hw_engine_handle_irq() with stub
f38eaa083eb8 drm/xe/mmio: Allow to replace xe_mmio_read32|write32() with stub
4b58aedae808 drm/xe/kunit: Promote GGTT initialization to test_init() helper
b11451f01e7e drm/xe/kunit: Promote fake BO activation to test_init() helper
ce476abd7a09 drm/xe/kunit: Activate empty MMIO stubs in test_init()
af6a5b30ac29 drm/xe/memirq: Make page layout macros private
584f5e2134a6 drm/xe/memirq: Introduce helper to calculate source page offset
6fe6df8e9814 drm/xe/memirq: Introduce helper to calculate status vector offset
a36bf197d3aa drm/xe/memirq: Refactor xe_memirq_hwe_handler
5fa2e2e00719 drm/xe/memirq: Dump additional source pages if MSI-X
395d15296dff drm/xe/tests: Add kunit tests for memory based interrupts
-:13: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#13:
new file mode 100644
-:213: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'n' - possible side-effects?
#213: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:196:
+#define INTR_bcs(n) ((((n) < 8) ? INTR_BCS(n) : INTR_BCS8) + BUILD_BUG_ON_ZERO((n) > 8))
-:215: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'IIR' - possible side-effects?
#215: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:198:
+#define MAKE_MEMIRQ_TEST_PARAM(NAME, SRC, S0, INST, IIR, ...) { \
+ .name = (NAME), \
+ .source = ilog2(INTR_##SRC) __VA_ARGS__, \
+ .source0 = ilog2(INTR_##S0) __VA_ARGS__, \
+ .instance = (INST), \
+ .status = ilog2(IIR), \
+ .iir = (IIR), \
+}
-:224: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'GUC' - possible side-effects?
#224: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:207:
+#define MAKE_MEMIRQ_TEST_PARAM_GUC(GUC, IIR, ...) \
+ MAKE_MEMIRQ_TEST_PARAM(#GUC " " #IIR, GUC, GUC, 0, GUC_INTR_##IIR)
-:227: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'ENG' - possible side-effects?
#227: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:210:
+#define MAKE_MEMIRQ_TEST_PARAM_HWE(ENG, INST, IIR, ...) \
+ MAKE_MEMIRQ_TEST_PARAM(#ENG #INST " " #IIR, ENG(INST), ENG(0), (INST), \
+ GT_##IIR, ##__VA_ARGS__)
-:227: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'INST' - possible side-effects?
#227: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:210:
+#define MAKE_MEMIRQ_TEST_PARAM_HWE(ENG, INST, IIR, ...) \
+ MAKE_MEMIRQ_TEST_PARAM(#ENG #INST " " #IIR, ENG(INST), ENG(0), (INST), \
+ GT_##IIR, ##__VA_ARGS__)
-:253: CHECK:SPACING: spaces preferred around that '+' (ctx:WxV)
#253: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:236:
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 0, MI_USER_INTERRUPT, +32),
^
-:254: CHECK:SPACING: spaces preferred around that '+' (ctx:WxV)
#254: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:237:
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 1, MI_USER_INTERRUPT, +32),
^
-:255: CHECK:SPACING: spaces preferred around that '+' (ctx:WxV)
#255: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:238:
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 2, MI_USER_INTERRUPT, +32),
^
-:256: CHECK:SPACING: spaces preferred around that '+' (ctx:WxV)
#256: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:239:
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 3, MI_USER_INTERRUPT, +32),
^
-:257: CHECK:SPACING: spaces preferred around that '+' (ctx:WxV)
#257: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:240:
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 4, MI_USER_INTERRUPT, +32),
^
-:258: CHECK:SPACING: spaces preferred around that '+' (ctx:WxV)
#258: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:241:
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 5, MI_USER_INTERRUPT, +32),
^
-:259: CHECK:SPACING: spaces preferred around that '+' (ctx:WxV)
#259: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:242:
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 6, MI_USER_INTERRUPT, +32),
^
-:260: CHECK:SPACING: spaces preferred around that '+' (ctx:WxV)
#260: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:243:
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VCS, 7, MI_USER_INTERRUPT, +32),
^
-:261: CHECK:SPACING: spaces preferred around that '+' (ctx:WxV)
#261: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:244:
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VECS, 0, MI_USER_INTERRUPT, +32),
^
-:262: CHECK:SPACING: spaces preferred around that '+' (ctx:WxV)
#262: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:245:
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VECS, 1, MI_USER_INTERRUPT, +32),
^
-:263: CHECK:SPACING: spaces preferred around that '+' (ctx:WxV)
#263: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:246:
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VECS, 2, MI_USER_INTERRUPT, +32),
^
-:264: CHECK:SPACING: spaces preferred around that '+' (ctx:WxV)
#264: FILE: drivers/gpu/drm/xe/tests/xe_memirq_kunit.c:247:
+ MAKE_MEMIRQ_TEST_PARAM_HWE(VECS, 3, MI_USER_INTERRUPT, +32),
^
total: 0 errors, 1 warnings, 17 checks, 283 lines checked
^ permalink raw reply [flat|nested] 29+ messages in thread* ✓ CI.KUnit: success for drm/xe/tests: Add kunit tests for memory based interrupts
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (13 preceding siblings ...)
2026-04-28 16:33 ` ✗ CI.checkpatch: warning for " Patchwork
@ 2026-04-28 16:35 ` Patchwork
2026-04-28 17:43 ` ✓ Xe.CI.BAT: " Patchwork
2026-04-29 5:04 ` ✗ Xe.CI.FULL: failure " Patchwork
16 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2026-04-28 16:35 UTC (permalink / raw)
To: Michal Wajdeczko; +Cc: intel-xe
== Series Details ==
Series: drm/xe/tests: Add kunit tests for memory based interrupts
URL : https://patchwork.freedesktop.org/series/165651/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[16:33:57] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:34:01] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:34:32] Starting KUnit Kernel (1/1)...
[16:34:32] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:34:32] ================== guc_buf (11 subtests) ===================
[16:34:32] [PASSED] test_smallest
[16:34:32] [PASSED] test_largest
[16:34:32] [PASSED] test_granular
[16:34:32] [PASSED] test_unique
[16:34:32] [PASSED] test_overlap
[16:34:32] [PASSED] test_reusable
[16:34:32] [PASSED] test_too_big
[16:34:32] [PASSED] test_flush
[16:34:32] [PASSED] test_lookup
[16:34:32] [PASSED] test_data
[16:34:32] [PASSED] test_class
[16:34:32] ===================== [PASSED] guc_buf =====================
[16:34:32] =================== guc_dbm (7 subtests) ===================
[16:34:32] [PASSED] test_empty
[16:34:32] [PASSED] test_default
[16:34:32] ======================== test_size ========================
[16:34:32] [PASSED] 4
[16:34:32] [PASSED] 8
[16:34:32] [PASSED] 32
[16:34:32] [PASSED] 256
[16:34:32] ==================== [PASSED] test_size ====================
[16:34:32] ======================= test_reuse ========================
[16:34:32] [PASSED] 4
[16:34:32] [PASSED] 8
[16:34:32] [PASSED] 32
[16:34:32] [PASSED] 256
[16:34:32] =================== [PASSED] test_reuse ====================
[16:34:32] =================== test_range_overlap ====================
[16:34:32] [PASSED] 4
[16:34:32] [PASSED] 8
[16:34:32] [PASSED] 32
[16:34:32] [PASSED] 256
[16:34:32] =============== [PASSED] test_range_overlap ================
[16:34:32] =================== test_range_compact ====================
[16:34:32] [PASSED] 4
[16:34:32] [PASSED] 8
[16:34:32] [PASSED] 32
[16:34:32] [PASSED] 256
[16:34:32] =============== [PASSED] test_range_compact ================
[16:34:32] ==================== test_range_spare =====================
[16:34:32] [PASSED] 4
[16:34:32] [PASSED] 8
[16:34:32] [PASSED] 32
[16:34:32] [PASSED] 256
[16:34:32] ================ [PASSED] test_range_spare =================
[16:34:32] ===================== [PASSED] guc_dbm =====================
[16:34:32] =================== guc_idm (6 subtests) ===================
[16:34:32] [PASSED] bad_init
[16:34:32] [PASSED] no_init
[16:34:32] [PASSED] init_fini
[16:34:32] [PASSED] check_used
[16:34:32] [PASSED] check_quota
[16:34:32] [PASSED] check_all
[16:34:32] ===================== [PASSED] guc_idm =====================
[16:34:32] ================== no_relay (3 subtests) ===================
[16:34:32] [PASSED] xe_drops_guc2pf_if_not_ready
[16:34:32] [PASSED] xe_drops_guc2vf_if_not_ready
[16:34:32] [PASSED] xe_rejects_send_if_not_ready
[16:34:32] ==================== [PASSED] no_relay =====================
[16:34:32] ================== pf_relay (14 subtests) ==================
[16:34:32] [PASSED] pf_rejects_guc2pf_too_short
[16:34:32] [PASSED] pf_rejects_guc2pf_too_long
[16:34:32] [PASSED] pf_rejects_guc2pf_no_payload
[16:34:32] [PASSED] pf_fails_no_payload
[16:34:32] [PASSED] pf_fails_bad_origin
[16:34:32] [PASSED] pf_fails_bad_type
[16:34:32] [PASSED] pf_txn_reports_error
[16:34:32] [PASSED] pf_txn_sends_pf2guc
[16:34:32] [PASSED] pf_sends_pf2guc
[16:34:32] [SKIPPED] pf_loopback_nop
[16:34:32] [SKIPPED] pf_loopback_echo
[16:34:32] [SKIPPED] pf_loopback_fail
[16:34:32] [SKIPPED] pf_loopback_busy
[16:34:32] [SKIPPED] pf_loopback_retry
[16:34:32] ==================== [PASSED] pf_relay =====================
[16:34:32] ================== vf_relay (3 subtests) ===================
[16:34:32] [PASSED] vf_rejects_guc2vf_too_short
[16:34:32] [PASSED] vf_rejects_guc2vf_too_long
[16:34:32] [PASSED] vf_rejects_guc2vf_no_payload
[16:34:32] ==================== [PASSED] vf_relay =====================
[16:34:32] =================== memirq (2 subtests) ====================
[16:34:32] ======================== test_guc =========================
[16:34:32] [PASSED] GUC GUC2HOST
[16:34:32] [PASSED] GUC SW_INT_0
[16:34:32] [PASSED] MGUC GUC2HOST
[16:34:32] [PASSED] MGUC SW_INT_0
[16:34:32] ==================== [PASSED] test_guc =====================
[16:34:32] ======================== test_hwe =========================
[16:34:32] [PASSED] rcs0 MI_USER_INTERRUPT
[16:34:32] [PASSED] bcs0 MI_USER_INTERRUPT
[16:34:32] [SKIPPED] bcs1 MI_USER_INTERRUPT
[16:34:32] [SKIPPED] bcs2 MI_USER_INTERRUPT
[16:34:32] [SKIPPED] bcs3 MI_USER_INTERRUPT
[16:34:32] [SKIPPED] bcs4 MI_USER_INTERRUPT
[16:34:32] [SKIPPED] bcs5 MI_USER_INTERRUPT
[16:34:32] [SKIPPED] bcs6 MI_USER_INTERRUPT
[16:34:32] [SKIPPED] bcs7 MI_USER_INTERRUPT
[16:34:32] [PASSED] bcs8 MI_USER_INTERRUPT
[16:34:32] [PASSED] CCS0 MI_USER_INTERRUPT
[16:34:32] [PASSED] CCS1 MI_USER_INTERRUPT
[16:34:32] [PASSED] CCS2 MI_USER_INTERRUPT
[16:34:32] [PASSED] CCS3 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS0 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS1 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS2 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS3 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS4 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS5 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS6 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS7 MI_USER_INTERRUPT
[16:34:32] [PASSED] VECS0 MI_USER_INTERRUPT
[16:34:32] [PASSED] VECS1 MI_USER_INTERRUPT
[16:34:32] [PASSED] VECS2 MI_USER_INTERRUPT
[16:34:32] [PASSED] VECS3 MI_USER_INTERRUPT
[16:34:32] ==================== [PASSED] test_hwe =====================
[16:34:32] ===================== [PASSED] memirq ======================
[16:34:32] ================= memirq_msix (2 subtests) =================
[16:34:32] ======================== test_guc =========================
[16:34:32] [PASSED] GUC GUC2HOST
[16:34:32] [PASSED] GUC SW_INT_0
[16:34:32] [PASSED] MGUC GUC2HOST
[16:34:32] [PASSED] MGUC SW_INT_0
[16:34:32] ==================== [PASSED] test_guc =====================
[16:34:32] ======================== test_hwe =========================
[16:34:32] [SKIPPED] rcs0 MI_USER_INTERRUPT
[16:34:32] [SKIPPED] bcs0 MI_USER_INTERRUPT
[16:34:32] [PASSED] bcs1 MI_USER_INTERRUPT
[16:34:32] [PASSED] bcs2 MI_USER_INTERRUPT
[16:34:32] [PASSED] bcs3 MI_USER_INTERRUPT
[16:34:32] [PASSED] bcs4 MI_USER_INTERRUPT
[16:34:32] [PASSED] bcs5 MI_USER_INTERRUPT
[16:34:32] [PASSED] bcs6 MI_USER_INTERRUPT
[16:34:32] [PASSED] bcs7 MI_USER_INTERRUPT
[16:34:32] [PASSED] bcs8 MI_USER_INTERRUPT
[16:34:32] [PASSED] CCS0 MI_USER_INTERRUPT
[16:34:32] [PASSED] CCS1 MI_USER_INTERRUPT
[16:34:32] [PASSED] CCS2 MI_USER_INTERRUPT
[16:34:32] [PASSED] CCS3 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS0 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS1 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS2 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS3 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS4 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS5 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS6 MI_USER_INTERRUPT
[16:34:32] [PASSED] VCS7 MI_USER_INTERRUPT
[16:34:32] [PASSED] VECS0 MI_USER_INTERRUPT
[16:34:32] [PASSED] VECS1 MI_USER_INTERRUPT
[16:34:32] [PASSED] VECS2 MI_USER_INTERRUPT
[16:34:32] [PASSED] VECS3 MI_USER_INTERRUPT
[16:34:32] ==================== [PASSED] test_hwe =====================
[16:34:32] =================== [PASSED] memirq_msix ===================
[16:34:32] ================ pf_gt_config (9 subtests) =================
[16:34:32] [PASSED] fair_contexts_1vf
[16:34:32] [PASSED] fair_doorbells_1vf
[16:34:32] [PASSED] fair_ggtt_1vf
[16:34:32] ====================== fair_vram_1vf ======================
[16:34:32] [PASSED] 3.50 GiB
[16:34:32] [PASSED] 11.5 GiB
[16:34:32] [PASSED] 15.5 GiB
[16:34:32] [PASSED] 31.5 GiB
[16:34:32] [PASSED] 63.5 GiB
[16:34:32] [PASSED] 1.91 GiB
[16:34:32] ================== [PASSED] fair_vram_1vf ==================
[16:34:32] ================ fair_vram_1vf_admin_only =================
[16:34:32] [PASSED] 3.50 GiB
[16:34:32] [PASSED] 11.5 GiB
[16:34:32] [PASSED] 15.5 GiB
[16:34:32] [PASSED] 31.5 GiB
[16:34:32] [PASSED] 63.5 GiB
[16:34:32] [PASSED] 1.91 GiB
[16:34:32] ============ [PASSED] fair_vram_1vf_admin_only =============
[16:34:32] ====================== fair_contexts ======================
[16:34:32] [PASSED] 1 VF
[16:34:32] [PASSED] 2 VFs
[16:34:32] [PASSED] 3 VFs
[16:34:32] [PASSED] 4 VFs
[16:34:32] [PASSED] 5 VFs
[16:34:32] [PASSED] 6 VFs
[16:34:32] [PASSED] 7 VFs
[16:34:32] [PASSED] 8 VFs
[16:34:32] [PASSED] 9 VFs
[16:34:32] [PASSED] 10 VFs
[16:34:32] [PASSED] 11 VFs
[16:34:32] [PASSED] 12 VFs
[16:34:32] [PASSED] 13 VFs
[16:34:32] [PASSED] 14 VFs
[16:34:32] [PASSED] 15 VFs
[16:34:32] [PASSED] 16 VFs
[16:34:32] [PASSED] 17 VFs
[16:34:32] [PASSED] 18 VFs
[16:34:32] [PASSED] 19 VFs
[16:34:32] [PASSED] 20 VFs
[16:34:32] [PASSED] 21 VFs
[16:34:32] [PASSED] 22 VFs
[16:34:32] [PASSED] 23 VFs
[16:34:32] [PASSED] 24 VFs
[16:34:32] [PASSED] 25 VFs
[16:34:32] [PASSED] 26 VFs
[16:34:32] [PASSED] 27 VFs
[16:34:32] [PASSED] 28 VFs
[16:34:32] [PASSED] 29 VFs
[16:34:33] [PASSED] 30 VFs
[16:34:33] [PASSED] 31 VFs
[16:34:33] [PASSED] 32 VFs
[16:34:33] [PASSED] 33 VFs
[16:34:33] [PASSED] 34 VFs
[16:34:33] [PASSED] 35 VFs
[16:34:33] [PASSED] 36 VFs
[16:34:33] [PASSED] 37 VFs
[16:34:33] [PASSED] 38 VFs
[16:34:33] [PASSED] 39 VFs
[16:34:33] [PASSED] 40 VFs
[16:34:33] [PASSED] 41 VFs
[16:34:33] [PASSED] 42 VFs
[16:34:33] [PASSED] 43 VFs
[16:34:33] [PASSED] 44 VFs
[16:34:33] [PASSED] 45 VFs
[16:34:33] [PASSED] 46 VFs
[16:34:33] [PASSED] 47 VFs
[16:34:33] [PASSED] 48 VFs
[16:34:33] [PASSED] 49 VFs
[16:34:33] [PASSED] 50 VFs
[16:34:33] [PASSED] 51 VFs
[16:34:33] [PASSED] 52 VFs
[16:34:33] [PASSED] 53 VFs
[16:34:33] [PASSED] 54 VFs
[16:34:33] [PASSED] 55 VFs
[16:34:33] [PASSED] 56 VFs
[16:34:33] [PASSED] 57 VFs
[16:34:33] [PASSED] 58 VFs
[16:34:33] [PASSED] 59 VFs
[16:34:33] [PASSED] 60 VFs
[16:34:33] [PASSED] 61 VFs
[16:34:33] [PASSED] 62 VFs
[16:34:33] [PASSED] 63 VFs
[16:34:33] ================== [PASSED] fair_contexts ==================
[16:34:33] ===================== fair_doorbells ======================
[16:34:33] [PASSED] 1 VF
[16:34:33] [PASSED] 2 VFs
[16:34:33] [PASSED] 3 VFs
[16:34:33] [PASSED] 4 VFs
[16:34:33] [PASSED] 5 VFs
[16:34:33] [PASSED] 6 VFs
[16:34:33] [PASSED] 7 VFs
[16:34:33] [PASSED] 8 VFs
[16:34:33] [PASSED] 9 VFs
[16:34:33] [PASSED] 10 VFs
[16:34:33] [PASSED] 11 VFs
[16:34:33] [PASSED] 12 VFs
[16:34:33] [PASSED] 13 VFs
[16:34:33] [PASSED] 14 VFs
[16:34:33] [PASSED] 15 VFs
[16:34:33] [PASSED] 16 VFs
[16:34:33] [PASSED] 17 VFs
[16:34:33] [PASSED] 18 VFs
[16:34:33] [PASSED] 19 VFs
[16:34:33] [PASSED] 20 VFs
[16:34:33] [PASSED] 21 VFs
[16:34:33] [PASSED] 22 VFs
[16:34:33] [PASSED] 23 VFs
[16:34:33] [PASSED] 24 VFs
[16:34:33] [PASSED] 25 VFs
[16:34:33] [PASSED] 26 VFs
[16:34:33] [PASSED] 27 VFs
[16:34:33] [PASSED] 28 VFs
[16:34:33] [PASSED] 29 VFs
[16:34:33] [PASSED] 30 VFs
[16:34:33] [PASSED] 31 VFs
[16:34:33] [PASSED] 32 VFs
[16:34:33] [PASSED] 33 VFs
[16:34:33] [PASSED] 34 VFs
[16:34:33] [PASSED] 35 VFs
[16:34:33] [PASSED] 36 VFs
[16:34:33] [PASSED] 37 VFs
[16:34:33] [PASSED] 38 VFs
[16:34:33] [PASSED] 39 VFs
[16:34:33] [PASSED] 40 VFs
[16:34:33] [PASSED] 41 VFs
[16:34:33] [PASSED] 42 VFs
[16:34:33] [PASSED] 43 VFs
[16:34:33] [PASSED] 44 VFs
[16:34:33] [PASSED] 45 VFs
[16:34:33] [PASSED] 46 VFs
[16:34:33] [PASSED] 47 VFs
[16:34:33] [PASSED] 48 VFs
[16:34:33] [PASSED] 49 VFs
[16:34:33] [PASSED] 50 VFs
[16:34:33] [PASSED] 51 VFs
[16:34:33] [PASSED] 52 VFs
[16:34:33] [PASSED] 53 VFs
[16:34:33] [PASSED] 54 VFs
[16:34:33] [PASSED] 55 VFs
[16:34:33] [PASSED] 56 VFs
[16:34:33] [PASSED] 57 VFs
[16:34:33] [PASSED] 58 VFs
[16:34:33] [PASSED] 59 VFs
[16:34:33] [PASSED] 60 VFs
[16:34:33] [PASSED] 61 VFs
[16:34:33] [PASSED] 62 VFs
[16:34:33] [PASSED] 63 VFs
[16:34:33] ================= [PASSED] fair_doorbells ==================
[16:34:33] ======================== fair_ggtt ========================
[16:34:33] [PASSED] 1 VF
[16:34:33] [PASSED] 2 VFs
[16:34:33] [PASSED] 3 VFs
[16:34:33] [PASSED] 4 VFs
[16:34:33] [PASSED] 5 VFs
[16:34:33] [PASSED] 6 VFs
[16:34:33] [PASSED] 7 VFs
[16:34:33] [PASSED] 8 VFs
[16:34:33] [PASSED] 9 VFs
[16:34:33] [PASSED] 10 VFs
[16:34:33] [PASSED] 11 VFs
[16:34:33] [PASSED] 12 VFs
[16:34:33] [PASSED] 13 VFs
[16:34:33] [PASSED] 14 VFs
[16:34:33] [PASSED] 15 VFs
[16:34:33] [PASSED] 16 VFs
[16:34:33] [PASSED] 17 VFs
[16:34:33] [PASSED] 18 VFs
[16:34:33] [PASSED] 19 VFs
[16:34:33] [PASSED] 20 VFs
[16:34:33] [PASSED] 21 VFs
[16:34:33] [PASSED] 22 VFs
[16:34:33] [PASSED] 23 VFs
[16:34:33] [PASSED] 24 VFs
[16:34:33] [PASSED] 25 VFs
[16:34:33] [PASSED] 26 VFs
[16:34:33] [PASSED] 27 VFs
[16:34:33] [PASSED] 28 VFs
[16:34:33] [PASSED] 29 VFs
[16:34:33] [PASSED] 30 VFs
[16:34:33] [PASSED] 31 VFs
[16:34:33] [PASSED] 32 VFs
[16:34:33] [PASSED] 33 VFs
[16:34:33] [PASSED] 34 VFs
[16:34:33] [PASSED] 35 VFs
[16:34:33] [PASSED] 36 VFs
[16:34:33] [PASSED] 37 VFs
[16:34:33] [PASSED] 38 VFs
[16:34:33] [PASSED] 39 VFs
[16:34:33] [PASSED] 40 VFs
[16:34:33] [PASSED] 41 VFs
[16:34:33] [PASSED] 42 VFs
[16:34:33] [PASSED] 43 VFs
[16:34:33] [PASSED] 44 VFs
[16:34:33] [PASSED] 45 VFs
[16:34:33] [PASSED] 46 VFs
[16:34:33] [PASSED] 47 VFs
[16:34:33] [PASSED] 48 VFs
[16:34:33] [PASSED] 49 VFs
[16:34:33] [PASSED] 50 VFs
[16:34:33] [PASSED] 51 VFs
[16:34:33] [PASSED] 52 VFs
[16:34:33] [PASSED] 53 VFs
[16:34:33] [PASSED] 54 VFs
[16:34:33] [PASSED] 55 VFs
[16:34:33] [PASSED] 56 VFs
[16:34:33] [PASSED] 57 VFs
[16:34:33] [PASSED] 58 VFs
[16:34:33] [PASSED] 59 VFs
[16:34:33] [PASSED] 60 VFs
[16:34:33] [PASSED] 61 VFs
[16:34:33] [PASSED] 62 VFs
[16:34:33] [PASSED] 63 VFs
[16:34:33] ==================== [PASSED] fair_ggtt ====================
[16:34:33] ======================== fair_vram ========================
[16:34:33] [PASSED] 1 VF
[16:34:33] [PASSED] 2 VFs
[16:34:33] [PASSED] 3 VFs
[16:34:33] [PASSED] 4 VFs
[16:34:33] [PASSED] 5 VFs
[16:34:33] [PASSED] 6 VFs
[16:34:33] [PASSED] 7 VFs
[16:34:33] [PASSED] 8 VFs
[16:34:33] [PASSED] 9 VFs
[16:34:33] [PASSED] 10 VFs
[16:34:33] [PASSED] 11 VFs
[16:34:33] [PASSED] 12 VFs
[16:34:33] [PASSED] 13 VFs
[16:34:33] [PASSED] 14 VFs
[16:34:33] [PASSED] 15 VFs
[16:34:33] [PASSED] 16 VFs
[16:34:33] [PASSED] 17 VFs
[16:34:33] [PASSED] 18 VFs
[16:34:33] [PASSED] 19 VFs
[16:34:33] [PASSED] 20 VFs
[16:34:33] [PASSED] 21 VFs
[16:34:33] [PASSED] 22 VFs
[16:34:33] [PASSED] 23 VFs
[16:34:33] [PASSED] 24 VFs
[16:34:33] [PASSED] 25 VFs
[16:34:33] [PASSED] 26 VFs
[16:34:33] [PASSED] 27 VFs
[16:34:33] [PASSED] 28 VFs
[16:34:33] [PASSED] 29 VFs
[16:34:33] [PASSED] 30 VFs
[16:34:33] [PASSED] 31 VFs
[16:34:33] [PASSED] 32 VFs
[16:34:33] [PASSED] 33 VFs
[16:34:33] [PASSED] 34 VFs
[16:34:33] [PASSED] 35 VFs
[16:34:33] [PASSED] 36 VFs
[16:34:33] [PASSED] 37 VFs
[16:34:33] [PASSED] 38 VFs
[16:34:33] [PASSED] 39 VFs
[16:34:33] [PASSED] 40 VFs
[16:34:33] [PASSED] 41 VFs
[16:34:33] [PASSED] 42 VFs
[16:34:33] [PASSED] 43 VFs
[16:34:33] [PASSED] 44 VFs
[16:34:33] [PASSED] 45 VFs
[16:34:33] [PASSED] 46 VFs
[16:34:33] [PASSED] 47 VFs
[16:34:33] [PASSED] 48 VFs
[16:34:33] [PASSED] 49 VFs
[16:34:33] [PASSED] 50 VFs
[16:34:33] [PASSED] 51 VFs
[16:34:33] [PASSED] 52 VFs
[16:34:33] [PASSED] 53 VFs
[16:34:33] [PASSED] 54 VFs
[16:34:33] [PASSED] 55 VFs
[16:34:33] [PASSED] 56 VFs
[16:34:33] [PASSED] 57 VFs
[16:34:33] [PASSED] 58 VFs
[16:34:33] [PASSED] 59 VFs
[16:34:33] [PASSED] 60 VFs
[16:34:33] [PASSED] 61 VFs
[16:34:33] [PASSED] 62 VFs
[16:34:33] [PASSED] 63 VFs
[16:34:33] ==================== [PASSED] fair_vram ====================
[16:34:33] ================== [PASSED] pf_gt_config ===================
[16:34:33] ===================== lmtt (1 subtest) =====================
[16:34:33] ======================== test_ops =========================
[16:34:33] [PASSED] 2-level
[16:34:33] [PASSED] multi-level
[16:34:33] ==================== [PASSED] test_ops =====================
[16:34:33] ====================== [PASSED] lmtt =======================
[16:34:33] ================= pf_service (11 subtests) =================
[16:34:33] [PASSED] pf_negotiate_any
[16:34:33] [PASSED] pf_negotiate_base_match
[16:34:33] [PASSED] pf_negotiate_base_newer
[16:34:33] [PASSED] pf_negotiate_base_next
[16:34:33] [SKIPPED] pf_negotiate_base_older
[16:34:33] [PASSED] pf_negotiate_base_prev
[16:34:33] [PASSED] pf_negotiate_latest_match
[16:34:33] [PASSED] pf_negotiate_latest_newer
[16:34:33] [PASSED] pf_negotiate_latest_next
[16:34:33] [SKIPPED] pf_negotiate_latest_older
[16:34:33] [SKIPPED] pf_negotiate_latest_prev
[16:34:33] =================== [PASSED] pf_service ====================
[16:34:33] ================= xe_guc_g2g (2 subtests) ==================
[16:34:33] ============== xe_live_guc_g2g_kunit_default ==============
[16:34:33] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[16:34:33] ============== xe_live_guc_g2g_kunit_allmem ===============
[16:34:33] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[16:34:33] =================== [SKIPPED] xe_guc_g2g ===================
[16:34:33] =================== xe_mocs (2 subtests) ===================
[16:34:33] ================ xe_live_mocs_kernel_kunit ================
[16:34:33] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[16:34:33] ================ xe_live_mocs_reset_kunit =================
[16:34:33] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[16:34:33] ==================== [SKIPPED] xe_mocs =====================
[16:34:33] ================= xe_migrate (2 subtests) ==================
[16:34:33] ================= xe_migrate_sanity_kunit =================
[16:34:33] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[16:34:33] ================== xe_validate_ccs_kunit ==================
[16:34:33] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[16:34:33] =================== [SKIPPED] xe_migrate ===================
[16:34:33] ================== xe_dma_buf (1 subtest) ==================
[16:34:33] ==================== xe_dma_buf_kunit =====================
[16:34:33] ================ [SKIPPED] xe_dma_buf_kunit ================
[16:34:33] =================== [SKIPPED] xe_dma_buf ===================
[16:34:33] ================= xe_bo_shrink (1 subtest) =================
[16:34:33] =================== xe_bo_shrink_kunit ====================
[16:34:33] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[16:34:33] ================== [SKIPPED] xe_bo_shrink ==================
[16:34:33] ==================== xe_bo (2 subtests) ====================
[16:34:33] ================== xe_ccs_migrate_kunit ===================
[16:34:33] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[16:34:33] ==================== xe_bo_evict_kunit ====================
[16:34:33] =============== [SKIPPED] xe_bo_evict_kunit ================
[16:34:33] ===================== [SKIPPED] xe_bo ======================
[16:34:33] ==================== args (13 subtests) ====================
[16:34:33] [PASSED] count_args_test
[16:34:33] [PASSED] call_args_example
[16:34:33] [PASSED] call_args_test
[16:34:33] [PASSED] drop_first_arg_example
[16:34:33] [PASSED] drop_first_arg_test
[16:34:33] [PASSED] first_arg_example
[16:34:33] [PASSED] first_arg_test
[16:34:33] [PASSED] last_arg_example
[16:34:33] [PASSED] last_arg_test
[16:34:33] [PASSED] pick_arg_example
[16:34:33] [PASSED] if_args_example
[16:34:33] [PASSED] if_args_test
[16:34:33] [PASSED] sep_comma_example
[16:34:33] ====================== [PASSED] args =======================
[16:34:33] =================== xe_pci (3 subtests) ====================
[16:34:33] ==================== check_graphics_ip ====================
[16:34:33] [PASSED] 12.00 Xe_LP
[16:34:33] [PASSED] 12.10 Xe_LP+
[16:34:33] [PASSED] 12.55 Xe_HPG
[16:34:33] [PASSED] 12.60 Xe_HPC
[16:34:33] [PASSED] 12.70 Xe_LPG
[16:34:33] [PASSED] 12.71 Xe_LPG
[16:34:33] [PASSED] 12.74 Xe_LPG+
[16:34:33] [PASSED] 20.01 Xe2_HPG
[16:34:33] [PASSED] 20.02 Xe2_HPG
[16:34:33] [PASSED] 20.04 Xe2_LPG
[16:34:33] [PASSED] 30.00 Xe3_LPG
[16:34:33] [PASSED] 30.01 Xe3_LPG
[16:34:33] [PASSED] 30.03 Xe3_LPG
[16:34:33] [PASSED] 30.04 Xe3_LPG
[16:34:33] [PASSED] 30.05 Xe3_LPG
[16:34:33] [PASSED] 35.10 Xe3p_LPG
[16:34:33] [PASSED] 35.11 Xe3p_XPC
[16:34:33] ================ [PASSED] check_graphics_ip ================
[16:34:33] ===================== check_media_ip ======================
[16:34:33] [PASSED] 12.00 Xe_M
[16:34:33] [PASSED] 12.55 Xe_HPM
[16:34:33] [PASSED] 13.00 Xe_LPM+
[16:34:33] [PASSED] 13.01 Xe2_HPM
[16:34:33] [PASSED] 20.00 Xe2_LPM
[16:34:33] [PASSED] 30.00 Xe3_LPM
[16:34:33] [PASSED] 30.02 Xe3_LPM
[16:34:33] [PASSED] 35.00 Xe3p_LPM
[16:34:33] [PASSED] 35.03 Xe3p_HPM
[16:34:33] ================= [PASSED] check_media_ip ==================
[16:34:33] =================== check_platform_desc ===================
[16:34:33] [PASSED] 0x9A60 (TIGERLAKE)
[16:34:33] [PASSED] 0x9A68 (TIGERLAKE)
[16:34:33] [PASSED] 0x9A70 (TIGERLAKE)
[16:34:33] [PASSED] 0x9A40 (TIGERLAKE)
[16:34:33] [PASSED] 0x9A49 (TIGERLAKE)
[16:34:33] [PASSED] 0x9A59 (TIGERLAKE)
[16:34:33] [PASSED] 0x9A78 (TIGERLAKE)
[16:34:33] [PASSED] 0x9AC0 (TIGERLAKE)
[16:34:33] [PASSED] 0x9AC9 (TIGERLAKE)
[16:34:33] [PASSED] 0x9AD9 (TIGERLAKE)
[16:34:33] [PASSED] 0x9AF8 (TIGERLAKE)
[16:34:33] [PASSED] 0x4C80 (ROCKETLAKE)
[16:34:33] [PASSED] 0x4C8A (ROCKETLAKE)
[16:34:33] [PASSED] 0x4C8B (ROCKETLAKE)
[16:34:33] [PASSED] 0x4C8C (ROCKETLAKE)
[16:34:33] [PASSED] 0x4C90 (ROCKETLAKE)
[16:34:33] [PASSED] 0x4C9A (ROCKETLAKE)
[16:34:33] [PASSED] 0x4680 (ALDERLAKE_S)
[16:34:33] [PASSED] 0x4682 (ALDERLAKE_S)
[16:34:33] [PASSED] 0x4688 (ALDERLAKE_S)
[16:34:33] [PASSED] 0x468A (ALDERLAKE_S)
[16:34:33] [PASSED] 0x468B (ALDERLAKE_S)
[16:34:33] [PASSED] 0x4690 (ALDERLAKE_S)
[16:34:33] [PASSED] 0x4692 (ALDERLAKE_S)
[16:34:33] [PASSED] 0x4693 (ALDERLAKE_S)
[16:34:33] [PASSED] 0x46A0 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46A1 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46A2 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46A3 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46A6 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46A8 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46AA (ALDERLAKE_P)
[16:34:33] [PASSED] 0x462A (ALDERLAKE_P)
[16:34:33] [PASSED] 0x4626 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x4628 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46B0 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46B1 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46B2 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46B3 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46C0 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46C1 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46C2 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46C3 (ALDERLAKE_P)
[16:34:33] [PASSED] 0x46D0 (ALDERLAKE_N)
[16:34:33] [PASSED] 0x46D1 (ALDERLAKE_N)
[16:34:33] [PASSED] 0x46D2 (ALDERLAKE_N)
[16:34:33] [PASSED] 0x46D3 (ALDERLAKE_N)
[16:34:33] [PASSED] 0x46D4 (ALDERLAKE_N)
[16:34:33] [PASSED] 0xA721 (ALDERLAKE_P)
[16:34:33] [PASSED] 0xA7A1 (ALDERLAKE_P)
[16:34:33] [PASSED] 0xA7A9 (ALDERLAKE_P)
[16:34:33] [PASSED] 0xA7AC (ALDERLAKE_P)
[16:34:33] [PASSED] 0xA7AD (ALDERLAKE_P)
[16:34:33] [PASSED] 0xA720 (ALDERLAKE_P)
[16:34:33] [PASSED] 0xA7A0 (ALDERLAKE_P)
[16:34:33] [PASSED] 0xA7A8 (ALDERLAKE_P)
[16:34:33] [PASSED] 0xA7AA (ALDERLAKE_P)
[16:34:33] [PASSED] 0xA7AB (ALDERLAKE_P)
[16:34:33] [PASSED] 0xA780 (ALDERLAKE_S)
[16:34:33] [PASSED] 0xA781 (ALDERLAKE_S)
[16:34:33] [PASSED] 0xA782 (ALDERLAKE_S)
[16:34:33] [PASSED] 0xA783 (ALDERLAKE_S)
[16:34:33] [PASSED] 0xA788 (ALDERLAKE_S)
[16:34:33] [PASSED] 0xA789 (ALDERLAKE_S)
[16:34:33] [PASSED] 0xA78A (ALDERLAKE_S)
[16:34:33] [PASSED] 0xA78B (ALDERLAKE_S)
[16:34:33] [PASSED] 0x4905 (DG1)
[16:34:33] [PASSED] 0x4906 (DG1)
[16:34:33] [PASSED] 0x4907 (DG1)
[16:34:33] [PASSED] 0x4908 (DG1)
[16:34:33] [PASSED] 0x4909 (DG1)
[16:34:33] [PASSED] 0x56C0 (DG2)
[16:34:33] [PASSED] 0x56C2 (DG2)
[16:34:33] [PASSED] 0x56C1 (DG2)
[16:34:33] [PASSED] 0x7D51 (METEORLAKE)
[16:34:33] [PASSED] 0x7DD1 (METEORLAKE)
[16:34:33] [PASSED] 0x7D41 (METEORLAKE)
[16:34:33] [PASSED] 0x7D67 (METEORLAKE)
[16:34:33] [PASSED] 0xB640 (METEORLAKE)
[16:34:33] [PASSED] 0x56A0 (DG2)
[16:34:33] [PASSED] 0x56A1 (DG2)
[16:34:33] [PASSED] 0x56A2 (DG2)
[16:34:33] [PASSED] 0x56BE (DG2)
[16:34:33] [PASSED] 0x56BF (DG2)
[16:34:33] [PASSED] 0x5690 (DG2)
[16:34:33] [PASSED] 0x5691 (DG2)
[16:34:33] [PASSED] 0x5692 (DG2)
[16:34:33] [PASSED] 0x56A5 (DG2)
[16:34:33] [PASSED] 0x56A6 (DG2)
[16:34:33] [PASSED] 0x56B0 (DG2)
[16:34:33] [PASSED] 0x56B1 (DG2)
[16:34:33] [PASSED] 0x56BA (DG2)
[16:34:33] [PASSED] 0x56BB (DG2)
[16:34:33] [PASSED] 0x56BC (DG2)
[16:34:33] [PASSED] 0x56BD (DG2)
[16:34:33] [PASSED] 0x5693 (DG2)
[16:34:33] [PASSED] 0x5694 (DG2)
[16:34:33] [PASSED] 0x5695 (DG2)
[16:34:33] [PASSED] 0x56A3 (DG2)
[16:34:33] [PASSED] 0x56A4 (DG2)
[16:34:33] [PASSED] 0x56B2 (DG2)
[16:34:33] [PASSED] 0x56B3 (DG2)
[16:34:33] [PASSED] 0x5696 (DG2)
[16:34:33] [PASSED] 0x5697 (DG2)
[16:34:33] [PASSED] 0xB69 (PVC)
[16:34:33] [PASSED] 0xB6E (PVC)
[16:34:33] [PASSED] 0xBD4 (PVC)
[16:34:33] [PASSED] 0xBD5 (PVC)
[16:34:33] [PASSED] 0xBD6 (PVC)
[16:34:33] [PASSED] 0xBD7 (PVC)
[16:34:33] [PASSED] 0xBD8 (PVC)
[16:34:33] [PASSED] 0xBD9 (PVC)
[16:34:33] [PASSED] 0xBDA (PVC)
[16:34:33] [PASSED] 0xBDB (PVC)
[16:34:33] [PASSED] 0xBE0 (PVC)
[16:34:33] [PASSED] 0xBE1 (PVC)
[16:34:33] [PASSED] 0xBE5 (PVC)
[16:34:33] [PASSED] 0x7D40 (METEORLAKE)
[16:34:33] [PASSED] 0x7D45 (METEORLAKE)
[16:34:33] [PASSED] 0x7D55 (METEORLAKE)
[16:34:33] [PASSED] 0x7D60 (METEORLAKE)
[16:34:33] [PASSED] 0x7DD5 (METEORLAKE)
[16:34:33] [PASSED] 0x6420 (LUNARLAKE)
[16:34:33] [PASSED] 0x64A0 (LUNARLAKE)
[16:34:33] [PASSED] 0x64B0 (LUNARLAKE)
[16:34:33] [PASSED] 0xE202 (BATTLEMAGE)
[16:34:33] [PASSED] 0xE209 (BATTLEMAGE)
[16:34:33] [PASSED] 0xE20B (BATTLEMAGE)
[16:34:33] [PASSED] 0xE20C (BATTLEMAGE)
[16:34:33] [PASSED] 0xE20D (BATTLEMAGE)
[16:34:33] [PASSED] 0xE210 (BATTLEMAGE)
[16:34:33] [PASSED] 0xE211 (BATTLEMAGE)
[16:34:33] [PASSED] 0xE212 (BATTLEMAGE)
[16:34:33] [PASSED] 0xE216 (BATTLEMAGE)
[16:34:33] [PASSED] 0xE220 (BATTLEMAGE)
[16:34:33] [PASSED] 0xE221 (BATTLEMAGE)
[16:34:33] [PASSED] 0xE222 (BATTLEMAGE)
[16:34:33] [PASSED] 0xE223 (BATTLEMAGE)
[16:34:33] [PASSED] 0xB080 (PANTHERLAKE)
[16:34:33] [PASSED] 0xB081 (PANTHERLAKE)
[16:34:33] [PASSED] 0xB082 (PANTHERLAKE)
[16:34:33] [PASSED] 0xB083 (PANTHERLAKE)
[16:34:33] [PASSED] 0xB084 (PANTHERLAKE)
[16:34:33] [PASSED] 0xB085 (PANTHERLAKE)
[16:34:33] [PASSED] 0xB086 (PANTHERLAKE)
[16:34:33] [PASSED] 0xB087 (PANTHERLAKE)
[16:34:33] [PASSED] 0xB08F (PANTHERLAKE)
[16:34:33] [PASSED] 0xB090 (PANTHERLAKE)
[16:34:33] [PASSED] 0xB0A0 (PANTHERLAKE)
[16:34:33] [PASSED] 0xB0B0 (PANTHERLAKE)
[16:34:33] [PASSED] 0xFD80 (PANTHERLAKE)
[16:34:33] [PASSED] 0xFD81 (PANTHERLAKE)
[16:34:33] [PASSED] 0xD740 (NOVALAKE_S)
[16:34:33] [PASSED] 0xD741 (NOVALAKE_S)
[16:34:33] [PASSED] 0xD742 (NOVALAKE_S)
[16:34:33] [PASSED] 0xD743 (NOVALAKE_S)
[16:34:33] [PASSED] 0xD744 (NOVALAKE_S)
[16:34:33] [PASSED] 0xD745 (NOVALAKE_S)
[16:34:33] [PASSED] 0x674C (CRESCENTISLAND)
[16:34:33] [PASSED] 0xD750 (NOVALAKE_P)
[16:34:33] [PASSED] 0xD751 (NOVALAKE_P)
[16:34:33] [PASSED] 0xD752 (NOVALAKE_P)
[16:34:33] [PASSED] 0xD753 (NOVALAKE_P)
[16:34:33] [PASSED] 0xD754 (NOVALAKE_P)
[16:34:33] [PASSED] 0xD755 (NOVALAKE_P)
[16:34:33] [PASSED] 0xD756 (NOVALAKE_P)
[16:34:33] [PASSED] 0xD757 (NOVALAKE_P)
[16:34:33] [PASSED] 0xD75F (NOVALAKE_P)
[16:34:33] =============== [PASSED] check_platform_desc ===============
[16:34:33] ===================== [PASSED] xe_pci ======================
[16:34:33] =================== xe_rtp (2 subtests) ====================
[16:34:33] =============== xe_rtp_process_to_sr_tests ================
[16:34:33] [PASSED] coalesce-same-reg
[16:34:33] [PASSED] no-match-no-add
[16:34:33] [PASSED] match-or
[16:34:33] [PASSED] match-or-xfail
[16:34:33] [PASSED] no-match-no-add-multiple-rules
[16:34:33] [PASSED] two-regs-two-entries
[16:34:33] [PASSED] clr-one-set-other
[16:34:33] [PASSED] set-field
[16:34:33] [PASSED] conflict-duplicate
[16:34:33] [PASSED] conflict-not-disjoint
[16:34:33] [PASSED] conflict-reg-type
[16:34:33] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[16:34:33] ================== xe_rtp_process_tests ===================
[16:34:33] [PASSED] active1
[16:34:33] [PASSED] active2
[16:34:33] [PASSED] active-inactive
[16:34:33] [PASSED] inactive-active
[16:34:33] [PASSED] inactive-1st_or_active-inactive
[16:34:33] [PASSED] inactive-2nd_or_active-inactive
[16:34:33] [PASSED] inactive-last_or_active-inactive
[16:34:33] [PASSED] inactive-no_or_active-inactive
[16:34:33] ============== [PASSED] xe_rtp_process_tests ===============
[16:34:33] ===================== [PASSED] xe_rtp ======================
[16:34:33] ==================== xe_wa (1 subtest) =====================
[16:34:33] ======================== xe_wa_gt =========================
[16:34:33] [PASSED] TIGERLAKE B0
[16:34:33] [PASSED] DG1 A0
[16:34:33] [PASSED] DG1 B0
[16:34:33] [PASSED] ALDERLAKE_S A0
[16:34:33] [PASSED] ALDERLAKE_S B0
[16:34:33] [PASSED] ALDERLAKE_S C0
[16:34:33] [PASSED] ALDERLAKE_S D0
[16:34:33] [PASSED] ALDERLAKE_P A0
[16:34:33] [PASSED] ALDERLAKE_P B0
[16:34:33] [PASSED] ALDERLAKE_P C0
[16:34:33] [PASSED] ALDERLAKE_S RPLS D0
[16:34:33] [PASSED] ALDERLAKE_P RPLU E0
[16:34:33] [PASSED] DG2 G10 C0
[16:34:33] [PASSED] DG2 G11 B1
[16:34:33] [PASSED] DG2 G12 A1
[16:34:33] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[16:34:33] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[16:34:33] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[16:34:33] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[16:34:33] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[16:34:33] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[16:34:33] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[16:34:33] ==================== [PASSED] xe_wa_gt =====================
[16:34:33] ====================== [PASSED] xe_wa ======================
[16:34:33] ============================================================
[16:34:33] Testing complete. Ran 657 tests: passed: 630, skipped: 27
[16:34:33] Elapsed time: 36.141s total, 4.303s configuring, 31.122s building, 0.672s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[16:34:33] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:34:35] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:34:59] Starting KUnit Kernel (1/1)...
[16:34:59] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:34:59] ============ drm_test_pick_cmdline (2 subtests) ============
[16:34:59] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[16:34:59] =============== drm_test_pick_cmdline_named ===============
[16:34:59] [PASSED] NTSC
[16:34:59] [PASSED] NTSC-J
[16:34:59] [PASSED] PAL
[16:34:59] [PASSED] PAL-M
[16:34:59] =========== [PASSED] drm_test_pick_cmdline_named ===========
[16:34:59] ============== [PASSED] drm_test_pick_cmdline ==============
[16:34:59] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[16:34:59] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[16:34:59] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[16:34:59] =========== drm_validate_clone_mode (2 subtests) ===========
[16:34:59] ============== drm_test_check_in_clone_mode ===============
[16:34:59] [PASSED] in_clone_mode
[16:34:59] [PASSED] not_in_clone_mode
[16:34:59] ========== [PASSED] drm_test_check_in_clone_mode ===========
[16:34:59] =============== drm_test_check_valid_clones ===============
[16:34:59] [PASSED] not_in_clone_mode
[16:34:59] [PASSED] valid_clone
[16:34:59] [PASSED] invalid_clone
[16:34:59] =========== [PASSED] drm_test_check_valid_clones ===========
[16:34:59] ============= [PASSED] drm_validate_clone_mode =============
[16:34:59] ============= drm_validate_modeset (1 subtest) =============
[16:34:59] [PASSED] drm_test_check_connector_changed_modeset
[16:34:59] ============== [PASSED] drm_validate_modeset ===============
[16:34:59] ====== drm_test_bridge_get_current_state (2 subtests) ======
[16:34:59] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[16:34:59] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[16:34:59] ======== [PASSED] drm_test_bridge_get_current_state ========
[16:34:59] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[16:34:59] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[16:34:59] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[16:34:59] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[16:34:59] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[16:34:59] ============== drm_bridge_alloc (2 subtests) ===============
[16:34:59] [PASSED] drm_test_drm_bridge_alloc_basic
[16:34:59] [PASSED] drm_test_drm_bridge_alloc_get_put
[16:34:59] ================ [PASSED] drm_bridge_alloc =================
[16:34:59] ============= drm_cmdline_parser (40 subtests) =============
[16:34:59] [PASSED] drm_test_cmdline_force_d_only
[16:34:59] [PASSED] drm_test_cmdline_force_D_only_dvi
[16:34:59] [PASSED] drm_test_cmdline_force_D_only_hdmi
[16:34:59] [PASSED] drm_test_cmdline_force_D_only_not_digital
[16:34:59] [PASSED] drm_test_cmdline_force_e_only
[16:34:59] [PASSED] drm_test_cmdline_res
[16:34:59] [PASSED] drm_test_cmdline_res_vesa
[16:34:59] [PASSED] drm_test_cmdline_res_vesa_rblank
[16:34:59] [PASSED] drm_test_cmdline_res_rblank
[16:34:59] [PASSED] drm_test_cmdline_res_bpp
[16:34:59] [PASSED] drm_test_cmdline_res_refresh
[16:34:59] [PASSED] drm_test_cmdline_res_bpp_refresh
[16:34:59] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[16:34:59] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[16:34:59] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[16:34:59] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[16:34:59] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[16:34:59] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[16:34:59] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[16:34:59] [PASSED] drm_test_cmdline_res_margins_force_on
[16:34:59] [PASSED] drm_test_cmdline_res_vesa_margins
[16:34:59] [PASSED] drm_test_cmdline_name
[16:34:59] [PASSED] drm_test_cmdline_name_bpp
[16:34:59] [PASSED] drm_test_cmdline_name_option
[16:34:59] [PASSED] drm_test_cmdline_name_bpp_option
[16:34:59] [PASSED] drm_test_cmdline_rotate_0
[16:34:59] [PASSED] drm_test_cmdline_rotate_90
[16:34:59] [PASSED] drm_test_cmdline_rotate_180
[16:34:59] [PASSED] drm_test_cmdline_rotate_270
[16:34:59] [PASSED] drm_test_cmdline_hmirror
[16:34:59] [PASSED] drm_test_cmdline_vmirror
[16:34:59] [PASSED] drm_test_cmdline_margin_options
[16:34:59] [PASSED] drm_test_cmdline_multiple_options
[16:34:59] [PASSED] drm_test_cmdline_bpp_extra_and_option
[16:34:59] [PASSED] drm_test_cmdline_extra_and_option
[16:34:59] [PASSED] drm_test_cmdline_freestanding_options
[16:34:59] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[16:34:59] [PASSED] drm_test_cmdline_panel_orientation
[16:34:59] ================ drm_test_cmdline_invalid =================
[16:34:59] [PASSED] margin_only
[16:34:59] [PASSED] interlace_only
[16:34:59] [PASSED] res_missing_x
[16:34:59] [PASSED] res_missing_y
[16:34:59] [PASSED] res_bad_y
[16:34:59] [PASSED] res_missing_y_bpp
[16:34:59] [PASSED] res_bad_bpp
[16:34:59] [PASSED] res_bad_refresh
[16:34:59] [PASSED] res_bpp_refresh_force_on_off
[16:34:59] [PASSED] res_invalid_mode
[16:34:59] [PASSED] res_bpp_wrong_place_mode
[16:34:59] [PASSED] name_bpp_refresh
[16:34:59] [PASSED] name_refresh
[16:34:59] [PASSED] name_refresh_wrong_mode
[16:34:59] [PASSED] name_refresh_invalid_mode
[16:34:59] [PASSED] rotate_multiple
[16:34:59] [PASSED] rotate_invalid_val
[16:34:59] [PASSED] rotate_truncated
[16:34:59] [PASSED] invalid_option
[16:34:59] [PASSED] invalid_tv_option
[16:34:59] [PASSED] truncated_tv_option
[16:34:59] ============ [PASSED] drm_test_cmdline_invalid =============
[16:34:59] =============== drm_test_cmdline_tv_options ===============
[16:34:59] [PASSED] NTSC
[16:34:59] [PASSED] NTSC_443
[16:34:59] [PASSED] NTSC_J
[16:34:59] [PASSED] PAL
[16:34:59] [PASSED] PAL_M
[16:34:59] [PASSED] PAL_N
[16:34:59] [PASSED] SECAM
[16:34:59] [PASSED] MONO_525
[16:34:59] [PASSED] MONO_625
[16:34:59] =========== [PASSED] drm_test_cmdline_tv_options ===========
[16:34:59] =============== [PASSED] drm_cmdline_parser ================
[16:34:59] ========== drmm_connector_hdmi_init (20 subtests) ==========
[16:34:59] [PASSED] drm_test_connector_hdmi_init_valid
[16:34:59] [PASSED] drm_test_connector_hdmi_init_bpc_8
[16:34:59] [PASSED] drm_test_connector_hdmi_init_bpc_10
[16:34:59] [PASSED] drm_test_connector_hdmi_init_bpc_12
[16:34:59] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[16:34:59] [PASSED] drm_test_connector_hdmi_init_bpc_null
[16:34:59] [PASSED] drm_test_connector_hdmi_init_formats_empty
[16:34:59] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[16:34:59] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[16:34:59] [PASSED] supported_formats=0x9 yuv420_allowed=1
[16:34:59] [PASSED] supported_formats=0x9 yuv420_allowed=0
[16:34:59] [PASSED] supported_formats=0x5 yuv420_allowed=1
[16:34:59] [PASSED] supported_formats=0x5 yuv420_allowed=0
[16:34:59] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[16:34:59] [PASSED] drm_test_connector_hdmi_init_null_ddc
[16:34:59] [PASSED] drm_test_connector_hdmi_init_null_product
[16:34:59] [PASSED] drm_test_connector_hdmi_init_null_vendor
[16:34:59] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[16:34:59] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[16:34:59] [PASSED] drm_test_connector_hdmi_init_product_valid
[16:34:59] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[16:34:59] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[16:34:59] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[16:34:59] ========= drm_test_connector_hdmi_init_type_valid =========
[16:34:59] [PASSED] HDMI-A
[16:34:59] [PASSED] HDMI-B
[16:34:59] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[16:34:59] ======== drm_test_connector_hdmi_init_type_invalid ========
[16:34:59] [PASSED] Unknown
[16:34:59] [PASSED] VGA
[16:34:59] [PASSED] DVI-I
[16:34:59] [PASSED] DVI-D
[16:34:59] [PASSED] DVI-A
[16:34:59] [PASSED] Composite
[16:34:59] [PASSED] SVIDEO
[16:34:59] [PASSED] LVDS
[16:34:59] [PASSED] Component
[16:34:59] [PASSED] DIN
[16:34:59] [PASSED] DP
[16:34:59] [PASSED] TV
[16:34:59] [PASSED] eDP
[16:34:59] [PASSED] Virtual
[16:34:59] [PASSED] DSI
[16:34:59] [PASSED] DPI
[16:34:59] [PASSED] Writeback
[16:34:59] [PASSED] SPI
[16:34:59] [PASSED] USB
[16:34:59] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[16:34:59] ============ [PASSED] drmm_connector_hdmi_init =============
[16:34:59] ============= drmm_connector_init (3 subtests) =============
[16:34:59] [PASSED] drm_test_drmm_connector_init
[16:34:59] [PASSED] drm_test_drmm_connector_init_null_ddc
[16:34:59] ========= drm_test_drmm_connector_init_type_valid =========
[16:34:59] [PASSED] Unknown
[16:34:59] [PASSED] VGA
[16:34:59] [PASSED] DVI-I
[16:34:59] [PASSED] DVI-D
[16:34:59] [PASSED] DVI-A
[16:34:59] [PASSED] Composite
[16:34:59] [PASSED] SVIDEO
[16:34:59] [PASSED] LVDS
[16:34:59] [PASSED] Component
[16:34:59] [PASSED] DIN
[16:34:59] [PASSED] DP
[16:34:59] [PASSED] HDMI-A
[16:34:59] [PASSED] HDMI-B
[16:34:59] [PASSED] TV
[16:34:59] [PASSED] eDP
[16:34:59] [PASSED] Virtual
[16:34:59] [PASSED] DSI
[16:34:59] [PASSED] DPI
[16:34:59] [PASSED] Writeback
[16:34:59] [PASSED] SPI
[16:34:59] [PASSED] USB
[16:34:59] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[16:34:59] =============== [PASSED] drmm_connector_init ===============
[16:34:59] ========= drm_connector_dynamic_init (6 subtests) ==========
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_init
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_init_properties
[16:34:59] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[16:34:59] [PASSED] Unknown
[16:34:59] [PASSED] VGA
[16:34:59] [PASSED] DVI-I
[16:34:59] [PASSED] DVI-D
[16:34:59] [PASSED] DVI-A
[16:34:59] [PASSED] Composite
[16:34:59] [PASSED] SVIDEO
[16:34:59] [PASSED] LVDS
[16:34:59] [PASSED] Component
[16:34:59] [PASSED] DIN
[16:34:59] [PASSED] DP
[16:34:59] [PASSED] HDMI-A
[16:34:59] [PASSED] HDMI-B
[16:34:59] [PASSED] TV
[16:34:59] [PASSED] eDP
[16:34:59] [PASSED] Virtual
[16:34:59] [PASSED] DSI
[16:34:59] [PASSED] DPI
[16:34:59] [PASSED] Writeback
[16:34:59] [PASSED] SPI
[16:34:59] [PASSED] USB
[16:34:59] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[16:34:59] ======== drm_test_drm_connector_dynamic_init_name =========
[16:34:59] [PASSED] Unknown
[16:34:59] [PASSED] VGA
[16:34:59] [PASSED] DVI-I
[16:34:59] [PASSED] DVI-D
[16:34:59] [PASSED] DVI-A
[16:34:59] [PASSED] Composite
[16:34:59] [PASSED] SVIDEO
[16:34:59] [PASSED] LVDS
[16:34:59] [PASSED] Component
[16:34:59] [PASSED] DIN
[16:34:59] [PASSED] DP
[16:34:59] [PASSED] HDMI-A
[16:34:59] [PASSED] HDMI-B
[16:34:59] [PASSED] TV
[16:34:59] [PASSED] eDP
[16:34:59] [PASSED] Virtual
[16:34:59] [PASSED] DSI
[16:34:59] [PASSED] DPI
[16:34:59] [PASSED] Writeback
[16:34:59] [PASSED] SPI
[16:34:59] [PASSED] USB
[16:34:59] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[16:34:59] =========== [PASSED] drm_connector_dynamic_init ============
[16:34:59] ==== drm_connector_dynamic_register_early (4 subtests) =====
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[16:34:59] ====== [PASSED] drm_connector_dynamic_register_early =======
[16:34:59] ======= drm_connector_dynamic_register (7 subtests) ========
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[16:34:59] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[16:34:59] ========= [PASSED] drm_connector_dynamic_register ==========
[16:34:59] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[16:34:59] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[16:34:59] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[16:34:59] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[16:34:59] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[16:34:59] ========== drm_test_get_tv_mode_from_name_valid ===========
[16:34:59] [PASSED] NTSC
[16:34:59] [PASSED] NTSC-443
[16:34:59] [PASSED] NTSC-J
[16:34:59] [PASSED] PAL
[16:34:59] [PASSED] PAL-M
[16:34:59] [PASSED] PAL-N
[16:34:59] [PASSED] SECAM
[16:34:59] [PASSED] Mono
[16:34:59] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[16:34:59] [PASSED] drm_test_get_tv_mode_from_name_truncated
[16:34:59] ============ [PASSED] drm_get_tv_mode_from_name ============
[16:34:59] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[16:34:59] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[16:34:59] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[16:34:59] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[16:34:59] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[16:34:59] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[16:34:59] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[16:34:59] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[16:34:59] [PASSED] VIC 96
[16:34:59] [PASSED] VIC 97
[16:34:59] [PASSED] VIC 101
[16:34:59] [PASSED] VIC 102
[16:34:59] [PASSED] VIC 106
[16:34:59] [PASSED] VIC 107
[16:34:59] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[16:34:59] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[16:34:59] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[16:34:59] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[16:34:59] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[16:34:59] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[16:34:59] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[16:34:59] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[16:34:59] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[16:34:59] [PASSED] Automatic
[16:34:59] [PASSED] Full
[16:34:59] [PASSED] Limited 16:235
[16:34:59] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[16:34:59] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[16:34:59] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[16:34:59] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[16:34:59] === drm_test_drm_hdmi_connector_get_output_format_name ====
[16:34:59] [PASSED] RGB
[16:34:59] [PASSED] YUV 4:2:0
[16:34:59] [PASSED] YUV 4:2:2
[16:34:59] [PASSED] YUV 4:4:4
[16:34:59] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[16:34:59] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[16:34:59] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[16:34:59] ============= drm_damage_helper (21 subtests) ==============
[16:34:59] [PASSED] drm_test_damage_iter_no_damage
[16:34:59] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[16:34:59] [PASSED] drm_test_damage_iter_no_damage_src_moved
[16:34:59] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[16:34:59] [PASSED] drm_test_damage_iter_no_damage_not_visible
[16:34:59] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[16:34:59] [PASSED] drm_test_damage_iter_no_damage_no_fb
[16:34:59] [PASSED] drm_test_damage_iter_simple_damage
[16:34:59] [PASSED] drm_test_damage_iter_single_damage
[16:34:59] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[16:34:59] [PASSED] drm_test_damage_iter_single_damage_outside_src
[16:34:59] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[16:34:59] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[16:34:59] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[16:34:59] [PASSED] drm_test_damage_iter_single_damage_src_moved
[16:34:59] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[16:34:59] [PASSED] drm_test_damage_iter_damage
[16:34:59] [PASSED] drm_test_damage_iter_damage_one_intersect
[16:34:59] [PASSED] drm_test_damage_iter_damage_one_outside
[16:34:59] [PASSED] drm_test_damage_iter_damage_src_moved
[16:34:59] [PASSED] drm_test_damage_iter_damage_not_visible
[16:34:59] ================ [PASSED] drm_damage_helper ================
[16:34:59] ============== drm_dp_mst_helper (3 subtests) ==============
[16:34:59] ============== drm_test_dp_mst_calc_pbn_mode ==============
[16:34:59] [PASSED] Clock 154000 BPP 30 DSC disabled
[16:34:59] [PASSED] Clock 234000 BPP 30 DSC disabled
[16:34:59] [PASSED] Clock 297000 BPP 24 DSC disabled
[16:34:59] [PASSED] Clock 332880 BPP 24 DSC enabled
[16:34:59] [PASSED] Clock 324540 BPP 24 DSC enabled
[16:34:59] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[16:34:59] ============== drm_test_dp_mst_calc_pbn_div ===============
[16:34:59] [PASSED] Link rate 2000000 lane count 4
[16:34:59] [PASSED] Link rate 2000000 lane count 2
[16:34:59] [PASSED] Link rate 2000000 lane count 1
[16:34:59] [PASSED] Link rate 1350000 lane count 4
[16:34:59] [PASSED] Link rate 1350000 lane count 2
[16:34:59] [PASSED] Link rate 1350000 lane count 1
[16:34:59] [PASSED] Link rate 1000000 lane count 4
[16:34:59] [PASSED] Link rate 1000000 lane count 2
[16:34:59] [PASSED] Link rate 1000000 lane count 1
[16:34:59] [PASSED] Link rate 810000 lane count 4
[16:34:59] [PASSED] Link rate 810000 lane count 2
[16:34:59] [PASSED] Link rate 810000 lane count 1
[16:34:59] [PASSED] Link rate 540000 lane count 4
[16:34:59] [PASSED] Link rate 540000 lane count 2
[16:34:59] [PASSED] Link rate 540000 lane count 1
[16:34:59] [PASSED] Link rate 270000 lane count 4
[16:34:59] [PASSED] Link rate 270000 lane count 2
[16:34:59] [PASSED] Link rate 270000 lane count 1
[16:34:59] [PASSED] Link rate 162000 lane count 4
[16:34:59] [PASSED] Link rate 162000 lane count 2
[16:34:59] [PASSED] Link rate 162000 lane count 1
[16:34:59] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[16:34:59] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[16:34:59] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[16:34:59] [PASSED] DP_POWER_UP_PHY with port number
[16:34:59] [PASSED] DP_POWER_DOWN_PHY with port number
[16:34:59] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[16:34:59] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[16:34:59] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[16:34:59] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[16:34:59] [PASSED] DP_QUERY_PAYLOAD with port number
[16:34:59] [PASSED] DP_QUERY_PAYLOAD with VCPI
[16:34:59] [PASSED] DP_REMOTE_DPCD_READ with port number
[16:34:59] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[16:34:59] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[16:34:59] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[16:34:59] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[16:34:59] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[16:34:59] [PASSED] DP_REMOTE_I2C_READ with port number
[16:34:59] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[16:34:59] [PASSED] DP_REMOTE_I2C_READ with transactions array
[16:34:59] [PASSED] DP_REMOTE_I2C_WRITE with port number
[16:34:59] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[16:34:59] [PASSED] DP_REMOTE_I2C_WRITE with data array
[16:34:59] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[16:34:59] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[16:34:59] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[16:34:59] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[16:34:59] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[16:34:59] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[16:34:59] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[16:34:59] ================ [PASSED] drm_dp_mst_helper ================
[16:34:59] ================== drm_exec (7 subtests) ===================
[16:34:59] [PASSED] sanitycheck
[16:34:59] [PASSED] test_lock
[16:34:59] [PASSED] test_lock_unlock
[16:34:59] [PASSED] test_duplicates
[16:34:59] [PASSED] test_prepare
[16:34:59] [PASSED] test_prepare_array
[16:34:59] [PASSED] test_multiple_loops
[16:34:59] ==================== [PASSED] drm_exec =====================
[16:34:59] =========== drm_format_helper_test (17 subtests) ===========
[16:34:59] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[16:34:59] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[16:34:59] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[16:34:59] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[16:34:59] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[16:34:59] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[16:34:59] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[16:34:59] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[16:34:59] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[16:34:59] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[16:34:59] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[16:34:59] ============== drm_test_fb_xrgb8888_to_mono ===============
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[16:34:59] ==================== drm_test_fb_swab =====================
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ================ [PASSED] drm_test_fb_swab =================
[16:34:59] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[16:34:59] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[16:34:59] [PASSED] single_pixel_source_buffer
[16:34:59] [PASSED] single_pixel_clip_rectangle
[16:34:59] [PASSED] well_known_colors
[16:34:59] [PASSED] destination_pitch
[16:34:59] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[16:34:59] ================= drm_test_fb_clip_offset =================
[16:34:59] [PASSED] pass through
[16:34:59] [PASSED] horizontal offset
[16:34:59] [PASSED] vertical offset
[16:34:59] [PASSED] horizontal and vertical offset
[16:34:59] [PASSED] horizontal offset (custom pitch)
[16:34:59] [PASSED] vertical offset (custom pitch)
[16:34:59] [PASSED] horizontal and vertical offset (custom pitch)
[16:34:59] ============= [PASSED] drm_test_fb_clip_offset =============
[16:34:59] =================== drm_test_fb_memcpy ====================
[16:34:59] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[16:34:59] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[16:34:59] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[16:34:59] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[16:34:59] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[16:34:59] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[16:34:59] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[16:34:59] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[16:34:59] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[16:34:59] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[16:34:59] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[16:34:59] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[16:34:59] =============== [PASSED] drm_test_fb_memcpy ================
[16:34:59] ============= [PASSED] drm_format_helper_test ==============
[16:34:59] ================= drm_format (18 subtests) =================
[16:34:59] [PASSED] drm_test_format_block_width_invalid
[16:34:59] [PASSED] drm_test_format_block_width_one_plane
[16:34:59] [PASSED] drm_test_format_block_width_two_plane
[16:34:59] [PASSED] drm_test_format_block_width_three_plane
[16:34:59] [PASSED] drm_test_format_block_width_tiled
[16:34:59] [PASSED] drm_test_format_block_height_invalid
[16:34:59] [PASSED] drm_test_format_block_height_one_plane
[16:34:59] [PASSED] drm_test_format_block_height_two_plane
[16:34:59] [PASSED] drm_test_format_block_height_three_plane
[16:34:59] [PASSED] drm_test_format_block_height_tiled
[16:34:59] [PASSED] drm_test_format_min_pitch_invalid
[16:34:59] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[16:34:59] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[16:34:59] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[16:34:59] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[16:34:59] [PASSED] drm_test_format_min_pitch_two_plane
[16:34:59] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[16:34:59] [PASSED] drm_test_format_min_pitch_tiled
[16:34:59] =================== [PASSED] drm_format ====================
[16:34:59] ============== drm_framebuffer (10 subtests) ===============
[16:34:59] ========== drm_test_framebuffer_check_src_coords ==========
[16:34:59] [PASSED] Success: source fits into fb
[16:34:59] [PASSED] Fail: overflowing fb with x-axis coordinate
[16:34:59] [PASSED] Fail: overflowing fb with y-axis coordinate
[16:34:59] [PASSED] Fail: overflowing fb with source width
[16:34:59] [PASSED] Fail: overflowing fb with source height
[16:34:59] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[16:34:59] [PASSED] drm_test_framebuffer_cleanup
[16:34:59] =============== drm_test_framebuffer_create ===============
[16:34:59] [PASSED] ABGR8888 normal sizes
[16:34:59] [PASSED] ABGR8888 max sizes
[16:34:59] [PASSED] ABGR8888 pitch greater than min required
[16:34:59] [PASSED] ABGR8888 pitch less than min required
[16:34:59] [PASSED] ABGR8888 Invalid width
[16:34:59] [PASSED] ABGR8888 Invalid buffer handle
[16:34:59] [PASSED] No pixel format
[16:34:59] [PASSED] ABGR8888 Width 0
[16:34:59] [PASSED] ABGR8888 Height 0
[16:34:59] [PASSED] ABGR8888 Out of bound height * pitch combination
[16:34:59] [PASSED] ABGR8888 Large buffer offset
[16:34:59] [PASSED] ABGR8888 Buffer offset for inexistent plane
[16:34:59] [PASSED] ABGR8888 Invalid flag
[16:34:59] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[16:34:59] [PASSED] ABGR8888 Valid buffer modifier
[16:34:59] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[16:34:59] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[16:34:59] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[16:34:59] [PASSED] NV12 Normal sizes
[16:34:59] [PASSED] NV12 Max sizes
[16:34:59] [PASSED] NV12 Invalid pitch
[16:34:59] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[16:34:59] [PASSED] NV12 different modifier per-plane
[16:34:59] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[16:34:59] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[16:34:59] [PASSED] NV12 Modifier for inexistent plane
[16:34:59] [PASSED] NV12 Handle for inexistent plane
[16:34:59] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[16:34:59] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[16:34:59] [PASSED] YVU420 Normal sizes
[16:34:59] [PASSED] YVU420 Max sizes
[16:34:59] [PASSED] YVU420 Invalid pitch
[16:34:59] [PASSED] YVU420 Different pitches
[16:34:59] [PASSED] YVU420 Different buffer offsets/pitches
[16:34:59] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[16:34:59] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[16:34:59] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[16:34:59] [PASSED] YVU420 Valid modifier
[16:34:59] [PASSED] YVU420 Different modifiers per plane
[16:34:59] [PASSED] YVU420 Modifier for inexistent plane
[16:34:59] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[16:34:59] [PASSED] X0L2 Normal sizes
[16:34:59] [PASSED] X0L2 Max sizes
[16:34:59] [PASSED] X0L2 Invalid pitch
[16:34:59] [PASSED] X0L2 Pitch greater than minimum required
[16:34:59] [PASSED] X0L2 Handle for inexistent plane
[16:34:59] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[16:34:59] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[16:34:59] [PASSED] X0L2 Valid modifier
[16:34:59] [PASSED] X0L2 Modifier for inexistent plane
[16:34:59] =========== [PASSED] drm_test_framebuffer_create ===========
[16:34:59] [PASSED] drm_test_framebuffer_free
[16:34:59] [PASSED] drm_test_framebuffer_init
[16:34:59] [PASSED] drm_test_framebuffer_init_bad_format
[16:34:59] [PASSED] drm_test_framebuffer_init_dev_mismatch
[16:34:59] [PASSED] drm_test_framebuffer_lookup
[16:34:59] [PASSED] drm_test_framebuffer_lookup_inexistent
[16:34:59] [PASSED] drm_test_framebuffer_modifiers_not_supported
[16:34:59] ================= [PASSED] drm_framebuffer =================
[16:34:59] ================ drm_gem_shmem (8 subtests) ================
[16:34:59] [PASSED] drm_gem_shmem_test_obj_create
[16:34:59] [PASSED] drm_gem_shmem_test_obj_create_private
[16:34:59] [PASSED] drm_gem_shmem_test_pin_pages
[16:34:59] [PASSED] drm_gem_shmem_test_vmap
[16:34:59] [PASSED] drm_gem_shmem_test_get_sg_table
[16:34:59] [PASSED] drm_gem_shmem_test_get_pages_sgt
[16:34:59] [PASSED] drm_gem_shmem_test_madvise
[16:34:59] [PASSED] drm_gem_shmem_test_purge
[16:34:59] ================== [PASSED] drm_gem_shmem ==================
[16:34:59] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[16:34:59] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[16:34:59] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[16:34:59] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[16:34:59] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[16:34:59] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[16:34:59] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[16:34:59] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[16:34:59] [PASSED] Automatic
[16:34:59] [PASSED] Full
[16:34:59] [PASSED] Limited 16:235
[16:34:59] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[16:34:59] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[16:34:59] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[16:34:59] [PASSED] drm_test_check_disable_connector
[16:34:59] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[16:34:59] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[16:34:59] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[16:34:59] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[16:34:59] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[16:34:59] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[16:34:59] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[16:34:59] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[16:34:59] [PASSED] drm_test_check_output_bpc_dvi
[16:34:59] [PASSED] drm_test_check_output_bpc_format_vic_1
[16:34:59] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[16:34:59] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[16:34:59] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[16:34:59] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[16:34:59] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[16:34:59] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[16:34:59] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[16:34:59] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[16:34:59] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[16:34:59] [PASSED] drm_test_check_broadcast_rgb_value
[16:34:59] [PASSED] drm_test_check_bpc_8_value
[16:34:59] [PASSED] drm_test_check_bpc_10_value
[16:34:59] [PASSED] drm_test_check_bpc_12_value
[16:34:59] [PASSED] drm_test_check_format_value
[16:34:59] [PASSED] drm_test_check_tmds_char_value
[16:34:59] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[16:34:59] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[16:34:59] [PASSED] drm_test_check_mode_valid
[16:34:59] [PASSED] drm_test_check_mode_valid_reject
[16:34:59] [PASSED] drm_test_check_mode_valid_reject_rate
[16:34:59] [PASSED] drm_test_check_mode_valid_reject_max_clock
[16:34:59] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[16:34:59] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[16:34:59] [PASSED] drm_test_check_infoframes
[16:34:59] [PASSED] drm_test_check_reject_avi_infoframe
[16:34:59] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[16:34:59] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[16:34:59] [PASSED] drm_test_check_reject_audio_infoframe
[16:34:59] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[16:34:59] ================= drm_managed (2 subtests) =================
[16:34:59] [PASSED] drm_test_managed_release_action
[16:34:59] [PASSED] drm_test_managed_run_action
[16:34:59] =================== [PASSED] drm_managed ===================
[16:34:59] =================== drm_mm (6 subtests) ====================
[16:34:59] [PASSED] drm_test_mm_init
[16:34:59] [PASSED] drm_test_mm_debug
[16:34:59] [PASSED] drm_test_mm_align32
[16:34:59] [PASSED] drm_test_mm_align64
[16:34:59] [PASSED] drm_test_mm_lowest
[16:34:59] [PASSED] drm_test_mm_highest
[16:34:59] ===================== [PASSED] drm_mm ======================
[16:34:59] ============= drm_modes_analog_tv (5 subtests) =============
[16:34:59] [PASSED] drm_test_modes_analog_tv_mono_576i
[16:34:59] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[16:34:59] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[16:34:59] [PASSED] drm_test_modes_analog_tv_pal_576i
[16:34:59] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[16:34:59] =============== [PASSED] drm_modes_analog_tv ===============
[16:34:59] ============== drm_plane_helper (2 subtests) ===============
[16:34:59] =============== drm_test_check_plane_state ================
[16:34:59] [PASSED] clipping_simple
[16:34:59] [PASSED] clipping_rotate_reflect
[16:34:59] [PASSED] positioning_simple
[16:34:59] [PASSED] upscaling
[16:34:59] [PASSED] downscaling
[16:34:59] [PASSED] rounding1
[16:34:59] [PASSED] rounding2
[16:34:59] [PASSED] rounding3
[16:34:59] [PASSED] rounding4
[16:34:59] =========== [PASSED] drm_test_check_plane_state ============
[16:34:59] =========== drm_test_check_invalid_plane_state ============
[16:34:59] [PASSED] positioning_invalid
[16:34:59] [PASSED] upscaling_invalid
[16:34:59] [PASSED] downscaling_invalid
[16:34:59] ======= [PASSED] drm_test_check_invalid_plane_state ========
[16:34:59] ================ [PASSED] drm_plane_helper =================
[16:34:59] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[16:34:59] ====== drm_test_connector_helper_tv_get_modes_check =======
[16:34:59] [PASSED] None
[16:34:59] [PASSED] PAL
[16:34:59] [PASSED] NTSC
[16:34:59] [PASSED] Both, NTSC Default
[16:34:59] [PASSED] Both, PAL Default
[16:34:59] [PASSED] Both, NTSC Default, with PAL on command-line
[16:34:59] [PASSED] Both, PAL Default, with NTSC on command-line
[16:34:59] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[16:34:59] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[16:34:59] ================== drm_rect (9 subtests) ===================
[16:34:59] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[16:34:59] [PASSED] drm_test_rect_clip_scaled_not_clipped
[16:34:59] [PASSED] drm_test_rect_clip_scaled_clipped
[16:34:59] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[16:34:59] ================= drm_test_rect_intersect =================
[16:34:59] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[16:34:59] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[16:34:59] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[16:34:59] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[16:34:59] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[16:34:59] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[16:34:59] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[16:34:59] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[16:34:59] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[16:34:59] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[16:34:59] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[16:34:59] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[16:34:59] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[16:34:59] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[16:34:59] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[16:34:59] ============= [PASSED] drm_test_rect_intersect =============
[16:34:59] ================ drm_test_rect_calc_hscale ================
[16:34:59] [PASSED] normal use
[16:34:59] [PASSED] out of max range
[16:34:59] [PASSED] out of min range
[16:34:59] [PASSED] zero dst
[16:34:59] [PASSED] negative src
[16:34:59] [PASSED] negative dst
[16:34:59] ============ [PASSED] drm_test_rect_calc_hscale ============
[16:34:59] ================ drm_test_rect_calc_vscale ================
[16:34:59] [PASSED] normal use
[16:34:59] [PASSED] out of max range
[16:34:59] [PASSED] out of min range
[16:34:59] [PASSED] zero dst
[16:34:59] [PASSED] negative src
[16:34:59] [PASSED] negative dst
[16:34:59] ============ [PASSED] drm_test_rect_calc_vscale ============
[16:34:59] ================== drm_test_rect_rotate ===================
[16:34:59] [PASSED] reflect-x
[16:34:59] [PASSED] reflect-y
[16:34:59] [PASSED] rotate-0
[16:34:59] [PASSED] rotate-90
[16:34:59] [PASSED] rotate-180
[16:34:59] [PASSED] rotate-270
[16:34:59] ============== [PASSED] drm_test_rect_rotate ===============
[16:34:59] ================ drm_test_rect_rotate_inv =================
[16:34:59] [PASSED] reflect-x
[16:34:59] [PASSED] reflect-y
[16:34:59] [PASSED] rotate-0
[16:34:59] [PASSED] rotate-90
[16:34:59] [PASSED] rotate-180
[16:34:59] [PASSED] rotate-270
[16:34:59] ============ [PASSED] drm_test_rect_rotate_inv =============
[16:34:59] ==================== [PASSED] drm_rect =====================
[16:34:59] ============ drm_sysfb_modeset_test (1 subtest) ============
[16:34:59] ============ drm_test_sysfb_build_fourcc_list =============
[16:34:59] [PASSED] no native formats
[16:34:59] [PASSED] XRGB8888 as native format
[16:34:59] [PASSED] remove duplicates
[16:34:59] [PASSED] convert alpha formats
[16:34:59] [PASSED] random formats
[16:34:59] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[16:34:59] ============= [PASSED] drm_sysfb_modeset_test ==============
[16:34:59] ================== drm_fixp (2 subtests) ===================
[16:34:59] [PASSED] drm_test_int2fixp
[16:34:59] [PASSED] drm_test_sm2fixp
[16:34:59] ==================== [PASSED] drm_fixp =====================
[16:34:59] ============================================================
[16:34:59] Testing complete. Ran 621 tests: passed: 621
[16:34:59] Elapsed time: 26.065s total, 1.723s configuring, 24.176s building, 0.166s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[16:34:59] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[16:35:01] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[16:35:10] Starting KUnit Kernel (1/1)...
[16:35:10] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[16:35:10] ================= ttm_device (5 subtests) ==================
[16:35:10] [PASSED] ttm_device_init_basic
[16:35:10] [PASSED] ttm_device_init_multiple
[16:35:10] [PASSED] ttm_device_fini_basic
[16:35:10] [PASSED] ttm_device_init_no_vma_man
[16:35:10] ================== ttm_device_init_pools ==================
[16:35:10] [PASSED] No DMA allocations, no DMA32 required
[16:35:10] [PASSED] DMA allocations, DMA32 required
[16:35:10] [PASSED] No DMA allocations, DMA32 required
[16:35:10] [PASSED] DMA allocations, no DMA32 required
[16:35:10] ============== [PASSED] ttm_device_init_pools ==============
[16:35:10] =================== [PASSED] ttm_device ====================
[16:35:10] ================== ttm_pool (8 subtests) ===================
[16:35:10] ================== ttm_pool_alloc_basic ===================
[16:35:10] [PASSED] One page
[16:35:10] [PASSED] More than one page
[16:35:10] [PASSED] Above the allocation limit
[16:35:10] [PASSED] One page, with coherent DMA mappings enabled
[16:35:10] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:35:10] ============== [PASSED] ttm_pool_alloc_basic ===============
[16:35:10] ============== ttm_pool_alloc_basic_dma_addr ==============
[16:35:10] [PASSED] One page
[16:35:10] [PASSED] More than one page
[16:35:10] [PASSED] Above the allocation limit
[16:35:10] [PASSED] One page, with coherent DMA mappings enabled
[16:35:10] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[16:35:10] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[16:35:10] [PASSED] ttm_pool_alloc_order_caching_match
[16:35:10] [PASSED] ttm_pool_alloc_caching_mismatch
[16:35:10] [PASSED] ttm_pool_alloc_order_mismatch
[16:35:10] [PASSED] ttm_pool_free_dma_alloc
[16:35:10] [PASSED] ttm_pool_free_no_dma_alloc
[16:35:10] [PASSED] ttm_pool_fini_basic
[16:35:10] ==================== [PASSED] ttm_pool =====================
[16:35:10] ================ ttm_resource (8 subtests) =================
[16:35:10] ================= ttm_resource_init_basic =================
[16:35:10] [PASSED] Init resource in TTM_PL_SYSTEM
[16:35:10] [PASSED] Init resource in TTM_PL_VRAM
[16:35:10] [PASSED] Init resource in a private placement
[16:35:10] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[16:35:10] ============= [PASSED] ttm_resource_init_basic =============
[16:35:10] [PASSED] ttm_resource_init_pinned
[16:35:10] [PASSED] ttm_resource_fini_basic
[16:35:10] [PASSED] ttm_resource_manager_init_basic
[16:35:10] [PASSED] ttm_resource_manager_usage_basic
[16:35:10] [PASSED] ttm_resource_manager_set_used_basic
[16:35:10] [PASSED] ttm_sys_man_alloc_basic
[16:35:10] [PASSED] ttm_sys_man_free_basic
[16:35:10] ================== [PASSED] ttm_resource ===================
[16:35:10] =================== ttm_tt (15 subtests) ===================
[16:35:10] ==================== ttm_tt_init_basic ====================
[16:35:10] [PASSED] Page-aligned size
[16:35:10] [PASSED] Extra pages requested
[16:35:10] ================ [PASSED] ttm_tt_init_basic ================
[16:35:10] [PASSED] ttm_tt_init_misaligned
[16:35:10] [PASSED] ttm_tt_fini_basic
[16:35:10] [PASSED] ttm_tt_fini_sg
[16:35:10] [PASSED] ttm_tt_fini_shmem
[16:35:10] [PASSED] ttm_tt_create_basic
[16:35:10] [PASSED] ttm_tt_create_invalid_bo_type
[16:35:10] [PASSED] ttm_tt_create_ttm_exists
[16:35:10] [PASSED] ttm_tt_create_failed
[16:35:10] [PASSED] ttm_tt_destroy_basic
[16:35:10] [PASSED] ttm_tt_populate_null_ttm
[16:35:10] [PASSED] ttm_tt_populate_populated_ttm
[16:35:10] [PASSED] ttm_tt_unpopulate_basic
[16:35:10] [PASSED] ttm_tt_unpopulate_empty_ttm
[16:35:10] [PASSED] ttm_tt_swapin_basic
[16:35:10] ===================== [PASSED] ttm_tt ======================
[16:35:10] =================== ttm_bo (14 subtests) ===================
[16:35:10] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[16:35:10] [PASSED] Cannot be interrupted and sleeps
[16:35:10] [PASSED] Cannot be interrupted, locks straight away
[16:35:10] [PASSED] Can be interrupted, sleeps
[16:35:10] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[16:35:10] [PASSED] ttm_bo_reserve_locked_no_sleep
[16:35:10] [PASSED] ttm_bo_reserve_no_wait_ticket
[16:35:10] [PASSED] ttm_bo_reserve_double_resv
[16:35:10] [PASSED] ttm_bo_reserve_interrupted
[16:35:10] [PASSED] ttm_bo_reserve_deadlock
[16:35:10] [PASSED] ttm_bo_unreserve_basic
[16:35:10] [PASSED] ttm_bo_unreserve_pinned
[16:35:10] [PASSED] ttm_bo_unreserve_bulk
[16:35:10] [PASSED] ttm_bo_fini_basic
[16:35:10] [PASSED] ttm_bo_fini_shared_resv
[16:35:10] [PASSED] ttm_bo_pin_basic
[16:35:10] [PASSED] ttm_bo_pin_unpin_resource
[16:35:10] [PASSED] ttm_bo_multiple_pin_one_unpin
[16:35:10] ===================== [PASSED] ttm_bo ======================
[16:35:10] ============== ttm_bo_validate (22 subtests) ===============
[16:35:10] ============== ttm_bo_init_reserved_sys_man ===============
[16:35:10] [PASSED] Buffer object for userspace
[16:35:10] [PASSED] Kernel buffer object
[16:35:10] [PASSED] Shared buffer object
[16:35:10] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[16:35:10] ============== ttm_bo_init_reserved_mock_man ==============
[16:35:10] [PASSED] Buffer object for userspace
[16:35:10] [PASSED] Kernel buffer object
[16:35:10] [PASSED] Shared buffer object
[16:35:10] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[16:35:10] [PASSED] ttm_bo_init_reserved_resv
[16:35:10] ================== ttm_bo_validate_basic ==================
[16:35:10] [PASSED] Buffer object for userspace
[16:35:10] [PASSED] Kernel buffer object
[16:35:10] [PASSED] Shared buffer object
[16:35:10] ============== [PASSED] ttm_bo_validate_basic ==============
[16:35:10] [PASSED] ttm_bo_validate_invalid_placement
[16:35:10] ============= ttm_bo_validate_same_placement ==============
[16:35:10] [PASSED] System manager
[16:35:10] [PASSED] VRAM manager
[16:35:10] ========= [PASSED] ttm_bo_validate_same_placement ==========
[16:35:10] [PASSED] ttm_bo_validate_failed_alloc
[16:35:10] [PASSED] ttm_bo_validate_pinned
[16:35:10] [PASSED] ttm_bo_validate_busy_placement
[16:35:10] ================ ttm_bo_validate_multihop =================
[16:35:10] [PASSED] Buffer object for userspace
[16:35:10] [PASSED] Kernel buffer object
[16:35:10] [PASSED] Shared buffer object
[16:35:10] ============ [PASSED] ttm_bo_validate_multihop =============
[16:35:10] ========== ttm_bo_validate_no_placement_signaled ==========
[16:35:10] [PASSED] Buffer object in system domain, no page vector
[16:35:10] [PASSED] Buffer object in system domain with an existing page vector
[16:35:10] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[16:35:10] ======== ttm_bo_validate_no_placement_not_signaled ========
[16:35:10] [PASSED] Buffer object for userspace
[16:35:10] [PASSED] Kernel buffer object
[16:35:10] [PASSED] Shared buffer object
[16:35:10] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[16:35:10] [PASSED] ttm_bo_validate_move_fence_signaled
[16:35:11] ========= ttm_bo_validate_move_fence_not_signaled =========
[16:35:11] [PASSED] Waits for GPU
[16:35:11] [PASSED] Tries to lock straight away
[16:35:11] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[16:35:11] [PASSED] ttm_bo_validate_swapout
[16:35:11] [PASSED] ttm_bo_validate_happy_evict
[16:35:11] [PASSED] ttm_bo_validate_all_pinned_evict
[16:35:11] [PASSED] ttm_bo_validate_allowed_only_evict
[16:35:11] [PASSED] ttm_bo_validate_deleted_evict
[16:35:11] [PASSED] ttm_bo_validate_busy_domain_evict
[16:35:11] [PASSED] ttm_bo_validate_evict_gutting
[16:35:11] [PASSED] ttm_bo_validate_recrusive_evict
[16:35:11] ================= [PASSED] ttm_bo_validate =================
[16:35:11] ============================================================
[16:35:11] Testing complete. Ran 102 tests: passed: 102
[16:35:11] Elapsed time: 11.488s total, 1.740s configuring, 9.483s building, 0.212s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 29+ messages in thread* ✓ Xe.CI.BAT: success for drm/xe/tests: Add kunit tests for memory based interrupts
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (14 preceding siblings ...)
2026-04-28 16:35 ` ✓ CI.KUnit: success " Patchwork
@ 2026-04-28 17:43 ` Patchwork
2026-04-29 5:04 ` ✗ Xe.CI.FULL: failure " Patchwork
16 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2026-04-28 17:43 UTC (permalink / raw)
To: Michal Wajdeczko; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 1109 bytes --]
== Series Details ==
Series: drm/xe/tests: Add kunit tests for memory based interrupts
URL : https://patchwork.freedesktop.org/series/165651/
State : success
== Summary ==
CI Bug Log - changes from xe-4946-e066eb26712bca7174e694a358351c50a38661d6_BAT -> xe-pw-165651v1_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (13 -> 13)
------------------------------
No changes in participating hosts
Changes
-------
No changes found
Build changes
-------------
* IGT: IGT_8874 -> IGT_8875
* Linux: xe-4946-e066eb26712bca7174e694a358351c50a38661d6 -> xe-pw-165651v1
IGT_8874: 4568b2c141ab630c34f8eb2b9afab8cbf8f3ce9e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8875: 5f5503b3bd1939fa733df60df7a6bf2b2101ee5e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-4946-e066eb26712bca7174e694a358351c50a38661d6: e066eb26712bca7174e694a358351c50a38661d6
xe-pw-165651v1: 165651v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/index.html
[-- Attachment #2: Type: text/html, Size: 1671 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread* ✗ Xe.CI.FULL: failure for drm/xe/tests: Add kunit tests for memory based interrupts
2026-04-28 14:27 [PATCH 00/13] drm/xe/tests: Add kunit tests for memory based interrupts Michal Wajdeczko
` (15 preceding siblings ...)
2026-04-28 17:43 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-04-29 5:04 ` Patchwork
16 siblings, 0 replies; 29+ messages in thread
From: Patchwork @ 2026-04-29 5:04 UTC (permalink / raw)
To: Michal Wajdeczko; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 31998 bytes --]
== Series Details ==
Series: drm/xe/tests: Add kunit tests for memory based interrupts
URL : https://patchwork.freedesktop.org/series/165651/
State : failure
== Summary ==
CI Bug Log - changes from xe-4946-e066eb26712bca7174e694a358351c50a38661d6_FULL -> xe-pw-165651v1_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-165651v1_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-165651v1_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 (2 -> 2)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-165651v1_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@kms_cursor_crc@cursor-sliding-256x256:
- shard-bmg: [PASS][1] -> [FAIL][2] +1 other test fail
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-bmg-6/igt@kms_cursor_crc@cursor-sliding-256x256.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@kms_cursor_crc@cursor-sliding-256x256.html
* igt@xe_exec_system_allocator@threads-many-large-execqueues-free-race:
- shard-lnl: [PASS][3] -> [INCOMPLETE][4]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-lnl-8/igt@xe_exec_system_allocator@threads-many-large-execqueues-free-race.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-lnl-8/igt@xe_exec_system_allocator@threads-many-large-execqueues-free-race.html
* igt@xe_vm@overcommit-nonfault-vram-lr-external-nodefer:
- shard-lnl: NOTRUN -> [SKIP][5] +2 other tests skip
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-lnl-2/igt@xe_vm@overcommit-nonfault-vram-lr-external-nodefer.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* {igt@xe_vm@overcommit-fault-vram-lr}:
- shard-lnl: NOTRUN -> [SKIP][6] +1 other test skip
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-lnl-6/igt@xe_vm@overcommit-fault-vram-lr.html
New tests
---------
New tests have been introduced between xe-4946-e066eb26712bca7174e694a358351c50a38661d6_FULL and xe-pw-165651v1_FULL:
### New IGT tests (1) ###
* igt@kms_chamelium_color:
- Statuses :
- Exec time: [None] s
Known issues
------------
Here are the changes found in xe-pw-165651v1_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip:
- shard-bmg: NOTRUN -> [SKIP][7] ([Intel XE#7059] / [Intel XE#7085]) +1 other test skip
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-8/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_big_fb@x-tiled-32bpp-rotate-90:
- shard-bmg: NOTRUN -> [SKIP][8] ([Intel XE#2327]) +8 other tests skip
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@kms_big_fb@x-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-addfb:
- shard-bmg: NOTRUN -> [SKIP][9] ([Intel XE#2328] / [Intel XE#7367])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-10/igt@kms_big_fb@y-tiled-addfb.html
* igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
- shard-bmg: NOTRUN -> [SKIP][10] ([Intel XE#607] / [Intel XE#7361])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-10/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-bmg: NOTRUN -> [SKIP][11] ([Intel XE#1124]) +10 other tests skip
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-9/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs:
- shard-bmg: NOTRUN -> [SKIP][12] ([Intel XE#3432])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][13] ([Intel XE#2887]) +16 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_chamelium_color@ctm-0-25:
- shard-bmg: NOTRUN -> [SKIP][14] ([Intel XE#2325] / [Intel XE#7358]) +1 other test skip
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-10/igt@kms_chamelium_color@ctm-0-25.html
* igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode:
- shard-bmg: NOTRUN -> [SKIP][15] ([Intel XE#2252]) +6 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-9/igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode.html
* igt@kms_content_protection@dp-mst-type-1:
- shard-bmg: NOTRUN -> [SKIP][16] ([Intel XE#2390] / [Intel XE#6974])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@kms_content_protection@dp-mst-type-1.html
* igt@kms_content_protection@dp-mst-type-1-suspend-resume:
- shard-bmg: NOTRUN -> [SKIP][17] ([Intel XE#6974])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-10/igt@kms_content_protection@dp-mst-type-1-suspend-resume.html
* igt@kms_content_protection@legacy:
- shard-bmg: NOTRUN -> [FAIL][18] ([Intel XE#1178] / [Intel XE#3304] / [Intel XE#7374]) +1 other test fail
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@kms_content_protection@legacy.html
* igt@kms_cursor_crc@cursor-offscreen-128x42:
- shard-bmg: NOTRUN -> [SKIP][19] ([Intel XE#2320]) +4 other tests skip
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@kms_cursor_crc@cursor-offscreen-128x42.html
* igt@kms_cursor_crc@cursor-random-512x170:
- shard-bmg: NOTRUN -> [SKIP][20] ([Intel XE#2321] / [Intel XE#7355]) +2 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-10/igt@kms_cursor_crc@cursor-random-512x170.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-bmg: [PASS][21] -> [FAIL][22] ([Intel XE#7809])
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-bmg-6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-10/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_dp_link_training@uhbr-sst:
- shard-bmg: NOTRUN -> [SKIP][23] ([Intel XE#4354] / [Intel XE#5870])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@kms_dp_link_training@uhbr-sst.html
* igt@kms_dsc@dsc-with-bpc-formats:
- shard-bmg: NOTRUN -> [SKIP][24] ([Intel XE#2244]) +1 other test skip
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-8/igt@kms_dsc@dsc-with-bpc-formats.html
* igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area:
- shard-bmg: NOTRUN -> [SKIP][25] ([Intel XE#4422] / [Intel XE#7442])
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-out-visible-area.html
* igt@kms_fbcon_fbt@psr:
- shard-bmg: NOTRUN -> [SKIP][26] ([Intel XE#6126] / [Intel XE#776])
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@kms_fbcon_fbt@psr.html
* igt@kms_feature_discovery@display-4x:
- shard-bmg: NOTRUN -> [SKIP][27] ([Intel XE#1138] / [Intel XE#7344])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-3/igt@kms_feature_discovery@display-4x.html
* igt@kms_flip@flip-vs-absolute-wf_vblank:
- shard-lnl: [PASS][28] -> [FAIL][29] ([Intel XE#3098]) +1 other test fail
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-lnl-2/igt@kms_flip@flip-vs-absolute-wf_vblank.html
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-lnl-3/igt@kms_flip@flip-vs-absolute-wf_vblank.html
* igt@kms_flip@flip-vs-expired-vblank@b-edp1:
- shard-lnl: [PASS][30] -> [FAIL][31] ([Intel XE#301]) +1 other test fail
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
- shard-bmg: NOTRUN -> [SKIP][32] ([Intel XE#7178] / [Intel XE#7351]) +3 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
- shard-bmg: NOTRUN -> [SKIP][33] ([Intel XE#7178] / [Intel XE#7349])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-9/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-nv12-linear-to-nv12-linear-reflect-x:
- shard-bmg: NOTRUN -> [SKIP][34] ([Intel XE#7179])
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-10/igt@kms_flip_scaled_crc@flip-nv12-linear-to-nv12-linear-reflect-x.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][35] ([Intel XE#2311]) +35 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt:
- shard-bmg: NOTRUN -> [SKIP][36] ([Intel XE#4141]) +13 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-argb161616f-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][37] ([Intel XE#7061] / [Intel XE#7356]) +3 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-10/igt@kms_frontbuffer_tracking@fbc-argb161616f-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y:
- shard-bmg: NOTRUN -> [SKIP][38] ([Intel XE#2352] / [Intel XE#7399]) +1 other test skip
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][39] ([Intel XE#2313]) +22 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-blt.html
* igt@kms_hdmi_inject@inject-audio:
- shard-bmg: [PASS][40] -> [SKIP][41] ([Intel XE#7308])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-bmg-2/igt@kms_hdmi_inject@inject-audio.html
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-9/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_pipe_stress@stress-xrgb8888-yftiled:
- shard-bmg: NOTRUN -> [SKIP][42] ([Intel XE#6912] / [Intel XE#7375])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-10/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
* igt@kms_plane@pixel-format-x-tiled-modifier@pipe-b-plane-5:
- shard-bmg: NOTRUN -> [SKIP][43] ([Intel XE#7130]) +1 other test skip
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-9/igt@kms_plane@pixel-format-x-tiled-modifier@pipe-b-plane-5.html
* igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping:
- shard-bmg: NOTRUN -> [SKIP][44] ([Intel XE#7283]) +4 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier-source-clamping.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-bmg: [PASS][45] -> [SKIP][46] ([Intel XE#2685] / [Intel XE#3307])
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-bmg-9/igt@kms_plane_scaling@intel-max-src-size.html
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-10/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_pm_backlight@fade-with-dpms:
- shard-bmg: NOTRUN -> [SKIP][47] ([Intel XE#7376] / [Intel XE#870])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@kms_pm_backlight@fade-with-dpms.html
* igt@kms_pm_dc@dc6-dpms:
- shard-lnl: [PASS][48] -> [FAIL][49] ([Intel XE#7340])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-lnl-7/igt@kms_pm_dc@dc6-dpms.html
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-lnl-8/igt@kms_pm_dc@dc6-dpms.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-bmg: NOTRUN -> [SKIP][50] ([Intel XE#2499])
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-10/igt@kms_pm_lpsp@kms-lpsp.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-bmg: NOTRUN -> [SKIP][51] ([Intel XE#1439] / [Intel XE#3141] / [Intel XE#7383] / [Intel XE#836])
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
- shard-bmg: NOTRUN -> [SKIP][52] ([Intel XE#1489]) +8 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-10/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html
* igt@kms_psr@psr-basic:
- shard-bmg: NOTRUN -> [SKIP][53] ([Intel XE#2234] / [Intel XE#2850]) +15 other tests skip
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@kms_psr@psr-basic.html
* igt@kms_psr@psr2-primary-render:
- shard-bmg: NOTRUN -> [SKIP][54] ([Intel XE#2234])
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-8/igt@kms_psr@psr2-primary-render.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-bmg: NOTRUN -> [SKIP][55] ([Intel XE#2330] / [Intel XE#5813]) +1 other test skip
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-bmg: NOTRUN -> [SKIP][56] ([Intel XE#2413])
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-9/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_setmode@invalid-clone-exclusive-crtc:
- shard-bmg: NOTRUN -> [SKIP][57] ([Intel XE#1435])
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@kms_setmode@invalid-clone-exclusive-crtc.html
* igt@kms_sharpness_filter@filter-modifiers:
- shard-bmg: NOTRUN -> [SKIP][58] ([Intel XE#6503])
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-3/igt@kms_sharpness_filter@filter-modifiers.html
* igt@kms_vrr@flip-suspend:
- shard-bmg: NOTRUN -> [SKIP][59] ([Intel XE#1499]) +3 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@kms_vrr@flip-suspend.html
* igt@xe_eudebug_online@set-breakpoint-faultable:
- shard-bmg: NOTRUN -> [SKIP][60] ([Intel XE#7636]) +17 other tests skip
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@xe_eudebug_online@set-breakpoint-faultable.html
* igt@xe_eudebug_sriov@deny-sriov:
- shard-bmg: NOTRUN -> [SKIP][61] ([Intel XE#5793] / [Intel XE#7320] / [Intel XE#7464])
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-8/igt@xe_eudebug_sriov@deny-sriov.html
* igt@xe_evict@evict-threads-small-multi-queue:
- shard-bmg: NOTRUN -> [SKIP][62] ([Intel XE#7140]) +2 other tests skip
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-6/igt@xe_evict@evict-threads-small-multi-queue.html
* igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-userptr-invalidate-race:
- shard-bmg: NOTRUN -> [SKIP][63] ([Intel XE#2322] / [Intel XE#7372]) +8 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-8/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-userptr-invalidate-race.html
* igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate-imm:
- shard-bmg: NOTRUN -> [SKIP][64] ([Intel XE#7136]) +13 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@xe_exec_fault_mode@many-execqueues-multi-queue-userptr-invalidate-imm.html
* igt@xe_exec_multi_queue@many-execs-preempt-mode-fault-userptr-invalidate:
- shard-bmg: NOTRUN -> [SKIP][65] ([Intel XE#6874]) +32 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@xe_exec_multi_queue@many-execs-preempt-mode-fault-userptr-invalidate.html
* igt@xe_exec_threads@threads-multi-queue-mixed-shared-vm-userptr-rebind:
- shard-bmg: NOTRUN -> [SKIP][66] ([Intel XE#7138]) +8 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-9/igt@xe_exec_threads@threads-multi-queue-mixed-shared-vm-userptr-rebind.html
* igt@xe_fault_injection@exec-queue-create-fail-xe_pxp_exec_queue_add:
- shard-bmg: NOTRUN -> [SKIP][67] ([Intel XE#6281] / [Intel XE#7426])
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@xe_fault_injection@exec-queue-create-fail-xe_pxp_exec_queue_add.html
* igt@xe_live_ktest@xe_eudebug:
- shard-bmg: NOTRUN -> [SKIP][68] ([Intel XE#2833])
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@xe_live_ktest@xe_eudebug.html
* igt@xe_multigpu_svm@mgpu-atomic-op-conflict:
- shard-bmg: NOTRUN -> [SKIP][69] ([Intel XE#6964]) +3 other tests skip
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-3/igt@xe_multigpu_svm@mgpu-atomic-op-conflict.html
* igt@xe_page_reclaim@invalid-1g:
- shard-bmg: NOTRUN -> [SKIP][70] ([Intel XE#7793])
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@xe_page_reclaim@invalid-1g.html
* igt@xe_pat@l2-flush-opt-svm-pat-restrict:
- shard-bmg: NOTRUN -> [SKIP][71] ([Intel XE#7590])
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-3/igt@xe_pat@l2-flush-opt-svm-pat-restrict.html
* igt@xe_pat@pat-sw-hw-compare:
- shard-bmg: NOTRUN -> [FAIL][72] ([Intel XE#7695])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@xe_pat@pat-sw-hw-compare.html
* igt@xe_pm@d3hot-i2c:
- shard-bmg: NOTRUN -> [SKIP][73] ([Intel XE#5742] / [Intel XE#7328] / [Intel XE#7400])
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@xe_pm@d3hot-i2c.html
* igt@xe_pm@vram-d3cold-threshold:
- shard-bmg: NOTRUN -> [SKIP][74] ([Intel XE#579] / [Intel XE#7329] / [Intel XE#7517])
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-9/igt@xe_pm@vram-d3cold-threshold.html
* igt@xe_prefetch_fault@prefetch-fault-svm:
- shard-bmg: NOTRUN -> [SKIP][75] ([Intel XE#7599])
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-8/igt@xe_prefetch_fault@prefetch-fault-svm.html
* igt@xe_pxp@display-black-pxp-fb:
- shard-bmg: NOTRUN -> [SKIP][76] ([Intel XE#4733] / [Intel XE#7417]) +1 other test skip
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-8/igt@xe_pxp@display-black-pxp-fb.html
* igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz:
- shard-bmg: NOTRUN -> [SKIP][77] ([Intel XE#944]) +2 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz.html
#### Possible fixes ####
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-bmg: [FAIL][78] ([Intel XE#7571]) -> [PASS][79]
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-bmg-10/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-2/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_flip@blocking-wf_vblank@a-edp1:
- shard-lnl: [FAIL][80] ([Intel XE#6266]) -> [PASS][81] +1 other test pass
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-lnl-4/igt@kms_flip@blocking-wf_vblank@a-edp1.html
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-lnl-1/igt@kms_flip@blocking-wf_vblank@a-edp1.html
* igt@kms_pm_dc@dc6-psr:
- shard-lnl: [FAIL][82] ([Intel XE#7340]) -> [PASS][83] +1 other test pass
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-lnl-6/igt@kms_pm_dc@dc6-psr.html
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-lnl-3/igt@kms_pm_dc@dc6-psr.html
* igt@xe_pmu@fn-engine-activity-load:
- shard-bmg: [FAIL][84] ([Intel XE#5937]) -> [PASS][85]
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-bmg-8/igt@xe_pmu@fn-engine-activity-load.html
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@xe_pmu@fn-engine-activity-load.html
* igt@xe_sriov_flr@flr-vf1-clear:
- shard-bmg: [FAIL][86] ([Intel XE#6569]) -> [PASS][87]
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-bmg-7/igt@xe_sriov_flr@flr-vf1-clear.html
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-3/igt@xe_sriov_flr@flr-vf1-clear.html
#### Warnings ####
* igt@kms_hdr@brightness-with-hdr:
- shard-bmg: [SKIP][88] ([Intel XE#3544]) -> [SKIP][89] ([Intel XE#3374] / [Intel XE#3544])
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4946-e066eb26712bca7174e694a358351c50a38661d6/shard-bmg-10/igt@kms_hdr@brightness-with-hdr.html
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/shard-bmg-7/igt@kms_hdr@brightness-with-hdr.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#1138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1138
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[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#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2244
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
[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#2328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2328
[Intel XE#2330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2330
[Intel XE#2352]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2352
[Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
[Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
[Intel XE#2499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2499
[Intel XE#2685]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2685
[Intel XE#2833]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2833
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#3098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3098
[Intel XE#3141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3141
[Intel XE#3304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3304
[Intel XE#3307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3307
[Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
[Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
[Intel XE#4422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4422
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#5742]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5742
[Intel XE#579]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/579
[Intel XE#5793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5793
[Intel XE#5813]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5813
[Intel XE#5870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5870
[Intel XE#5937]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5937
[Intel XE#607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/607
[Intel XE#6126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6126
[Intel XE#6266]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6266
[Intel XE#6281]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6281
[Intel XE#6503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6503
[Intel XE#6569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6569
[Intel XE#6874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6874
[Intel XE#6912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6912
[Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
[Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
[Intel XE#7059]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7059
[Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
[Intel XE#7085]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7085
[Intel XE#7130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7130
[Intel XE#7136]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7136
[Intel XE#7138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7138
[Intel XE#7140]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7140
[Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
[Intel XE#7179]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7179
[Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
[Intel XE#7308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7308
[Intel XE#7320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7320
[Intel XE#7328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7328
[Intel XE#7329]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7329
[Intel XE#7340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7340
[Intel XE#7344]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7344
[Intel XE#7349]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7349
[Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
[Intel XE#7355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7355
[Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
[Intel XE#7358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7358
[Intel XE#7361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7361
[Intel XE#7367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7367
[Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
[Intel XE#7374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7374
[Intel XE#7375]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7375
[Intel XE#7376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7376
[Intel XE#7383]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7383
[Intel XE#7399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7399
[Intel XE#7400]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7400
[Intel XE#7417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7417
[Intel XE#7426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7426
[Intel XE#7442]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7442
[Intel XE#7464]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7464
[Intel XE#7517]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7517
[Intel XE#7571]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7571
[Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590
[Intel XE#7599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7599
[Intel XE#7636]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7636
[Intel XE#7679]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7679
[Intel XE#7695]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7695
[Intel XE#776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/776
[Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
[Intel XE#7809]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7809
[Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
[Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
[Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
Build changes
-------------
* IGT: IGT_8874 -> IGT_8875
* Linux: xe-4946-e066eb26712bca7174e694a358351c50a38661d6 -> xe-pw-165651v1
IGT_8874: 4568b2c141ab630c34f8eb2b9afab8cbf8f3ce9e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
IGT_8875: 5f5503b3bd1939fa733df60df7a6bf2b2101ee5e @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
xe-4946-e066eb26712bca7174e694a358351c50a38661d6: e066eb26712bca7174e694a358351c50a38661d6
xe-pw-165651v1: 165651v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-165651v1/index.html
[-- Attachment #2: Type: text/html, Size: 34303 bytes --]
^ permalink raw reply [flat|nested] 29+ messages in thread