* [PATCH v4 0/4] drm/xe/vf: Minor fixes to post-migration recovery
@ 2025-10-20 20:58 Tomasz Lis
2025-10-20 20:58 ` [PATCH v4 1/4] drm/xe/vf: Helper for telling whether CCS migration BBs are needed Tomasz Lis
` (6 more replies)
0 siblings, 7 replies; 15+ messages in thread
From: Tomasz Lis @ 2025-10-20 20:58 UTC (permalink / raw)
To: intel-xe
Cc: Michał Winiarski, Michał Wajdeczko,
Piotr Piórkowski, Matthew Brost, Satyanarayana K V P
The series contains few minor fixes, mostly related to VF driver probe.
The fixes are not strictly related, but all go under VF migration category.
v2: Add fixing the currently broken GuC ABI check
v3: Add separation of xe_sriov_vf_ccs_migration_bb_needed()
v4: Remove platform version check, discard early MIGRATED ignore patch,
move and rename CCS BB check functions
Tomasz Lis (4):
drm/xe/vf: Helper for telling whether CCS migration BBs are needed
drm/xe/vf: Fix GuC FW check for VF migration support
drm/xe: Assert that VF will never use fixed placement of BOs
drm/xe/vf: Do not disable VF migration on ATS-M
drivers/gpu/drm/xe/xe_bo.c | 6 ++++
drivers/gpu/drm/xe/xe_sriov_vf.c | 24 +++++-----------
drivers/gpu/drm/xe/xe_sriov_vf.h | 1 +
drivers/gpu/drm/xe/xe_sriov_vf_ccs.c | 42 +++++++++++++++++++++++++++-
drivers/gpu/drm/xe/xe_sriov_vf_ccs.h | 3 ++
5 files changed, 58 insertions(+), 18 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH v4 1/4] drm/xe/vf: Helper for telling whether CCS migration BBs are needed
2025-10-20 20:58 [PATCH v4 0/4] drm/xe/vf: Minor fixes to post-migration recovery Tomasz Lis
@ 2025-10-20 20:58 ` Tomasz Lis
2025-10-20 20:58 ` [PATCH v4 2/4] drm/xe/vf: Fix GuC FW check for VF migration support Tomasz Lis
` (5 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: Tomasz Lis @ 2025-10-20 20:58 UTC (permalink / raw)
To: intel-xe
Cc: Michał Winiarski, Michał Wajdeczko,
Piotr Piórkowski, Matthew Brost, Satyanarayana K V P
To avoid having duplicated checks, and also provide clear
documentation of what are we checking for, the conditions
for initing CCS BBs for VF migration are closed into a function.
v2: shuffled words in the name
Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
---
drivers/gpu/drm/xe/xe_sriov_vf_ccs.c | 17 ++++++++++++++++-
drivers/gpu/drm/xe/xe_sriov_vf_ccs.h | 2 ++
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
index 790249801364..a2d61b37ff21 100644
--- a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
+++ b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
@@ -260,6 +260,21 @@ int xe_sriov_vf_ccs_register_context(struct xe_device *xe)
return err;
}
+/**
+ * xe_sriov_vf_migration_ccs_bb_needed - Whether GuC requires CCS copy BBs for VF migration.
+ * @xe: the &xe_device instance.
+ *
+ * Only selected platforms require VF KMD to maintain CCS copy BBs and linked LRCAs.
+ *
+ * Return: true if VF driver must participate in the CCS migration, false otherwise.
+ */
+bool xe_sriov_vf_migration_ccs_bb_needed(struct xe_device *xe)
+{
+ xe_assert(xe, IS_SRIOV_VF(xe));
+
+ return !IS_DGFX(xe) && xe_device_has_flat_ccs(xe);
+}
+
static void xe_sriov_vf_ccs_fini(void *arg)
{
struct xe_sriov_vf_ccs_ctx *ctx = arg;
@@ -294,7 +309,7 @@ int xe_sriov_vf_ccs_init(struct xe_device *xe)
xe_assert(xe, IS_SRIOV_VF(xe));
xe_assert(xe, xe_sriov_vf_migration_supported(xe));
- if (IS_DGFX(xe) || !xe_device_has_flat_ccs(xe))
+ if (!xe_sriov_vf_migration_ccs_bb_needed(xe))
return 0;
for_each_ccs_rw_ctx(ctx_id) {
diff --git a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
index f8ca6efce9ee..0e6b27016dac 100644
--- a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
+++ b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
@@ -14,6 +14,8 @@ struct drm_printer;
struct xe_device;
struct xe_bo;
+bool xe_sriov_vf_migration_ccs_bb_needed(struct xe_device *xe);
+
int xe_sriov_vf_ccs_init(struct xe_device *xe);
int xe_sriov_vf_ccs_attach_bo(struct xe_bo *bo);
int xe_sriov_vf_ccs_detach_bo(struct xe_bo *bo);
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v4 2/4] drm/xe/vf: Fix GuC FW check for VF migration support
2025-10-20 20:58 [PATCH v4 0/4] drm/xe/vf: Minor fixes to post-migration recovery Tomasz Lis
2025-10-20 20:58 ` [PATCH v4 1/4] drm/xe/vf: Helper for telling whether CCS migration BBs are needed Tomasz Lis
@ 2025-10-20 20:58 ` Tomasz Lis
2025-10-20 22:17 ` Michal Wajdeczko
2025-10-20 20:58 ` [PATCH v4 3/4] drm/xe: Assert that VF will never use fixed placement of BOs Tomasz Lis
` (4 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Tomasz Lis @ 2025-10-20 20:58 UTC (permalink / raw)
To: intel-xe
Cc: Michał Winiarski, Michał Wajdeczko,
Piotr Piórkowski, Matthew Brost, Satyanarayana K V P
The check whether GuC ABI version meets requirements shall be
performed after said version is received from GuC.
Doing it in wrong order was triggering a warning:
xe 0000:00:02.1: [drm] Assertion `gt->sriov.vf.guc_version.major` failed!
With this change, dislodge part of the VF migration support check
and moved it to after GuC handshake.
v2: Use xe_sriov_vf_ccs_migration_bb_needed()
v3: Update commit message, move check funct to ccs module (Michal),
rename xe_sriov_vf_migration_disable(), remove its duplicate
Tested-by: Matthew Brost <matthew.brost@intel.com> #v1
Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/6349
Fixes: be5590c384f3 ("drm/xe/vf: Enable CCS save/restore only on supported GUC versions")
Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
---
drivers/gpu/drm/xe/xe_sriov_vf.c | 24 ++++++++----------------
drivers/gpu/drm/xe/xe_sriov_vf.h | 1 +
drivers/gpu/drm/xe/xe_sriov_vf_ccs.c | 25 +++++++++++++++++++++++++
drivers/gpu/drm/xe/xe_sriov_vf_ccs.h | 1 +
4 files changed, 35 insertions(+), 16 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_sriov_vf.c b/drivers/gpu/drm/xe/xe_sriov_vf.c
index 911d5720917b..3a3cd9c35aa8 100644
--- a/drivers/gpu/drm/xe/xe_sriov_vf.c
+++ b/drivers/gpu/drm/xe/xe_sriov_vf.c
@@ -133,7 +133,7 @@ bool xe_sriov_vf_migration_supported(struct xe_device *xe)
return xe->sriov.vf.migration.enabled;
}
-static void vf_disable_migration(struct xe_device *xe, const char *fmt, ...)
+void xe_sriov_vf_migration_disable(struct xe_device *xe, const char *fmt, ...)
{
struct va_format vaf;
va_list va_args;
@@ -156,25 +156,15 @@ static void vf_migration_init_early(struct xe_device *xe)
* supported at production quality.
*/
if (!IS_ENABLED(CONFIG_DRM_XE_DEBUG))
- return vf_disable_migration(xe,
- "experimental feature not available on production builds");
+ return xe_sriov_vf_migration_disable(xe,
+ "experimental feature not available on production builds");
if (GRAPHICS_VER(xe) < 20)
- return vf_disable_migration(xe, "requires gfx version >= 20, but only %u found",
- GRAPHICS_VER(xe));
-
- if (!IS_DGFX(xe)) {
- struct xe_uc_fw_version guc_version;
-
- xe_gt_sriov_vf_guc_versions(xe_device_get_gt(xe, 0), NULL, &guc_version);
- if (MAKE_GUC_VER_STRUCT(guc_version) < MAKE_GUC_VER(1, 23, 0))
- return vf_disable_migration(xe,
- "CCS migration requires GuC ABI >= 1.23 but only %u.%u found",
- guc_version.major, guc_version.minor);
- }
+ return xe_sriov_vf_migration_disable(xe,
+ "requires gfx version >= 20, but only %u found",
+ GRAPHICS_VER(xe));
xe->sriov.vf.migration.enabled = true;
- xe_sriov_dbg(xe, "migration support enabled\n");
}
/**
@@ -198,6 +188,8 @@ int xe_sriov_vf_init_late(struct xe_device *xe)
{
int err = 0;
+ xe_sriov_vf_migration_ccs_bb_support_check(xe);
+
if (xe_sriov_vf_migration_supported(xe))
err = xe_sriov_vf_ccs_init(xe);
diff --git a/drivers/gpu/drm/xe/xe_sriov_vf.h b/drivers/gpu/drm/xe/xe_sriov_vf.h
index 4df95266b261..e967d4166a43 100644
--- a/drivers/gpu/drm/xe/xe_sriov_vf.h
+++ b/drivers/gpu/drm/xe/xe_sriov_vf.h
@@ -14,6 +14,7 @@ struct xe_device;
void xe_sriov_vf_init_early(struct xe_device *xe);
int xe_sriov_vf_init_late(struct xe_device *xe);
bool xe_sriov_vf_migration_supported(struct xe_device *xe);
+void xe_sriov_vf_migration_disable(struct xe_device *xe, const char *fmt, ...);
void xe_sriov_vf_debugfs_register(struct xe_device *xe, struct dentry *root);
#endif
diff --git a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
index a2d61b37ff21..02d0fcd26399 100644
--- a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
+++ b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
@@ -10,6 +10,8 @@
#include "xe_device.h"
#include "xe_exec_queue.h"
#include "xe_exec_queue_types.h"
+#include "xe_gt_sriov_vf.h"
+#include "xe_guc.h"
#include "xe_guc_submit.h"
#include "xe_lrc.h"
#include "xe_migrate.h"
@@ -275,6 +277,29 @@ bool xe_sriov_vf_migration_ccs_bb_needed(struct xe_device *xe)
return !IS_DGFX(xe) && xe_device_has_flat_ccs(xe);
}
+/**
+ * xe_sriov_vf_migration_ccs_bb_support_check - Check for disable migration due to FW version.
+ * @xe: the &xe_device instance.
+ *
+ * Performs late disable of VF migration feature in case GuC FW cannot support it.
+ */
+void xe_sriov_vf_migration_ccs_bb_support_check(struct xe_device *xe)
+{
+ if (!xe_sriov_vf_migration_supported(xe))
+ return;
+
+ if (xe_sriov_vf_migration_ccs_bb_needed(xe)) {
+ struct xe_gt *gt = xe_device_get_gt(xe, 0);
+ struct xe_uc_fw_version guc_version;
+
+ xe_gt_sriov_vf_guc_versions(gt, NULL, &guc_version);
+ if (MAKE_GUC_VER_STRUCT(guc_version) < MAKE_GUC_VER(1, 23, 0))
+ return xe_sriov_vf_migration_disable(xe,
+ "CCS migration requires GuC ABI >= 1.23 but only %u.%u found",
+ guc_version.major, guc_version.minor);
+ }
+}
+
static void xe_sriov_vf_ccs_fini(void *arg)
{
struct xe_sriov_vf_ccs_ctx *ctx = arg;
diff --git a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
index 0e6b27016dac..2844628269d1 100644
--- a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
+++ b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
@@ -15,6 +15,7 @@ struct xe_device;
struct xe_bo;
bool xe_sriov_vf_migration_ccs_bb_needed(struct xe_device *xe);
+void xe_sriov_vf_migration_ccs_bb_support_check(struct xe_device *xe);
int xe_sriov_vf_ccs_init(struct xe_device *xe);
int xe_sriov_vf_ccs_attach_bo(struct xe_bo *bo);
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v4 3/4] drm/xe: Assert that VF will never use fixed placement of BOs
2025-10-20 20:58 [PATCH v4 0/4] drm/xe/vf: Minor fixes to post-migration recovery Tomasz Lis
2025-10-20 20:58 ` [PATCH v4 1/4] drm/xe/vf: Helper for telling whether CCS migration BBs are needed Tomasz Lis
2025-10-20 20:58 ` [PATCH v4 2/4] drm/xe/vf: Fix GuC FW check for VF migration support Tomasz Lis
@ 2025-10-20 20:58 ` Tomasz Lis
2025-10-20 21:59 ` Michal Wajdeczko
2025-10-20 20:58 ` [PATCH v4 4/4] drm/xe/vf: Do not disable VF migration on ATS-M Tomasz Lis
` (3 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Tomasz Lis @ 2025-10-20 20:58 UTC (permalink / raw)
To: intel-xe
Cc: Michał Winiarski, Michał Wajdeczko,
Piotr Piórkowski, Matthew Brost, Satyanarayana K V P
Most BOs do not care at which offset they will be accessed within
GGTT or PPGTT. The few which do care, should be only created
on PF, and mapped within GGTT. On VFs, mapping at fixed offset
would be problematic, as each VF is granted access to a range of
GGTT address space.
So, since fixed addresses of GGTT mapping can only be used on PF,
we can add an assert which makes sure no attempt of fixed placement
will happen for a driver probed on a VF.
The assert will also ensure that VF migration can be properly
performed without a need for special handling of the fixed placement
addresses.
Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
---
drivers/gpu/drm/xe/xe_bo.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
index 7b6502081873..8e826a4aa574 100644
--- a/drivers/gpu/drm/xe/xe_bo.c
+++ b/drivers/gpu/drm/xe/xe_bo.c
@@ -2259,6 +2259,12 @@ static int __xe_bo_fixed_placement(struct xe_device *xe,
struct ttm_place *place = bo->placements;
u32 vram_flag, vram_stolen_flags;
+ /*
+ * to allow fixed placement in GGTT of a VF, post-migration fixups
+ * would have to include shifting the page ranges
+ */
+ xe_assert(xe, !IS_SRIOV_VF(xe) || !(bo->flags & XE_BO_FLAG_GGTT));
+
if (flags & (XE_BO_FLAG_USER | XE_BO_FLAG_SYSTEM))
return -EINVAL;
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH v4 4/4] drm/xe/vf: Do not disable VF migration on ATS-M
2025-10-20 20:58 [PATCH v4 0/4] drm/xe/vf: Minor fixes to post-migration recovery Tomasz Lis
` (2 preceding siblings ...)
2025-10-20 20:58 ` [PATCH v4 3/4] drm/xe: Assert that VF will never use fixed placement of BOs Tomasz Lis
@ 2025-10-20 20:58 ` Tomasz Lis
2025-10-20 21:53 ` Michal Wajdeczko
2025-10-21 10:51 ` ✓ CI.KUnit: success for drm/xe/vf: Minor fixes to post-migration recovery (rev4) Patchwork
` (2 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Tomasz Lis @ 2025-10-20 20:58 UTC (permalink / raw)
To: intel-xe
Cc: Michał Winiarski, Michał Wajdeczko,
Piotr Piórkowski, Matthew Brost, Satyanarayana K V P
The ATS-M does support VF migration, and it has graphics ver below
the currently allowed range. Experimental support of this platform
should therefore be available.
This change allows experimental VF migration support on ATS-M. It
is also explicitly not allowing ADL, by adding condition on MEMIRQ.
Supporting VF migration through MMIO interrupts would require
some special handling in order to achieve reliability.
v2: Add MEMIRQ condition
v3: Remove platform version check, as only 12+ are supported by Xe
driver anyway (Michal)
Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
---
drivers/gpu/drm/xe/xe_sriov_vf.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_sriov_vf.c b/drivers/gpu/drm/xe/xe_sriov_vf.c
index 3a3cd9c35aa8..75760da247f4 100644
--- a/drivers/gpu/drm/xe/xe_sriov_vf.c
+++ b/drivers/gpu/drm/xe/xe_sriov_vf.c
@@ -159,10 +159,8 @@ static void vf_migration_init_early(struct xe_device *xe)
return xe_sriov_vf_migration_disable(xe,
"experimental feature not available on production builds");
- if (GRAPHICS_VER(xe) < 20)
- return xe_sriov_vf_migration_disable(xe,
- "requires gfx version >= 20, but only %u found",
- GRAPHICS_VER(xe));
+ if (!xe_device_has_memirq(xe))
+ return xe_sriov_vf_migration_disable(xe, "requires memory-based IRQ support");
xe->sriov.vf.migration.enabled = true;
}
--
2.25.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH v4 4/4] drm/xe/vf: Do not disable VF migration on ATS-M
2025-10-20 20:58 ` [PATCH v4 4/4] drm/xe/vf: Do not disable VF migration on ATS-M Tomasz Lis
@ 2025-10-20 21:53 ` Michal Wajdeczko
0 siblings, 0 replies; 15+ messages in thread
From: Michal Wajdeczko @ 2025-10-20 21:53 UTC (permalink / raw)
To: Tomasz Lis, intel-xe
Cc: Michał Winiarski, Piotr Piórkowski, Matthew Brost,
Satyanarayana K V P
On 10/20/2025 10:58 PM, Tomasz Lis wrote:
> The ATS-M does support VF migration, and it has graphics ver below
> the currently allowed range. Experimental support of this platform
> should therefore be available.
maybe the wording here should be:
"Our current support for the VF migration depends on the availability
of the MEMIRQ rather than specific graphics version 20."
"Relax our early migration support checks to allow also use some
older platforms like ATS-M for experiments and testing."
>
> This change allows experimental VF migration support on ATS-M. It
> is also explicitly not allowing ADL, by adding condition on MEMIRQ.
> Supporting VF migration through MMIO interrupts would require
> some special handling in order to achieve reliability.
hmm, but is this something that we still plan to implement?
all official SR-IOV platforms supported by the Xe driver (PTL+) have MEMIRQ
>
> v2: Add MEMIRQ condition
>
> v3: Remove platform version check, as only 12+ are supported by Xe
> driver anyway (Michal)
>
> Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
> ---
> drivers/gpu/drm/xe/xe_sriov_vf.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_sriov_vf.c b/drivers/gpu/drm/xe/xe_sriov_vf.c
> index 3a3cd9c35aa8..75760da247f4 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_vf.c
> +++ b/drivers/gpu/drm/xe/xe_sriov_vf.c
> @@ -159,10 +159,8 @@ static void vf_migration_init_early(struct xe_device *xe)
> return xe_sriov_vf_migration_disable(xe,
> "experimental feature not available on production builds");
>
> - if (GRAPHICS_VER(xe) < 20)
> - return xe_sriov_vf_migration_disable(xe,
> - "requires gfx version >= 20, but only %u found",
> - GRAPHICS_VER(xe));
> + if (!xe_device_has_memirq(xe))
> + return xe_sriov_vf_migration_disable(xe, "requires memory-based IRQ support");
but this looks ok, so
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
>
> xe->sriov.vf.migration.enabled = true;
> }
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 3/4] drm/xe: Assert that VF will never use fixed placement of BOs
2025-10-20 20:58 ` [PATCH v4 3/4] drm/xe: Assert that VF will never use fixed placement of BOs Tomasz Lis
@ 2025-10-20 21:59 ` Michal Wajdeczko
2025-10-20 22:48 ` Lis, Tomasz
0 siblings, 1 reply; 15+ messages in thread
From: Michal Wajdeczko @ 2025-10-20 21:59 UTC (permalink / raw)
To: Tomasz Lis, intel-xe
Cc: Michał Winiarski, Piotr Piórkowski, Matthew Brost,
Satyanarayana K V P
On 10/20/2025 10:58 PM, Tomasz Lis wrote:
> Most BOs do not care at which offset they will be accessed within
> GGTT or PPGTT. The few which do care, should be only created
> on PF, and mapped within GGTT. On VFs, mapping at fixed offset
> would be problematic, as each VF is granted access to a range of
> GGTT address space.
it's not a matter of being "problematic" but this is just prohibited
as there is no assumption which GGTT range will be assigned to the VF
>
> So, since fixed addresses of GGTT mapping can only be used on PF,
> we can add an assert which makes sure no attempt of fixed placement
> will happen for a driver probed on a VF.
>
> The assert will also ensure that VF migration can be properly
> performed without a need for special handling of the fixed placement
> addresses.
this last sentence can be dropped
>
> Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
> ---
> drivers/gpu/drm/xe/xe_bo.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
> index 7b6502081873..8e826a4aa574 100644
> --- a/drivers/gpu/drm/xe/xe_bo.c
> +++ b/drivers/gpu/drm/xe/xe_bo.c
> @@ -2259,6 +2259,12 @@ static int __xe_bo_fixed_placement(struct xe_device *xe,
> struct ttm_place *place = bo->placements;
> u32 vram_flag, vram_stolen_flags;
>
> + /*
> + * to allow fixed placement in GGTT of a VF, post-migration fixups
> + * would have to include shifting the page ranges
it's not about implementation of fixups, this is just not allowed
> + */
> + xe_assert(xe, !IS_SRIOV_VF(xe) || !(bo->flags & XE_BO_FLAG_GGTT));
but the assert is fine, so with commit/comment updated,
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
> +
> if (flags & (XE_BO_FLAG_USER | XE_BO_FLAG_SYSTEM))
> return -EINVAL;
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 2/4] drm/xe/vf: Fix GuC FW check for VF migration support
2025-10-20 20:58 ` [PATCH v4 2/4] drm/xe/vf: Fix GuC FW check for VF migration support Tomasz Lis
@ 2025-10-20 22:17 ` Michal Wajdeczko
2025-10-20 23:46 ` Lis, Tomasz
0 siblings, 1 reply; 15+ messages in thread
From: Michal Wajdeczko @ 2025-10-20 22:17 UTC (permalink / raw)
To: Tomasz Lis, intel-xe, Lucas De Marchi
Cc: Michał Winiarski, Piotr Piórkowski, Matthew Brost,
Satyanarayana K V P
On 10/20/2025 10:58 PM, Tomasz Lis wrote:
> The check whether GuC ABI version meets requirements shall be
> performed after said version is received from GuC.
>
> Doing it in wrong order was triggering a warning:
> xe 0000:00:02.1: [drm] Assertion `gt->sriov.vf.guc_version.major` failed!
>
> With this change, dislodge part of the VF migration support check
> and moved it to after GuC handshake.
>
> v2: Use xe_sriov_vf_ccs_migration_bb_needed()
>
> v3: Update commit message, move check funct to ccs module (Michal),
> rename xe_sriov_vf_migration_disable(), remove its duplicate
>
> Tested-by: Matthew Brost <matthew.brost@intel.com> #v1
> Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/6349
> Fixes: be5590c384f3 ("drm/xe/vf: Enable CCS save/restore only on supported GUC versions")
hmm, but this was likely working fine until this:
commit ff1d2b5e3d28a62e79c89d2b2ab28ef5eaab84d8
Author: Matt Roper <matthew.d.roper@intel.com>
Date: Mon Oct 13 13:09:50 2025 -0700
drm/xe: Read VF GMD_ID with a specifically-allocated dummy GT
so maybe Fixes: shall point that commit instead?
@Lucas ?
> Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
> ---
> drivers/gpu/drm/xe/xe_sriov_vf.c | 24 ++++++++----------------
> drivers/gpu/drm/xe/xe_sriov_vf.h | 1 +
> drivers/gpu/drm/xe/xe_sriov_vf_ccs.c | 25 +++++++++++++++++++++++++
> drivers/gpu/drm/xe/xe_sriov_vf_ccs.h | 1 +
> 4 files changed, 35 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_sriov_vf.c b/drivers/gpu/drm/xe/xe_sriov_vf.c
> index 911d5720917b..3a3cd9c35aa8 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_vf.c
> +++ b/drivers/gpu/drm/xe/xe_sriov_vf.c
> @@ -133,7 +133,7 @@ bool xe_sriov_vf_migration_supported(struct xe_device *xe)
> return xe->sriov.vf.migration.enabled;
> }
>
> -static void vf_disable_migration(struct xe_device *xe, const char *fmt, ...)
> +void xe_sriov_vf_migration_disable(struct xe_device *xe, const char *fmt, ...)
> {
> struct va_format vaf;
> va_list va_args;
> @@ -156,25 +156,15 @@ static void vf_migration_init_early(struct xe_device *xe)
> * supported at production quality.
> */
> if (!IS_ENABLED(CONFIG_DRM_XE_DEBUG))
> - return vf_disable_migration(xe,
> - "experimental feature not available on production builds");
> + return xe_sriov_vf_migration_disable(xe,
> + "experimental feature not available on production builds");
>
> if (GRAPHICS_VER(xe) < 20)
> - return vf_disable_migration(xe, "requires gfx version >= 20, but only %u found",
> - GRAPHICS_VER(xe));
> -
> - if (!IS_DGFX(xe)) {
> - struct xe_uc_fw_version guc_version;
> -
> - xe_gt_sriov_vf_guc_versions(xe_device_get_gt(xe, 0), NULL, &guc_version);
> - if (MAKE_GUC_VER_STRUCT(guc_version) < MAKE_GUC_VER(1, 23, 0))
> - return vf_disable_migration(xe,
> - "CCS migration requires GuC ABI >= 1.23 but only %u.%u found",
> - guc_version.major, guc_version.minor);
> - }
> + return xe_sriov_vf_migration_disable(xe,
> + "requires gfx version >= 20, but only %u found",
> + GRAPHICS_VER(xe));
>
> xe->sriov.vf.migration.enabled = true;
as said earlier, we should change the logic to
xe->sriov.vf.migration.disabled = true;
and set this in xe_sriov_vf_migration_disable()
> - xe_sriov_dbg(xe, "migration support enabled\n");
> }
>
> /**
> @@ -198,6 +188,8 @@ int xe_sriov_vf_init_late(struct xe_device *xe)
> {
> int err = 0;
>
> + xe_sriov_vf_migration_ccs_bb_support_check(xe);
why not move that to xe_sriov_vf_ccs_init() called just below?
then you will not have to export
xe_sriov_vf_migration_ccs_bb_support_check
nor
xe_sriov_vf_migration_ccs_bb_needed
as everything will be in xe_sriov_vf_ccs.c
> +
> if (xe_sriov_vf_migration_supported(xe))
> err = xe_sriov_vf_ccs_init(xe);
>
> diff --git a/drivers/gpu/drm/xe/xe_sriov_vf.h b/drivers/gpu/drm/xe/xe_sriov_vf.h
> index 4df95266b261..e967d4166a43 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_vf.h
> +++ b/drivers/gpu/drm/xe/xe_sriov_vf.h
> @@ -14,6 +14,7 @@ struct xe_device;
> void xe_sriov_vf_init_early(struct xe_device *xe);
> int xe_sriov_vf_init_late(struct xe_device *xe);
> bool xe_sriov_vf_migration_supported(struct xe_device *xe);
> +void xe_sriov_vf_migration_disable(struct xe_device *xe, const char *fmt, ...);
> void xe_sriov_vf_debugfs_register(struct xe_device *xe, struct dentry *root);
>
> #endif
> diff --git a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
> index a2d61b37ff21..02d0fcd26399 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
> +++ b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
> @@ -10,6 +10,8 @@
> #include "xe_device.h"
> #include "xe_exec_queue.h"
> #include "xe_exec_queue_types.h"
> +#include "xe_gt_sriov_vf.h"
> +#include "xe_guc.h"
> #include "xe_guc_submit.h"
> #include "xe_lrc.h"
> #include "xe_migrate.h"
> @@ -275,6 +277,29 @@ bool xe_sriov_vf_migration_ccs_bb_needed(struct xe_device *xe)
> return !IS_DGFX(xe) && xe_device_has_flat_ccs(xe);
> }
>
> +/**
> + * xe_sriov_vf_migration_ccs_bb_support_check - Check for disable migration due to FW version.
> + * @xe: the &xe_device instance.
> + *
> + * Performs late disable of VF migration feature in case GuC FW cannot support it.
> + */
> +void xe_sriov_vf_migration_ccs_bb_support_check(struct xe_device *xe)
> +{
> + if (!xe_sriov_vf_migration_supported(xe))
> + return;
> +
> + if (xe_sriov_vf_migration_ccs_bb_needed(xe)) {
> + struct xe_gt *gt = xe_device_get_gt(xe, 0);
> + struct xe_uc_fw_version guc_version;
> +
> + xe_gt_sriov_vf_guc_versions(gt, NULL, &guc_version);
> + if (MAKE_GUC_VER_STRUCT(guc_version) < MAKE_GUC_VER(1, 23, 0))
> + return xe_sriov_vf_migration_disable(xe,
> + "CCS migration requires GuC ABI >= 1.23 but only %u.%u found",
> + guc_version.major, guc_version.minor);
> + }
> +}
> +
> static void xe_sriov_vf_ccs_fini(void *arg)
> {
> struct xe_sriov_vf_ccs_ctx *ctx = arg;
> diff --git a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
> index 0e6b27016dac..2844628269d1 100644
> --- a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
> +++ b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
> @@ -15,6 +15,7 @@ struct xe_device;
> struct xe_bo;
>
> bool xe_sriov_vf_migration_ccs_bb_needed(struct xe_device *xe);
> +void xe_sriov_vf_migration_ccs_bb_support_check(struct xe_device *xe);
>
> int xe_sriov_vf_ccs_init(struct xe_device *xe);
> int xe_sriov_vf_ccs_attach_bo(struct xe_bo *bo);
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 3/4] drm/xe: Assert that VF will never use fixed placement of BOs
2025-10-20 21:59 ` Michal Wajdeczko
@ 2025-10-20 22:48 ` Lis, Tomasz
2025-10-21 15:04 ` Michal Wajdeczko
0 siblings, 1 reply; 15+ messages in thread
From: Lis, Tomasz @ 2025-10-20 22:48 UTC (permalink / raw)
To: Wajdeczko, Michal, intel-xe@lists.freedesktop.org
Cc: Winiarski, Michal, Piorkowski, Piotr, Brost, Matthew,
K V P, Satyanarayana
On 10/20/2025 11:59 PM, Wajdeczko, Michal wrote:
>
> On 10/20/2025 10:58 PM, Tomasz Lis wrote:
>> Most BOs do not care at which offset they will be accessed within
>> GGTT or PPGTT. The few which do care, should be only created
>> on PF, and mapped within GGTT. On VFs, mapping at fixed offset
>> would be problematic, as each VF is granted access to a range of
>> GGTT address space.
> it's not a matter of being "problematic" but this is just prohibited
> as there is no assumption which GGTT range will be assigned to the VF
will update to "prohibited". though that's a simplification. Fixed is
not the same as constant.
>> So, since fixed addresses of GGTT mapping can only be used on PF,
>> we can add an assert which makes sure no attempt of fixed placement
>> will happen for a driver probed on a VF.
>>
>> The assert will also ensure that VF migration can be properly
>> performed without a need for special handling of the fixed placement
>> addresses.
> this last sentence can be dropped
will drop, though I can't say I agree.
>
>> Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_bo.c | 6 ++++++
>> 1 file changed, 6 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
>> index 7b6502081873..8e826a4aa574 100644
>> --- a/drivers/gpu/drm/xe/xe_bo.c
>> +++ b/drivers/gpu/drm/xe/xe_bo.c
>> @@ -2259,6 +2259,12 @@ static int __xe_bo_fixed_placement(struct xe_device *xe,
>> struct ttm_place *place = bo->placements;
>> u32 vram_flag, vram_stolen_flags;
>>
>> + /*
>> + * to allow fixed placement in GGTT of a VF, post-migration fixups
>> + * would have to include shifting the page ranges
> it's not about implementation of fixups, this is just not allowed
"not allowed" is not an explanation. That is clear from the assert
itself. The comment is here to tell why.
Having only a range of addresses is not enough of an explanation, as
then we could still have fixed offset which was computed so that it
conforms to the range limits. Fixed does not mean hard-coded. For such
computed fixed offsets, the explanation in comment is correct.
-Tomasz
>
>> + */
>> + xe_assert(xe, !IS_SRIOV_VF(xe) || !(bo->flags & XE_BO_FLAG_GGTT));
> but the assert is fine, so with commit/comment updated,
>
> Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
>
>> +
>> if (flags & (XE_BO_FLAG_USER | XE_BO_FLAG_SYSTEM))
>> return -EINVAL;
>>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 2/4] drm/xe/vf: Fix GuC FW check for VF migration support
2025-10-20 22:17 ` Michal Wajdeczko
@ 2025-10-20 23:46 ` Lis, Tomasz
0 siblings, 0 replies; 15+ messages in thread
From: Lis, Tomasz @ 2025-10-20 23:46 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe, Lucas De Marchi
Cc: Michał Winiarski, Piotr Piórkowski, Matthew Brost,
Satyanarayana K V P
On 10/21/2025 12:17 AM, Michal Wajdeczko wrote:
>
> On 10/20/2025 10:58 PM, Tomasz Lis wrote:
>> The check whether GuC ABI version meets requirements shall be
>> performed after said version is received from GuC.
>>
>> Doing it in wrong order was triggering a warning:
>> xe 0000:00:02.1: [drm] Assertion `gt->sriov.vf.guc_version.major` failed!
>>
>> With this change, dislodge part of the VF migration support check
>> and moved it to after GuC handshake.
>>
>> v2: Use xe_sriov_vf_ccs_migration_bb_needed()
>>
>> v3: Update commit message, move check funct to ccs module (Michal),
>> rename xe_sriov_vf_migration_disable(), remove its duplicate
>>
>> Tested-by: Matthew Brost <matthew.brost@intel.com> #v1
>> Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/6349
>> Fixes: be5590c384f3 ("drm/xe/vf: Enable CCS save/restore only on supported GUC versions")
> hmm, but this was likely working fine until this:
>
> commit ff1d2b5e3d28a62e79c89d2b2ab28ef5eaab84d8
> Author: Matt Roper <matthew.d.roper@intel.com>
> Date: Mon Oct 13 13:09:50 2025 -0700
>
> drm/xe: Read VF GMD_ID with a specifically-allocated dummy GT
>
> so maybe Fixes: shall point that commit instead?
>
> @Lucas ?
Will accept whatever you say is right. It looks like the fix tag relates
to a commit, and I filled it with the commit which introduced the code.
The comparison never worked, though maybe before Matts commit that fact
was concealed. Since the commit I pointed, we were not comparing with a
version received from GuC.
>
>> Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_sriov_vf.c | 24 ++++++++----------------
>> drivers/gpu/drm/xe/xe_sriov_vf.h | 1 +
>> drivers/gpu/drm/xe/xe_sriov_vf_ccs.c | 25 +++++++++++++++++++++++++
>> drivers/gpu/drm/xe/xe_sriov_vf_ccs.h | 1 +
>> 4 files changed, 35 insertions(+), 16 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_sriov_vf.c b/drivers/gpu/drm/xe/xe_sriov_vf.c
>> index 911d5720917b..3a3cd9c35aa8 100644
>> --- a/drivers/gpu/drm/xe/xe_sriov_vf.c
>> +++ b/drivers/gpu/drm/xe/xe_sriov_vf.c
>> @@ -133,7 +133,7 @@ bool xe_sriov_vf_migration_supported(struct xe_device *xe)
>> return xe->sriov.vf.migration.enabled;
>> }
>>
>> -static void vf_disable_migration(struct xe_device *xe, const char *fmt, ...)
>> +void xe_sriov_vf_migration_disable(struct xe_device *xe, const char *fmt, ...)
>> {
>> struct va_format vaf;
>> va_list va_args;
>> @@ -156,25 +156,15 @@ static void vf_migration_init_early(struct xe_device *xe)
>> * supported at production quality.
>> */
>> if (!IS_ENABLED(CONFIG_DRM_XE_DEBUG))
>> - return vf_disable_migration(xe,
>> - "experimental feature not available on production builds");
>> + return xe_sriov_vf_migration_disable(xe,
>> + "experimental feature not available on production builds");
>>
>> if (GRAPHICS_VER(xe) < 20)
>> - return vf_disable_migration(xe, "requires gfx version >= 20, but only %u found",
>> - GRAPHICS_VER(xe));
>> -
>> - if (!IS_DGFX(xe)) {
>> - struct xe_uc_fw_version guc_version;
>> -
>> - xe_gt_sriov_vf_guc_versions(xe_device_get_gt(xe, 0), NULL, &guc_version);
>> - if (MAKE_GUC_VER_STRUCT(guc_version) < MAKE_GUC_VER(1, 23, 0))
>> - return vf_disable_migration(xe,
>> - "CCS migration requires GuC ABI >= 1.23 but only %u.%u found",
>> - guc_version.major, guc_version.minor);
>> - }
>> + return xe_sriov_vf_migration_disable(xe,
>> + "requires gfx version >= 20, but only %u found",
>> + GRAPHICS_VER(xe));
>>
>> xe->sriov.vf.migration.enabled = true;
> as said earlier, we should change the logic to
>
> xe->sriov.vf.migration.disabled = true;
>
> and set this in xe_sriov_vf_migration_disable()
not sure where this is going, but will invert.
>> - xe_sriov_dbg(xe, "migration support enabled\n");
>> }
>>
>> /**
>> @@ -198,6 +188,8 @@ int xe_sriov_vf_init_late(struct xe_device *xe)
>> {
>> int err = 0;
>>
>> + xe_sriov_vf_migration_ccs_bb_support_check(xe);
> why not move that to xe_sriov_vf_ccs_init() called just below?
>
> then you will not have to export
>
> xe_sriov_vf_migration_ccs_bb_support_check
> nor
> xe_sriov_vf_migration_ccs_bb_needed
>
> as everything will be in xe_sriov_vf_ccs.c
right, at this point it makes sense.
-Tomasz
>> +
>> if (xe_sriov_vf_migration_supported(xe))
>> err = xe_sriov_vf_ccs_init(xe);
>>
>> diff --git a/drivers/gpu/drm/xe/xe_sriov_vf.h b/drivers/gpu/drm/xe/xe_sriov_vf.h
>> index 4df95266b261..e967d4166a43 100644
>> --- a/drivers/gpu/drm/xe/xe_sriov_vf.h
>> +++ b/drivers/gpu/drm/xe/xe_sriov_vf.h
>> @@ -14,6 +14,7 @@ struct xe_device;
>> void xe_sriov_vf_init_early(struct xe_device *xe);
>> int xe_sriov_vf_init_late(struct xe_device *xe);
>> bool xe_sriov_vf_migration_supported(struct xe_device *xe);
>> +void xe_sriov_vf_migration_disable(struct xe_device *xe, const char *fmt, ...);
>> void xe_sriov_vf_debugfs_register(struct xe_device *xe, struct dentry *root);
>>
>> #endif
>> diff --git a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
>> index a2d61b37ff21..02d0fcd26399 100644
>> --- a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
>> +++ b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
>> @@ -10,6 +10,8 @@
>> #include "xe_device.h"
>> #include "xe_exec_queue.h"
>> #include "xe_exec_queue_types.h"
>> +#include "xe_gt_sriov_vf.h"
>> +#include "xe_guc.h"
>> #include "xe_guc_submit.h"
>> #include "xe_lrc.h"
>> #include "xe_migrate.h"
>> @@ -275,6 +277,29 @@ bool xe_sriov_vf_migration_ccs_bb_needed(struct xe_device *xe)
>> return !IS_DGFX(xe) && xe_device_has_flat_ccs(xe);
>> }
>>
>> +/**
>> + * xe_sriov_vf_migration_ccs_bb_support_check - Check for disable migration due to FW version.
>> + * @xe: the &xe_device instance.
>> + *
>> + * Performs late disable of VF migration feature in case GuC FW cannot support it.
>> + */
>> +void xe_sriov_vf_migration_ccs_bb_support_check(struct xe_device *xe)
>> +{
>> + if (!xe_sriov_vf_migration_supported(xe))
>> + return;
>> +
>> + if (xe_sriov_vf_migration_ccs_bb_needed(xe)) {
>> + struct xe_gt *gt = xe_device_get_gt(xe, 0);
>> + struct xe_uc_fw_version guc_version;
>> +
>> + xe_gt_sriov_vf_guc_versions(gt, NULL, &guc_version);
>> + if (MAKE_GUC_VER_STRUCT(guc_version) < MAKE_GUC_VER(1, 23, 0))
>> + return xe_sriov_vf_migration_disable(xe,
>> + "CCS migration requires GuC ABI >= 1.23 but only %u.%u found",
>> + guc_version.major, guc_version.minor);
>> + }
>> +}
>> +
>> static void xe_sriov_vf_ccs_fini(void *arg)
>> {
>> struct xe_sriov_vf_ccs_ctx *ctx = arg;
>> diff --git a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
>> index 0e6b27016dac..2844628269d1 100644
>> --- a/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
>> +++ b/drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
>> @@ -15,6 +15,7 @@ struct xe_device;
>> struct xe_bo;
>>
>> bool xe_sriov_vf_migration_ccs_bb_needed(struct xe_device *xe);
>> +void xe_sriov_vf_migration_ccs_bb_support_check(struct xe_device *xe);
>>
>> int xe_sriov_vf_ccs_init(struct xe_device *xe);
>> int xe_sriov_vf_ccs_attach_bo(struct xe_bo *bo);
^ permalink raw reply [flat|nested] 15+ messages in thread
* ✓ CI.KUnit: success for drm/xe/vf: Minor fixes to post-migration recovery (rev4)
2025-10-20 20:58 [PATCH v4 0/4] drm/xe/vf: Minor fixes to post-migration recovery Tomasz Lis
` (3 preceding siblings ...)
2025-10-20 20:58 ` [PATCH v4 4/4] drm/xe/vf: Do not disable VF migration on ATS-M Tomasz Lis
@ 2025-10-21 10:51 ` Patchwork
2025-10-21 12:41 ` ✓ Xe.CI.BAT: " Patchwork
2025-10-21 13:38 ` ✓ Xe.CI.Full: " Patchwork
6 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-10-21 10:51 UTC (permalink / raw)
To: Lis, Tomasz; +Cc: intel-xe
== Series Details ==
Series: drm/xe/vf: Minor fixes to post-migration recovery (rev4)
URL : https://patchwork.freedesktop.org/series/155865/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[10:49:54] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[10:49:59] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=25
[10:50:36] Starting KUnit Kernel (1/1)...
[10:50:36] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[10:50:36] ================== guc_buf (11 subtests) ===================
[10:50:36] [PASSED] test_smallest
[10:50:36] [PASSED] test_largest
[10:50:36] [PASSED] test_granular
[10:50:36] [PASSED] test_unique
[10:50:36] [PASSED] test_overlap
[10:50:36] [PASSED] test_reusable
[10:50:36] [PASSED] test_too_big
[10:50:36] [PASSED] test_flush
[10:50:36] [PASSED] test_lookup
[10:50:36] [PASSED] test_data
[10:50:36] [PASSED] test_class
[10:50:36] ===================== [PASSED] guc_buf =====================
[10:50:36] =================== guc_dbm (7 subtests) ===================
[10:50:36] [PASSED] test_empty
[10:50:36] [PASSED] test_default
[10:50:36] ======================== test_size ========================
[10:50:36] [PASSED] 4
[10:50:36] [PASSED] 8
[10:50:36] [PASSED] 32
[10:50:36] [PASSED] 256
[10:50:36] ==================== [PASSED] test_size ====================
[10:50:36] ======================= test_reuse ========================
[10:50:36] [PASSED] 4
[10:50:36] [PASSED] 8
[10:50:36] [PASSED] 32
[10:50:36] [PASSED] 256
[10:50:36] =================== [PASSED] test_reuse ====================
[10:50:36] =================== test_range_overlap ====================
[10:50:36] [PASSED] 4
[10:50:36] [PASSED] 8
[10:50:36] [PASSED] 32
[10:50:36] [PASSED] 256
[10:50:36] =============== [PASSED] test_range_overlap ================
[10:50:36] =================== test_range_compact ====================
[10:50:36] [PASSED] 4
[10:50:36] [PASSED] 8
[10:50:36] [PASSED] 32
[10:50:36] [PASSED] 256
[10:50:36] =============== [PASSED] test_range_compact ================
[10:50:36] ==================== test_range_spare =====================
[10:50:36] [PASSED] 4
[10:50:36] [PASSED] 8
[10:50:36] [PASSED] 32
[10:50:36] [PASSED] 256
[10:50:36] ================ [PASSED] test_range_spare =================
[10:50:36] ===================== [PASSED] guc_dbm =====================
[10:50:36] =================== guc_idm (6 subtests) ===================
[10:50:36] [PASSED] bad_init
[10:50:36] [PASSED] no_init
[10:50:36] [PASSED] init_fini
[10:50:36] [PASSED] check_used
[10:50:36] [PASSED] check_quota
[10:50:36] [PASSED] check_all
[10:50:36] ===================== [PASSED] guc_idm =====================
[10:50:36] ================== no_relay (3 subtests) ===================
[10:50:36] [PASSED] xe_drops_guc2pf_if_not_ready
[10:50:36] [PASSED] xe_drops_guc2vf_if_not_ready
[10:50:36] [PASSED] xe_rejects_send_if_not_ready
[10:50:36] ==================== [PASSED] no_relay =====================
[10:50:36] ================== pf_relay (14 subtests) ==================
[10:50:36] [PASSED] pf_rejects_guc2pf_too_short
[10:50:36] [PASSED] pf_rejects_guc2pf_too_long
[10:50:36] [PASSED] pf_rejects_guc2pf_no_payload
[10:50:36] [PASSED] pf_fails_no_payload
[10:50:36] [PASSED] pf_fails_bad_origin
[10:50:36] [PASSED] pf_fails_bad_type
[10:50:36] [PASSED] pf_txn_reports_error
[10:50:36] [PASSED] pf_txn_sends_pf2guc
[10:50:36] [PASSED] pf_sends_pf2guc
[10:50:36] [SKIPPED] pf_loopback_nop
[10:50:36] [SKIPPED] pf_loopback_echo
[10:50:36] [SKIPPED] pf_loopback_fail
[10:50:36] [SKIPPED] pf_loopback_busy
[10:50:36] [SKIPPED] pf_loopback_retry
[10:50:36] ==================== [PASSED] pf_relay =====================
[10:50:36] ================== vf_relay (3 subtests) ===================
[10:50:36] [PASSED] vf_rejects_guc2vf_too_short
[10:50:36] [PASSED] vf_rejects_guc2vf_too_long
[10:50:36] [PASSED] vf_rejects_guc2vf_no_payload
[10:50:36] ==================== [PASSED] vf_relay =====================
[10:50:36] ===================== lmtt (1 subtest) =====================
[10:50:36] ======================== test_ops =========================
[10:50:36] [PASSED] 2-level
[10:50:36] [PASSED] multi-level
[10:50:36] ==================== [PASSED] test_ops =====================
[10:50:36] ====================== [PASSED] lmtt =======================
[10:50:36] ================= pf_service (11 subtests) =================
[10:50:36] [PASSED] pf_negotiate_any
[10:50:36] [PASSED] pf_negotiate_base_match
[10:50:36] [PASSED] pf_negotiate_base_newer
[10:50:36] [PASSED] pf_negotiate_base_next
[10:50:36] [SKIPPED] pf_negotiate_base_older
[10:50:36] [PASSED] pf_negotiate_base_prev
[10:50:36] [PASSED] pf_negotiate_latest_match
[10:50:36] [PASSED] pf_negotiate_latest_newer
[10:50:36] [PASSED] pf_negotiate_latest_next
[10:50:36] [SKIPPED] pf_negotiate_latest_older
[10:50:36] [SKIPPED] pf_negotiate_latest_prev
[10:50:36] =================== [PASSED] pf_service ====================
[10:50:36] ================= xe_guc_g2g (2 subtests) ==================
[10:50:36] ============== xe_live_guc_g2g_kunit_default ==============
[10:50:36] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[10:50:36] ============== xe_live_guc_g2g_kunit_allmem ===============
[10:50:36] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[10:50:36] =================== [SKIPPED] xe_guc_g2g ===================
[10:50:36] =================== xe_mocs (2 subtests) ===================
[10:50:36] ================ xe_live_mocs_kernel_kunit ================
[10:50:36] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[10:50:36] ================ xe_live_mocs_reset_kunit =================
[10:50:36] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[10:50:36] ==================== [SKIPPED] xe_mocs =====================
[10:50:36] ================= xe_migrate (2 subtests) ==================
[10:50:36] ================= xe_migrate_sanity_kunit =================
[10:50:36] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[10:50:36] ================== xe_validate_ccs_kunit ==================
[10:50:36] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[10:50:36] =================== [SKIPPED] xe_migrate ===================
[10:50:36] ================== xe_dma_buf (1 subtest) ==================
[10:50:36] ==================== xe_dma_buf_kunit =====================
[10:50:36] ================ [SKIPPED] xe_dma_buf_kunit ================
[10:50:36] =================== [SKIPPED] xe_dma_buf ===================
[10:50:36] ================= xe_bo_shrink (1 subtest) =================
[10:50:36] =================== xe_bo_shrink_kunit ====================
[10:50:36] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[10:50:36] ================== [SKIPPED] xe_bo_shrink ==================
[10:50:36] ==================== xe_bo (2 subtests) ====================
[10:50:36] ================== xe_ccs_migrate_kunit ===================
[10:50:36] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[10:50:36] ==================== xe_bo_evict_kunit ====================
[10:50:36] =============== [SKIPPED] xe_bo_evict_kunit ================
[10:50:36] ===================== [SKIPPED] xe_bo ======================
[10:50:36] ==================== args (11 subtests) ====================
[10:50:36] [PASSED] count_args_test
[10:50:36] [PASSED] call_args_example
[10:50:36] [PASSED] call_args_test
[10:50:36] [PASSED] drop_first_arg_example
[10:50:36] [PASSED] drop_first_arg_test
[10:50:36] [PASSED] first_arg_example
[10:50:36] [PASSED] first_arg_test
[10:50:36] [PASSED] last_arg_example
[10:50:36] [PASSED] last_arg_test
[10:50:36] [PASSED] pick_arg_example
[10:50:36] [PASSED] sep_comma_example
[10:50:36] ====================== [PASSED] args =======================
[10:50:36] =================== xe_pci (3 subtests) ====================
[10:50:36] ==================== check_graphics_ip ====================
[10:50:36] [PASSED] 12.00 Xe_LP
[10:50:36] [PASSED] 12.10 Xe_LP+
[10:50:36] [PASSED] 12.55 Xe_HPG
[10:50:36] [PASSED] 12.60 Xe_HPC
[10:50:36] [PASSED] 12.70 Xe_LPG
[10:50:36] [PASSED] 12.71 Xe_LPG
[10:50:36] [PASSED] 12.74 Xe_LPG+
[10:50:36] [PASSED] 20.01 Xe2_HPG
[10:50:36] [PASSED] 20.02 Xe2_HPG
[10:50:36] [PASSED] 20.04 Xe2_LPG
[10:50:36] [PASSED] 30.00 Xe3_LPG
[10:50:36] [PASSED] 30.01 Xe3_LPG
[10:50:36] [PASSED] 30.03 Xe3_LPG
[10:50:36] [PASSED] 30.04 Xe3_LPG
[10:50:36] [PASSED] 30.05 Xe3_LPG
[10:50:36] [PASSED] 35.11 Xe3p_XPC
[10:50:36] ================ [PASSED] check_graphics_ip ================
[10:50:36] ===================== check_media_ip ======================
[10:50:36] [PASSED] 12.00 Xe_M
[10:50:36] [PASSED] 12.55 Xe_HPM
[10:50:36] [PASSED] 13.00 Xe_LPM+
[10:50:36] [PASSED] 13.01 Xe2_HPM
[10:50:36] [PASSED] 20.00 Xe2_LPM
[10:50:36] [PASSED] 30.00 Xe3_LPM
[10:50:36] [PASSED] 30.02 Xe3_LPM
[10:50:36] [PASSED] 35.00 Xe3p_LPM
[10:50:36] [PASSED] 35.03 Xe3p_HPM
[10:50:36] ================= [PASSED] check_media_ip ==================
[10:50:36] ================= check_platform_gt_count =================
[10:50:36] [PASSED] 0x9A60 (TIGERLAKE)
[10:50:36] [PASSED] 0x9A68 (TIGERLAKE)
[10:50:36] [PASSED] 0x9A70 (TIGERLAKE)
[10:50:36] [PASSED] 0x9A40 (TIGERLAKE)
[10:50:36] [PASSED] 0x9A49 (TIGERLAKE)
[10:50:36] [PASSED] 0x9A59 (TIGERLAKE)
[10:50:36] [PASSED] 0x9A78 (TIGERLAKE)
[10:50:36] [PASSED] 0x9AC0 (TIGERLAKE)
[10:50:36] [PASSED] 0x9AC9 (TIGERLAKE)
[10:50:36] [PASSED] 0x9AD9 (TIGERLAKE)
[10:50:36] [PASSED] 0x9AF8 (TIGERLAKE)
[10:50:36] [PASSED] 0x4C80 (ROCKETLAKE)
[10:50:36] [PASSED] 0x4C8A (ROCKETLAKE)
[10:50:36] [PASSED] 0x4C8B (ROCKETLAKE)
[10:50:36] [PASSED] 0x4C8C (ROCKETLAKE)
[10:50:36] [PASSED] 0x4C90 (ROCKETLAKE)
[10:50:36] [PASSED] 0x4C9A (ROCKETLAKE)
[10:50:36] [PASSED] 0x4680 (ALDERLAKE_S)
[10:50:36] [PASSED] 0x4682 (ALDERLAKE_S)
[10:50:36] [PASSED] 0x4688 (ALDERLAKE_S)
[10:50:36] [PASSED] 0x468A (ALDERLAKE_S)
[10:50:36] [PASSED] 0x468B (ALDERLAKE_S)
[10:50:36] [PASSED] 0x4690 (ALDERLAKE_S)
[10:50:36] [PASSED] 0x4692 (ALDERLAKE_S)
[10:50:36] [PASSED] 0x4693 (ALDERLAKE_S)
[10:50:36] [PASSED] 0x46A0 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46A1 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46A2 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46A3 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46A6 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46A8 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46AA (ALDERLAKE_P)
[10:50:36] [PASSED] 0x462A (ALDERLAKE_P)
[10:50:36] [PASSED] 0x4626 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x4628 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46B0 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46B1 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46B2 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46B3 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46C0 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46C1 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46C2 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46C3 (ALDERLAKE_P)
[10:50:36] [PASSED] 0x46D0 (ALDERLAKE_N)
[10:50:36] [PASSED] 0x46D1 (ALDERLAKE_N)
[10:50:36] [PASSED] 0x46D2 (ALDERLAKE_N)
[10:50:36] [PASSED] 0x46D3 (ALDERLAKE_N)
[10:50:36] [PASSED] 0x46D4 (ALDERLAKE_N)
[10:50:36] [PASSED] 0xA721 (ALDERLAKE_P)
[10:50:36] [PASSED] 0xA7A1 (ALDERLAKE_P)
[10:50:36] [PASSED] 0xA7A9 (ALDERLAKE_P)
[10:50:36] [PASSED] 0xA7AC (ALDERLAKE_P)
[10:50:36] [PASSED] 0xA7AD (ALDERLAKE_P)
[10:50:36] [PASSED] 0xA720 (ALDERLAKE_P)
[10:50:36] [PASSED] 0xA7A0 (ALDERLAKE_P)
[10:50:36] [PASSED] 0xA7A8 (ALDERLAKE_P)
[10:50:36] [PASSED] 0xA7AA (ALDERLAKE_P)
[10:50:36] [PASSED] 0xA7AB (ALDERLAKE_P)
[10:50:36] [PASSED] 0xA780 (ALDERLAKE_S)
[10:50:36] [PASSED] 0xA781 (ALDERLAKE_S)
[10:50:36] [PASSED] 0xA782 (ALDERLAKE_S)
[10:50:36] [PASSED] 0xA783 (ALDERLAKE_S)
[10:50:36] [PASSED] 0xA788 (ALDERLAKE_S)
[10:50:36] [PASSED] 0xA789 (ALDERLAKE_S)
[10:50:36] [PASSED] 0xA78A (ALDERLAKE_S)
[10:50:36] [PASSED] 0xA78B (ALDERLAKE_S)
[10:50:36] [PASSED] 0x4905 (DG1)
[10:50:36] [PASSED] 0x4906 (DG1)
[10:50:36] [PASSED] 0x4907 (DG1)
[10:50:36] [PASSED] 0x4908 (DG1)
[10:50:36] [PASSED] 0x4909 (DG1)
[10:50:36] [PASSED] 0x56C0 (DG2)
[10:50:36] [PASSED] 0x56C2 (DG2)
[10:50:36] [PASSED] 0x56C1 (DG2)
[10:50:36] [PASSED] 0x7D51 (METEORLAKE)
[10:50:36] [PASSED] 0x7DD1 (METEORLAKE)
[10:50:36] [PASSED] 0x7D41 (METEORLAKE)
[10:50:36] [PASSED] 0x7D67 (METEORLAKE)
[10:50:36] [PASSED] 0xB640 (METEORLAKE)
[10:50:36] [PASSED] 0x56A0 (DG2)
[10:50:36] [PASSED] 0x56A1 (DG2)
[10:50:36] [PASSED] 0x56A2 (DG2)
[10:50:36] [PASSED] 0x56BE (DG2)
[10:50:36] [PASSED] 0x56BF (DG2)
[10:50:36] [PASSED] 0x5690 (DG2)
[10:50:36] [PASSED] 0x5691 (DG2)
[10:50:36] [PASSED] 0x5692 (DG2)
[10:50:36] [PASSED] 0x56A5 (DG2)
[10:50:36] [PASSED] 0x56A6 (DG2)
[10:50:36] [PASSED] 0x56B0 (DG2)
[10:50:36] [PASSED] 0x56B1 (DG2)
[10:50:36] [PASSED] 0x56BA (DG2)
[10:50:36] [PASSED] 0x56BB (DG2)
[10:50:36] [PASSED] 0x56BC (DG2)
[10:50:36] [PASSED] 0x56BD (DG2)
[10:50:36] [PASSED] 0x5693 (DG2)
[10:50:36] [PASSED] 0x5694 (DG2)
[10:50:36] [PASSED] 0x5695 (DG2)
[10:50:36] [PASSED] 0x56A3 (DG2)
[10:50:36] [PASSED] 0x56A4 (DG2)
[10:50:36] [PASSED] 0x56B2 (DG2)
[10:50:36] [PASSED] 0x56B3 (DG2)
[10:50:36] [PASSED] 0x5696 (DG2)
[10:50:36] [PASSED] 0x5697 (DG2)
[10:50:36] [PASSED] 0xB69 (PVC)
[10:50:36] [PASSED] 0xB6E (PVC)
[10:50:36] [PASSED] 0xBD4 (PVC)
[10:50:36] [PASSED] 0xBD5 (PVC)
[10:50:36] [PASSED] 0xBD6 (PVC)
[10:50:36] [PASSED] 0xBD7 (PVC)
[10:50:36] [PASSED] 0xBD8 (PVC)
[10:50:36] [PASSED] 0xBD9 (PVC)
[10:50:36] [PASSED] 0xBDA (PVC)
[10:50:36] [PASSED] 0xBDB (PVC)
[10:50:36] [PASSED] 0xBE0 (PVC)
[10:50:36] [PASSED] 0xBE1 (PVC)
[10:50:36] [PASSED] 0xBE5 (PVC)
[10:50:36] [PASSED] 0x7D40 (METEORLAKE)
[10:50:36] [PASSED] 0x7D45 (METEORLAKE)
[10:50:36] [PASSED] 0x7D55 (METEORLAKE)
[10:50:36] [PASSED] 0x7D60 (METEORLAKE)
[10:50:36] [PASSED] 0x7DD5 (METEORLAKE)
[10:50:36] [PASSED] 0x6420 (LUNARLAKE)
[10:50:36] [PASSED] 0x64A0 (LUNARLAKE)
[10:50:36] [PASSED] 0x64B0 (LUNARLAKE)
[10:50:36] [PASSED] 0xE202 (BATTLEMAGE)
[10:50:36] [PASSED] 0xE209 (BATTLEMAGE)
[10:50:36] [PASSED] 0xE20B (BATTLEMAGE)
[10:50:36] [PASSED] 0xE20C (BATTLEMAGE)
[10:50:36] [PASSED] 0xE20D (BATTLEMAGE)
[10:50:36] [PASSED] 0xE210 (BATTLEMAGE)
[10:50:36] [PASSED] 0xE211 (BATTLEMAGE)
[10:50:36] [PASSED] 0xE212 (BATTLEMAGE)
[10:50:36] [PASSED] 0xE216 (BATTLEMAGE)
[10:50:36] [PASSED] 0xE220 (BATTLEMAGE)
[10:50:36] [PASSED] 0xE221 (BATTLEMAGE)
[10:50:36] [PASSED] 0xE222 (BATTLEMAGE)
[10:50:36] [PASSED] 0xE223 (BATTLEMAGE)
[10:50:36] [PASSED] 0xB080 (PANTHERLAKE)
[10:50:36] [PASSED] 0xB081 (PANTHERLAKE)
[10:50:36] [PASSED] 0xB082 (PANTHERLAKE)
[10:50:36] [PASSED] 0xB083 (PANTHERLAKE)
[10:50:36] [PASSED] 0xB084 (PANTHERLAKE)
[10:50:36] [PASSED] 0xB085 (PANTHERLAKE)
[10:50:36] [PASSED] 0xB086 (PANTHERLAKE)
[10:50:36] [PASSED] 0xB087 (PANTHERLAKE)
[10:50:36] [PASSED] 0xB08F (PANTHERLAKE)
[10:50:36] [PASSED] 0xB090 (PANTHERLAKE)
[10:50:36] [PASSED] 0xB0A0 (PANTHERLAKE)
[10:50:36] [PASSED] 0xB0B0 (PANTHERLAKE)
[10:50:36] [PASSED] 0xFD80 (PANTHERLAKE)
[10:50:36] [PASSED] 0xFD81 (PANTHERLAKE)
[10:50:36] [PASSED] 0xD740 (NOVALAKE_S)
[10:50:36] [PASSED] 0xD741 (NOVALAKE_S)
[10:50:36] [PASSED] 0xD742 (NOVALAKE_S)
[10:50:36] [PASSED] 0xD743 (NOVALAKE_S)
[10:50:36] [PASSED] 0xD744 (NOVALAKE_S)
[10:50:36] [PASSED] 0xD745 (NOVALAKE_S)
[10:50:36] ============= [PASSED] check_platform_gt_count =============
[10:50:36] ===================== [PASSED] xe_pci ======================
[10:50:36] =================== xe_rtp (2 subtests) ====================
[10:50:36] =============== xe_rtp_process_to_sr_tests ================
[10:50:36] [PASSED] coalesce-same-reg
[10:50:36] [PASSED] no-match-no-add
[10:50:36] [PASSED] match-or
[10:50:36] [PASSED] match-or-xfail
[10:50:36] [PASSED] no-match-no-add-multiple-rules
[10:50:36] [PASSED] two-regs-two-entries
[10:50:36] [PASSED] clr-one-set-other
[10:50:36] [PASSED] set-field
[10:50:36] [PASSED] conflict-duplicate
[10:50:36] [PASSED] conflict-not-disjoint
[10:50:36] [PASSED] conflict-reg-type
[10:50:36] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[10:50:36] ================== xe_rtp_process_tests ===================
[10:50:36] [PASSED] active1
[10:50:36] [PASSED] active2
[10:50:36] [PASSED] active-inactive
[10:50:36] [PASSED] inactive-active
[10:50:36] [PASSED] inactive-1st_or_active-inactive
[10:50:36] [PASSED] inactive-2nd_or_active-inactive
[10:50:36] [PASSED] inactive-last_or_active-inactive
[10:50:36] [PASSED] inactive-no_or_active-inactive
stty: 'standard input': Inappropriate ioctl for device
[10:50:36] ============== [PASSED] xe_rtp_process_tests ===============
[10:50:36] ===================== [PASSED] xe_rtp ======================
[10:50:36] ==================== xe_wa (1 subtest) =====================
[10:50:36] ======================== xe_wa_gt =========================
[10:50:36] [PASSED] TIGERLAKE B0
[10:50:36] [PASSED] DG1 A0
[10:50:36] [PASSED] DG1 B0
[10:50:36] [PASSED] ALDERLAKE_S A0
[10:50:36] [PASSED] ALDERLAKE_S B0
[10:50:36] [PASSED] ALDERLAKE_S C0
[10:50:36] [PASSED] ALDERLAKE_S D0
[10:50:36] [PASSED] ALDERLAKE_P A0
[10:50:36] [PASSED] ALDERLAKE_P B0
[10:50:36] [PASSED] ALDERLAKE_P C0
[10:50:36] [PASSED] ALDERLAKE_S RPLS D0
[10:50:36] [PASSED] ALDERLAKE_P RPLU E0
[10:50:36] [PASSED] DG2 G10 C0
[10:50:36] [PASSED] DG2 G11 B1
[10:50:36] [PASSED] DG2 G12 A1
[10:50:36] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[10:50:36] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[10:50:36] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[10:50:36] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[10:50:36] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[10:50:36] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[10:50:36] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[10:50:36] ==================== [PASSED] xe_wa_gt =====================
[10:50:36] ====================== [PASSED] xe_wa ======================
[10:50:36] ============================================================
[10:50:36] Testing complete. Ran 317 tests: passed: 299, skipped: 18
[10:50:36] Elapsed time: 42.111s total, 4.283s configuring, 37.461s building, 0.338s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[10:50:37] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[10:50:38] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=25
[10:51:07] Starting KUnit Kernel (1/1)...
[10:51:07] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[10:51:07] ============ drm_test_pick_cmdline (2 subtests) ============
[10:51:07] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[10:51:07] =============== drm_test_pick_cmdline_named ===============
[10:51:07] [PASSED] NTSC
[10:51:07] [PASSED] NTSC-J
[10:51:07] [PASSED] PAL
[10:51:07] [PASSED] PAL-M
[10:51:07] =========== [PASSED] drm_test_pick_cmdline_named ===========
[10:51:07] ============== [PASSED] drm_test_pick_cmdline ==============
[10:51:07] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[10:51:07] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[10:51:07] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[10:51:07] =========== drm_validate_clone_mode (2 subtests) ===========
[10:51:08] ============== drm_test_check_in_clone_mode ===============
[10:51:08] [PASSED] in_clone_mode
[10:51:08] [PASSED] not_in_clone_mode
[10:51:08] ========== [PASSED] drm_test_check_in_clone_mode ===========
[10:51:08] =============== drm_test_check_valid_clones ===============
[10:51:08] [PASSED] not_in_clone_mode
[10:51:08] [PASSED] valid_clone
[10:51:08] [PASSED] invalid_clone
[10:51:08] =========== [PASSED] drm_test_check_valid_clones ===========
[10:51:08] ============= [PASSED] drm_validate_clone_mode =============
[10:51:08] ============= drm_validate_modeset (1 subtest) =============
[10:51:08] [PASSED] drm_test_check_connector_changed_modeset
[10:51:08] ============== [PASSED] drm_validate_modeset ===============
[10:51:08] ====== drm_test_bridge_get_current_state (2 subtests) ======
[10:51:08] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[10:51:08] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[10:51:08] ======== [PASSED] drm_test_bridge_get_current_state ========
[10:51:08] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[10:51:08] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[10:51:08] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[10:51:08] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[10:51:08] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[10:51:08] ============== drm_bridge_alloc (2 subtests) ===============
[10:51:08] [PASSED] drm_test_drm_bridge_alloc_basic
[10:51:08] [PASSED] drm_test_drm_bridge_alloc_get_put
[10:51:08] ================ [PASSED] drm_bridge_alloc =================
[10:51:08] ================== drm_buddy (8 subtests) ==================
[10:51:08] [PASSED] drm_test_buddy_alloc_limit
[10:51:08] [PASSED] drm_test_buddy_alloc_optimistic
[10:51:08] [PASSED] drm_test_buddy_alloc_pessimistic
[10:51:08] [PASSED] drm_test_buddy_alloc_pathological
[10:51:08] [PASSED] drm_test_buddy_alloc_contiguous
[10:51:08] [PASSED] drm_test_buddy_alloc_clear
[10:51:08] [PASSED] drm_test_buddy_alloc_range_bias
[10:51:08] [PASSED] drm_test_buddy_fragmentation_performance
[10:51:08] ==================== [PASSED] drm_buddy ====================
[10:51:08] ============= drm_cmdline_parser (40 subtests) =============
[10:51:08] [PASSED] drm_test_cmdline_force_d_only
[10:51:08] [PASSED] drm_test_cmdline_force_D_only_dvi
[10:51:08] [PASSED] drm_test_cmdline_force_D_only_hdmi
[10:51:08] [PASSED] drm_test_cmdline_force_D_only_not_digital
[10:51:08] [PASSED] drm_test_cmdline_force_e_only
[10:51:08] [PASSED] drm_test_cmdline_res
[10:51:08] [PASSED] drm_test_cmdline_res_vesa
[10:51:08] [PASSED] drm_test_cmdline_res_vesa_rblank
[10:51:08] [PASSED] drm_test_cmdline_res_rblank
[10:51:08] [PASSED] drm_test_cmdline_res_bpp
[10:51:08] [PASSED] drm_test_cmdline_res_refresh
[10:51:08] [PASSED] drm_test_cmdline_res_bpp_refresh
[10:51:08] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[10:51:08] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[10:51:08] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[10:51:08] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[10:51:08] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[10:51:08] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[10:51:08] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[10:51:08] [PASSED] drm_test_cmdline_res_margins_force_on
[10:51:08] [PASSED] drm_test_cmdline_res_vesa_margins
[10:51:08] [PASSED] drm_test_cmdline_name
[10:51:08] [PASSED] drm_test_cmdline_name_bpp
[10:51:08] [PASSED] drm_test_cmdline_name_option
[10:51:08] [PASSED] drm_test_cmdline_name_bpp_option
[10:51:08] [PASSED] drm_test_cmdline_rotate_0
[10:51:08] [PASSED] drm_test_cmdline_rotate_90
[10:51:08] [PASSED] drm_test_cmdline_rotate_180
[10:51:08] [PASSED] drm_test_cmdline_rotate_270
[10:51:08] [PASSED] drm_test_cmdline_hmirror
[10:51:08] [PASSED] drm_test_cmdline_vmirror
[10:51:08] [PASSED] drm_test_cmdline_margin_options
[10:51:08] [PASSED] drm_test_cmdline_multiple_options
[10:51:08] [PASSED] drm_test_cmdline_bpp_extra_and_option
[10:51:08] [PASSED] drm_test_cmdline_extra_and_option
[10:51:08] [PASSED] drm_test_cmdline_freestanding_options
[10:51:08] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[10:51:08] [PASSED] drm_test_cmdline_panel_orientation
[10:51:08] ================ drm_test_cmdline_invalid =================
[10:51:08] [PASSED] margin_only
[10:51:08] [PASSED] interlace_only
[10:51:08] [PASSED] res_missing_x
[10:51:08] [PASSED] res_missing_y
[10:51:08] [PASSED] res_bad_y
[10:51:08] [PASSED] res_missing_y_bpp
[10:51:08] [PASSED] res_bad_bpp
[10:51:08] [PASSED] res_bad_refresh
[10:51:08] [PASSED] res_bpp_refresh_force_on_off
[10:51:08] [PASSED] res_invalid_mode
[10:51:08] [PASSED] res_bpp_wrong_place_mode
[10:51:08] [PASSED] name_bpp_refresh
[10:51:08] [PASSED] name_refresh
[10:51:08] [PASSED] name_refresh_wrong_mode
[10:51:08] [PASSED] name_refresh_invalid_mode
[10:51:08] [PASSED] rotate_multiple
[10:51:08] [PASSED] rotate_invalid_val
[10:51:08] [PASSED] rotate_truncated
[10:51:08] [PASSED] invalid_option
[10:51:08] [PASSED] invalid_tv_option
[10:51:08] [PASSED] truncated_tv_option
[10:51:08] ============ [PASSED] drm_test_cmdline_invalid =============
[10:51:08] =============== drm_test_cmdline_tv_options ===============
[10:51:08] [PASSED] NTSC
[10:51:08] [PASSED] NTSC_443
[10:51:08] [PASSED] NTSC_J
[10:51:08] [PASSED] PAL
[10:51:08] [PASSED] PAL_M
[10:51:08] [PASSED] PAL_N
[10:51:08] [PASSED] SECAM
[10:51:08] [PASSED] MONO_525
[10:51:08] [PASSED] MONO_625
[10:51:08] =========== [PASSED] drm_test_cmdline_tv_options ===========
[10:51:08] =============== [PASSED] drm_cmdline_parser ================
[10:51:08] ========== drmm_connector_hdmi_init (20 subtests) ==========
[10:51:08] [PASSED] drm_test_connector_hdmi_init_valid
[10:51:08] [PASSED] drm_test_connector_hdmi_init_bpc_8
[10:51:08] [PASSED] drm_test_connector_hdmi_init_bpc_10
[10:51:08] [PASSED] drm_test_connector_hdmi_init_bpc_12
[10:51:08] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[10:51:08] [PASSED] drm_test_connector_hdmi_init_bpc_null
[10:51:08] [PASSED] drm_test_connector_hdmi_init_formats_empty
[10:51:08] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[10:51:08] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[10:51:08] [PASSED] supported_formats=0x9 yuv420_allowed=1
[10:51:08] [PASSED] supported_formats=0x9 yuv420_allowed=0
[10:51:08] [PASSED] supported_formats=0x3 yuv420_allowed=1
[10:51:08] [PASSED] supported_formats=0x3 yuv420_allowed=0
[10:51:08] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[10:51:08] [PASSED] drm_test_connector_hdmi_init_null_ddc
[10:51:08] [PASSED] drm_test_connector_hdmi_init_null_product
[10:51:08] [PASSED] drm_test_connector_hdmi_init_null_vendor
[10:51:08] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[10:51:08] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[10:51:08] [PASSED] drm_test_connector_hdmi_init_product_valid
[10:51:08] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[10:51:08] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[10:51:08] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[10:51:08] ========= drm_test_connector_hdmi_init_type_valid =========
[10:51:08] [PASSED] HDMI-A
[10:51:08] [PASSED] HDMI-B
[10:51:08] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[10:51:08] ======== drm_test_connector_hdmi_init_type_invalid ========
[10:51:08] [PASSED] Unknown
[10:51:08] [PASSED] VGA
[10:51:08] [PASSED] DVI-I
[10:51:08] [PASSED] DVI-D
[10:51:08] [PASSED] DVI-A
[10:51:08] [PASSED] Composite
[10:51:08] [PASSED] SVIDEO
[10:51:08] [PASSED] LVDS
[10:51:08] [PASSED] Component
[10:51:08] [PASSED] DIN
[10:51:08] [PASSED] DP
[10:51:08] [PASSED] TV
[10:51:08] [PASSED] eDP
[10:51:08] [PASSED] Virtual
[10:51:08] [PASSED] DSI
[10:51:08] [PASSED] DPI
[10:51:08] [PASSED] Writeback
[10:51:08] [PASSED] SPI
[10:51:08] [PASSED] USB
[10:51:08] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[10:51:08] ============ [PASSED] drmm_connector_hdmi_init =============
[10:51:08] ============= drmm_connector_init (3 subtests) =============
[10:51:08] [PASSED] drm_test_drmm_connector_init
[10:51:08] [PASSED] drm_test_drmm_connector_init_null_ddc
[10:51:08] ========= drm_test_drmm_connector_init_type_valid =========
[10:51:08] [PASSED] Unknown
[10:51:08] [PASSED] VGA
[10:51:08] [PASSED] DVI-I
[10:51:08] [PASSED] DVI-D
[10:51:08] [PASSED] DVI-A
[10:51:08] [PASSED] Composite
[10:51:08] [PASSED] SVIDEO
[10:51:08] [PASSED] LVDS
[10:51:08] [PASSED] Component
[10:51:08] [PASSED] DIN
[10:51:08] [PASSED] DP
[10:51:08] [PASSED] HDMI-A
[10:51:08] [PASSED] HDMI-B
[10:51:08] [PASSED] TV
[10:51:08] [PASSED] eDP
[10:51:08] [PASSED] Virtual
[10:51:08] [PASSED] DSI
[10:51:08] [PASSED] DPI
[10:51:08] [PASSED] Writeback
[10:51:08] [PASSED] SPI
[10:51:08] [PASSED] USB
[10:51:08] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[10:51:08] =============== [PASSED] drmm_connector_init ===============
[10:51:08] ========= drm_connector_dynamic_init (6 subtests) ==========
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_init
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_init_properties
[10:51:08] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[10:51:08] [PASSED] Unknown
[10:51:08] [PASSED] VGA
[10:51:08] [PASSED] DVI-I
[10:51:08] [PASSED] DVI-D
[10:51:08] [PASSED] DVI-A
[10:51:08] [PASSED] Composite
[10:51:08] [PASSED] SVIDEO
[10:51:08] [PASSED] LVDS
[10:51:08] [PASSED] Component
[10:51:08] [PASSED] DIN
[10:51:08] [PASSED] DP
[10:51:08] [PASSED] HDMI-A
[10:51:08] [PASSED] HDMI-B
[10:51:08] [PASSED] TV
[10:51:08] [PASSED] eDP
[10:51:08] [PASSED] Virtual
[10:51:08] [PASSED] DSI
[10:51:08] [PASSED] DPI
[10:51:08] [PASSED] Writeback
[10:51:08] [PASSED] SPI
[10:51:08] [PASSED] USB
[10:51:08] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[10:51:08] ======== drm_test_drm_connector_dynamic_init_name =========
[10:51:08] [PASSED] Unknown
[10:51:08] [PASSED] VGA
[10:51:08] [PASSED] DVI-I
[10:51:08] [PASSED] DVI-D
[10:51:08] [PASSED] DVI-A
[10:51:08] [PASSED] Composite
[10:51:08] [PASSED] SVIDEO
[10:51:08] [PASSED] LVDS
[10:51:08] [PASSED] Component
[10:51:08] [PASSED] DIN
[10:51:08] [PASSED] DP
[10:51:08] [PASSED] HDMI-A
[10:51:08] [PASSED] HDMI-B
[10:51:08] [PASSED] TV
[10:51:08] [PASSED] eDP
[10:51:08] [PASSED] Virtual
[10:51:08] [PASSED] DSI
[10:51:08] [PASSED] DPI
[10:51:08] [PASSED] Writeback
[10:51:08] [PASSED] SPI
[10:51:08] [PASSED] USB
[10:51:08] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[10:51:08] =========== [PASSED] drm_connector_dynamic_init ============
[10:51:08] ==== drm_connector_dynamic_register_early (4 subtests) =====
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[10:51:08] ====== [PASSED] drm_connector_dynamic_register_early =======
[10:51:08] ======= drm_connector_dynamic_register (7 subtests) ========
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[10:51:08] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[10:51:08] ========= [PASSED] drm_connector_dynamic_register ==========
[10:51:08] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[10:51:08] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[10:51:08] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[10:51:08] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[10:51:08] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[10:51:08] ========== drm_test_get_tv_mode_from_name_valid ===========
[10:51:08] [PASSED] NTSC
[10:51:08] [PASSED] NTSC-443
[10:51:08] [PASSED] NTSC-J
[10:51:08] [PASSED] PAL
[10:51:08] [PASSED] PAL-M
[10:51:08] [PASSED] PAL-N
[10:51:08] [PASSED] SECAM
[10:51:08] [PASSED] Mono
[10:51:08] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[10:51:08] [PASSED] drm_test_get_tv_mode_from_name_truncated
[10:51:08] ============ [PASSED] drm_get_tv_mode_from_name ============
[10:51:08] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[10:51:08] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[10:51:08] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[10:51:08] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[10:51:08] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[10:51:08] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[10:51:08] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[10:51:08] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[10:51:08] [PASSED] VIC 96
[10:51:08] [PASSED] VIC 97
[10:51:08] [PASSED] VIC 101
[10:51:08] [PASSED] VIC 102
[10:51:08] [PASSED] VIC 106
[10:51:08] [PASSED] VIC 107
[10:51:08] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[10:51:08] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[10:51:08] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[10:51:08] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[10:51:08] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[10:51:08] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[10:51:08] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[10:51:08] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[10:51:08] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[10:51:08] [PASSED] Automatic
[10:51:08] [PASSED] Full
[10:51:08] [PASSED] Limited 16:235
[10:51:08] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[10:51:08] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[10:51:08] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[10:51:08] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[10:51:08] === drm_test_drm_hdmi_connector_get_output_format_name ====
[10:51:08] [PASSED] RGB
[10:51:08] [PASSED] YUV 4:2:0
[10:51:08] [PASSED] YUV 4:2:2
[10:51:08] [PASSED] YUV 4:4:4
[10:51:08] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[10:51:08] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[10:51:08] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[10:51:08] ============= drm_damage_helper (21 subtests) ==============
[10:51:08] [PASSED] drm_test_damage_iter_no_damage
[10:51:08] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[10:51:08] [PASSED] drm_test_damage_iter_no_damage_src_moved
[10:51:08] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[10:51:08] [PASSED] drm_test_damage_iter_no_damage_not_visible
[10:51:08] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[10:51:08] [PASSED] drm_test_damage_iter_no_damage_no_fb
[10:51:08] [PASSED] drm_test_damage_iter_simple_damage
[10:51:08] [PASSED] drm_test_damage_iter_single_damage
[10:51:08] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[10:51:08] [PASSED] drm_test_damage_iter_single_damage_outside_src
[10:51:08] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[10:51:08] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[10:51:08] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[10:51:08] [PASSED] drm_test_damage_iter_single_damage_src_moved
[10:51:08] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[10:51:08] [PASSED] drm_test_damage_iter_damage
[10:51:08] [PASSED] drm_test_damage_iter_damage_one_intersect
[10:51:08] [PASSED] drm_test_damage_iter_damage_one_outside
[10:51:08] [PASSED] drm_test_damage_iter_damage_src_moved
[10:51:08] [PASSED] drm_test_damage_iter_damage_not_visible
[10:51:08] ================ [PASSED] drm_damage_helper ================
[10:51:08] ============== drm_dp_mst_helper (3 subtests) ==============
[10:51:08] ============== drm_test_dp_mst_calc_pbn_mode ==============
[10:51:08] [PASSED] Clock 154000 BPP 30 DSC disabled
[10:51:08] [PASSED] Clock 234000 BPP 30 DSC disabled
[10:51:08] [PASSED] Clock 297000 BPP 24 DSC disabled
[10:51:08] [PASSED] Clock 332880 BPP 24 DSC enabled
[10:51:08] [PASSED] Clock 324540 BPP 24 DSC enabled
[10:51:08] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[10:51:08] ============== drm_test_dp_mst_calc_pbn_div ===============
[10:51:08] [PASSED] Link rate 2000000 lane count 4
[10:51:08] [PASSED] Link rate 2000000 lane count 2
[10:51:08] [PASSED] Link rate 2000000 lane count 1
[10:51:08] [PASSED] Link rate 1350000 lane count 4
[10:51:08] [PASSED] Link rate 1350000 lane count 2
[10:51:08] [PASSED] Link rate 1350000 lane count 1
[10:51:08] [PASSED] Link rate 1000000 lane count 4
[10:51:08] [PASSED] Link rate 1000000 lane count 2
[10:51:08] [PASSED] Link rate 1000000 lane count 1
[10:51:08] [PASSED] Link rate 810000 lane count 4
[10:51:08] [PASSED] Link rate 810000 lane count 2
[10:51:08] [PASSED] Link rate 810000 lane count 1
[10:51:08] [PASSED] Link rate 540000 lane count 4
[10:51:08] [PASSED] Link rate 540000 lane count 2
[10:51:08] [PASSED] Link rate 540000 lane count 1
[10:51:08] [PASSED] Link rate 270000 lane count 4
[10:51:08] [PASSED] Link rate 270000 lane count 2
[10:51:08] [PASSED] Link rate 270000 lane count 1
[10:51:08] [PASSED] Link rate 162000 lane count 4
[10:51:08] [PASSED] Link rate 162000 lane count 2
[10:51:08] [PASSED] Link rate 162000 lane count 1
[10:51:08] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[10:51:08] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[10:51:08] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[10:51:08] [PASSED] DP_POWER_UP_PHY with port number
[10:51:08] [PASSED] DP_POWER_DOWN_PHY with port number
[10:51:08] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[10:51:08] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[10:51:08] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[10:51:08] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[10:51:08] [PASSED] DP_QUERY_PAYLOAD with port number
[10:51:08] [PASSED] DP_QUERY_PAYLOAD with VCPI
[10:51:08] [PASSED] DP_REMOTE_DPCD_READ with port number
[10:51:08] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[10:51:08] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[10:51:08] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[10:51:08] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[10:51:08] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[10:51:08] [PASSED] DP_REMOTE_I2C_READ with port number
[10:51:08] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[10:51:08] [PASSED] DP_REMOTE_I2C_READ with transactions array
[10:51:08] [PASSED] DP_REMOTE_I2C_WRITE with port number
[10:51:08] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[10:51:08] [PASSED] DP_REMOTE_I2C_WRITE with data array
[10:51:08] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[10:51:08] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[10:51:08] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[10:51:08] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[10:51:08] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[10:51:08] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[10:51:08] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[10:51:08] ================ [PASSED] drm_dp_mst_helper ================
[10:51:08] ================== drm_exec (7 subtests) ===================
[10:51:08] [PASSED] sanitycheck
[10:51:08] [PASSED] test_lock
[10:51:08] [PASSED] test_lock_unlock
[10:51:08] [PASSED] test_duplicates
[10:51:08] [PASSED] test_prepare
[10:51:08] [PASSED] test_prepare_array
[10:51:08] [PASSED] test_multiple_loops
[10:51:08] ==================== [PASSED] drm_exec =====================
[10:51:08] =========== drm_format_helper_test (17 subtests) ===========
[10:51:08] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[10:51:08] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[10:51:08] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[10:51:08] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[10:51:08] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[10:51:08] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[10:51:08] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[10:51:08] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[10:51:08] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[10:51:08] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[10:51:08] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[10:51:08] ============== drm_test_fb_xrgb8888_to_mono ===============
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[10:51:08] ==================== drm_test_fb_swab =====================
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ================ [PASSED] drm_test_fb_swab =================
[10:51:08] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[10:51:08] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[10:51:08] [PASSED] single_pixel_source_buffer
[10:51:08] [PASSED] single_pixel_clip_rectangle
[10:51:08] [PASSED] well_known_colors
[10:51:08] [PASSED] destination_pitch
[10:51:08] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[10:51:08] ================= drm_test_fb_clip_offset =================
[10:51:08] [PASSED] pass through
[10:51:08] [PASSED] horizontal offset
[10:51:08] [PASSED] vertical offset
[10:51:08] [PASSED] horizontal and vertical offset
[10:51:08] [PASSED] horizontal offset (custom pitch)
[10:51:08] [PASSED] vertical offset (custom pitch)
[10:51:08] [PASSED] horizontal and vertical offset (custom pitch)
[10:51:08] ============= [PASSED] drm_test_fb_clip_offset =============
[10:51:08] =================== drm_test_fb_memcpy ====================
[10:51:08] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[10:51:08] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[10:51:08] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[10:51:08] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[10:51:08] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[10:51:08] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[10:51:08] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[10:51:08] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[10:51:08] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[10:51:08] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[10:51:08] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[10:51:08] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[10:51:08] =============== [PASSED] drm_test_fb_memcpy ================
[10:51:08] ============= [PASSED] drm_format_helper_test ==============
[10:51:08] ================= drm_format (18 subtests) =================
[10:51:08] [PASSED] drm_test_format_block_width_invalid
[10:51:08] [PASSED] drm_test_format_block_width_one_plane
[10:51:08] [PASSED] drm_test_format_block_width_two_plane
[10:51:08] [PASSED] drm_test_format_block_width_three_plane
[10:51:08] [PASSED] drm_test_format_block_width_tiled
[10:51:08] [PASSED] drm_test_format_block_height_invalid
[10:51:08] [PASSED] drm_test_format_block_height_one_plane
[10:51:08] [PASSED] drm_test_format_block_height_two_plane
[10:51:08] [PASSED] drm_test_format_block_height_three_plane
[10:51:08] [PASSED] drm_test_format_block_height_tiled
[10:51:08] [PASSED] drm_test_format_min_pitch_invalid
[10:51:08] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[10:51:08] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[10:51:08] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[10:51:08] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[10:51:08] [PASSED] drm_test_format_min_pitch_two_plane
[10:51:08] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[10:51:08] [PASSED] drm_test_format_min_pitch_tiled
[10:51:08] =================== [PASSED] drm_format ====================
[10:51:08] ============== drm_framebuffer (10 subtests) ===============
[10:51:08] ========== drm_test_framebuffer_check_src_coords ==========
[10:51:08] [PASSED] Success: source fits into fb
[10:51:08] [PASSED] Fail: overflowing fb with x-axis coordinate
[10:51:08] [PASSED] Fail: overflowing fb with y-axis coordinate
[10:51:08] [PASSED] Fail: overflowing fb with source width
[10:51:08] [PASSED] Fail: overflowing fb with source height
[10:51:08] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[10:51:08] [PASSED] drm_test_framebuffer_cleanup
[10:51:08] =============== drm_test_framebuffer_create ===============
[10:51:08] [PASSED] ABGR8888 normal sizes
[10:51:08] [PASSED] ABGR8888 max sizes
[10:51:08] [PASSED] ABGR8888 pitch greater than min required
[10:51:08] [PASSED] ABGR8888 pitch less than min required
[10:51:08] [PASSED] ABGR8888 Invalid width
[10:51:08] [PASSED] ABGR8888 Invalid buffer handle
[10:51:08] [PASSED] No pixel format
[10:51:08] [PASSED] ABGR8888 Width 0
[10:51:08] [PASSED] ABGR8888 Height 0
[10:51:08] [PASSED] ABGR8888 Out of bound height * pitch combination
[10:51:08] [PASSED] ABGR8888 Large buffer offset
[10:51:08] [PASSED] ABGR8888 Buffer offset for inexistent plane
[10:51:08] [PASSED] ABGR8888 Invalid flag
[10:51:08] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[10:51:08] [PASSED] ABGR8888 Valid buffer modifier
[10:51:08] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[10:51:08] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[10:51:08] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[10:51:08] [PASSED] NV12 Normal sizes
[10:51:08] [PASSED] NV12 Max sizes
[10:51:08] [PASSED] NV12 Invalid pitch
[10:51:08] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[10:51:08] [PASSED] NV12 different modifier per-plane
[10:51:08] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[10:51:08] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[10:51:08] [PASSED] NV12 Modifier for inexistent plane
[10:51:08] [PASSED] NV12 Handle for inexistent plane
[10:51:08] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[10:51:08] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[10:51:08] [PASSED] YVU420 Normal sizes
[10:51:08] [PASSED] YVU420 Max sizes
[10:51:08] [PASSED] YVU420 Invalid pitch
[10:51:08] [PASSED] YVU420 Different pitches
[10:51:08] [PASSED] YVU420 Different buffer offsets/pitches
[10:51:08] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[10:51:08] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[10:51:08] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[10:51:08] [PASSED] YVU420 Valid modifier
[10:51:08] [PASSED] YVU420 Different modifiers per plane
[10:51:08] [PASSED] YVU420 Modifier for inexistent plane
[10:51:08] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[10:51:08] [PASSED] X0L2 Normal sizes
[10:51:08] [PASSED] X0L2 Max sizes
[10:51:08] [PASSED] X0L2 Invalid pitch
[10:51:08] [PASSED] X0L2 Pitch greater than minimum required
[10:51:08] [PASSED] X0L2 Handle for inexistent plane
[10:51:08] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[10:51:08] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[10:51:08] [PASSED] X0L2 Valid modifier
[10:51:08] [PASSED] X0L2 Modifier for inexistent plane
[10:51:08] =========== [PASSED] drm_test_framebuffer_create ===========
[10:51:08] [PASSED] drm_test_framebuffer_free
[10:51:08] [PASSED] drm_test_framebuffer_init
[10:51:08] [PASSED] drm_test_framebuffer_init_bad_format
[10:51:08] [PASSED] drm_test_framebuffer_init_dev_mismatch
[10:51:08] [PASSED] drm_test_framebuffer_lookup
[10:51:08] [PASSED] drm_test_framebuffer_lookup_inexistent
[10:51:08] [PASSED] drm_test_framebuffer_modifiers_not_supported
[10:51:08] ================= [PASSED] drm_framebuffer =================
[10:51:08] ================ drm_gem_shmem (8 subtests) ================
[10:51:08] [PASSED] drm_gem_shmem_test_obj_create
[10:51:08] [PASSED] drm_gem_shmem_test_obj_create_private
[10:51:08] [PASSED] drm_gem_shmem_test_pin_pages
[10:51:08] [PASSED] drm_gem_shmem_test_vmap
[10:51:08] [PASSED] drm_gem_shmem_test_get_pages_sgt
[10:51:08] [PASSED] drm_gem_shmem_test_get_sg_table
[10:51:08] [PASSED] drm_gem_shmem_test_madvise
[10:51:08] [PASSED] drm_gem_shmem_test_purge
[10:51:08] ================== [PASSED] drm_gem_shmem ==================
[10:51:08] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[10:51:08] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[10:51:08] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[10:51:08] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[10:51:08] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[10:51:08] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[10:51:08] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[10:51:08] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[10:51:08] [PASSED] Automatic
[10:51:08] [PASSED] Full
[10:51:08] [PASSED] Limited 16:235
[10:51:08] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[10:51:08] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[10:51:08] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[10:51:08] [PASSED] drm_test_check_disable_connector
[10:51:08] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[10:51:08] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[10:51:08] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[10:51:08] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[10:51:08] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[10:51:08] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[10:51:08] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[10:51:08] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[10:51:08] [PASSED] drm_test_check_output_bpc_dvi
[10:51:08] [PASSED] drm_test_check_output_bpc_format_vic_1
[10:51:08] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[10:51:08] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[10:51:08] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[10:51:08] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[10:51:08] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[10:51:08] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[10:51:08] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[10:51:08] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[10:51:08] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[10:51:08] [PASSED] drm_test_check_broadcast_rgb_value
[10:51:08] [PASSED] drm_test_check_bpc_8_value
[10:51:08] [PASSED] drm_test_check_bpc_10_value
[10:51:08] [PASSED] drm_test_check_bpc_12_value
[10:51:08] [PASSED] drm_test_check_format_value
[10:51:08] [PASSED] drm_test_check_tmds_char_value
[10:51:08] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[10:51:08] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[10:51:08] [PASSED] drm_test_check_mode_valid
[10:51:08] [PASSED] drm_test_check_mode_valid_reject
[10:51:08] [PASSED] drm_test_check_mode_valid_reject_rate
[10:51:08] [PASSED] drm_test_check_mode_valid_reject_max_clock
[10:51:08] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[10:51:08] ================= drm_managed (2 subtests) =================
[10:51:08] [PASSED] drm_test_managed_release_action
[10:51:08] [PASSED] drm_test_managed_run_action
[10:51:08] =================== [PASSED] drm_managed ===================
[10:51:08] =================== drm_mm (6 subtests) ====================
[10:51:08] [PASSED] drm_test_mm_init
[10:51:08] [PASSED] drm_test_mm_debug
[10:51:08] [PASSED] drm_test_mm_align32
[10:51:08] [PASSED] drm_test_mm_align64
[10:51:08] [PASSED] drm_test_mm_lowest
[10:51:08] [PASSED] drm_test_mm_highest
[10:51:08] ===================== [PASSED] drm_mm ======================
[10:51:08] ============= drm_modes_analog_tv (5 subtests) =============
[10:51:08] [PASSED] drm_test_modes_analog_tv_mono_576i
[10:51:08] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[10:51:08] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[10:51:08] [PASSED] drm_test_modes_analog_tv_pal_576i
[10:51:08] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[10:51:08] =============== [PASSED] drm_modes_analog_tv ===============
[10:51:08] ============== drm_plane_helper (2 subtests) ===============
[10:51:08] =============== drm_test_check_plane_state ================
[10:51:08] [PASSED] clipping_simple
[10:51:08] [PASSED] clipping_rotate_reflect
[10:51:08] [PASSED] positioning_simple
[10:51:08] [PASSED] upscaling
[10:51:08] [PASSED] downscaling
[10:51:08] [PASSED] rounding1
[10:51:08] [PASSED] rounding2
[10:51:08] [PASSED] rounding3
[10:51:08] [PASSED] rounding4
[10:51:08] =========== [PASSED] drm_test_check_plane_state ============
[10:51:08] =========== drm_test_check_invalid_plane_state ============
[10:51:08] [PASSED] positioning_invalid
[10:51:08] [PASSED] upscaling_invalid
[10:51:08] [PASSED] downscaling_invalid
[10:51:08] ======= [PASSED] drm_test_check_invalid_plane_state ========
[10:51:08] ================ [PASSED] drm_plane_helper =================
[10:51:08] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[10:51:08] ====== drm_test_connector_helper_tv_get_modes_check =======
[10:51:08] [PASSED] None
[10:51:08] [PASSED] PAL
[10:51:08] [PASSED] NTSC
[10:51:08] [PASSED] Both, NTSC Default
[10:51:08] [PASSED] Both, PAL Default
[10:51:08] [PASSED] Both, NTSC Default, with PAL on command-line
[10:51:08] [PASSED] Both, PAL Default, with NTSC on command-line
[10:51:08] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[10:51:08] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[10:51:08] ================== drm_rect (9 subtests) ===================
[10:51:08] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[10:51:08] [PASSED] drm_test_rect_clip_scaled_not_clipped
[10:51:08] [PASSED] drm_test_rect_clip_scaled_clipped
[10:51:08] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[10:51:08] ================= drm_test_rect_intersect =================
[10:51:08] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[10:51:08] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[10:51:08] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[10:51:08] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[10:51:08] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[10:51:08] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[10:51:08] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[10:51:08] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[10:51:08] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[10:51:08] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[10:51:08] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[10:51:08] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[10:51:08] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[10:51:08] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[10:51:08] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[10:51:08] ============= [PASSED] drm_test_rect_intersect =============
[10:51:08] ================ drm_test_rect_calc_hscale ================
[10:51:08] [PASSED] normal use
[10:51:08] [PASSED] out of max range
[10:51:08] [PASSED] out of min range
[10:51:08] [PASSED] zero dst
[10:51:08] [PASSED] negative src
[10:51:08] [PASSED] negative dst
[10:51:08] ============ [PASSED] drm_test_rect_calc_hscale ============
[10:51:08] ================ drm_test_rect_calc_vscale ================
[10:51:08] [PASSED] normal use
stty: 'standard input': Inappropriate ioctl for device
[10:51:08] [PASSED] out of max range
[10:51:08] [PASSED] out of min range
[10:51:08] [PASSED] zero dst
[10:51:08] [PASSED] negative src
[10:51:08] [PASSED] negative dst
[10:51:08] ============ [PASSED] drm_test_rect_calc_vscale ============
[10:51:08] ================== drm_test_rect_rotate ===================
[10:51:08] [PASSED] reflect-x
[10:51:08] [PASSED] reflect-y
[10:51:08] [PASSED] rotate-0
[10:51:08] [PASSED] rotate-90
[10:51:08] [PASSED] rotate-180
[10:51:08] [PASSED] rotate-270
[10:51:08] ============== [PASSED] drm_test_rect_rotate ===============
[10:51:08] ================ drm_test_rect_rotate_inv =================
[10:51:08] [PASSED] reflect-x
[10:51:08] [PASSED] reflect-y
[10:51:08] [PASSED] rotate-0
[10:51:08] [PASSED] rotate-90
[10:51:08] [PASSED] rotate-180
[10:51:08] [PASSED] rotate-270
[10:51:08] ============ [PASSED] drm_test_rect_rotate_inv =============
[10:51:08] ==================== [PASSED] drm_rect =====================
[10:51:08] ============ drm_sysfb_modeset_test (1 subtest) ============
[10:51:08] ============ drm_test_sysfb_build_fourcc_list =============
[10:51:08] [PASSED] no native formats
[10:51:08] [PASSED] XRGB8888 as native format
[10:51:08] [PASSED] remove duplicates
[10:51:08] [PASSED] convert alpha formats
[10:51:08] [PASSED] random formats
[10:51:08] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[10:51:08] ============= [PASSED] drm_sysfb_modeset_test ==============
[10:51:08] ============================================================
[10:51:08] Testing complete. Ran 622 tests: passed: 622
[10:51:08] Elapsed time: 31.290s total, 1.615s configuring, 29.158s building, 0.468s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[10:51:08] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[10:51:10] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=25
[10:51:19] Starting KUnit Kernel (1/1)...
[10:51:19] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[10:51:19] ================= ttm_device (5 subtests) ==================
[10:51:19] [PASSED] ttm_device_init_basic
[10:51:19] [PASSED] ttm_device_init_multiple
[10:51:19] [PASSED] ttm_device_fini_basic
[10:51:19] [PASSED] ttm_device_init_no_vma_man
[10:51:19] ================== ttm_device_init_pools ==================
[10:51:19] [PASSED] No DMA allocations, no DMA32 required
[10:51:19] [PASSED] DMA allocations, DMA32 required
[10:51:19] [PASSED] No DMA allocations, DMA32 required
[10:51:19] [PASSED] DMA allocations, no DMA32 required
[10:51:19] ============== [PASSED] ttm_device_init_pools ==============
[10:51:19] =================== [PASSED] ttm_device ====================
[10:51:19] ================== ttm_pool (8 subtests) ===================
[10:51:19] ================== ttm_pool_alloc_basic ===================
[10:51:19] [PASSED] One page
[10:51:19] [PASSED] More than one page
[10:51:19] [PASSED] Above the allocation limit
[10:51:19] [PASSED] One page, with coherent DMA mappings enabled
[10:51:19] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[10:51:19] ============== [PASSED] ttm_pool_alloc_basic ===============
[10:51:19] ============== ttm_pool_alloc_basic_dma_addr ==============
[10:51:19] [PASSED] One page
[10:51:19] [PASSED] More than one page
[10:51:19] [PASSED] Above the allocation limit
[10:51:19] [PASSED] One page, with coherent DMA mappings enabled
[10:51:19] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[10:51:19] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[10:51:19] [PASSED] ttm_pool_alloc_order_caching_match
[10:51:19] [PASSED] ttm_pool_alloc_caching_mismatch
[10:51:19] [PASSED] ttm_pool_alloc_order_mismatch
[10:51:19] [PASSED] ttm_pool_free_dma_alloc
[10:51:19] [PASSED] ttm_pool_free_no_dma_alloc
[10:51:19] [PASSED] ttm_pool_fini_basic
[10:51:19] ==================== [PASSED] ttm_pool =====================
[10:51:19] ================ ttm_resource (8 subtests) =================
[10:51:19] ================= ttm_resource_init_basic =================
[10:51:19] [PASSED] Init resource in TTM_PL_SYSTEM
[10:51:19] [PASSED] Init resource in TTM_PL_VRAM
[10:51:19] [PASSED] Init resource in a private placement
[10:51:19] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[10:51:19] ============= [PASSED] ttm_resource_init_basic =============
[10:51:19] [PASSED] ttm_resource_init_pinned
[10:51:19] [PASSED] ttm_resource_fini_basic
[10:51:19] [PASSED] ttm_resource_manager_init_basic
[10:51:19] [PASSED] ttm_resource_manager_usage_basic
[10:51:19] [PASSED] ttm_resource_manager_set_used_basic
[10:51:19] [PASSED] ttm_sys_man_alloc_basic
[10:51:19] [PASSED] ttm_sys_man_free_basic
[10:51:19] ================== [PASSED] ttm_resource ===================
[10:51:19] =================== ttm_tt (15 subtests) ===================
[10:51:19] ==================== ttm_tt_init_basic ====================
[10:51:19] [PASSED] Page-aligned size
[10:51:19] [PASSED] Extra pages requested
[10:51:19] ================ [PASSED] ttm_tt_init_basic ================
[10:51:19] [PASSED] ttm_tt_init_misaligned
[10:51:19] [PASSED] ttm_tt_fini_basic
[10:51:19] [PASSED] ttm_tt_fini_sg
[10:51:19] [PASSED] ttm_tt_fini_shmem
[10:51:19] [PASSED] ttm_tt_create_basic
[10:51:19] [PASSED] ttm_tt_create_invalid_bo_type
[10:51:19] [PASSED] ttm_tt_create_ttm_exists
[10:51:19] [PASSED] ttm_tt_create_failed
[10:51:19] [PASSED] ttm_tt_destroy_basic
[10:51:19] [PASSED] ttm_tt_populate_null_ttm
[10:51:19] [PASSED] ttm_tt_populate_populated_ttm
[10:51:19] [PASSED] ttm_tt_unpopulate_basic
[10:51:19] [PASSED] ttm_tt_unpopulate_empty_ttm
[10:51:19] [PASSED] ttm_tt_swapin_basic
[10:51:19] ===================== [PASSED] ttm_tt ======================
[10:51:19] =================== ttm_bo (14 subtests) ===================
[10:51:19] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[10:51:19] [PASSED] Cannot be interrupted and sleeps
[10:51:19] [PASSED] Cannot be interrupted, locks straight away
[10:51:19] [PASSED] Can be interrupted, sleeps
[10:51:19] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[10:51:19] [PASSED] ttm_bo_reserve_locked_no_sleep
[10:51:19] [PASSED] ttm_bo_reserve_no_wait_ticket
[10:51:19] [PASSED] ttm_bo_reserve_double_resv
[10:51:19] [PASSED] ttm_bo_reserve_interrupted
[10:51:19] [PASSED] ttm_bo_reserve_deadlock
[10:51:19] [PASSED] ttm_bo_unreserve_basic
[10:51:19] [PASSED] ttm_bo_unreserve_pinned
[10:51:19] [PASSED] ttm_bo_unreserve_bulk
[10:51:19] [PASSED] ttm_bo_fini_basic
[10:51:19] [PASSED] ttm_bo_fini_shared_resv
[10:51:19] [PASSED] ttm_bo_pin_basic
[10:51:19] [PASSED] ttm_bo_pin_unpin_resource
[10:51:19] [PASSED] ttm_bo_multiple_pin_one_unpin
[10:51:19] ===================== [PASSED] ttm_bo ======================
[10:51:19] ============== ttm_bo_validate (21 subtests) ===============
[10:51:19] ============== ttm_bo_init_reserved_sys_man ===============
[10:51:19] [PASSED] Buffer object for userspace
[10:51:19] [PASSED] Kernel buffer object
[10:51:19] [PASSED] Shared buffer object
[10:51:19] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[10:51:19] ============== ttm_bo_init_reserved_mock_man ==============
[10:51:19] [PASSED] Buffer object for userspace
[10:51:19] [PASSED] Kernel buffer object
[10:51:19] [PASSED] Shared buffer object
[10:51:19] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[10:51:19] [PASSED] ttm_bo_init_reserved_resv
[10:51:19] ================== ttm_bo_validate_basic ==================
[10:51:19] [PASSED] Buffer object for userspace
[10:51:19] [PASSED] Kernel buffer object
[10:51:19] [PASSED] Shared buffer object
[10:51:19] ============== [PASSED] ttm_bo_validate_basic ==============
[10:51:19] [PASSED] ttm_bo_validate_invalid_placement
[10:51:19] ============= ttm_bo_validate_same_placement ==============
[10:51:19] [PASSED] System manager
[10:51:19] [PASSED] VRAM manager
[10:51:19] ========= [PASSED] ttm_bo_validate_same_placement ==========
[10:51:19] [PASSED] ttm_bo_validate_failed_alloc
[10:51:19] [PASSED] ttm_bo_validate_pinned
[10:51:19] [PASSED] ttm_bo_validate_busy_placement
[10:51:19] ================ ttm_bo_validate_multihop =================
[10:51:19] [PASSED] Buffer object for userspace
[10:51:19] [PASSED] Kernel buffer object
[10:51:19] [PASSED] Shared buffer object
[10:51:19] ============ [PASSED] ttm_bo_validate_multihop =============
[10:51:19] ========== ttm_bo_validate_no_placement_signaled ==========
[10:51:19] [PASSED] Buffer object in system domain, no page vector
[10:51:19] [PASSED] Buffer object in system domain with an existing page vector
[10:51:19] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[10:51:19] ======== ttm_bo_validate_no_placement_not_signaled ========
[10:51:19] [PASSED] Buffer object for userspace
[10:51:19] [PASSED] Kernel buffer object
[10:51:19] [PASSED] Shared buffer object
[10:51:19] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[10:51:19] [PASSED] ttm_bo_validate_move_fence_signaled
[10:51:19] ========= ttm_bo_validate_move_fence_not_signaled =========
[10:51:19] [PASSED] Waits for GPU
[10:51:19] [PASSED] Tries to lock straight away
[10:51:19] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[10:51:19] [PASSED] ttm_bo_validate_happy_evict
[10:51:19] [PASSED] ttm_bo_validate_all_pinned_evict
[10:51:19] [PASSED] ttm_bo_validate_allowed_only_evict
[10:51:19] [PASSED] ttm_bo_validate_deleted_evict
[10:51:19] [PASSED] ttm_bo_validate_busy_domain_evict
[10:51:19] [PASSED] ttm_bo_validate_evict_gutting
[10:51:19] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[10:51:19] ================= [PASSED] ttm_bo_validate =================
[10:51:19] ============================================================
[10:51:19] Testing complete. Ran 101 tests: passed: 101
[10:51:19] Elapsed time: 11.088s total, 1.615s configuring, 9.207s building, 0.228s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 15+ messages in thread
* ✓ Xe.CI.BAT: success for drm/xe/vf: Minor fixes to post-migration recovery (rev4)
2025-10-20 20:58 [PATCH v4 0/4] drm/xe/vf: Minor fixes to post-migration recovery Tomasz Lis
` (4 preceding siblings ...)
2025-10-21 10:51 ` ✓ CI.KUnit: success for drm/xe/vf: Minor fixes to post-migration recovery (rev4) Patchwork
@ 2025-10-21 12:41 ` Patchwork
2025-10-21 13:38 ` ✓ Xe.CI.Full: " Patchwork
6 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-10-21 12:41 UTC (permalink / raw)
To: Tomasz Lis; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 6797 bytes --]
== Series Details ==
Series: drm/xe/vf: Minor fixes to post-migration recovery (rev4)
URL : https://patchwork.freedesktop.org/series/155865/
State : success
== Summary ==
CI Bug Log - changes from xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a_BAT -> xe-pw-155865v4_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (12 -> 12)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-155865v4_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_flip@basic-plain-flip@b-edp1:
- bat-adlp-7: [PASS][1] -> [DMESG-WARN][2] ([Intel XE#4543]) +1 other test dmesg-warn
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/bat-adlp-7/igt@kms_flip@basic-plain-flip@b-edp1.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-adlp-7/igt@kms_flip@basic-plain-flip@b-edp1.html
* igt@xe_evict@evict-beng-small:
- bat-ptl-2: NOTRUN -> [SKIP][3] ([Intel XE#5764]) +11 other tests skip
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-2/igt@xe_evict@evict-beng-small.html
* igt@xe_evict@evict-beng-small-cm:
- bat-ptl-1: NOTRUN -> [SKIP][4] ([Intel XE#5764]) +11 other tests skip
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-1/igt@xe_evict@evict-beng-small-cm.html
- bat-ptl-vm: NOTRUN -> [SKIP][5] ([Intel XE#5764]) +10 other tests skip
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-vm/igt@xe_evict@evict-beng-small-cm.html
* igt@xe_live_ktest@xe_bo:
- bat-ptl-1: NOTRUN -> [SKIP][6] ([Intel XE#5775]) +2 other tests skip
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-1/igt@xe_live_ktest@xe_bo.html
* igt@xe_live_ktest@xe_bo@xe_bo_evict_kunit:
- bat-ptl-2: NOTRUN -> [SKIP][7] ([Intel XE#5775]) +2 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-2/igt@xe_live_ktest@xe_bo@xe_bo_evict_kunit.html
* igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
- bat-ptl-vm: NOTRUN -> [SKIP][8] ([Intel XE#5775])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-vm/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
* igt@xe_mmap@vram:
- bat-ptl-1: NOTRUN -> [SKIP][9] ([Intel XE#5776])
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-1/igt@xe_mmap@vram.html
- bat-ptl-vm: NOTRUN -> [SKIP][10] ([Intel XE#5776])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-vm/igt@xe_mmap@vram.html
- bat-ptl-2: NOTRUN -> [SKIP][11] ([Intel XE#5776])
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-2/igt@xe_mmap@vram.html
* igt@xe_pat@pat-index-xehpc:
- bat-ptl-vm: NOTRUN -> [SKIP][12] ([Intel XE#5777])
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-vm/igt@xe_pat@pat-index-xehpc.html
- bat-ptl-2: NOTRUN -> [SKIP][13] ([Intel XE#5777])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-2/igt@xe_pat@pat-index-xehpc.html
- bat-ptl-1: NOTRUN -> [SKIP][14] ([Intel XE#5777])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-1/igt@xe_pat@pat-index-xehpc.html
* igt@xe_pat@pat-index-xelp:
- bat-ptl-2: NOTRUN -> [SKIP][15] ([Intel XE#5771])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-2/igt@xe_pat@pat-index-xelp.html
- bat-ptl-1: NOTRUN -> [SKIP][16] ([Intel XE#5771])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-1/igt@xe_pat@pat-index-xelp.html
- bat-ptl-vm: NOTRUN -> [SKIP][17] ([Intel XE#5771])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-vm/igt@xe_pat@pat-index-xelp.html
* igt@xe_pat@pat-index-xelpg:
- bat-ptl-1: NOTRUN -> [SKIP][18] ([Intel XE#5780])
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-1/igt@xe_pat@pat-index-xelpg.html
- bat-ptl-vm: NOTRUN -> [SKIP][19] ([Intel XE#5780])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-vm/igt@xe_pat@pat-index-xelpg.html
- bat-ptl-2: NOTRUN -> [SKIP][20] ([Intel XE#5780])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-2/igt@xe_pat@pat-index-xelpg.html
#### Possible fixes ####
* igt@sriov_basic@enable-vfs-autoprobe-on:
- bat-ptl-1: [ABORT][21] ([Intel XE#6349]) -> [PASS][22] +1 other test pass
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/bat-ptl-1/igt@sriov_basic@enable-vfs-autoprobe-on.html
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-1/igt@sriov_basic@enable-vfs-autoprobe-on.html
* igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1:
- bat-ptl-2: [ABORT][23] ([Intel XE#6349]) -> [PASS][24] +1 other test pass
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/bat-ptl-2/igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1.html
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-2/igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1.html
* igt@xe_module_load@load:
- bat-ptl-vm: [ABORT][25] ([Intel XE#6349]) -> [PASS][26]
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/bat-ptl-vm/igt@xe_module_load@load.html
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/bat-ptl-vm/igt@xe_module_load@load.html
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
[Intel XE#5764]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5764
[Intel XE#5771]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5771
[Intel XE#5775]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5775
[Intel XE#5776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5776
[Intel XE#5777]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5777
[Intel XE#5780]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5780
[Intel XE#6349]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6349
Build changes
-------------
* Linux: xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a -> xe-pw-155865v4
IGT_8594: 8594
xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a: aae2e4df375e567f00c8d494004cf6a34a73d75a
xe-pw-155865v4: 155865v4
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/index.html
[-- Attachment #2: Type: text/html, Size: 8698 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* ✓ Xe.CI.Full: success for drm/xe/vf: Minor fixes to post-migration recovery (rev4)
2025-10-20 20:58 [PATCH v4 0/4] drm/xe/vf: Minor fixes to post-migration recovery Tomasz Lis
` (5 preceding siblings ...)
2025-10-21 12:41 ` ✓ Xe.CI.BAT: " Patchwork
@ 2025-10-21 13:38 ` Patchwork
6 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2025-10-21 13:38 UTC (permalink / raw)
To: Tomasz Lis; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 27319 bytes --]
== Series Details ==
Series: drm/xe/vf: Minor fixes to post-migration recovery (rev4)
URL : https://patchwork.freedesktop.org/series/155865/
State : success
== Summary ==
CI Bug Log - changes from xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a_FULL -> xe-pw-155865v4_FULL
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (4 -> 4)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-155865v4_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_async_flips@async-flip-suspend-resume@pipe-d-hdmi-a-1:
- shard-adlp: [PASS][1] -> [DMESG-WARN][2] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4543])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-adlp-2/igt@kms_async_flips@async-flip-suspend-resume@pipe-d-hdmi-a-1.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-adlp-6/igt@kms_async_flips@async-flip-suspend-resume@pipe-d-hdmi-a-1.html
* igt@kms_async_flips@crc-atomic:
- shard-bmg: [PASS][3] -> [INCOMPLETE][4] ([Intel XE#4912]) +1 other test incomplete
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-3/igt@kms_async_flips@crc-atomic.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-6/igt@kms_async_flips@crc-atomic.html
* igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-dp-2:
- shard-bmg: [PASS][5] -> [FAIL][6] ([Intel XE#3908]) +1 other test fail
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-4/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-dp-2.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-4/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-dp-2.html
* igt@kms_big_fb@yf-tiled-64bpp-rotate-0:
- shard-bmg: NOTRUN -> [SKIP][7] ([Intel XE#1124])
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-4/igt@kms_big_fb@yf-tiled-64bpp-rotate-0.html
* igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p:
- shard-bmg: [PASS][8] -> [SKIP][9] ([Intel XE#2314] / [Intel XE#2894])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-3/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-dp-4:
- shard-dg2-set2: [PASS][10] -> [INCOMPLETE][11] ([Intel XE#3862]) +1 other test incomplete
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-dg2-433/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-dp-4.html
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-dg2-463/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-dp-4.html
* igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs-cc:
- shard-dg2-set2: NOTRUN -> [SKIP][12] ([Intel XE#455] / [Intel XE#787]) +1 other test skip
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-dg2-464/igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs-cc@pipe-d-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][13] ([Intel XE#787]) +6 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-dg2-464/igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs-cc@pipe-d-hdmi-a-6.html
* igt@kms_content_protection@srm@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][14] ([Intel XE#1178])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-3/igt@kms_content_protection@srm@pipe-a-dp-2.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
- shard-bmg: [PASS][15] -> [SKIP][16] ([Intel XE#2291]) +3 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-3/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-bmg: [PASS][17] -> [FAIL][18] ([Intel XE#1475])
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-3/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-bmg: [PASS][19] -> [SKIP][20] ([Intel XE#1340])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-3/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible:
- shard-bmg: [PASS][21] -> [SKIP][22] ([Intel XE#2316]) +3 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-3/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-6/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1:
- shard-lnl: [PASS][23] -> [FAIL][24] ([Intel XE#301] / [Intel XE#3149]) +1 other test fail
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-lnl-8/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html
* igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1:
- shard-adlp: [PASS][25] -> [DMESG-WARN][26] ([Intel XE#4543]) +2 other tests dmesg-warn
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-adlp-2/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-adlp-6/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a1.html
* igt@kms_flip@flip-vs-rmfb-interruptible:
- shard-adlp: [PASS][27] -> [DMESG-WARN][28] ([Intel XE#4543] / [Intel XE#5208])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-adlp-9/igt@kms_flip@flip-vs-rmfb-interruptible.html
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-adlp-8/igt@kms_flip@flip-vs-rmfb-interruptible.html
* igt@kms_flip@flip-vs-suspend@d-dp4:
- shard-dg2-set2: [PASS][29] -> [INCOMPLETE][30] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-dg2-463/igt@kms_flip@flip-vs-suspend@d-dp4.html
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-dg2-433/igt@kms_flip@flip-vs-suspend@d-dp4.html
* igt@kms_hdr@invalid-hdr:
- shard-bmg: [PASS][31] -> [SKIP][32] ([Intel XE#1503])
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-7/igt@kms_hdr@invalid-hdr.html
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-1/igt@kms_hdr@invalid-hdr.html
* igt@kms_plane_scaling@planes-downscale-factor-0-75-unity-scaling@pipe-d:
- shard-adlp: [PASS][33] -> [DMESG-WARN][34] ([Intel XE#2953] / [Intel XE#4173]) +8 other tests dmesg-warn
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-adlp-8/igt@kms_plane_scaling@planes-downscale-factor-0-75-unity-scaling@pipe-d.html
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-adlp-3/igt@kms_plane_scaling@planes-downscale-factor-0-75-unity-scaling@pipe-d.html
* igt@kms_pm_dc@dc5-retention-flops:
- shard-bmg: NOTRUN -> [SKIP][35] ([Intel XE#3309])
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-4/igt@kms_pm_dc@dc5-retention-flops.html
* igt@kms_pm_rpm@universal-planes-dpms:
- shard-adlp: [PASS][36] -> [DMESG-WARN][37] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#5750])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-adlp-2/igt@kms_pm_rpm@universal-planes-dpms.html
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-adlp-1/igt@kms_pm_rpm@universal-planes-dpms.html
* igt@kms_psr@fbc-pr-suspend:
- shard-bmg: NOTRUN -> [SKIP][38] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850])
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-4/igt@kms_psr@fbc-pr-suspend.html
* igt@kms_psr@pr-cursor-plane-onoff:
- shard-dg2-set2: NOTRUN -> [SKIP][39] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929])
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-dg2-464/igt@kms_psr@pr-cursor-plane-onoff.html
* igt@xe_exec_fault_mode@many-bindexecqueue-userptr-invalidate-imm:
- shard-dg2-set2: NOTRUN -> [SKIP][40] ([Intel XE#288])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-dg2-464/igt@xe_exec_fault_mode@many-bindexecqueue-userptr-invalidate-imm.html
* igt@xe_exec_reset@cm-close-fd:
- shard-adlp: [PASS][41] -> [DMESG-WARN][42] ([Intel XE#3868])
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-adlp-3/igt@xe_exec_reset@cm-close-fd.html
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-adlp-3/igt@xe_exec_reset@cm-close-fd.html
* igt@xe_exec_system_allocator@many-64k-mmap-huge-nomemset:
- shard-bmg: NOTRUN -> [SKIP][43] ([Intel XE#5007])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-4/igt@xe_exec_system_allocator@many-64k-mmap-huge-nomemset.html
* igt@xe_exec_system_allocator@process-many-execqueues-mmap-new-huge-nomemset:
- shard-bmg: NOTRUN -> [SKIP][44] ([Intel XE#4943]) +1 other test skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-4/igt@xe_exec_system_allocator@process-many-execqueues-mmap-new-huge-nomemset.html
* igt@xe_exec_system_allocator@threads-shared-vm-many-large-malloc-busy-nomemset:
- shard-dg2-set2: NOTRUN -> [SKIP][45] ([Intel XE#4915]) +5 other tests skip
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-dg2-464/igt@xe_exec_system_allocator@threads-shared-vm-many-large-malloc-busy-nomemset.html
* igt@xe_module_load@many-reload:
- shard-adlp: [PASS][46] -> [DMESG-WARN][47] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#5244])
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-adlp-8/igt@xe_module_load@many-reload.html
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-adlp-3/igt@xe_module_load@many-reload.html
#### Possible fixes ####
* igt@kms_async_flips@async-flip-suspend-resume@pipe-d-dp-4:
- shard-dg2-set2: [INCOMPLETE][48] ([Intel XE#4912]) -> [PASS][49] +1 other test pass
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-dg2-466/igt@kms_async_flips@async-flip-suspend-resume@pipe-d-dp-4.html
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-dg2-464/igt@kms_async_flips@async-flip-suspend-resume@pipe-d-dp-4.html
* igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic:
- shard-bmg: [SKIP][50] ([Intel XE#2291]) -> [PASS][51] +1 other test pass
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-6/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-2/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-adlp: [DMESG-WARN][52] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][53]
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-adlp-1/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-adlp-6/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_cursor_legacy@flip-vs-cursor-legacy:
- shard-bmg: [FAIL][54] ([Intel XE#4633]) -> [PASS][55]
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-6/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-2/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
* igt@kms_flip@2x-plain-flip-fb-recreate:
- shard-bmg: [SKIP][56] ([Intel XE#2316]) -> [PASS][57] +2 other tests pass
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate.html
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-3/igt@kms_flip@2x-plain-flip-fb-recreate.html
* igt@kms_flip@basic-flip-vs-dpms@c-hdmi-a1:
- shard-adlp: [DMESG-WARN][58] ([Intel XE#4543]) -> [PASS][59] +10 other tests pass
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-adlp-6/igt@kms_flip@basic-flip-vs-dpms@c-hdmi-a1.html
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-adlp-8/igt@kms_flip@basic-flip-vs-dpms@c-hdmi-a1.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-bmg: [INCOMPLETE][60] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][61] +1 other test pass
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-2/igt@kms_flip@flip-vs-suspend-interruptible.html
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-4/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_hdr@static-toggle-suspend:
- shard-bmg: [SKIP][62] ([Intel XE#1503]) -> [PASS][63]
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-6/igt@kms_hdr@static-toggle-suspend.html
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-3/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_plane_multiple@2x-tiling-4:
- shard-bmg: [SKIP][64] ([Intel XE#4596]) -> [PASS][65]
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-4.html
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-3/igt@kms_plane_multiple@2x-tiling-4.html
* igt@kms_setmode@invalid-clone-single-crtc:
- shard-bmg: [SKIP][66] ([Intel XE#1435]) -> [PASS][67]
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-6/igt@kms_setmode@invalid-clone-single-crtc.html
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-8/igt@kms_setmode@invalid-clone-single-crtc.html
* igt@xe_exec_balancer@many-execqueues-cm-parallel-userptr-invalidate-race:
- shard-adlp: [FAIL][68] ([Intel XE#5625]) -> [PASS][69]
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-adlp-1/igt@xe_exec_balancer@many-execqueues-cm-parallel-userptr-invalidate-race.html
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-adlp-1/igt@xe_exec_balancer@many-execqueues-cm-parallel-userptr-invalidate-race.html
* igt@xe_exec_balancer@once-parallel-userptr-invalidate:
- shard-adlp: [DMESG-FAIL][70] ([Intel XE#3876]) -> [PASS][71]
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-adlp-1/igt@xe_exec_balancer@once-parallel-userptr-invalidate.html
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-adlp-1/igt@xe_exec_balancer@once-parallel-userptr-invalidate.html
* igt@xe_gt_freq@freq_fixed_idle:
- shard-dg2-set2: [FAIL][72] ([Intel XE#6407]) -> [PASS][73]
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-dg2-436/igt@xe_gt_freq@freq_fixed_idle.html
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-dg2-432/igt@xe_gt_freq@freq_fixed_idle.html
#### Warnings ####
* igt@kms_async_flips@async-flip-suspend-resume:
- shard-adlp: [DMESG-WARN][74] ([Intel XE#4543]) -> [DMESG-WARN][75] ([Intel XE#2953] / [Intel XE#4173] / [Intel XE#4543])
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-adlp-2/igt@kms_async_flips@async-flip-suspend-resume.html
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-adlp-6/igt@kms_async_flips@async-flip-suspend-resume.html
* igt@kms_content_protection@srm:
- shard-bmg: [SKIP][76] ([Intel XE#2341]) -> [FAIL][77] ([Intel XE#1178])
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-6/igt@kms_content_protection@srm.html
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-3/igt@kms_content_protection@srm.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-msflip-blt:
- shard-bmg: [SKIP][78] ([Intel XE#5390]) -> [SKIP][79] ([Intel XE#2312]) +1 other test skip
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-msflip-blt.html
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff:
- shard-bmg: [SKIP][80] ([Intel XE#2312]) -> [SKIP][81] ([Intel XE#5390]) +7 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render:
- shard-bmg: [SKIP][82] ([Intel XE#2311]) -> [SKIP][83] ([Intel XE#2312]) +10 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render.html
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][84] ([Intel XE#2312]) -> [SKIP][85] ([Intel XE#2311]) +13 other tests skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-msflip-blt:
- shard-bmg: [SKIP][86] ([Intel XE#2312]) -> [SKIP][87] ([Intel XE#2313]) +12 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-msflip-blt.html
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-8/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc:
- shard-bmg: [SKIP][88] ([Intel XE#2313]) -> [SKIP][89] ([Intel XE#2312]) +11 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-3/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc.html
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-bmg: [SKIP][90] ([Intel XE#2426]) -> [FAIL][91] ([Intel XE#1729])
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-7/igt@kms_tiled_display@basic-test-pattern.html
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-dg2-set2: [SKIP][92] ([Intel XE#1500]) -> [SKIP][93] ([Intel XE#362])
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-dg2-434/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv:
- shard-adlp: [ABORT][94] ([Intel XE#5530]) -> [ABORT][95] ([Intel XE#4917] / [Intel XE#5530])
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-adlp-8/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-adlp-9/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
- shard-bmg: [ABORT][96] ([Intel XE#5466] / [Intel XE#5530]) -> [ABORT][97] ([Intel XE#4917] / [Intel XE#5466] / [Intel XE#5530])
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a/shard-bmg-6/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/shard-bmg-2/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1340
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1475]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1475
[Intel XE#1500]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1500
[Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503
[Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
[Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
[Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
[Intel XE#3309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3309
[Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
[Intel XE#3862]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3862
[Intel XE#3868]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3868
[Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
[Intel XE#3908]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3908
[Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
[Intel XE#4633]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4633
[Intel XE#4912]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4912
[Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
[Intel XE#4917]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4917
[Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
[Intel XE#5007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5007
[Intel XE#5208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5208
[Intel XE#5244]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5244
[Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
[Intel XE#5466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5466
[Intel XE#5530]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5530
[Intel XE#5625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5625
[Intel XE#5750]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5750
[Intel XE#6407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6407
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
Build changes
-------------
* Linux: xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a -> xe-pw-155865v4
IGT_8594: 8594
xe-3951-aae2e4df375e567f00c8d494004cf6a34a73d75a: aae2e4df375e567f00c8d494004cf6a34a73d75a
xe-pw-155865v4: 155865v4
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-155865v4/index.html
[-- Attachment #2: Type: text/html, Size: 31660 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 3/4] drm/xe: Assert that VF will never use fixed placement of BOs
2025-10-20 22:48 ` Lis, Tomasz
@ 2025-10-21 15:04 ` Michal Wajdeczko
2025-10-21 17:20 ` Lis, Tomasz
0 siblings, 1 reply; 15+ messages in thread
From: Michal Wajdeczko @ 2025-10-21 15:04 UTC (permalink / raw)
To: Lis, Tomasz, intel-xe@lists.freedesktop.org
Cc: Winiarski, Michal, Piorkowski, Piotr, Brost, Matthew,
K V P, Satyanarayana
On 10/21/2025 12:48 AM, Lis, Tomasz wrote:
>
> On 10/20/2025 11:59 PM, Wajdeczko, Michal wrote:
>>
>> On 10/20/2025 10:58 PM, Tomasz Lis wrote:
>>> Most BOs do not care at which offset they will be accessed within
>>> GGTT or PPGTT. The few which do care, should be only created
>>> on PF, and mapped within GGTT. On VFs, mapping at fixed offset
>>> would be problematic, as each VF is granted access to a range of
>>> GGTT address space.
>> it's not a matter of being "problematic" but this is just prohibited
>> as there is no assumption which GGTT range will be assigned to the VF
> will update to "prohibited". though that's a simplification. Fixed is not the same as constant.
>>> So, since fixed addresses of GGTT mapping can only be used on PF,
>>> we can add an assert which makes sure no attempt of fixed placement
>>> will happen for a driver probed on a VF.
>>>
>>> The assert will also ensure that VF migration can be properly
>>> performed without a need for special handling of the fixed placement
>>> addresses.
>> this last sentence can be dropped
> will drop, though I can't say I agree.
>>
>>> Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
>>> ---
>>> drivers/gpu/drm/xe/xe_bo.c | 6 ++++++
>>> 1 file changed, 6 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
>>> index 7b6502081873..8e826a4aa574 100644
>>> --- a/drivers/gpu/drm/xe/xe_bo.c
>>> +++ b/drivers/gpu/drm/xe/xe_bo.c
>>> @@ -2259,6 +2259,12 @@ static int __xe_bo_fixed_placement(struct xe_device *xe,
>>> struct ttm_place *place = bo->placements;
>>> u32 vram_flag, vram_stolen_flags;
>>> + /*
>>> + * to allow fixed placement in GGTT of a VF, post-migration fixups
>>> + * would have to include shifting the page ranges
>> it's not about implementation of fixups, this is just not allowed
>
> "not allowed" is not an explanation. That is clear from the assert itself. The comment is here to tell why.
>
> Having only a range of addresses is not enough of an explanation, as then we could still have fixed offset which was computed so that it conforms to the range limits. Fixed does not mean hard-coded. For such computed fixed offsets, the explanation in comment is correct.
any of your "valid computed placement" will have to take into account the VF's base/size anyway
and since this "base" cannot be guaranteed to be stable across the VF life, those computations that expects or use this absolute "fixed" final placement are illegal regardless of any missing "migration-fixups" implementation
OTOH the relative offset of one BO to other BO, will be satisfied after migration without any special work
so still I'm not sure how above comment might help
>
> -Tomasz
>
>>
>>> + */
>>> + xe_assert(xe, !IS_SRIOV_VF(xe) || !(bo->flags & XE_BO_FLAG_GGTT));
>> but the assert is fine, so with commit/comment updated,
>>
>> Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>
>>> +
>>> if (flags & (XE_BO_FLAG_USER | XE_BO_FLAG_SYSTEM))
>>> return -EINVAL;
>>>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH v4 3/4] drm/xe: Assert that VF will never use fixed placement of BOs
2025-10-21 15:04 ` Michal Wajdeczko
@ 2025-10-21 17:20 ` Lis, Tomasz
0 siblings, 0 replies; 15+ messages in thread
From: Lis, Tomasz @ 2025-10-21 17:20 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe@lists.freedesktop.org
Cc: Winiarski, Michal, Piorkowski, Piotr, Brost, Matthew,
K V P, Satyanarayana
On 10/21/2025 5:04 PM, Michal Wajdeczko wrote:
>
> On 10/21/2025 12:48 AM, Lis, Tomasz wrote:
>> On 10/20/2025 11:59 PM, Wajdeczko, Michal wrote:
>>> On 10/20/2025 10:58 PM, Tomasz Lis wrote:
>>>> Most BOs do not care at which offset they will be accessed within
>>>> GGTT or PPGTT. The few which do care, should be only created
>>>> on PF, and mapped within GGTT. On VFs, mapping at fixed offset
>>>> would be problematic, as each VF is granted access to a range of
>>>> GGTT address space.
>>> it's not a matter of being "problematic" but this is just prohibited
>>> as there is no assumption which GGTT range will be assigned to the VF
>> will update to "prohibited". though that's a simplification. Fixed is not the same as constant.
>>>> So, since fixed addresses of GGTT mapping can only be used on PF,
>>>> we can add an assert which makes sure no attempt of fixed placement
>>>> will happen for a driver probed on a VF.
>>>>
>>>> The assert will also ensure that VF migration can be properly
>>>> performed without a need for special handling of the fixed placement
>>>> addresses.
>>> this last sentence can be dropped
>> will drop, though I can't say I agree.
>>>> Signed-off-by: Tomasz Lis <tomasz.lis@intel.com>
>>>> ---
>>>> drivers/gpu/drm/xe/xe_bo.c | 6 ++++++
>>>> 1 file changed, 6 insertions(+)
>>>>
>>>> diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c
>>>> index 7b6502081873..8e826a4aa574 100644
>>>> --- a/drivers/gpu/drm/xe/xe_bo.c
>>>> +++ b/drivers/gpu/drm/xe/xe_bo.c
>>>> @@ -2259,6 +2259,12 @@ static int __xe_bo_fixed_placement(struct xe_device *xe,
>>>> struct ttm_place *place = bo->placements;
>>>> u32 vram_flag, vram_stolen_flags;
>>>> + /*
>>>> + * to allow fixed placement in GGTT of a VF, post-migration fixups
>>>> + * would have to include shifting the page ranges
>>> it's not about implementation of fixups, this is just not allowed
>> "not allowed" is not an explanation. That is clear from the assert itself. The comment is here to tell why.
>>
>> Having only a range of addresses is not enough of an explanation, as then we could still have fixed offset which was computed so that it conforms to the range limits. Fixed does not mean hard-coded. For such computed fixed offsets, the explanation in comment is correct.
> any of your "valid computed placement" will have to take into account the VF's base/size anyway
>
> and since this "base" cannot be guaranteed to be stable across the VF life, those computations that expects or use this absolute "fixed" final placement are illegal regardless of any missing "migration-fixups" implementation
>
> OTOH the relative offset of one BO to other BO, will be satisfied after migration without any special work
>
> so still I'm not sure how above comment might help
Right, relative to BOs or to GGTT range bounds. They will get updated
correctly, mostly. But then such BO stores invalid "fixed" offset, at
which it is no longer mapped.
-Tomasz
>> -Tomasz
>>
>>>> + */
>>>> + xe_assert(xe, !IS_SRIOV_VF(xe) || !(bo->flags & XE_BO_FLAG_GGTT));
>>> but the assert is fine, so with commit/comment updated,
>>>
>>> Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>>
>>>> +
>>>> if (flags & (XE_BO_FLAG_USER | XE_BO_FLAG_SYSTEM))
>>>> return -EINVAL;
>>>>
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-10-21 17:20 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-20 20:58 [PATCH v4 0/4] drm/xe/vf: Minor fixes to post-migration recovery Tomasz Lis
2025-10-20 20:58 ` [PATCH v4 1/4] drm/xe/vf: Helper for telling whether CCS migration BBs are needed Tomasz Lis
2025-10-20 20:58 ` [PATCH v4 2/4] drm/xe/vf: Fix GuC FW check for VF migration support Tomasz Lis
2025-10-20 22:17 ` Michal Wajdeczko
2025-10-20 23:46 ` Lis, Tomasz
2025-10-20 20:58 ` [PATCH v4 3/4] drm/xe: Assert that VF will never use fixed placement of BOs Tomasz Lis
2025-10-20 21:59 ` Michal Wajdeczko
2025-10-20 22:48 ` Lis, Tomasz
2025-10-21 15:04 ` Michal Wajdeczko
2025-10-21 17:20 ` Lis, Tomasz
2025-10-20 20:58 ` [PATCH v4 4/4] drm/xe/vf: Do not disable VF migration on ATS-M Tomasz Lis
2025-10-20 21:53 ` Michal Wajdeczko
2025-10-21 10:51 ` ✓ CI.KUnit: success for drm/xe/vf: Minor fixes to post-migration recovery (rev4) Patchwork
2025-10-21 12:41 ` ✓ Xe.CI.BAT: " Patchwork
2025-10-21 13:38 ` ✓ Xe.CI.Full: " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox