* [PATCH v2 0/2] VF double migration
@ 2025-10-23 15:36 Satyanarayana K V P
2025-10-23 15:36 ` [PATCH v2 1/2] drm/xe/vf: Introduce RESFIX start marker support Satyanarayana K V P
` (4 more replies)
0 siblings, 5 replies; 11+ messages in thread
From: Satyanarayana K V P @ 2025-10-23 15:36 UTC (permalink / raw)
To: intel-xe; +Cc: Satyanarayana K V P
In scenarios involving double migration, the VF KMD may encounter
situations where it is instructed to re-migrate before having the
opportunity to send RESFIX_DONE for the initial migration. This can occur
when the fix-up for the prior migration is still underway, but the VF KMD
is migrated again.
Consequently, this may lead to the possibility of sending two migration
notifications (i.e., pending fix-up for the first migration and a second
notification for the new migration). Upon receiving the first RES_FIX
notification, the GuC will resume VF submission on the GPU, potentially
resulting in undefined behavior, such as system hangs or crashes.
To avoid these hangs, a new VF2GUC action `VF2GUC_NOTIFY_RESFIX_START` is
sent along with marker and when GUC receives the same marker with
`VF2GUC_NOTIFY_RESFIX_DONE`action, it starts scheduling work loads from VF.
---
V1 - V2:
- Squashed "Enable RESFIX start marker only on supported GUC
versions" commit into a single commit. (Matt B)
- Use fault injection for testing VF double migration feature (Matt B).
Satyanarayana K V P (2):
drm/xe/vf: Introduce RESFIX start marker support
drm/xe/vf: Use fault injection for testing VF double migration feature
.../gpu/drm/xe/abi/guc_actions_sriov_abi.h | 38 ++++++
drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 116 ++++++++++++++++--
drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h | 5 +
drivers/gpu/drm/xe/xe_sriov_vf.c | 42 ++++++-
drivers/gpu/drm/xe/xe_sriov_vf_types.h | 5 +
5 files changed, 198 insertions(+), 8 deletions(-)
--
2.51.0
^ permalink raw reply [flat|nested] 11+ messages in thread* [PATCH v2 1/2] drm/xe/vf: Introduce RESFIX start marker support 2025-10-23 15:36 [PATCH v2 0/2] VF double migration Satyanarayana K V P @ 2025-10-23 15:36 ` Satyanarayana K V P 2025-10-23 20:37 ` Matthew Brost 2025-10-23 23:33 ` Michal Wajdeczko 2025-10-23 15:36 ` [PATCH v2 2/2] drm/xe/vf: Use fault injection for testing VF double migration feature Satyanarayana K V P ` (3 subsequent siblings) 4 siblings, 2 replies; 11+ messages in thread From: Satyanarayana K V P @ 2025-10-23 15:36 UTC (permalink / raw) To: intel-xe; +Cc: Satyanarayana K V P, Michal Wajdeczko, Matthew Brost, Tomasz Lis Post migration, a marker is sent to the GUC prior to the start of resource fixups to indicate start of resource fixups. The same marker is sent along with RESFIX_DONE notification so that GUC can avoid submitting jobs to HW in case of double migration. Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Matthew Brost <matthew.brost@intel.com> Cc: Tomasz Lis <tomasz.lis@intel.com> --- V1 -> V2: - Squashed "Enable RESFIX start marker only on supported GUC versions" commit into a single commit. (Matt B) --- .../gpu/drm/xe/abi/guc_actions_sriov_abi.h | 38 ++++++++ drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 87 +++++++++++++++++-- drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h | 5 ++ drivers/gpu/drm/xe/xe_sriov_vf.c | 42 ++++++++- drivers/gpu/drm/xe/xe_sriov_vf_types.h | 5 ++ 5 files changed, 169 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h b/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h index 0b28659d94e9..b9141497bfd5 100644 --- a/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h +++ b/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h @@ -656,4 +656,42 @@ #define PF2GUC_SAVE_RESTORE_VF_RESPONSE_MSG_LEN GUC_HXG_RESPONSE_MSG_MIN_LEN #define PF2GUC_SAVE_RESTORE_VF_RESPONSE_MSG_0_USED GUC_HXG_RESPONSE_MSG_0_DATA0 +/** + * DOC: VF2GUC_NOTIFY_RESFIX_START + * + * This action is used by VF to notify the GuC that the VF KMD will be starting + * post-migration recovery steps. + * + * This message must be sent as `MMIO HXG Message`_. + * + * +---+-------+--------------------------------------------------------------+ + * | | Bits | Description | + * +===+=======+==============================================================+ + * | 0 | 31 | ORIGIN = GUC_HXG_ORIGIN_HOST_ | + * | +-------+--------------------------------------------------------------+ + * | | 30:28 | TYPE = GUC_HXG_TYPE_REQUEST_ | + * | +-------+--------------------------------------------------------------+ + * | | 27:16 | DATA0 = MBZ | + * | +-------+--------------------------------------------------------------+ + * | | 15:0 | ACTION = _`GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START` = 0x550F | + * +---+-------+--------------------------------------------------------------+ + * + * +---+-------+--------------------------------------------------------------+ + * | | Bits | Description | + * +===+=======+==============================================================+ + * | 0 | 31 | ORIGIN = GUC_HXG_ORIGIN_GUC_ | + * | +-------+--------------------------------------------------------------+ + * | | 30:28 | TYPE = GUC_HXG_TYPE_RESPONSE_SUCCESS_ | + * | +-------+--------------------------------------------------------------+ + * | | 27:0 | DATA0 = MBZ | + * +---+-------+--------------------------------------------------------------+ + */ +#define GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START 0x550Fu + +#define VF2GUC_NOTIFY_RESFIX_START_REQUEST_MSG_LEN GUC_HXG_REQUEST_MSG_MIN_LEN +#define VF2GUC_NOTIFY_RESFIX_START_REQUEST_MSG_0_MBZ GUC_HXG_REQUEST_MSG_0_DATA0 + +#define VF2GUC_NOTIFY_RESFIX_START_RESPONSE_MSG_LEN GUC_HXG_RESPONSE_MSG_MIN_LEN +#define VF2GUC_NOTIFY_RESFIX_START_RESPONSE_MSG_0_MBZ GUC_HXG_RESPONSE_MSG_0_DATA0 + #endif diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c index d0b102ab6ce8..8c1448d6c81d 100644 --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c @@ -299,12 +299,55 @@ void xe_gt_sriov_vf_guc_versions(struct xe_gt *gt, *found = gt->sriov.vf.guc_version; } -static int guc_action_vf_notify_resfix_done(struct xe_guc *guc) +static int guc_action_vf_notify_resfix_start(struct xe_guc *guc, u16 marker) { u32 request[GUC_HXG_REQUEST_MSG_MIN_LEN] = { FIELD_PREP(GUC_HXG_MSG_0_ORIGIN, GUC_HXG_ORIGIN_HOST) | FIELD_PREP(GUC_HXG_MSG_0_TYPE, GUC_HXG_TYPE_REQUEST) | - FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, GUC_ACTION_VF2GUC_NOTIFY_RESFIX_DONE), + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, + GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START) | + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_DATA0, marker), + }; + int ret; + + ret = xe_guc_mmio_send(guc, request, ARRAY_SIZE(request)); + + return ret > 0 ? -EPROTO : ret; +} + +/** + * vf_notify_resfix_start - Notify GuC about start of resource fixups. + * @gt: the &xe_gt struct instance linked to target GuC + * @marker: marker to identify the migration. + * + * Returns: 0 if the operation completed successfully, or a negative error + * code otherwise. + */ +static int vf_notify_resfix_start(struct xe_gt *gt, u16 marker) +{ + struct xe_guc *guc = >->uc.guc; + int err; + + xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); + + err = guc_action_vf_notify_resfix_start(guc, marker); + if (unlikely(err)) + xe_gt_sriov_err(gt, "Failed to notify GuC about resource fixup start (%pe)\n", + ERR_PTR(err)); + else + xe_gt_sriov_dbg_verbose(gt, "sent GuC resource fixup start\n"); + + return err; +} + +static int guc_action_vf_notify_resfix_done(struct xe_guc *guc, u16 marker) +{ + u32 request[GUC_HXG_REQUEST_MSG_MIN_LEN] = { + FIELD_PREP(GUC_HXG_MSG_0_ORIGIN, GUC_HXG_ORIGIN_HOST) | + FIELD_PREP(GUC_HXG_MSG_0_TYPE, GUC_HXG_TYPE_REQUEST) | + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, + GUC_ACTION_VF2GUC_NOTIFY_RESFIX_DONE) | + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_DATA0, marker), }; int ret; @@ -316,18 +359,19 @@ static int guc_action_vf_notify_resfix_done(struct xe_guc *guc) /** * vf_notify_resfix_done - Notify GuC about resource fixups apply completed. * @gt: the &xe_gt struct instance linked to target GuC + * @marker: marker to identify the migration. * * Returns: 0 if the operation completed successfully, or a negative error * code otherwise. */ -static int vf_notify_resfix_done(struct xe_gt *gt) +static int vf_notify_resfix_done(struct xe_gt *gt, u16 marker) { struct xe_guc *guc = >->uc.guc; int err; xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); - err = guc_action_vf_notify_resfix_done(guc); + err = guc_action_vf_notify_resfix_done(guc, marker); if (unlikely(err)) xe_gt_sriov_err(gt, "Failed to notify GuC about resource fixup done (%pe)\n", ERR_PTR(err)); @@ -1183,7 +1227,7 @@ static void vf_post_migration_abort(struct xe_gt *gt) xe_guc_submit_pause_abort(>->uc.guc); } -static int vf_post_migration_notify_resfix_done(struct xe_gt *gt) +static int vf_post_migration_notify_resfix_done(struct xe_gt *gt, u16 marker) { bool skip_resfix = false; @@ -1206,12 +1250,27 @@ static int vf_post_migration_notify_resfix_done(struct xe_gt *gt) */ xe_irq_resume(gt_to_xe(gt)); - return vf_notify_resfix_done(gt); + return vf_notify_resfix_done(gt, marker); +} + +static bool vf_resfix_start_marker_supported(struct xe_gt *gt) +{ + struct xe_device *xe = gt_to_xe(gt); + + xe_gt_assert(gt, IS_SRIOV_VF(xe)); + return xe->sriov.vf.migration.resfix_marker_enabled; +} + +static u16 vf_post_migration_resfix_start_marker(struct xe_gt *gt) +{ + xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); + return ++gt->sriov.vf.migration.resfix_marker; } static void vf_post_migration_recovery(struct xe_gt *gt) { struct xe_device *xe = gt_to_xe(gt); + u16 marker = 0; int err; bool retry; @@ -1227,13 +1286,27 @@ static void vf_post_migration_recovery(struct xe_gt *gt) goto fail; } + /* + * Increment the startup marker again if it overflows, since GUC + * requires a non-zero marker to be set. + */ + if (vf_resfix_start_marker_supported(gt)) { + marker = vf_post_migration_resfix_start_marker(gt); + if (!marker) + marker = vf_post_migration_resfix_start_marker(gt); + } + + err = vf_notify_resfix_start(gt, marker); + if (err) + goto fail; + err = vf_post_migration_fixups(gt); if (err) goto fail; vf_post_migration_rearm(gt); - err = vf_post_migration_notify_resfix_done(gt); + err = vf_post_migration_notify_resfix_done(gt, marker); if (err && err != -EAGAIN) goto fail; diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h index 420b0e6089de..ccd850313328 100644 --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h @@ -60,6 +60,11 @@ struct xe_gt_sriov_vf_migration { bool recovery_inprogress; /** @ggtt_need_fixes: VF GGTT needs fixes */ bool ggtt_need_fixes; + /** + * @resfix_marker: Marker sent to Guc prior to starting the + * post‑migration. + */ + u16 resfix_marker; }; /** diff --git a/drivers/gpu/drm/xe/xe_sriov_vf.c b/drivers/gpu/drm/xe/xe_sriov_vf.c index 39c829daa97c..10d6e43fffce 100644 --- a/drivers/gpu/drm/xe/xe_sriov_vf.c +++ b/drivers/gpu/drm/xe/xe_sriov_vf.c @@ -55,7 +55,21 @@ * When the VF driver is ready to continue operation on the newly connected * hardware, it sends `VF2GUC_NOTIFY_RESFIX_DONE` which causes it to * enter the long awaited `VF_RUNNING` state, and therefore start handling - * CTB messages and scheduling workloads from the VF:: + * CTB messages and scheduling workloads from the VF. + * + * In scenarios involving double migration, the VF KMD may encounter situations + * where it is instructed to re-migrate before having the opportunity to send + * RESFIX_DONE for the initial migration. This can occur when the fix-up for the + * prior migration is still underway, but the VF KMD is migrated again. + * Consequently, this may lead to the possibility of sending two migration + * notifications (i.e., pending fix-up for the first migration and a second + * notification for the new migration). Upon receiving the first RES_FIX + * notification, the GuC will resume VF submission on the GPU, potentially + * resulting in undefined behavior, such as system hangs or crashes. + * + * To avoid these hangs, a new VF2GUC action `VF2GUC_NOTIFY_RESFIX_START` is + * sent along with marker and when GUC receives the same marker with + * `VF2GUC_NOTIFY_RESFIX_DONE`action, it starts scheduling work loads from VF:: * * PF GuC VF * [ ] | | @@ -102,6 +116,11 @@ * | [ ] new VF provisioning [ ] * | [ ]---------------------------> [ ] * | | [ ] + * | | VF2GUC_NOTIFY_RESFIX_START [ ] + * | [ ] <---------------------------[ ] + * | [ ] [ ] + * | [ ] success [ ] + * | [ ]---------------------------> [ ] * | | VF driver applies post [ ] * | | migration fixups -------[ ] * | | | [ ] @@ -169,6 +188,26 @@ static void vf_migration_init_early(struct xe_device *xe) } +static void vf_resfix_start_marker_init_early(struct xe_device *xe) +{ + struct xe_gt *gt = xe_root_mmio_gt(xe); + struct xe_uc_fw_version guc_version; + + if (xe->sriov.vf.migration.disabled) + return; + + xe_gt_sriov_vf_guc_versions(gt, NULL, &guc_version); + if (MAKE_GUC_VER_STRUCT(guc_version) < MAKE_GUC_VER(1, 24, 10)) { + xe_sriov_notice(xe, + "Resfix start marker requires GUC ABI >= 1.24.10, but only %u.%u.%u found", + guc_version.major, guc_version.minor, guc_version.patch); + return; + } + + xe->sriov.vf.migration.resfix_marker_enabled = true; + xe_sriov_dbg(xe, "migrate: Resfix start marker support is enabled\n"); +} + /** * xe_sriov_vf_init_early - Initialize SR-IOV VF specific data. * @xe: the &xe_device to initialize @@ -176,6 +215,7 @@ static void vf_migration_init_early(struct xe_device *xe) void xe_sriov_vf_init_early(struct xe_device *xe) { vf_migration_init_early(xe); + vf_resfix_start_marker_init_early(xe); } /** diff --git a/drivers/gpu/drm/xe/xe_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_sriov_vf_types.h index d5f72d667817..626c11a6dd1b 100644 --- a/drivers/gpu/drm/xe/xe_sriov_vf_types.h +++ b/drivers/gpu/drm/xe/xe_sriov_vf_types.h @@ -38,6 +38,11 @@ struct xe_device_vf { * was turned off due to missing prerequisites */ bool disabled; + /** + * @migration.resfix_marker_enabled: flag indicating if resfix marker + * support was enabled or not due to missing prerequisites. + */ + bool resfix_marker_enabled; } migration; /** @ccs: VF CCS state data */ -- 2.51.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] drm/xe/vf: Introduce RESFIX start marker support 2025-10-23 15:36 ` [PATCH v2 1/2] drm/xe/vf: Introduce RESFIX start marker support Satyanarayana K V P @ 2025-10-23 20:37 ` Matthew Brost 2025-10-23 20:54 ` Matthew Brost 2025-10-31 20:10 ` Matthew Brost 2025-10-23 23:33 ` Michal Wajdeczko 1 sibling, 2 replies; 11+ messages in thread From: Matthew Brost @ 2025-10-23 20:37 UTC (permalink / raw) To: Satyanarayana K V P; +Cc: intel-xe, Michal Wajdeczko, Tomasz Lis On Thu, Oct 23, 2025 at 09:06:11PM +0530, Satyanarayana K V P wrote: > Post migration, a marker is sent to the GUC prior to the start of resource > fixups to indicate start of resource fixups. The same marker is sent along > with RESFIX_DONE notification so that GUC can avoid submitting jobs to HW > in case of double migration. > > Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> > Cc: Matthew Brost <matthew.brost@intel.com> > Cc: Tomasz Lis <tomasz.lis@intel.com> > > --- > V1 -> V2: > - Squashed "Enable RESFIX start marker only on supported GUC > versions" commit into a single commit. (Matt B) > --- > .../gpu/drm/xe/abi/guc_actions_sriov_abi.h | 38 ++++++++ > drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 87 +++++++++++++++++-- > drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h | 5 ++ > drivers/gpu/drm/xe/xe_sriov_vf.c | 42 ++++++++- > drivers/gpu/drm/xe/xe_sriov_vf_types.h | 5 ++ > 5 files changed, 169 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h b/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h > index 0b28659d94e9..b9141497bfd5 100644 > --- a/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h > +++ b/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h > @@ -656,4 +656,42 @@ > #define PF2GUC_SAVE_RESTORE_VF_RESPONSE_MSG_LEN GUC_HXG_RESPONSE_MSG_MIN_LEN > #define PF2GUC_SAVE_RESTORE_VF_RESPONSE_MSG_0_USED GUC_HXG_RESPONSE_MSG_0_DATA0 > > +/** > + * DOC: VF2GUC_NOTIFY_RESFIX_START > + * > + * This action is used by VF to notify the GuC that the VF KMD will be starting > + * post-migration recovery steps. > + * > + * This message must be sent as `MMIO HXG Message`_. > + * > + * +---+-------+--------------------------------------------------------------+ > + * | | Bits | Description | > + * +===+=======+==============================================================+ > + * | 0 | 31 | ORIGIN = GUC_HXG_ORIGIN_HOST_ | > + * | +-------+--------------------------------------------------------------+ > + * | | 30:28 | TYPE = GUC_HXG_TYPE_REQUEST_ | > + * | +-------+--------------------------------------------------------------+ > + * | | 27:16 | DATA0 = MBZ | > + * | +-------+--------------------------------------------------------------+ > + * | | 15:0 | ACTION = _`GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START` = 0x550F | > + * +---+-------+--------------------------------------------------------------+ > + * > + * +---+-------+--------------------------------------------------------------+ > + * | | Bits | Description | > + * +===+=======+==============================================================+ > + * | 0 | 31 | ORIGIN = GUC_HXG_ORIGIN_GUC_ | > + * | +-------+--------------------------------------------------------------+ > + * | | 30:28 | TYPE = GUC_HXG_TYPE_RESPONSE_SUCCESS_ | > + * | +-------+--------------------------------------------------------------+ > + * | | 27:0 | DATA0 = MBZ | > + * +---+-------+--------------------------------------------------------------+ > + */ > +#define GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START 0x550Fu > + > +#define VF2GUC_NOTIFY_RESFIX_START_REQUEST_MSG_LEN GUC_HXG_REQUEST_MSG_MIN_LEN > +#define VF2GUC_NOTIFY_RESFIX_START_REQUEST_MSG_0_MBZ GUC_HXG_REQUEST_MSG_0_DATA0 > + > +#define VF2GUC_NOTIFY_RESFIX_START_RESPONSE_MSG_LEN GUC_HXG_RESPONSE_MSG_MIN_LEN > +#define VF2GUC_NOTIFY_RESFIX_START_RESPONSE_MSG_0_MBZ GUC_HXG_RESPONSE_MSG_0_DATA0 > + > #endif > diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > index d0b102ab6ce8..8c1448d6c81d 100644 > --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > @@ -299,12 +299,55 @@ void xe_gt_sriov_vf_guc_versions(struct xe_gt *gt, > *found = gt->sriov.vf.guc_version; > } > > -static int guc_action_vf_notify_resfix_done(struct xe_guc *guc) > +static int guc_action_vf_notify_resfix_start(struct xe_guc *guc, u16 marker) > { > u32 request[GUC_HXG_REQUEST_MSG_MIN_LEN] = { > FIELD_PREP(GUC_HXG_MSG_0_ORIGIN, GUC_HXG_ORIGIN_HOST) | > FIELD_PREP(GUC_HXG_MSG_0_TYPE, GUC_HXG_TYPE_REQUEST) | > - FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, GUC_ACTION_VF2GUC_NOTIFY_RESFIX_DONE), > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, > + GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START) | > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_DATA0, marker), > + }; > + int ret; > + > + ret = xe_guc_mmio_send(guc, request, ARRAY_SIZE(request)); > + > + return ret > 0 ? -EPROTO : ret; > +} > + > +/** > + * vf_notify_resfix_start - Notify GuC about start of resource fixups. > + * @gt: the &xe_gt struct instance linked to target GuC > + * @marker: marker to identify the migration. > + * > + * Returns: 0 if the operation completed successfully, or a negative error > + * code otherwise. > + */ > +static int vf_notify_resfix_start(struct xe_gt *gt, u16 marker) > +{ > + struct xe_guc *guc = >->uc.guc; > + int err; > + > + xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); > + > + err = guc_action_vf_notify_resfix_start(guc, marker); > + if (unlikely(err)) > + xe_gt_sriov_err(gt, "Failed to notify GuC about resource fixup start (%pe)\n", > + ERR_PTR(err)); > + else > + xe_gt_sriov_dbg_verbose(gt, "sent GuC resource fixup start\n"); > + > + return err; > +} > + > +static int guc_action_vf_notify_resfix_done(struct xe_guc *guc, u16 marker) > +{ > + u32 request[GUC_HXG_REQUEST_MSG_MIN_LEN] = { > + FIELD_PREP(GUC_HXG_MSG_0_ORIGIN, GUC_HXG_ORIGIN_HOST) | > + FIELD_PREP(GUC_HXG_MSG_0_TYPE, GUC_HXG_TYPE_REQUEST) | > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, > + GUC_ACTION_VF2GUC_NOTIFY_RESFIX_DONE) | > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_DATA0, marker), > }; > int ret; > > @@ -316,18 +359,19 @@ static int guc_action_vf_notify_resfix_done(struct xe_guc *guc) > /** > * vf_notify_resfix_done - Notify GuC about resource fixups apply completed. > * @gt: the &xe_gt struct instance linked to target GuC > + * @marker: marker to identify the migration. > * > * Returns: 0 if the operation completed successfully, or a negative error > * code otherwise. > */ > -static int vf_notify_resfix_done(struct xe_gt *gt) > +static int vf_notify_resfix_done(struct xe_gt *gt, u16 marker) > { > struct xe_guc *guc = >->uc.guc; > int err; > > xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); > > - err = guc_action_vf_notify_resfix_done(guc); > + err = guc_action_vf_notify_resfix_done(guc, marker); > if (unlikely(err)) > xe_gt_sriov_err(gt, "Failed to notify GuC about resource fixup done (%pe)\n", > ERR_PTR(err)); > @@ -1183,7 +1227,7 @@ static void vf_post_migration_abort(struct xe_gt *gt) > xe_guc_submit_pause_abort(>->uc.guc); > } > > -static int vf_post_migration_notify_resfix_done(struct xe_gt *gt) > +static int vf_post_migration_notify_resfix_done(struct xe_gt *gt, u16 marker) > { > bool skip_resfix = false; > > @@ -1206,12 +1250,27 @@ static int vf_post_migration_notify_resfix_done(struct xe_gt *gt) > */ > xe_irq_resume(gt_to_xe(gt)); > > - return vf_notify_resfix_done(gt); > + return vf_notify_resfix_done(gt, marker); > +} > + > +static bool vf_resfix_start_marker_supported(struct xe_gt *gt) > +{ > + struct xe_device *xe = gt_to_xe(gt); > + > + xe_gt_assert(gt, IS_SRIOV_VF(xe)); > + return xe->sriov.vf.migration.resfix_marker_enabled; > +} > + > +static u16 vf_post_migration_resfix_start_marker(struct xe_gt *gt) > +{ > + xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); > + return ++gt->sriov.vf.migration.resfix_marker; > } > > static void vf_post_migration_recovery(struct xe_gt *gt) > { > struct xe_device *xe = gt_to_xe(gt); > + u16 marker = 0; > int err; > bool retry; > > @@ -1227,13 +1286,27 @@ static void vf_post_migration_recovery(struct xe_gt *gt) > goto fail; > } > > + /* > + * Increment the startup marker again if it overflows, since GUC > + * requires a non-zero marker to be set. > + */ > + if (vf_resfix_start_marker_supported(gt)) { > + marker = vf_post_migration_resfix_start_marker(gt); > + if (!marker) > + marker = vf_post_migration_resfix_start_marker(gt); Nit: Maybe just don't zero in vf_post_migration_resfix_start_marker. > + } > + > + err = vf_notify_resfix_start(gt, marker); > + if (err) > + goto fail; > + > err = vf_post_migration_fixups(gt); > if (err) > goto fail; > > vf_post_migration_rearm(gt); > > - err = vf_post_migration_notify_resfix_done(gt); > + err = vf_post_migration_notify_resfix_done(gt, marker); > if (err && err != -EAGAIN) > goto fail; > Nit: You missed my comment skipping kickstart if err == -EAGAIN but I think that harmless, in existing code, and can be done in a follow up. Anyways patch looks functionaly correct to me: Reviewed-by: Matthew Brost <matthew.brost@intel.com> > diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h > index 420b0e6089de..ccd850313328 100644 > --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h > +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h > @@ -60,6 +60,11 @@ struct xe_gt_sriov_vf_migration { > bool recovery_inprogress; > /** @ggtt_need_fixes: VF GGTT needs fixes */ > bool ggtt_need_fixes; > + /** > + * @resfix_marker: Marker sent to Guc prior to starting the > + * post‑migration. > + */ > + u16 resfix_marker; > }; > > /** > diff --git a/drivers/gpu/drm/xe/xe_sriov_vf.c b/drivers/gpu/drm/xe/xe_sriov_vf.c > index 39c829daa97c..10d6e43fffce 100644 > --- a/drivers/gpu/drm/xe/xe_sriov_vf.c > +++ b/drivers/gpu/drm/xe/xe_sriov_vf.c > @@ -55,7 +55,21 @@ > * When the VF driver is ready to continue operation on the newly connected > * hardware, it sends `VF2GUC_NOTIFY_RESFIX_DONE` which causes it to > * enter the long awaited `VF_RUNNING` state, and therefore start handling > - * CTB messages and scheduling workloads from the VF:: > + * CTB messages and scheduling workloads from the VF. > + * > + * In scenarios involving double migration, the VF KMD may encounter situations > + * where it is instructed to re-migrate before having the opportunity to send > + * RESFIX_DONE for the initial migration. This can occur when the fix-up for the > + * prior migration is still underway, but the VF KMD is migrated again. > + * Consequently, this may lead to the possibility of sending two migration > + * notifications (i.e., pending fix-up for the first migration and a second > + * notification for the new migration). Upon receiving the first RES_FIX > + * notification, the GuC will resume VF submission on the GPU, potentially > + * resulting in undefined behavior, such as system hangs or crashes. > + * > + * To avoid these hangs, a new VF2GUC action `VF2GUC_NOTIFY_RESFIX_START` is > + * sent along with marker and when GUC receives the same marker with > + * `VF2GUC_NOTIFY_RESFIX_DONE`action, it starts scheduling work loads from VF:: > * > * PF GuC VF > * [ ] | | > @@ -102,6 +116,11 @@ > * | [ ] new VF provisioning [ ] > * | [ ]---------------------------> [ ] > * | | [ ] > + * | | VF2GUC_NOTIFY_RESFIX_START [ ] > + * | [ ] <---------------------------[ ] > + * | [ ] [ ] > + * | [ ] success [ ] > + * | [ ]---------------------------> [ ] > * | | VF driver applies post [ ] > * | | migration fixups -------[ ] > * | | | [ ] > @@ -169,6 +188,26 @@ static void vf_migration_init_early(struct xe_device *xe) > > } > > +static void vf_resfix_start_marker_init_early(struct xe_device *xe) > +{ > + struct xe_gt *gt = xe_root_mmio_gt(xe); > + struct xe_uc_fw_version guc_version; > + > + if (xe->sriov.vf.migration.disabled) > + return; > + > + xe_gt_sriov_vf_guc_versions(gt, NULL, &guc_version); > + if (MAKE_GUC_VER_STRUCT(guc_version) < MAKE_GUC_VER(1, 24, 10)) { > + xe_sriov_notice(xe, > + "Resfix start marker requires GUC ABI >= 1.24.10, but only %u.%u.%u found", > + guc_version.major, guc_version.minor, guc_version.patch); > + return; > + } > + > + xe->sriov.vf.migration.resfix_marker_enabled = true; > + xe_sriov_dbg(xe, "migrate: Resfix start marker support is enabled\n"); > +} > + > /** > * xe_sriov_vf_init_early - Initialize SR-IOV VF specific data. > * @xe: the &xe_device to initialize > @@ -176,6 +215,7 @@ static void vf_migration_init_early(struct xe_device *xe) > void xe_sriov_vf_init_early(struct xe_device *xe) > { > vf_migration_init_early(xe); > + vf_resfix_start_marker_init_early(xe); > } > > /** > diff --git a/drivers/gpu/drm/xe/xe_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_sriov_vf_types.h > index d5f72d667817..626c11a6dd1b 100644 > --- a/drivers/gpu/drm/xe/xe_sriov_vf_types.h > +++ b/drivers/gpu/drm/xe/xe_sriov_vf_types.h > @@ -38,6 +38,11 @@ struct xe_device_vf { > * was turned off due to missing prerequisites > */ > bool disabled; > + /** > + * @migration.resfix_marker_enabled: flag indicating if resfix marker > + * support was enabled or not due to missing prerequisites. > + */ > + bool resfix_marker_enabled; > } migration; > > /** @ccs: VF CCS state data */ > -- > 2.51.0 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] drm/xe/vf: Introduce RESFIX start marker support 2025-10-23 20:37 ` Matthew Brost @ 2025-10-23 20:54 ` Matthew Brost 2025-10-31 20:10 ` Matthew Brost 1 sibling, 0 replies; 11+ messages in thread From: Matthew Brost @ 2025-10-23 20:54 UTC (permalink / raw) To: Satyanarayana K V P; +Cc: intel-xe, Michal Wajdeczko, Tomasz Lis On Thu, Oct 23, 2025 at 01:37:33PM -0700, Matthew Brost wrote: > On Thu, Oct 23, 2025 at 09:06:11PM +0530, Satyanarayana K V P wrote: > > Post migration, a marker is sent to the GUC prior to the start of resource > > fixups to indicate start of resource fixups. The same marker is sent along > > with RESFIX_DONE notification so that GUC can avoid submitting jobs to HW > > in case of double migration. > > > > Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> > > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> > > Cc: Matthew Brost <matthew.brost@intel.com> > > Cc: Tomasz Lis <tomasz.lis@intel.com> > > > > --- > > V1 -> V2: > > - Squashed "Enable RESFIX start marker only on supported GUC > > versions" commit into a single commit. (Matt B) > > --- > > .../gpu/drm/xe/abi/guc_actions_sriov_abi.h | 38 ++++++++ > > drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 87 +++++++++++++++++-- > > drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h | 5 ++ > > drivers/gpu/drm/xe/xe_sriov_vf.c | 42 ++++++++- > > drivers/gpu/drm/xe/xe_sriov_vf_types.h | 5 ++ > > 5 files changed, 169 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h b/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h > > index 0b28659d94e9..b9141497bfd5 100644 > > --- a/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h > > +++ b/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h > > @@ -656,4 +656,42 @@ > > #define PF2GUC_SAVE_RESTORE_VF_RESPONSE_MSG_LEN GUC_HXG_RESPONSE_MSG_MIN_LEN > > #define PF2GUC_SAVE_RESTORE_VF_RESPONSE_MSG_0_USED GUC_HXG_RESPONSE_MSG_0_DATA0 > > > > +/** > > + * DOC: VF2GUC_NOTIFY_RESFIX_START > > + * > > + * This action is used by VF to notify the GuC that the VF KMD will be starting > > + * post-migration recovery steps. > > + * > > + * This message must be sent as `MMIO HXG Message`_. > > + * > > + * +---+-------+--------------------------------------------------------------+ > > + * | | Bits | Description | > > + * +===+=======+==============================================================+ > > + * | 0 | 31 | ORIGIN = GUC_HXG_ORIGIN_HOST_ | > > + * | +-------+--------------------------------------------------------------+ > > + * | | 30:28 | TYPE = GUC_HXG_TYPE_REQUEST_ | > > + * | +-------+--------------------------------------------------------------+ > > + * | | 27:16 | DATA0 = MBZ | > > + * | +-------+--------------------------------------------------------------+ > > + * | | 15:0 | ACTION = _`GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START` = 0x550F | > > + * +---+-------+--------------------------------------------------------------+ > > + * > > + * +---+-------+--------------------------------------------------------------+ > > + * | | Bits | Description | > > + * +===+=======+==============================================================+ > > + * | 0 | 31 | ORIGIN = GUC_HXG_ORIGIN_GUC_ | > > + * | +-------+--------------------------------------------------------------+ > > + * | | 30:28 | TYPE = GUC_HXG_TYPE_RESPONSE_SUCCESS_ | > > + * | +-------+--------------------------------------------------------------+ > > + * | | 27:0 | DATA0 = MBZ | > > + * +---+-------+--------------------------------------------------------------+ > > + */ > > +#define GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START 0x550Fu > > + > > +#define VF2GUC_NOTIFY_RESFIX_START_REQUEST_MSG_LEN GUC_HXG_REQUEST_MSG_MIN_LEN > > +#define VF2GUC_NOTIFY_RESFIX_START_REQUEST_MSG_0_MBZ GUC_HXG_REQUEST_MSG_0_DATA0 > > + > > +#define VF2GUC_NOTIFY_RESFIX_START_RESPONSE_MSG_LEN GUC_HXG_RESPONSE_MSG_MIN_LEN > > +#define VF2GUC_NOTIFY_RESFIX_START_RESPONSE_MSG_0_MBZ GUC_HXG_RESPONSE_MSG_0_DATA0 > > + > > #endif > > diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > > index d0b102ab6ce8..8c1448d6c81d 100644 > > --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > > +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > > @@ -299,12 +299,55 @@ void xe_gt_sriov_vf_guc_versions(struct xe_gt *gt, > > *found = gt->sriov.vf.guc_version; > > } > > > > -static int guc_action_vf_notify_resfix_done(struct xe_guc *guc) > > +static int guc_action_vf_notify_resfix_start(struct xe_guc *guc, u16 marker) > > { > > u32 request[GUC_HXG_REQUEST_MSG_MIN_LEN] = { > > FIELD_PREP(GUC_HXG_MSG_0_ORIGIN, GUC_HXG_ORIGIN_HOST) | > > FIELD_PREP(GUC_HXG_MSG_0_TYPE, GUC_HXG_TYPE_REQUEST) | > > - FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, GUC_ACTION_VF2GUC_NOTIFY_RESFIX_DONE), > > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, > > + GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START) | > > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_DATA0, marker), > > + }; > > + int ret; > > + > > + ret = xe_guc_mmio_send(guc, request, ARRAY_SIZE(request)); > > + > > + return ret > 0 ? -EPROTO : ret; > > +} > > + > > +/** > > + * vf_notify_resfix_start - Notify GuC about start of resource fixups. > > + * @gt: the &xe_gt struct instance linked to target GuC > > + * @marker: marker to identify the migration. > > + * > > + * Returns: 0 if the operation completed successfully, or a negative error > > + * code otherwise. > > + */ > > +static int vf_notify_resfix_start(struct xe_gt *gt, u16 marker) > > +{ > > + struct xe_guc *guc = >->uc.guc; > > + int err; > > + > > + xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); > > + > > + err = guc_action_vf_notify_resfix_start(guc, marker); > > + if (unlikely(err)) > > + xe_gt_sriov_err(gt, "Failed to notify GuC about resource fixup start (%pe)\n", > > + ERR_PTR(err)); > > + else > > + xe_gt_sriov_dbg_verbose(gt, "sent GuC resource fixup start\n"); > > + > > + return err; > > +} > > + > > +static int guc_action_vf_notify_resfix_done(struct xe_guc *guc, u16 marker) > > +{ > > + u32 request[GUC_HXG_REQUEST_MSG_MIN_LEN] = { > > + FIELD_PREP(GUC_HXG_MSG_0_ORIGIN, GUC_HXG_ORIGIN_HOST) | > > + FIELD_PREP(GUC_HXG_MSG_0_TYPE, GUC_HXG_TYPE_REQUEST) | > > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, > > + GUC_ACTION_VF2GUC_NOTIFY_RESFIX_DONE) | > > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_DATA0, marker), > > }; > > int ret; > > > > @@ -316,18 +359,19 @@ static int guc_action_vf_notify_resfix_done(struct xe_guc *guc) > > /** > > * vf_notify_resfix_done - Notify GuC about resource fixups apply completed. > > * @gt: the &xe_gt struct instance linked to target GuC > > + * @marker: marker to identify the migration. > > * > > * Returns: 0 if the operation completed successfully, or a negative error > > * code otherwise. > > */ > > -static int vf_notify_resfix_done(struct xe_gt *gt) > > +static int vf_notify_resfix_done(struct xe_gt *gt, u16 marker) > > { > > struct xe_guc *guc = >->uc.guc; > > int err; > > > > xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); > > > > - err = guc_action_vf_notify_resfix_done(guc); > > + err = guc_action_vf_notify_resfix_done(guc, marker); > > if (unlikely(err)) > > xe_gt_sriov_err(gt, "Failed to notify GuC about resource fixup done (%pe)\n", > > ERR_PTR(err)); > > @@ -1183,7 +1227,7 @@ static void vf_post_migration_abort(struct xe_gt *gt) > > xe_guc_submit_pause_abort(>->uc.guc); > > } > > > > -static int vf_post_migration_notify_resfix_done(struct xe_gt *gt) > > +static int vf_post_migration_notify_resfix_done(struct xe_gt *gt, u16 marker) > > { > > bool skip_resfix = false; > > > > @@ -1206,12 +1250,27 @@ static int vf_post_migration_notify_resfix_done(struct xe_gt *gt) > > */ > > xe_irq_resume(gt_to_xe(gt)); > > > > - return vf_notify_resfix_done(gt); > > + return vf_notify_resfix_done(gt, marker); > > +} > > + > > +static bool vf_resfix_start_marker_supported(struct xe_gt *gt) > > +{ > > + struct xe_device *xe = gt_to_xe(gt); > > + > > + xe_gt_assert(gt, IS_SRIOV_VF(xe)); > > + return xe->sriov.vf.migration.resfix_marker_enabled; > > +} > > + > > +static u16 vf_post_migration_resfix_start_marker(struct xe_gt *gt) > > +{ > > + xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); > > + return ++gt->sriov.vf.migration.resfix_marker; > > } > > > > static void vf_post_migration_recovery(struct xe_gt *gt) > > { > > struct xe_device *xe = gt_to_xe(gt); > > + u16 marker = 0; > > int err; > > bool retry; > > > > @@ -1227,13 +1286,27 @@ static void vf_post_migration_recovery(struct xe_gt *gt) > > goto fail; > > } > > > > + /* > > + * Increment the startup marker again if it overflows, since GUC > > + * requires a non-zero marker to be set. > > + */ > > + if (vf_resfix_start_marker_supported(gt)) { > > + marker = vf_post_migration_resfix_start_marker(gt); > > + if (!marker) > > + marker = vf_post_migration_resfix_start_marker(gt); > > Nit: Maybe just don't zero in vf_post_migration_resfix_start_marker. > > > + } > > + > > + err = vf_notify_resfix_start(gt, marker); > > + if (err) > > + goto fail; > > + > > err = vf_post_migration_fixups(gt); > > if (err) > > goto fail; > > > > vf_post_migration_rearm(gt); > > > > - err = vf_post_migration_notify_resfix_done(gt); > > + err = vf_post_migration_notify_resfix_done(gt, marker); > > if (err && err != -EAGAIN) > > goto fail; > > > > Nit: You missed my comment skipping kickstart if err == -EAGAIN but I > think that harmless, in existing code, and can be done in a follow up. > > Anyways patch looks functionaly correct to me: > Reviewed-by: Matthew Brost <matthew.brost@intel.com> Actually it is not functional. This patch has the same problem [1] which was fixed in: git format-patch -1 c88634339757736b86ed45c08bae74b4f47ed9d9 More on that below. [1] https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-bmg-2/igt@sriov_basic@enable-vfs-autoprobe-on.html > > > diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h > > index 420b0e6089de..ccd850313328 100644 > > --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h > > +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h > > @@ -60,6 +60,11 @@ struct xe_gt_sriov_vf_migration { > > bool recovery_inprogress; > > /** @ggtt_need_fixes: VF GGTT needs fixes */ > > bool ggtt_need_fixes; > > + /** > > + * @resfix_marker: Marker sent to Guc prior to starting the > > + * post‑migration. > > + */ > > + u16 resfix_marker; > > }; > > > > /** > > diff --git a/drivers/gpu/drm/xe/xe_sriov_vf.c b/drivers/gpu/drm/xe/xe_sriov_vf.c > > index 39c829daa97c..10d6e43fffce 100644 > > --- a/drivers/gpu/drm/xe/xe_sriov_vf.c > > +++ b/drivers/gpu/drm/xe/xe_sriov_vf.c > > @@ -55,7 +55,21 @@ > > * When the VF driver is ready to continue operation on the newly connected > > * hardware, it sends `VF2GUC_NOTIFY_RESFIX_DONE` which causes it to > > * enter the long awaited `VF_RUNNING` state, and therefore start handling > > - * CTB messages and scheduling workloads from the VF:: > > + * CTB messages and scheduling workloads from the VF. > > + * > > + * In scenarios involving double migration, the VF KMD may encounter situations > > + * where it is instructed to re-migrate before having the opportunity to send > > + * RESFIX_DONE for the initial migration. This can occur when the fix-up for the > > + * prior migration is still underway, but the VF KMD is migrated again. > > + * Consequently, this may lead to the possibility of sending two migration > > + * notifications (i.e., pending fix-up for the first migration and a second > > + * notification for the new migration). Upon receiving the first RES_FIX > > + * notification, the GuC will resume VF submission on the GPU, potentially > > + * resulting in undefined behavior, such as system hangs or crashes. > > + * > > + * To avoid these hangs, a new VF2GUC action `VF2GUC_NOTIFY_RESFIX_START` is > > + * sent along with marker and when GUC receives the same marker with > > + * `VF2GUC_NOTIFY_RESFIX_DONE`action, it starts scheduling work loads from VF:: > > * > > * PF GuC VF > > * [ ] | | > > @@ -102,6 +116,11 @@ > > * | [ ] new VF provisioning [ ] > > * | [ ]---------------------------> [ ] > > * | | [ ] > > + * | | VF2GUC_NOTIFY_RESFIX_START [ ] > > + * | [ ] <---------------------------[ ] > > + * | [ ] [ ] > > + * | [ ] success [ ] > > + * | [ ]---------------------------> [ ] > > * | | VF driver applies post [ ] > > * | | migration fixups -------[ ] > > * | | | [ ] > > @@ -169,6 +188,26 @@ static void vf_migration_init_early(struct xe_device *xe) > > > > } > > > > +static void vf_resfix_start_marker_init_early(struct xe_device *xe) > > +{ > > + struct xe_gt *gt = xe_root_mmio_gt(xe); > > + struct xe_uc_fw_version guc_version; > > + > > + if (xe->sriov.vf.migration.disabled) > > + return; > > + > > + xe_gt_sriov_vf_guc_versions(gt, NULL, &guc_version); > > + if (MAKE_GUC_VER_STRUCT(guc_version) < MAKE_GUC_VER(1, 24, 10)) { > > + xe_sriov_notice(xe, > > + "Resfix start marker requires GUC ABI >= 1.24.10, but only %u.%u.%u found", > > + guc_version.major, guc_version.minor, guc_version.patch); > > + return; > > + } > > + > > + xe->sriov.vf.migration.resfix_marker_enabled = true; > > + xe_sriov_dbg(xe, "migrate: Resfix start marker support is enabled\n"); > > +} > > + As with: git format-patch -1 c88634339757736b86ed45c08bae74b4f47ed9d9 xe_gt_sriov_vf_guc_versions isn't available in 'init_early', so this step needs to be moved 'init_late' like the CCS check. I suggest following Michal's suggestion of start with marker enabled, then disable it late. Matt > > /** > > * xe_sriov_vf_init_early - Initialize SR-IOV VF specific data. > > * @xe: the &xe_device to initialize > > @@ -176,6 +215,7 @@ static void vf_migration_init_early(struct xe_device *xe) > > void xe_sriov_vf_init_early(struct xe_device *xe) > > { > > vf_migration_init_early(xe); > > + vf_resfix_start_marker_init_early(xe); > > } > > > > /** > > diff --git a/drivers/gpu/drm/xe/xe_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_sriov_vf_types.h > > index d5f72d667817..626c11a6dd1b 100644 > > --- a/drivers/gpu/drm/xe/xe_sriov_vf_types.h > > +++ b/drivers/gpu/drm/xe/xe_sriov_vf_types.h > > @@ -38,6 +38,11 @@ struct xe_device_vf { > > * was turned off due to missing prerequisites > > */ > > bool disabled; > > + /** > > + * @migration.resfix_marker_enabled: flag indicating if resfix marker > > + * support was enabled or not due to missing prerequisites. > > + */ > > + bool resfix_marker_enabled; > > } migration; > > > > /** @ccs: VF CCS state data */ > > -- > > 2.51.0 > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] drm/xe/vf: Introduce RESFIX start marker support 2025-10-23 20:37 ` Matthew Brost 2025-10-23 20:54 ` Matthew Brost @ 2025-10-31 20:10 ` Matthew Brost 1 sibling, 0 replies; 11+ messages in thread From: Matthew Brost @ 2025-10-31 20:10 UTC (permalink / raw) To: Satyanarayana K V P; +Cc: intel-xe, Michal Wajdeczko, Tomasz Lis On Thu, Oct 23, 2025 at 01:37:33PM -0700, Matthew Brost wrote: > On Thu, Oct 23, 2025 at 09:06:11PM +0530, Satyanarayana K V P wrote: > > Post migration, a marker is sent to the GUC prior to the start of resource > > fixups to indicate start of resource fixups. The same marker is sent along > > with RESFIX_DONE notification so that GUC can avoid submitting jobs to HW > > in case of double migration. > > > > Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> > > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> > > Cc: Matthew Brost <matthew.brost@intel.com> > > Cc: Tomasz Lis <tomasz.lis@intel.com> > > > > --- > > V1 -> V2: > > - Squashed "Enable RESFIX start marker only on supported GUC > > versions" commit into a single commit. (Matt B) > > --- > > .../gpu/drm/xe/abi/guc_actions_sriov_abi.h | 38 ++++++++ > > drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 87 +++++++++++++++++-- > > drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h | 5 ++ > > drivers/gpu/drm/xe/xe_sriov_vf.c | 42 ++++++++- > > drivers/gpu/drm/xe/xe_sriov_vf_types.h | 5 ++ > > 5 files changed, 169 insertions(+), 8 deletions(-) > > > > diff --git a/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h b/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h > > index 0b28659d94e9..b9141497bfd5 100644 > > --- a/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h > > +++ b/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h > > @@ -656,4 +656,42 @@ > > #define PF2GUC_SAVE_RESTORE_VF_RESPONSE_MSG_LEN GUC_HXG_RESPONSE_MSG_MIN_LEN > > #define PF2GUC_SAVE_RESTORE_VF_RESPONSE_MSG_0_USED GUC_HXG_RESPONSE_MSG_0_DATA0 > > > > +/** > > + * DOC: VF2GUC_NOTIFY_RESFIX_START > > + * > > + * This action is used by VF to notify the GuC that the VF KMD will be starting > > + * post-migration recovery steps. > > + * > > + * This message must be sent as `MMIO HXG Message`_. > > + * > > + * +---+-------+--------------------------------------------------------------+ > > + * | | Bits | Description | > > + * +===+=======+==============================================================+ > > + * | 0 | 31 | ORIGIN = GUC_HXG_ORIGIN_HOST_ | > > + * | +-------+--------------------------------------------------------------+ > > + * | | 30:28 | TYPE = GUC_HXG_TYPE_REQUEST_ | > > + * | +-------+--------------------------------------------------------------+ > > + * | | 27:16 | DATA0 = MBZ | > > + * | +-------+--------------------------------------------------------------+ > > + * | | 15:0 | ACTION = _`GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START` = 0x550F | > > + * +---+-------+--------------------------------------------------------------+ > > + * > > + * +---+-------+--------------------------------------------------------------+ > > + * | | Bits | Description | > > + * +===+=======+==============================================================+ > > + * | 0 | 31 | ORIGIN = GUC_HXG_ORIGIN_GUC_ | > > + * | +-------+--------------------------------------------------------------+ > > + * | | 30:28 | TYPE = GUC_HXG_TYPE_RESPONSE_SUCCESS_ | > > + * | +-------+--------------------------------------------------------------+ > > + * | | 27:0 | DATA0 = MBZ | > > + * +---+-------+--------------------------------------------------------------+ > > + */ > > +#define GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START 0x550Fu > > + > > +#define VF2GUC_NOTIFY_RESFIX_START_REQUEST_MSG_LEN GUC_HXG_REQUEST_MSG_MIN_LEN > > +#define VF2GUC_NOTIFY_RESFIX_START_REQUEST_MSG_0_MBZ GUC_HXG_REQUEST_MSG_0_DATA0 > > + > > +#define VF2GUC_NOTIFY_RESFIX_START_RESPONSE_MSG_LEN GUC_HXG_RESPONSE_MSG_MIN_LEN > > +#define VF2GUC_NOTIFY_RESFIX_START_RESPONSE_MSG_0_MBZ GUC_HXG_RESPONSE_MSG_0_DATA0 > > + > > #endif > > diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > > index d0b102ab6ce8..8c1448d6c81d 100644 > > --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > > +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > > @@ -299,12 +299,55 @@ void xe_gt_sriov_vf_guc_versions(struct xe_gt *gt, > > *found = gt->sriov.vf.guc_version; > > } > > > > -static int guc_action_vf_notify_resfix_done(struct xe_guc *guc) > > +static int guc_action_vf_notify_resfix_start(struct xe_guc *guc, u16 marker) > > { > > u32 request[GUC_HXG_REQUEST_MSG_MIN_LEN] = { > > FIELD_PREP(GUC_HXG_MSG_0_ORIGIN, GUC_HXG_ORIGIN_HOST) | > > FIELD_PREP(GUC_HXG_MSG_0_TYPE, GUC_HXG_TYPE_REQUEST) | > > - FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, GUC_ACTION_VF2GUC_NOTIFY_RESFIX_DONE), > > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, > > + GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START) | > > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_DATA0, marker), > > + }; > > + int ret; > > + > > + ret = xe_guc_mmio_send(guc, request, ARRAY_SIZE(request)); > > + > > + return ret > 0 ? -EPROTO : ret; > > +} > > + > > +/** > > + * vf_notify_resfix_start - Notify GuC about start of resource fixups. > > + * @gt: the &xe_gt struct instance linked to target GuC > > + * @marker: marker to identify the migration. > > + * > > + * Returns: 0 if the operation completed successfully, or a negative error > > + * code otherwise. > > + */ > > +static int vf_notify_resfix_start(struct xe_gt *gt, u16 marker) > > +{ > > + struct xe_guc *guc = >->uc.guc; > > + int err; > > + > > + xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); > > + > > + err = guc_action_vf_notify_resfix_start(guc, marker); > > + if (unlikely(err)) > > + xe_gt_sriov_err(gt, "Failed to notify GuC about resource fixup start (%pe)\n", > > + ERR_PTR(err)); > > + else > > + xe_gt_sriov_dbg_verbose(gt, "sent GuC resource fixup start\n"); > > + > > + return err; > > +} > > + > > +static int guc_action_vf_notify_resfix_done(struct xe_guc *guc, u16 marker) > > +{ > > + u32 request[GUC_HXG_REQUEST_MSG_MIN_LEN] = { > > + FIELD_PREP(GUC_HXG_MSG_0_ORIGIN, GUC_HXG_ORIGIN_HOST) | > > + FIELD_PREP(GUC_HXG_MSG_0_TYPE, GUC_HXG_TYPE_REQUEST) | > > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, > > + GUC_ACTION_VF2GUC_NOTIFY_RESFIX_DONE) | > > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_DATA0, marker), > > }; > > int ret; > > > > @@ -316,18 +359,19 @@ static int guc_action_vf_notify_resfix_done(struct xe_guc *guc) > > /** > > * vf_notify_resfix_done - Notify GuC about resource fixups apply completed. > > * @gt: the &xe_gt struct instance linked to target GuC > > + * @marker: marker to identify the migration. > > * > > * Returns: 0 if the operation completed successfully, or a negative error > > * code otherwise. > > */ > > -static int vf_notify_resfix_done(struct xe_gt *gt) > > +static int vf_notify_resfix_done(struct xe_gt *gt, u16 marker) > > { > > struct xe_guc *guc = >->uc.guc; > > int err; > > > > xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); > > > > - err = guc_action_vf_notify_resfix_done(guc); > > + err = guc_action_vf_notify_resfix_done(guc, marker); > > if (unlikely(err)) > > xe_gt_sriov_err(gt, "Failed to notify GuC about resource fixup done (%pe)\n", > > ERR_PTR(err)); > > @@ -1183,7 +1227,7 @@ static void vf_post_migration_abort(struct xe_gt *gt) > > xe_guc_submit_pause_abort(>->uc.guc); > > } > > > > -static int vf_post_migration_notify_resfix_done(struct xe_gt *gt) > > +static int vf_post_migration_notify_resfix_done(struct xe_gt *gt, u16 marker) > > { > > bool skip_resfix = false; > > > > @@ -1206,12 +1250,27 @@ static int vf_post_migration_notify_resfix_done(struct xe_gt *gt) > > */ > > xe_irq_resume(gt_to_xe(gt)); > > > > - return vf_notify_resfix_done(gt); > > + return vf_notify_resfix_done(gt, marker); > > +} > > + > > +static bool vf_resfix_start_marker_supported(struct xe_gt *gt) > > +{ > > + struct xe_device *xe = gt_to_xe(gt); > > + > > + xe_gt_assert(gt, IS_SRIOV_VF(xe)); > > + return xe->sriov.vf.migration.resfix_marker_enabled; > > +} > > + > > +static u16 vf_post_migration_resfix_start_marker(struct xe_gt *gt) > > +{ > > + xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); > > + return ++gt->sriov.vf.migration.resfix_marker; > > } > > > > static void vf_post_migration_recovery(struct xe_gt *gt) > > { > > struct xe_device *xe = gt_to_xe(gt); > > + u16 marker = 0; > > int err; > > bool retry; > > > > @@ -1227,13 +1286,27 @@ static void vf_post_migration_recovery(struct xe_gt *gt) > > goto fail; > > } > > > > + /* > > + * Increment the startup marker again if it overflows, since GUC > > + * requires a non-zero marker to be set. > > + */ > > + if (vf_resfix_start_marker_supported(gt)) { > > + marker = vf_post_migration_resfix_start_marker(gt); > > + if (!marker) > > + marker = vf_post_migration_resfix_start_marker(gt); > > Nit: Maybe just don't zero in vf_post_migration_resfix_start_marker. > > > + } > > + > > + err = vf_notify_resfix_start(gt, marker); > > + if (err) > > + goto fail; > > + > > err = vf_post_migration_fixups(gt); > > if (err) > > goto fail; > > > > vf_post_migration_rearm(gt); > > > > - err = vf_post_migration_notify_resfix_done(gt); > > + err = vf_post_migration_notify_resfix_done(gt, marker); > > if (err && err != -EAGAIN) > > goto fail; > > > > Nit: You missed my comment skipping kickstart if err == -EAGAIN but I > think that harmless, in existing code, and can be done in a follow up. Actually the above comment is wrong too. We always need to run the kickstart again to GuC submission backend state resets itself. Sorry for the noise. Matt > > Anyways patch looks functionaly correct to me: > Reviewed-by: Matthew Brost <matthew.brost@intel.com> > > > diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h > > index 420b0e6089de..ccd850313328 100644 > > --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h > > +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h > > @@ -60,6 +60,11 @@ struct xe_gt_sriov_vf_migration { > > bool recovery_inprogress; > > /** @ggtt_need_fixes: VF GGTT needs fixes */ > > bool ggtt_need_fixes; > > + /** > > + * @resfix_marker: Marker sent to Guc prior to starting the > > + * post‑migration. > > + */ > > + u16 resfix_marker; > > }; > > > > /** > > diff --git a/drivers/gpu/drm/xe/xe_sriov_vf.c b/drivers/gpu/drm/xe/xe_sriov_vf.c > > index 39c829daa97c..10d6e43fffce 100644 > > --- a/drivers/gpu/drm/xe/xe_sriov_vf.c > > +++ b/drivers/gpu/drm/xe/xe_sriov_vf.c > > @@ -55,7 +55,21 @@ > > * When the VF driver is ready to continue operation on the newly connected > > * hardware, it sends `VF2GUC_NOTIFY_RESFIX_DONE` which causes it to > > * enter the long awaited `VF_RUNNING` state, and therefore start handling > > - * CTB messages and scheduling workloads from the VF:: > > + * CTB messages and scheduling workloads from the VF. > > + * > > + * In scenarios involving double migration, the VF KMD may encounter situations > > + * where it is instructed to re-migrate before having the opportunity to send > > + * RESFIX_DONE for the initial migration. This can occur when the fix-up for the > > + * prior migration is still underway, but the VF KMD is migrated again. > > + * Consequently, this may lead to the possibility of sending two migration > > + * notifications (i.e., pending fix-up for the first migration and a second > > + * notification for the new migration). Upon receiving the first RES_FIX > > + * notification, the GuC will resume VF submission on the GPU, potentially > > + * resulting in undefined behavior, such as system hangs or crashes. > > + * > > + * To avoid these hangs, a new VF2GUC action `VF2GUC_NOTIFY_RESFIX_START` is > > + * sent along with marker and when GUC receives the same marker with > > + * `VF2GUC_NOTIFY_RESFIX_DONE`action, it starts scheduling work loads from VF:: > > * > > * PF GuC VF > > * [ ] | | > > @@ -102,6 +116,11 @@ > > * | [ ] new VF provisioning [ ] > > * | [ ]---------------------------> [ ] > > * | | [ ] > > + * | | VF2GUC_NOTIFY_RESFIX_START [ ] > > + * | [ ] <---------------------------[ ] > > + * | [ ] [ ] > > + * | [ ] success [ ] > > + * | [ ]---------------------------> [ ] > > * | | VF driver applies post [ ] > > * | | migration fixups -------[ ] > > * | | | [ ] > > @@ -169,6 +188,26 @@ static void vf_migration_init_early(struct xe_device *xe) > > > > } > > > > +static void vf_resfix_start_marker_init_early(struct xe_device *xe) > > +{ > > + struct xe_gt *gt = xe_root_mmio_gt(xe); > > + struct xe_uc_fw_version guc_version; > > + > > + if (xe->sriov.vf.migration.disabled) > > + return; > > + > > + xe_gt_sriov_vf_guc_versions(gt, NULL, &guc_version); > > + if (MAKE_GUC_VER_STRUCT(guc_version) < MAKE_GUC_VER(1, 24, 10)) { > > + xe_sriov_notice(xe, > > + "Resfix start marker requires GUC ABI >= 1.24.10, but only %u.%u.%u found", > > + guc_version.major, guc_version.minor, guc_version.patch); > > + return; > > + } > > + > > + xe->sriov.vf.migration.resfix_marker_enabled = true; > > + xe_sriov_dbg(xe, "migrate: Resfix start marker support is enabled\n"); > > +} > > + > > /** > > * xe_sriov_vf_init_early - Initialize SR-IOV VF specific data. > > * @xe: the &xe_device to initialize > > @@ -176,6 +215,7 @@ static void vf_migration_init_early(struct xe_device *xe) > > void xe_sriov_vf_init_early(struct xe_device *xe) > > { > > vf_migration_init_early(xe); > > + vf_resfix_start_marker_init_early(xe); > > } > > > > /** > > diff --git a/drivers/gpu/drm/xe/xe_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_sriov_vf_types.h > > index d5f72d667817..626c11a6dd1b 100644 > > --- a/drivers/gpu/drm/xe/xe_sriov_vf_types.h > > +++ b/drivers/gpu/drm/xe/xe_sriov_vf_types.h > > @@ -38,6 +38,11 @@ struct xe_device_vf { > > * was turned off due to missing prerequisites > > */ > > bool disabled; > > + /** > > + * @migration.resfix_marker_enabled: flag indicating if resfix marker > > + * support was enabled or not due to missing prerequisites. > > + */ > > + bool resfix_marker_enabled; > > } migration; > > > > /** @ccs: VF CCS state data */ > > -- > > 2.51.0 > > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v2 1/2] drm/xe/vf: Introduce RESFIX start marker support 2025-10-23 15:36 ` [PATCH v2 1/2] drm/xe/vf: Introduce RESFIX start marker support Satyanarayana K V P 2025-10-23 20:37 ` Matthew Brost @ 2025-10-23 23:33 ` Michal Wajdeczko 1 sibling, 0 replies; 11+ messages in thread From: Michal Wajdeczko @ 2025-10-23 23:33 UTC (permalink / raw) To: Satyanarayana K V P, intel-xe; +Cc: Matthew Brost, Tomasz Lis On 10/23/2025 5:36 PM, Satyanarayana K V P wrote: > Post migration, a marker is sent to the GUC prior to the start of resource > fixups to indicate start of resource fixups. The same marker is sent along > with RESFIX_DONE notification so that GUC can avoid submitting jobs to HW > in case of double migration. it might be still unclear "why" currently it is not working try to better describe initial problem first (done message could be sent without VF notice 2nd migration and need for new fixups), not just the potential solution (use of the start message with marker) > > Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> > Cc: Matthew Brost <matthew.brost@intel.com> > Cc: Tomasz Lis <tomasz.lis@intel.com> > > --- > V1 -> V2: > - Squashed "Enable RESFIX start marker only on supported GUC > versions" commit into a single commit. (Matt B) > --- > .../gpu/drm/xe/abi/guc_actions_sriov_abi.h | 38 ++++++++ > drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 87 +++++++++++++++++-- > drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h | 5 ++ > drivers/gpu/drm/xe/xe_sriov_vf.c | 42 ++++++++- > drivers/gpu/drm/xe/xe_sriov_vf_types.h | 5 ++ > 5 files changed, 169 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h b/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h > index 0b28659d94e9..b9141497bfd5 100644 > --- a/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h > +++ b/drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h > @@ -656,4 +656,42 @@ > #define PF2GUC_SAVE_RESTORE_VF_RESPONSE_MSG_LEN GUC_HXG_RESPONSE_MSG_MIN_LEN > #define PF2GUC_SAVE_RESTORE_VF_RESPONSE_MSG_0_USED GUC_HXG_RESPONSE_MSG_0_DATA0 > > +/** > + * DOC: VF2GUC_NOTIFY_RESFIX_START > + * > + * This action is used by VF to notify the GuC that the VF KMD will be starting > + * post-migration recovery steps. since this is new H2G action, IMO we shall say here from which VF ABI version it is available * Available since GuC version 70.xx.yy (VF 1.aa.bb) but I can't find those numbers yet > + * > + * This message must be sent as `MMIO HXG Message`_. > + * > + * +---+-------+--------------------------------------------------------------+ > + * | | Bits | Description | > + * +===+=======+==============================================================+ > + * | 0 | 31 | ORIGIN = GUC_HXG_ORIGIN_HOST_ | > + * | +-------+--------------------------------------------------------------+ > + * | | 30:28 | TYPE = GUC_HXG_TYPE_REQUEST_ | > + * | +-------+--------------------------------------------------------------+ > + * | | 27:16 | DATA0 = MBZ | from the code it looks that this should be * | | 27:16 | DATA0 = MARKER (....) | > + * | +-------+--------------------------------------------------------------+ > + * | | 15:0 | ACTION = _`GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START` = 0x550F | > + * +---+-------+--------------------------------------------------------------+ > + * > + * +---+-------+--------------------------------------------------------------+ > + * | | Bits | Description | > + * +===+=======+==============================================================+ > + * | 0 | 31 | ORIGIN = GUC_HXG_ORIGIN_GUC_ | > + * | +-------+--------------------------------------------------------------+ > + * | | 30:28 | TYPE = GUC_HXG_TYPE_RESPONSE_SUCCESS_ | > + * | +-------+--------------------------------------------------------------+ > + * | | 27:0 | DATA0 = MBZ | > + * +---+-------+--------------------------------------------------------------+ > + */ > +#define GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START 0x550Fu > + > +#define VF2GUC_NOTIFY_RESFIX_START_REQUEST_MSG_LEN GUC_HXG_REQUEST_MSG_MIN_LEN > +#define VF2GUC_NOTIFY_RESFIX_START_REQUEST_MSG_0_MBZ GUC_HXG_REQUEST_MSG_0_DATA0 and this shall be VF2GUC_NOTIFY_RESFIX_START_REQUEST_MSG_0_MARKER > + > +#define VF2GUC_NOTIFY_RESFIX_START_RESPONSE_MSG_LEN GUC_HXG_RESPONSE_MSG_MIN_LEN > +#define VF2GUC_NOTIFY_RESFIX_START_RESPONSE_MSG_0_MBZ GUC_HXG_RESPONSE_MSG_0_DATA0 > + > #endif > diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > index d0b102ab6ce8..8c1448d6c81d 100644 > --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > @@ -299,12 +299,55 @@ void xe_gt_sriov_vf_guc_versions(struct xe_gt *gt, > *found = gt->sriov.vf.guc_version; > } > > -static int guc_action_vf_notify_resfix_done(struct xe_guc *guc) > +static int guc_action_vf_notify_resfix_start(struct xe_guc *guc, u16 marker) > { > u32 request[GUC_HXG_REQUEST_MSG_MIN_LEN] = { > FIELD_PREP(GUC_HXG_MSG_0_ORIGIN, GUC_HXG_ORIGIN_HOST) | > FIELD_PREP(GUC_HXG_MSG_0_TYPE, GUC_HXG_TYPE_REQUEST) | > - FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, GUC_ACTION_VF2GUC_NOTIFY_RESFIX_DONE), > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, > + GUC_ACTION_VF2GUC_NOTIFY_RESFIX_START) | > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_DATA0, marker), > + }; > + int ret; we should assert that negotiated ABI version supports that new action > + > + ret = xe_guc_mmio_send(guc, request, ARRAY_SIZE(request)); > + > + return ret > 0 ? -EPROTO : ret; > +} > + > +/** > + * vf_notify_resfix_start - Notify GuC about start of resource fixups. > + * @gt: the &xe_gt struct instance linked to target GuC > + * @marker: marker to identify the migration. > + * > + * Returns: 0 if the operation completed successfully, or a negative error > + * code otherwise. > + */ no need to document trivial static functions, there was a reason to make then small/trivial and thus self-documenting > +static int vf_notify_resfix_start(struct xe_gt *gt, u16 marker) > +{ > + struct xe_guc *guc = >->uc.guc; > + int err; > + > + xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); > + put this dbg_verbose() here and include marker value in the log > + err = guc_action_vf_notify_resfix_start(guc, marker); > + if (unlikely(err)) > + xe_gt_sriov_err(gt, "Failed to notify GuC about resource fixup start (%pe)\n", > + ERR_PTR(err)); > + else > + xe_gt_sriov_dbg_verbose(gt, "sent GuC resource fixup start\n"); > + > + return err; > +} > + > +static int guc_action_vf_notify_resfix_done(struct xe_guc *guc, u16 marker) > +{ > + u32 request[GUC_HXG_REQUEST_MSG_MIN_LEN] = { > + FIELD_PREP(GUC_HXG_MSG_0_ORIGIN, GUC_HXG_ORIGIN_HOST) | > + FIELD_PREP(GUC_HXG_MSG_0_TYPE, GUC_HXG_TYPE_REQUEST) | > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_ACTION, > + GUC_ACTION_VF2GUC_NOTIFY_RESFIX_DONE) | > + FIELD_PREP(GUC_HXG_REQUEST_MSG_0_DATA0, marker), note that not all GuCs will support non-zero marker we shall assert that non-zero marker is only used on newer ABI and zero on old ABI unless this new ABI is Xe baseline (but AFAIK it's not) > }; > int ret; > > @@ -316,18 +359,19 @@ static int guc_action_vf_notify_resfix_done(struct xe_guc *guc) > /** > * vf_notify_resfix_done - Notify GuC about resource fixups apply completed. > * @gt: the &xe_gt struct instance linked to target GuC > + * @marker: marker to identify the migration. > * > * Returns: 0 if the operation completed successfully, or a negative error > * code otherwise. > */ > -static int vf_notify_resfix_done(struct xe_gt *gt) > +static int vf_notify_resfix_done(struct xe_gt *gt, u16 marker) > { > struct xe_guc *guc = >->uc.guc; > int err; > > xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); > > - err = guc_action_vf_notify_resfix_done(guc); > + err = guc_action_vf_notify_resfix_done(guc, marker); > if (unlikely(err)) > xe_gt_sriov_err(gt, "Failed to notify GuC about resource fixup done (%pe)\n", > ERR_PTR(err)); > @@ -1183,7 +1227,7 @@ static void vf_post_migration_abort(struct xe_gt *gt) > xe_guc_submit_pause_abort(>->uc.guc); > } > > -static int vf_post_migration_notify_resfix_done(struct xe_gt *gt) > +static int vf_post_migration_notify_resfix_done(struct xe_gt *gt, u16 marker) > { > bool skip_resfix = false; > > @@ -1206,12 +1250,27 @@ static int vf_post_migration_notify_resfix_done(struct xe_gt *gt) > */ > xe_irq_resume(gt_to_xe(gt)); > > - return vf_notify_resfix_done(gt); > + return vf_notify_resfix_done(gt, marker); > +} > + > +static bool vf_resfix_start_marker_supported(struct xe_gt *gt) > +{ > + struct xe_device *xe = gt_to_xe(gt); > + > + xe_gt_assert(gt, IS_SRIOV_VF(xe)); > + return xe->sriov.vf.migration.resfix_marker_enabled; > +} > + > +static u16 vf_post_migration_resfix_start_marker(struct xe_gt *gt) > +{ > + xe_gt_assert(gt, IS_SRIOV_VF(gt_to_xe(gt))); > + return ++gt->sriov.vf.migration.resfix_marker; > } > > static void vf_post_migration_recovery(struct xe_gt *gt) > { > struct xe_device *xe = gt_to_xe(gt); > + u16 marker = 0; > int err; > bool retry; > > @@ -1227,13 +1286,27 @@ static void vf_post_migration_recovery(struct xe_gt *gt) > goto fail; > } > > + /* > + * Increment the startup marker again if it overflows, since GUC > + * requires a non-zero marker to be set. > + */ > + if (vf_resfix_start_marker_supported(gt)) { > + marker = vf_post_migration_resfix_start_marker(gt); > + if (!marker) > + marker = vf_post_migration_resfix_start_marker(gt); > + } > + > + err = vf_notify_resfix_start(gt, marker); > + if (err) > + goto fail; > + > err = vf_post_migration_fixups(gt); > if (err) > goto fail; > > vf_post_migration_rearm(gt); > > - err = vf_post_migration_notify_resfix_done(gt); > + err = vf_post_migration_notify_resfix_done(gt, marker); > if (err && err != -EAGAIN) > goto fail; > > diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h > index 420b0e6089de..ccd850313328 100644 > --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h > +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h > @@ -60,6 +60,11 @@ struct xe_gt_sriov_vf_migration { > bool recovery_inprogress; > /** @ggtt_need_fixes: VF GGTT needs fixes */ > bool ggtt_need_fixes; > + /** > + * @resfix_marker: Marker sent to Guc prior to starting the > + * post‑migration. > + */ > + u16 resfix_marker; > }; > > /** > diff --git a/drivers/gpu/drm/xe/xe_sriov_vf.c b/drivers/gpu/drm/xe/xe_sriov_vf.c > index 39c829daa97c..10d6e43fffce 100644 > --- a/drivers/gpu/drm/xe/xe_sriov_vf.c > +++ b/drivers/gpu/drm/xe/xe_sriov_vf.c > @@ -55,7 +55,21 @@ > * When the VF driver is ready to continue operation on the newly connected > * hardware, it sends `VF2GUC_NOTIFY_RESFIX_DONE` which causes it to > * enter the long awaited `VF_RUNNING` state, and therefore start handling > - * CTB messages and scheduling workloads from the VF:: > + * CTB messages and scheduling workloads from the VF. > + * > + * In scenarios involving double migration, the VF KMD may encounter situations > + * where it is instructed to re-migrate before having the opportunity to send > + * RESFIX_DONE for the initial migration. This can occur when the fix-up for the > + * prior migration is still underway, but the VF KMD is migrated again. > + * Consequently, this may lead to the possibility of sending two migration > + * notifications (i.e., pending fix-up for the first migration and a second > + * notification for the new migration). Upon receiving the first RES_FIX > + * notification, the GuC will resume VF submission on the GPU, potentially > + * resulting in undefined behavior, such as system hangs or crashes. > + * > + * To avoid these hangs, a new VF2GUC action `VF2GUC_NOTIFY_RESFIX_START` is > + * sent along with marker and when GUC receives the same marker with > + * `VF2GUC_NOTIFY_RESFIX_DONE`action, it starts scheduling work loads from VF:: > * > * PF GuC VF > * [ ] | | > @@ -102,6 +116,11 @@ > * | [ ] new VF provisioning [ ] > * | [ ]---------------------------> [ ] > * | | [ ] > + * | | VF2GUC_NOTIFY_RESFIX_START [ ] > + * | [ ] <---------------------------[ ] > + * | [ ] [ ] > + * | [ ] success [ ] > + * | [ ]---------------------------> [ ] you may also show below the flow when GuC rejects RESFIX_DONE due to a marker mismatch > * | | VF driver applies post [ ] > * | | migration fixups -------[ ] > * | | | [ ] > @@ -169,6 +188,26 @@ static void vf_migration_init_early(struct xe_device *xe) > > } > > +static void vf_resfix_start_marker_init_early(struct xe_device *xe) > +{ > + struct xe_gt *gt = xe_root_mmio_gt(xe); > + struct xe_uc_fw_version guc_version; > + > + if (xe->sriov.vf.migration.disabled) > + return; > + > + xe_gt_sriov_vf_guc_versions(gt, NULL, &guc_version); as CI already noticed, this could be too early to check ABI > + if (MAKE_GUC_VER_STRUCT(guc_version) < MAKE_GUC_VER(1, 24, 10)) { > + xe_sriov_notice(xe, > + "Resfix start marker requires GUC ABI >= 1.24.10, but only %u.%u.%u found", > + guc_version.major, guc_version.minor, guc_version.patch); hmm, are you sure about these versions ? I can't find it in 1.24.11 > + return; > + } > + > + xe->sriov.vf.migration.resfix_marker_enabled = true; > + xe_sriov_dbg(xe, "migrate: Resfix start marker support is enabled\n"); > +} > + > /** > * xe_sriov_vf_init_early - Initialize SR-IOV VF specific data. > * @xe: the &xe_device to initialize > @@ -176,6 +215,7 @@ static void vf_migration_init_early(struct xe_device *xe) > void xe_sriov_vf_init_early(struct xe_device *xe) > { > vf_migration_init_early(xe); > + vf_resfix_start_marker_init_early(xe); > } > > /** > diff --git a/drivers/gpu/drm/xe/xe_sriov_vf_types.h b/drivers/gpu/drm/xe/xe_sriov_vf_types.h > index d5f72d667817..626c11a6dd1b 100644 > --- a/drivers/gpu/drm/xe/xe_sriov_vf_types.h > +++ b/drivers/gpu/drm/xe/xe_sriov_vf_types.h > @@ -38,6 +38,11 @@ struct xe_device_vf { > * was turned off due to missing prerequisites > */ > bool disabled; > + /** > + * @migration.resfix_marker_enabled: flag indicating if resfix marker > + * support was enabled or not due to missing prerequisites. > + */ > + bool resfix_marker_enabled; > } migration; > > /** @ccs: VF CCS state data */ ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH v2 2/2] drm/xe/vf: Use fault injection for testing VF double migration feature 2025-10-23 15:36 [PATCH v2 0/2] VF double migration Satyanarayana K V P 2025-10-23 15:36 ` [PATCH v2 1/2] drm/xe/vf: Introduce RESFIX start marker support Satyanarayana K V P @ 2025-10-23 15:36 ` Satyanarayana K V P 2025-10-24 11:52 ` Michal Wajdeczko 2025-10-23 17:18 ` ✓ CI.KUnit: success for VF double migration (rev2) Patchwork ` (2 subsequent siblings) 4 siblings, 1 reply; 11+ messages in thread From: Satyanarayana K V P @ 2025-10-23 15:36 UTC (permalink / raw) To: intel-xe; +Cc: Satyanarayana K V P, Michal Wajdeczko, Matthew Brost, Tomasz Lis The VF migration process sends a marker to the GUC before starting resource fixups, and sends the same marker with the RESFIX_DONE notification. This prevents the GUC from submitting jobs to hardware during double migration events. Testing double migration requires triggering a second migration while the first migration's fixups are in progress. Since fixups complete quickly, this scenario is difficult to reproduce reliably. Use fault injection framework to add a 10-second delay in xe_should_delay_vf_post_fixups() during the post-fixup phase, creating a reliable testing window for triggering subsequent migrations. Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> Cc: Matthew Brost <matthew.brost@intel.com> Cc: Tomasz Lis <tomasz.lis@intel.com> --- V1 -> V2: - New commit --- drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c index 8c1448d6c81d..63d43553ae4f 100644 --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c @@ -5,6 +5,7 @@ #include <linux/bitfield.h> #include <linux/bsearch.h> +#include <linux/delay.h> #include <drm/drm_managed.h> #include <drm/drm_print.h> @@ -1183,6 +1184,30 @@ static size_t post_migration_scratch_size(struct xe_device *xe) return max(xe_lrc_reg_size(xe), LRC_WA_BB_SIZE); } +#if defined(CONFIG_DRM_XE_DEBUG) && defined(CONFIG_FUNCTION_ERROR_INJECTION) +static noinline int xe_should_delay_vf_post_fixups(void) +{ + return 0; +} +ALLOW_ERROR_INJECTION(xe_should_delay_vf_post_fixups, ERRNO); + +static void vf_post_migration_fixup_delay(struct xe_gt *gt) +{ + int err = xe_should_delay_vf_post_fixups(); + unsigned long delay = 10 * USEC_PER_SEC; + + if (err == -ETIME) { + xe_gt_sriov_dbg(gt, "Delaying fixups by %ld secs\n", + delay / USEC_PER_SEC); + fsleep(delay); + } else { + return; + } +} +#else +static inline void vf_post_migration_fixup_delay(struct xe_gt *gt) { } +#endif + static int vf_post_migration_fixups(struct xe_gt *gt) { void *buf = gt->sriov.vf.migration.scratch; @@ -1196,6 +1221,8 @@ static int vf_post_migration_fixups(struct xe_gt *gt) if (xe_gt_is_main_type(gt)) xe_sriov_vf_ccs_rebase(gt_to_xe(gt)); + vf_post_migration_fixup_delay(gt); + xe_gt_sriov_vf_default_lrcs_hwsp_rebase(gt); err = xe_guc_contexts_hwsp_rebase(>->uc.guc, buf); if (err) @@ -1304,6 +1331,8 @@ static void vf_post_migration_recovery(struct xe_gt *gt) if (err) goto fail; + vf_post_migration_fixup_delay(gt); + vf_post_migration_rearm(gt); err = vf_post_migration_notify_resfix_done(gt, marker); -- 2.51.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v2 2/2] drm/xe/vf: Use fault injection for testing VF double migration feature 2025-10-23 15:36 ` [PATCH v2 2/2] drm/xe/vf: Use fault injection for testing VF double migration feature Satyanarayana K V P @ 2025-10-24 11:52 ` Michal Wajdeczko 0 siblings, 0 replies; 11+ messages in thread From: Michal Wajdeczko @ 2025-10-24 11:52 UTC (permalink / raw) To: Satyanarayana K V P, intel-xe, Lucas De Marchi; +Cc: Matthew Brost, Tomasz Lis On 10/23/2025 5:36 PM, Satyanarayana K V P wrote: > The VF migration process sends a marker to the GUC before starting > resource fixups, and sends the same marker with the RESFIX_DONE > notification. This prevents the GUC from submitting jobs to hardware > during double migration events. > > Testing double migration requires triggering a second migration while the > first migration's fixups are in progress. Since fixups complete quickly, > this scenario is difficult to reproduce reliably. Use fault injection > framework to add a 10-second delay in xe_should_delay_vf_post_fixups() > during the post-fixup phase, creating a reliable testing window for > triggering subsequent migrations. I'm not sure that we should abuse fault-injection framework for this can't we simply expose some debugfs entries that would point to the delays we want to insert at specific places? this will allow to pass different delay values, without updating the code and will actually require less code, with no tricks, to implement: gt_types.h: // gt->sriov.vf.migration.debug.resfix_done_delay // gt->sriov.vf.migration.debug.resfix_start_delay gt_debugfs.c: if (IS_ENABLED(CONFIG_DRM_XE_DEBUG)) { debugfs_create_ulong("resfix_done_delay ", ..., resfix_done_delay ); debugfs_create_ulong("resfix_start_delay ", ..., resfix_start_delay); ... } gt_sriov_vf.c: if (resfix_done_delay) msleep(resfix_done_delay); and in the future case, when we would need/want to delay some actions during the probe, ie. before debugfs is available, we can just add configfs entry with default delays to be used by the driver to allow test corner cases: xe_configfs.c: /sys/config/xe/BDF/debug/default_delay int xe_config_default_delay(xe) { ... } gt_sriov-vf.c: gt->sriov.vf.migration.debug.resfix_done_delay = xe_config_default_delay(xe); gt->sriov.vf.migration.debug.resfix_start_delay = xe_config_default_delay(xe); @Lucas ? > > Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> > Cc: Michal Wajdeczko <michal.wajdeczko@intel.com> > Cc: Matthew Brost <matthew.brost@intel.com> > Cc: Tomasz Lis <tomasz.lis@intel.com> > > --- > V1 -> V2: > - New commit > --- > drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > index 8c1448d6c81d..63d43553ae4f 100644 > --- a/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > +++ b/drivers/gpu/drm/xe/xe_gt_sriov_vf.c > @@ -5,6 +5,7 @@ > > #include <linux/bitfield.h> > #include <linux/bsearch.h> > +#include <linux/delay.h> > > #include <drm/drm_managed.h> > #include <drm/drm_print.h> > @@ -1183,6 +1184,30 @@ static size_t post_migration_scratch_size(struct xe_device *xe) > return max(xe_lrc_reg_size(xe), LRC_WA_BB_SIZE); > } > > +#if defined(CONFIG_DRM_XE_DEBUG) && defined(CONFIG_FUNCTION_ERROR_INJECTION) > +static noinline int xe_should_delay_vf_post_fixups(void) > +{ > + return 0; > +} > +ALLOW_ERROR_INJECTION(xe_should_delay_vf_post_fixups, ERRNO); > + > +static void vf_post_migration_fixup_delay(struct xe_gt *gt) > +{ > + int err = xe_should_delay_vf_post_fixups(); > + unsigned long delay = 10 * USEC_PER_SEC; > + > + if (err == -ETIME) { > + xe_gt_sriov_dbg(gt, "Delaying fixups by %ld secs\n", > + delay / USEC_PER_SEC); > + fsleep(delay); > + } else { > + return; > + } > +} > +#else > +static inline void vf_post_migration_fixup_delay(struct xe_gt *gt) { } > +#endif > + > static int vf_post_migration_fixups(struct xe_gt *gt) > { > void *buf = gt->sriov.vf.migration.scratch; > @@ -1196,6 +1221,8 @@ static int vf_post_migration_fixups(struct xe_gt *gt) > if (xe_gt_is_main_type(gt)) > xe_sriov_vf_ccs_rebase(gt_to_xe(gt)); > > + vf_post_migration_fixup_delay(gt); > + > xe_gt_sriov_vf_default_lrcs_hwsp_rebase(gt); > err = xe_guc_contexts_hwsp_rebase(>->uc.guc, buf); > if (err) > @@ -1304,6 +1331,8 @@ static void vf_post_migration_recovery(struct xe_gt *gt) > if (err) > goto fail; > > + vf_post_migration_fixup_delay(gt); > + > vf_post_migration_rearm(gt); > > err = vf_post_migration_notify_resfix_done(gt, marker); ^ permalink raw reply [flat|nested] 11+ messages in thread
* ✓ CI.KUnit: success for VF double migration (rev2) 2025-10-23 15:36 [PATCH v2 0/2] VF double migration Satyanarayana K V P 2025-10-23 15:36 ` [PATCH v2 1/2] drm/xe/vf: Introduce RESFIX start marker support Satyanarayana K V P 2025-10-23 15:36 ` [PATCH v2 2/2] drm/xe/vf: Use fault injection for testing VF double migration feature Satyanarayana K V P @ 2025-10-23 17:18 ` Patchwork 2025-10-23 18:17 ` ✗ Xe.CI.BAT: failure " Patchwork 2025-10-24 5:23 ` ✗ Xe.CI.Full: " Patchwork 4 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2025-10-23 17:18 UTC (permalink / raw) To: Satyanarayana K V P; +Cc: intel-xe == Series Details == Series: VF double migration (rev2) URL : https://patchwork.freedesktop.org/series/156339/ State : success == Summary == + trap cleanup EXIT + /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig [17:17:39] Configuring KUnit Kernel ... Generating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [17:17:43] Building KUnit Kernel ... Populating config with: $ make ARCH=um O=.kunit olddefconfig Building with: $ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48 [17:18:14] Starting KUnit Kernel (1/1)... [17:18:14] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [17:18:14] ================== guc_buf (11 subtests) =================== [17:18:14] [PASSED] test_smallest [17:18:14] [PASSED] test_largest [17:18:14] [PASSED] test_granular [17:18:14] [PASSED] test_unique [17:18:14] [PASSED] test_overlap [17:18:14] [PASSED] test_reusable [17:18:14] [PASSED] test_too_big [17:18:14] [PASSED] test_flush [17:18:14] [PASSED] test_lookup [17:18:14] [PASSED] test_data [17:18:14] [PASSED] test_class [17:18:14] ===================== [PASSED] guc_buf ===================== [17:18:14] =================== guc_dbm (7 subtests) =================== [17:18:14] [PASSED] test_empty [17:18:14] [PASSED] test_default [17:18:14] ======================== test_size ======================== [17:18:14] [PASSED] 4 [17:18:14] [PASSED] 8 [17:18:14] [PASSED] 32 [17:18:14] [PASSED] 256 [17:18:14] ==================== [PASSED] test_size ==================== [17:18:14] ======================= test_reuse ======================== [17:18:14] [PASSED] 4 [17:18:14] [PASSED] 8 [17:18:14] [PASSED] 32 [17:18:14] [PASSED] 256 [17:18:14] =================== [PASSED] test_reuse ==================== [17:18:14] =================== test_range_overlap ==================== [17:18:14] [PASSED] 4 [17:18:14] [PASSED] 8 [17:18:14] [PASSED] 32 [17:18:14] [PASSED] 256 [17:18:14] =============== [PASSED] test_range_overlap ================ [17:18:14] =================== test_range_compact ==================== [17:18:14] [PASSED] 4 [17:18:14] [PASSED] 8 [17:18:14] [PASSED] 32 [17:18:14] [PASSED] 256 [17:18:14] =============== [PASSED] test_range_compact ================ [17:18:14] ==================== test_range_spare ===================== [17:18:14] [PASSED] 4 [17:18:14] [PASSED] 8 [17:18:14] [PASSED] 32 [17:18:14] [PASSED] 256 [17:18:14] ================ [PASSED] test_range_spare ================= [17:18:14] ===================== [PASSED] guc_dbm ===================== [17:18:14] =================== guc_idm (6 subtests) =================== [17:18:14] [PASSED] bad_init [17:18:14] [PASSED] no_init [17:18:14] [PASSED] init_fini [17:18:14] [PASSED] check_used [17:18:14] [PASSED] check_quota [17:18:14] [PASSED] check_all [17:18:14] ===================== [PASSED] guc_idm ===================== [17:18:14] ================== no_relay (3 subtests) =================== [17:18:14] [PASSED] xe_drops_guc2pf_if_not_ready [17:18:14] [PASSED] xe_drops_guc2vf_if_not_ready [17:18:14] [PASSED] xe_rejects_send_if_not_ready [17:18:14] ==================== [PASSED] no_relay ===================== [17:18:14] ================== pf_relay (14 subtests) ================== [17:18:14] [PASSED] pf_rejects_guc2pf_too_short [17:18:14] [PASSED] pf_rejects_guc2pf_too_long [17:18:14] [PASSED] pf_rejects_guc2pf_no_payload [17:18:14] [PASSED] pf_fails_no_payload [17:18:14] [PASSED] pf_fails_bad_origin [17:18:14] [PASSED] pf_fails_bad_type [17:18:14] [PASSED] pf_txn_reports_error [17:18:14] [PASSED] pf_txn_sends_pf2guc [17:18:14] [PASSED] pf_sends_pf2guc [17:18:14] [SKIPPED] pf_loopback_nop [17:18:14] [SKIPPED] pf_loopback_echo [17:18:14] [SKIPPED] pf_loopback_fail [17:18:14] [SKIPPED] pf_loopback_busy [17:18:14] [SKIPPED] pf_loopback_retry [17:18:14] ==================== [PASSED] pf_relay ===================== [17:18:14] ================== vf_relay (3 subtests) =================== [17:18:14] [PASSED] vf_rejects_guc2vf_too_short [17:18:14] [PASSED] vf_rejects_guc2vf_too_long [17:18:14] [PASSED] vf_rejects_guc2vf_no_payload [17:18:14] ==================== [PASSED] vf_relay ===================== [17:18:14] ===================== lmtt (1 subtest) ===================== [17:18:14] ======================== test_ops ========================= [17:18:14] [PASSED] 2-level [17:18:14] [PASSED] multi-level [17:18:14] ==================== [PASSED] test_ops ===================== [17:18:14] ====================== [PASSED] lmtt ======================= [17:18:14] ================= pf_service (11 subtests) ================= [17:18:14] [PASSED] pf_negotiate_any [17:18:14] [PASSED] pf_negotiate_base_match [17:18:14] [PASSED] pf_negotiate_base_newer [17:18:14] [PASSED] pf_negotiate_base_next [17:18:14] [SKIPPED] pf_negotiate_base_older [17:18:14] [PASSED] pf_negotiate_base_prev [17:18:14] [PASSED] pf_negotiate_latest_match [17:18:14] [PASSED] pf_negotiate_latest_newer [17:18:14] [PASSED] pf_negotiate_latest_next [17:18:14] [SKIPPED] pf_negotiate_latest_older [17:18:14] [SKIPPED] pf_negotiate_latest_prev [17:18:14] =================== [PASSED] pf_service ==================== [17:18:14] ================= xe_guc_g2g (2 subtests) ================== [17:18:14] ============== xe_live_guc_g2g_kunit_default ============== [17:18:14] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ========== [17:18:14] ============== xe_live_guc_g2g_kunit_allmem =============== [17:18:14] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ========== [17:18:14] =================== [SKIPPED] xe_guc_g2g =================== [17:18:14] =================== xe_mocs (2 subtests) =================== [17:18:14] ================ xe_live_mocs_kernel_kunit ================ [17:18:14] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============ [17:18:14] ================ xe_live_mocs_reset_kunit ================= [17:18:14] ============ [SKIPPED] xe_live_mocs_reset_kunit ============ [17:18:14] ==================== [SKIPPED] xe_mocs ===================== [17:18:14] ================= xe_migrate (2 subtests) ================== [17:18:14] ================= xe_migrate_sanity_kunit ================= [17:18:14] ============ [SKIPPED] xe_migrate_sanity_kunit ============= [17:18:14] ================== xe_validate_ccs_kunit ================== [17:18:14] ============= [SKIPPED] xe_validate_ccs_kunit ============== [17:18:14] =================== [SKIPPED] xe_migrate =================== [17:18:14] ================== xe_dma_buf (1 subtest) ================== [17:18:14] ==================== xe_dma_buf_kunit ===================== [17:18:14] ================ [SKIPPED] xe_dma_buf_kunit ================ [17:18:14] =================== [SKIPPED] xe_dma_buf =================== [17:18:14] ================= xe_bo_shrink (1 subtest) ================= [17:18:14] =================== xe_bo_shrink_kunit ==================== [17:18:14] =============== [SKIPPED] xe_bo_shrink_kunit =============== [17:18:14] ================== [SKIPPED] xe_bo_shrink ================== [17:18:14] ==================== xe_bo (2 subtests) ==================== [17:18:14] ================== xe_ccs_migrate_kunit =================== [17:18:14] ============== [SKIPPED] xe_ccs_migrate_kunit ============== [17:18:14] ==================== xe_bo_evict_kunit ==================== [17:18:14] =============== [SKIPPED] xe_bo_evict_kunit ================ [17:18:14] ===================== [SKIPPED] xe_bo ====================== [17:18:14] ==================== args (11 subtests) ==================== [17:18:14] [PASSED] count_args_test [17:18:14] [PASSED] call_args_example [17:18:14] [PASSED] call_args_test [17:18:14] [PASSED] drop_first_arg_example [17:18:14] [PASSED] drop_first_arg_test [17:18:14] [PASSED] first_arg_example [17:18:14] [PASSED] first_arg_test [17:18:14] [PASSED] last_arg_example [17:18:14] [PASSED] last_arg_test [17:18:14] [PASSED] pick_arg_example [17:18:14] [PASSED] sep_comma_example [17:18:14] ====================== [PASSED] args ======================= [17:18:14] =================== xe_pci (3 subtests) ==================== [17:18:14] ==================== check_graphics_ip ==================== [17:18:14] [PASSED] 12.00 Xe_LP [17:18:14] [PASSED] 12.10 Xe_LP+ [17:18:14] [PASSED] 12.55 Xe_HPG [17:18:14] [PASSED] 12.60 Xe_HPC [17:18:14] [PASSED] 12.70 Xe_LPG [17:18:14] [PASSED] 12.71 Xe_LPG [17:18:14] [PASSED] 12.74 Xe_LPG+ [17:18:14] [PASSED] 20.01 Xe2_HPG [17:18:14] [PASSED] 20.02 Xe2_HPG [17:18:14] [PASSED] 20.04 Xe2_LPG [17:18:14] [PASSED] 30.00 Xe3_LPG [17:18:14] [PASSED] 30.01 Xe3_LPG [17:18:14] [PASSED] 30.03 Xe3_LPG [17:18:14] [PASSED] 30.04 Xe3_LPG [17:18:14] [PASSED] 30.05 Xe3_LPG [17:18:14] [PASSED] 35.11 Xe3p_XPC [17:18:14] ================ [PASSED] check_graphics_ip ================ [17:18:14] ===================== check_media_ip ====================== [17:18:14] [PASSED] 12.00 Xe_M [17:18:14] [PASSED] 12.55 Xe_HPM [17:18:14] [PASSED] 13.00 Xe_LPM+ [17:18:14] [PASSED] 13.01 Xe2_HPM [17:18:14] [PASSED] 20.00 Xe2_LPM [17:18:14] [PASSED] 30.00 Xe3_LPM [17:18:14] [PASSED] 30.02 Xe3_LPM [17:18:14] [PASSED] 35.00 Xe3p_LPM [17:18:14] [PASSED] 35.03 Xe3p_HPM [17:18:14] ================= [PASSED] check_media_ip ================== [17:18:14] =================== check_platform_desc =================== [17:18:14] [PASSED] 0x9A60 (TIGERLAKE) [17:18:14] [PASSED] 0x9A68 (TIGERLAKE) [17:18:14] [PASSED] 0x9A70 (TIGERLAKE) [17:18:14] [PASSED] 0x9A40 (TIGERLAKE) [17:18:14] [PASSED] 0x9A49 (TIGERLAKE) [17:18:14] [PASSED] 0x9A59 (TIGERLAKE) [17:18:14] [PASSED] 0x9A78 (TIGERLAKE) [17:18:14] [PASSED] 0x9AC0 (TIGERLAKE) [17:18:14] [PASSED] 0x9AC9 (TIGERLAKE) [17:18:14] [PASSED] 0x9AD9 (TIGERLAKE) [17:18:14] [PASSED] 0x9AF8 (TIGERLAKE) [17:18:14] [PASSED] 0x4C80 (ROCKETLAKE) [17:18:14] [PASSED] 0x4C8A (ROCKETLAKE) [17:18:14] [PASSED] 0x4C8B (ROCKETLAKE) [17:18:14] [PASSED] 0x4C8C (ROCKETLAKE) [17:18:14] [PASSED] 0x4C90 (ROCKETLAKE) [17:18:14] [PASSED] 0x4C9A (ROCKETLAKE) [17:18:14] [PASSED] 0x4680 (ALDERLAKE_S) [17:18:14] [PASSED] 0x4682 (ALDERLAKE_S) [17:18:14] [PASSED] 0x4688 (ALDERLAKE_S) [17:18:14] [PASSED] 0x468A (ALDERLAKE_S) [17:18:14] [PASSED] 0x468B (ALDERLAKE_S) [17:18:14] [PASSED] 0x4690 (ALDERLAKE_S) [17:18:14] [PASSED] 0x4692 (ALDERLAKE_S) [17:18:14] [PASSED] 0x4693 (ALDERLAKE_S) [17:18:14] [PASSED] 0x46A0 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46A1 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46A2 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46A3 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46A6 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46A8 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46AA (ALDERLAKE_P) [17:18:14] [PASSED] 0x462A (ALDERLAKE_P) [17:18:14] [PASSED] 0x4626 (ALDERLAKE_P) [17:18:14] [PASSED] 0x4628 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46B0 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46B1 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46B2 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46B3 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46C0 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46C1 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46C2 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46C3 (ALDERLAKE_P) [17:18:14] [PASSED] 0x46D0 (ALDERLAKE_N) [17:18:14] [PASSED] 0x46D1 (ALDERLAKE_N) [17:18:14] [PASSED] 0x46D2 (ALDERLAKE_N) [17:18:14] [PASSED] 0x46D3 (ALDERLAKE_N) [17:18:14] [PASSED] 0x46D4 (ALDERLAKE_N) [17:18:14] [PASSED] 0xA721 (ALDERLAKE_P) [17:18:14] [PASSED] 0xA7A1 (ALDERLAKE_P) [17:18:14] [PASSED] 0xA7A9 (ALDERLAKE_P) [17:18:14] [PASSED] 0xA7AC (ALDERLAKE_P) [17:18:14] [PASSED] 0xA7AD (ALDERLAKE_P) [17:18:14] [PASSED] 0xA720 (ALDERLAKE_P) [17:18:14] [PASSED] 0xA7A0 (ALDERLAKE_P) [17:18:14] [PASSED] 0xA7A8 (ALDERLAKE_P) [17:18:14] [PASSED] 0xA7AA (ALDERLAKE_P) [17:18:14] [PASSED] 0xA7AB (ALDERLAKE_P) [17:18:14] [PASSED] 0xA780 (ALDERLAKE_S) [17:18:14] [PASSED] 0xA781 (ALDERLAKE_S) [17:18:14] [PASSED] 0xA782 (ALDERLAKE_S) [17:18:14] [PASSED] 0xA783 (ALDERLAKE_S) [17:18:14] [PASSED] 0xA788 (ALDERLAKE_S) [17:18:14] [PASSED] 0xA789 (ALDERLAKE_S) [17:18:14] [PASSED] 0xA78A (ALDERLAKE_S) [17:18:14] [PASSED] 0xA78B (ALDERLAKE_S) [17:18:14] [PASSED] 0x4905 (DG1) [17:18:14] [PASSED] 0x4906 (DG1) [17:18:14] [PASSED] 0x4907 (DG1) [17:18:14] [PASSED] 0x4908 (DG1) [17:18:14] [PASSED] 0x4909 (DG1) [17:18:14] [PASSED] 0x56C0 (DG2) [17:18:14] [PASSED] 0x56C2 (DG2) [17:18:14] [PASSED] 0x56C1 (DG2) [17:18:14] [PASSED] 0x7D51 (METEORLAKE) [17:18:14] [PASSED] 0x7DD1 (METEORLAKE) [17:18:14] [PASSED] 0x7D41 (METEORLAKE) [17:18:14] [PASSED] 0x7D67 (METEORLAKE) [17:18:14] [PASSED] 0xB640 (METEORLAKE) [17:18:14] [PASSED] 0x56A0 (DG2) [17:18:14] [PASSED] 0x56A1 (DG2) [17:18:14] [PASSED] 0x56A2 (DG2) [17:18:14] [PASSED] 0x56BE (DG2) [17:18:14] [PASSED] 0x56BF (DG2) [17:18:14] [PASSED] 0x5690 (DG2) [17:18:14] [PASSED] 0x5691 (DG2) [17:18:14] [PASSED] 0x5692 (DG2) [17:18:14] [PASSED] 0x56A5 (DG2) [17:18:14] [PASSED] 0x56A6 (DG2) [17:18:14] [PASSED] 0x56B0 (DG2) [17:18:14] [PASSED] 0x56B1 (DG2) [17:18:14] [PASSED] 0x56BA (DG2) [17:18:14] [PASSED] 0x56BB (DG2) [17:18:14] [PASSED] 0x56BC (DG2) [17:18:14] [PASSED] 0x56BD (DG2) [17:18:14] [PASSED] 0x5693 (DG2) [17:18:14] [PASSED] 0x5694 (DG2) [17:18:14] [PASSED] 0x5695 (DG2) [17:18:14] [PASSED] 0x56A3 (DG2) [17:18:14] [PASSED] 0x56A4 (DG2) [17:18:14] [PASSED] 0x56B2 (DG2) [17:18:14] [PASSED] 0x56B3 (DG2) [17:18:14] [PASSED] 0x5696 (DG2) [17:18:14] [PASSED] 0x5697 (DG2) [17:18:14] [PASSED] 0xB69 (PVC) [17:18:14] [PASSED] 0xB6E (PVC) [17:18:14] [PASSED] 0xBD4 (PVC) [17:18:14] [PASSED] 0xBD5 (PVC) [17:18:14] [PASSED] 0xBD6 (PVC) [17:18:14] [PASSED] 0xBD7 (PVC) [17:18:14] [PASSED] 0xBD8 (PVC) [17:18:14] [PASSED] 0xBD9 (PVC) [17:18:14] [PASSED] 0xBDA (PVC) [17:18:14] [PASSED] 0xBDB (PVC) [17:18:14] [PASSED] 0xBE0 (PVC) [17:18:14] [PASSED] 0xBE1 (PVC) [17:18:14] [PASSED] 0xBE5 (PVC) [17:18:14] [PASSED] 0x7D40 (METEORLAKE) [17:18:14] [PASSED] 0x7D45 (METEORLAKE) [17:18:14] [PASSED] 0x7D55 (METEORLAKE) [17:18:14] [PASSED] 0x7D60 (METEORLAKE) [17:18:14] [PASSED] 0x7DD5 (METEORLAKE) [17:18:14] [PASSED] 0x6420 (LUNARLAKE) [17:18:14] [PASSED] 0x64A0 (LUNARLAKE) [17:18:14] [PASSED] 0x64B0 (LUNARLAKE) [17:18:14] [PASSED] 0xE202 (BATTLEMAGE) [17:18:14] [PASSED] 0xE209 (BATTLEMAGE) [17:18:14] [PASSED] 0xE20B (BATTLEMAGE) [17:18:14] [PASSED] 0xE20C (BATTLEMAGE) [17:18:14] [PASSED] 0xE20D (BATTLEMAGE) [17:18:14] [PASSED] 0xE210 (BATTLEMAGE) [17:18:14] [PASSED] 0xE211 (BATTLEMAGE) [17:18:14] [PASSED] 0xE212 (BATTLEMAGE) [17:18:14] [PASSED] 0xE216 (BATTLEMAGE) [17:18:14] [PASSED] 0xE220 (BATTLEMAGE) [17:18:14] [PASSED] 0xE221 (BATTLEMAGE) [17:18:14] [PASSED] 0xE222 (BATTLEMAGE) [17:18:14] [PASSED] 0xE223 (BATTLEMAGE) [17:18:14] [PASSED] 0xB080 (PANTHERLAKE) [17:18:14] [PASSED] 0xB081 (PANTHERLAKE) [17:18:14] [PASSED] 0xB082 (PANTHERLAKE) [17:18:14] [PASSED] 0xB083 (PANTHERLAKE) [17:18:14] [PASSED] 0xB084 (PANTHERLAKE) [17:18:14] [PASSED] 0xB085 (PANTHERLAKE) [17:18:14] [PASSED] 0xB086 (PANTHERLAKE) [17:18:14] [PASSED] 0xB087 (PANTHERLAKE) [17:18:14] [PASSED] 0xB08F (PANTHERLAKE) [17:18:14] [PASSED] 0xB090 (PANTHERLAKE) [17:18:14] [PASSED] 0xB0A0 (PANTHERLAKE) [17:18:14] [PASSED] 0xB0B0 (PANTHERLAKE) [17:18:14] [PASSED] 0xFD80 (PANTHERLAKE) [17:18:14] [PASSED] 0xFD81 (PANTHERLAKE) [17:18:14] [PASSED] 0xD740 (NOVALAKE_S) [17:18:14] [PASSED] 0xD741 (NOVALAKE_S) [17:18:14] [PASSED] 0xD742 (NOVALAKE_S) [17:18:14] [PASSED] 0xD743 (NOVALAKE_S) [17:18:14] [PASSED] 0xD744 (NOVALAKE_S) [17:18:14] [PASSED] 0xD745 (NOVALAKE_S) [17:18:14] [PASSED] 0x674C (CRESCENTISLAND) [17:18:14] =============== [PASSED] check_platform_desc =============== [17:18:14] ===================== [PASSED] xe_pci ====================== [17:18:14] =================== xe_rtp (2 subtests) ==================== [17:18:14] =============== xe_rtp_process_to_sr_tests ================ [17:18:14] [PASSED] coalesce-same-reg [17:18:14] [PASSED] no-match-no-add [17:18:14] [PASSED] match-or [17:18:14] [PASSED] match-or-xfail [17:18:14] [PASSED] no-match-no-add-multiple-rules [17:18:14] [PASSED] two-regs-two-entries [17:18:14] [PASSED] clr-one-set-other [17:18:14] [PASSED] set-field [17:18:14] [PASSED] conflict-duplicate [17:18:14] [PASSED] conflict-not-disjoint [17:18:14] [PASSED] conflict-reg-type [17:18:14] =========== [PASSED] xe_rtp_process_to_sr_tests ============ [17:18:14] ================== xe_rtp_process_tests =================== [17:18:14] [PASSED] active1 [17:18:14] [PASSED] active2 [17:18:14] [PASSED] active-inactive [17:18:14] [PASSED] inactive-active [17:18:14] [PASSED] inactive-1st_or_active-inactive [17:18:14] [PASSED] inactive-2nd_or_active-inactive [17:18:14] [PASSED] inactive-last_or_active-inactive stty: 'standard input': Inappropriate ioctl for device [17:18:14] [PASSED] inactive-no_or_active-inactive [17:18:14] ============== [PASSED] xe_rtp_process_tests =============== [17:18:14] ===================== [PASSED] xe_rtp ====================== [17:18:14] ==================== xe_wa (1 subtest) ===================== [17:18:14] ======================== xe_wa_gt ========================= [17:18:14] [PASSED] TIGERLAKE B0 [17:18:14] [PASSED] DG1 A0 [17:18:14] [PASSED] DG1 B0 [17:18:14] [PASSED] ALDERLAKE_S A0 [17:18:14] [PASSED] ALDERLAKE_S B0 [17:18:14] [PASSED] ALDERLAKE_S C0 [17:18:14] [PASSED] ALDERLAKE_S D0 [17:18:14] [PASSED] ALDERLAKE_P A0 [17:18:14] [PASSED] ALDERLAKE_P B0 [17:18:14] [PASSED] ALDERLAKE_P C0 [17:18:14] [PASSED] ALDERLAKE_S RPLS D0 [17:18:14] [PASSED] ALDERLAKE_P RPLU E0 [17:18:14] [PASSED] DG2 G10 C0 [17:18:14] [PASSED] DG2 G11 B1 [17:18:14] [PASSED] DG2 G12 A1 [17:18:14] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0 [17:18:14] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0 [17:18:14] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0 [17:18:14] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0 [17:18:14] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0 [17:18:14] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1 [17:18:14] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0 [17:18:14] ==================== [PASSED] xe_wa_gt ===================== [17:18:14] ====================== [PASSED] xe_wa ====================== [17:18:14] ============================================================ [17:18:14] Testing complete. Ran 318 tests: passed: 300, skipped: 18 [17:18:14] Elapsed time: 35.297s total, 4.245s configuring, 30.686s building, 0.338s running + /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig [17:18:14] Configuring KUnit Kernel ... Regenerating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [17:18:16] Building KUnit Kernel ... Populating config with: $ make ARCH=um O=.kunit olddefconfig Building with: $ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48 [17:18:41] Starting KUnit Kernel (1/1)... [17:18:41] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [17:18:41] ============ drm_test_pick_cmdline (2 subtests) ============ [17:18:41] [PASSED] drm_test_pick_cmdline_res_1920_1080_60 [17:18:41] =============== drm_test_pick_cmdline_named =============== [17:18:41] [PASSED] NTSC [17:18:41] [PASSED] NTSC-J [17:18:41] [PASSED] PAL [17:18:41] [PASSED] PAL-M [17:18:41] =========== [PASSED] drm_test_pick_cmdline_named =========== [17:18:41] ============== [PASSED] drm_test_pick_cmdline ============== [17:18:41] == drm_test_atomic_get_connector_for_encoder (1 subtest) === [17:18:41] [PASSED] drm_test_drm_atomic_get_connector_for_encoder [17:18:41] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ==== [17:18:41] =========== drm_validate_clone_mode (2 subtests) =========== [17:18:41] ============== drm_test_check_in_clone_mode =============== [17:18:41] [PASSED] in_clone_mode [17:18:41] [PASSED] not_in_clone_mode [17:18:41] ========== [PASSED] drm_test_check_in_clone_mode =========== [17:18:41] =============== drm_test_check_valid_clones =============== [17:18:41] [PASSED] not_in_clone_mode [17:18:41] [PASSED] valid_clone [17:18:41] [PASSED] invalid_clone [17:18:41] =========== [PASSED] drm_test_check_valid_clones =========== [17:18:41] ============= [PASSED] drm_validate_clone_mode ============= [17:18:41] ============= drm_validate_modeset (1 subtest) ============= [17:18:41] [PASSED] drm_test_check_connector_changed_modeset [17:18:41] ============== [PASSED] drm_validate_modeset =============== [17:18:41] ====== drm_test_bridge_get_current_state (2 subtests) ====== [17:18:41] [PASSED] drm_test_drm_bridge_get_current_state_atomic [17:18:41] [PASSED] drm_test_drm_bridge_get_current_state_legacy [17:18:41] ======== [PASSED] drm_test_bridge_get_current_state ======== [17:18:41] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ====== [17:18:41] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic [17:18:41] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled [17:18:41] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy [17:18:41] ======== [PASSED] drm_test_bridge_helper_reset_crtc ======== [17:18:41] ============== drm_bridge_alloc (2 subtests) =============== [17:18:41] [PASSED] drm_test_drm_bridge_alloc_basic [17:18:41] [PASSED] drm_test_drm_bridge_alloc_get_put [17:18:41] ================ [PASSED] drm_bridge_alloc ================= [17:18:41] ================== drm_buddy (8 subtests) ================== [17:18:41] [PASSED] drm_test_buddy_alloc_limit [17:18:41] [PASSED] drm_test_buddy_alloc_optimistic [17:18:41] [PASSED] drm_test_buddy_alloc_pessimistic [17:18:41] [PASSED] drm_test_buddy_alloc_pathological [17:18:41] [PASSED] drm_test_buddy_alloc_contiguous [17:18:41] [PASSED] drm_test_buddy_alloc_clear [17:18:41] [PASSED] drm_test_buddy_alloc_range_bias [17:18:41] [PASSED] drm_test_buddy_fragmentation_performance [17:18:41] ==================== [PASSED] drm_buddy ==================== [17:18:41] ============= drm_cmdline_parser (40 subtests) ============= [17:18:41] [PASSED] drm_test_cmdline_force_d_only [17:18:41] [PASSED] drm_test_cmdline_force_D_only_dvi [17:18:41] [PASSED] drm_test_cmdline_force_D_only_hdmi [17:18:41] [PASSED] drm_test_cmdline_force_D_only_not_digital [17:18:41] [PASSED] drm_test_cmdline_force_e_only [17:18:41] [PASSED] drm_test_cmdline_res [17:18:41] [PASSED] drm_test_cmdline_res_vesa [17:18:41] [PASSED] drm_test_cmdline_res_vesa_rblank [17:18:41] [PASSED] drm_test_cmdline_res_rblank [17:18:41] [PASSED] drm_test_cmdline_res_bpp [17:18:41] [PASSED] drm_test_cmdline_res_refresh [17:18:41] [PASSED] drm_test_cmdline_res_bpp_refresh [17:18:41] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced [17:18:41] [PASSED] drm_test_cmdline_res_bpp_refresh_margins [17:18:41] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off [17:18:41] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on [17:18:41] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog [17:18:41] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital [17:18:41] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on [17:18:41] [PASSED] drm_test_cmdline_res_margins_force_on [17:18:41] [PASSED] drm_test_cmdline_res_vesa_margins [17:18:41] [PASSED] drm_test_cmdline_name [17:18:41] [PASSED] drm_test_cmdline_name_bpp [17:18:41] [PASSED] drm_test_cmdline_name_option [17:18:41] [PASSED] drm_test_cmdline_name_bpp_option [17:18:41] [PASSED] drm_test_cmdline_rotate_0 [17:18:41] [PASSED] drm_test_cmdline_rotate_90 [17:18:41] [PASSED] drm_test_cmdline_rotate_180 [17:18:41] [PASSED] drm_test_cmdline_rotate_270 [17:18:41] [PASSED] drm_test_cmdline_hmirror [17:18:41] [PASSED] drm_test_cmdline_vmirror [17:18:41] [PASSED] drm_test_cmdline_margin_options [17:18:41] [PASSED] drm_test_cmdline_multiple_options [17:18:41] [PASSED] drm_test_cmdline_bpp_extra_and_option [17:18:41] [PASSED] drm_test_cmdline_extra_and_option [17:18:41] [PASSED] drm_test_cmdline_freestanding_options [17:18:41] [PASSED] drm_test_cmdline_freestanding_force_e_and_options [17:18:41] [PASSED] drm_test_cmdline_panel_orientation [17:18:41] ================ drm_test_cmdline_invalid ================= [17:18:41] [PASSED] margin_only [17:18:41] [PASSED] interlace_only [17:18:41] [PASSED] res_missing_x [17:18:41] [PASSED] res_missing_y [17:18:41] [PASSED] res_bad_y [17:18:41] [PASSED] res_missing_y_bpp [17:18:41] [PASSED] res_bad_bpp [17:18:41] [PASSED] res_bad_refresh [17:18:41] [PASSED] res_bpp_refresh_force_on_off [17:18:41] [PASSED] res_invalid_mode [17:18:41] [PASSED] res_bpp_wrong_place_mode [17:18:41] [PASSED] name_bpp_refresh [17:18:41] [PASSED] name_refresh [17:18:41] [PASSED] name_refresh_wrong_mode [17:18:41] [PASSED] name_refresh_invalid_mode [17:18:41] [PASSED] rotate_multiple [17:18:41] [PASSED] rotate_invalid_val [17:18:41] [PASSED] rotate_truncated [17:18:41] [PASSED] invalid_option [17:18:41] [PASSED] invalid_tv_option [17:18:41] [PASSED] truncated_tv_option [17:18:41] ============ [PASSED] drm_test_cmdline_invalid ============= [17:18:41] =============== drm_test_cmdline_tv_options =============== [17:18:41] [PASSED] NTSC [17:18:41] [PASSED] NTSC_443 [17:18:41] [PASSED] NTSC_J [17:18:41] [PASSED] PAL [17:18:41] [PASSED] PAL_M [17:18:41] [PASSED] PAL_N [17:18:41] [PASSED] SECAM [17:18:41] [PASSED] MONO_525 [17:18:41] [PASSED] MONO_625 [17:18:41] =========== [PASSED] drm_test_cmdline_tv_options =========== [17:18:41] =============== [PASSED] drm_cmdline_parser ================ [17:18:41] ========== drmm_connector_hdmi_init (20 subtests) ========== [17:18:41] [PASSED] drm_test_connector_hdmi_init_valid [17:18:41] [PASSED] drm_test_connector_hdmi_init_bpc_8 [17:18:41] [PASSED] drm_test_connector_hdmi_init_bpc_10 [17:18:41] [PASSED] drm_test_connector_hdmi_init_bpc_12 [17:18:41] [PASSED] drm_test_connector_hdmi_init_bpc_invalid [17:18:41] [PASSED] drm_test_connector_hdmi_init_bpc_null [17:18:41] [PASSED] drm_test_connector_hdmi_init_formats_empty [17:18:41] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb [17:18:41] === drm_test_connector_hdmi_init_formats_yuv420_allowed === [17:18:41] [PASSED] supported_formats=0x9 yuv420_allowed=1 [17:18:41] [PASSED] supported_formats=0x9 yuv420_allowed=0 [17:18:41] [PASSED] supported_formats=0x3 yuv420_allowed=1 [17:18:41] [PASSED] supported_formats=0x3 yuv420_allowed=0 [17:18:41] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed === [17:18:41] [PASSED] drm_test_connector_hdmi_init_null_ddc [17:18:41] [PASSED] drm_test_connector_hdmi_init_null_product [17:18:41] [PASSED] drm_test_connector_hdmi_init_null_vendor [17:18:41] [PASSED] drm_test_connector_hdmi_init_product_length_exact [17:18:41] [PASSED] drm_test_connector_hdmi_init_product_length_too_long [17:18:41] [PASSED] drm_test_connector_hdmi_init_product_valid [17:18:41] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact [17:18:41] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long [17:18:41] [PASSED] drm_test_connector_hdmi_init_vendor_valid [17:18:41] ========= drm_test_connector_hdmi_init_type_valid ========= [17:18:41] [PASSED] HDMI-A [17:18:41] [PASSED] HDMI-B [17:18:41] ===== [PASSED] drm_test_connector_hdmi_init_type_valid ===== [17:18:41] ======== drm_test_connector_hdmi_init_type_invalid ======== [17:18:41] [PASSED] Unknown [17:18:41] [PASSED] VGA [17:18:41] [PASSED] DVI-I [17:18:41] [PASSED] DVI-D [17:18:41] [PASSED] DVI-A [17:18:41] [PASSED] Composite [17:18:41] [PASSED] SVIDEO [17:18:41] [PASSED] LVDS [17:18:41] [PASSED] Component [17:18:41] [PASSED] DIN [17:18:41] [PASSED] DP [17:18:41] [PASSED] TV [17:18:41] [PASSED] eDP [17:18:41] [PASSED] Virtual [17:18:41] [PASSED] DSI [17:18:41] [PASSED] DPI [17:18:41] [PASSED] Writeback [17:18:41] [PASSED] SPI [17:18:41] [PASSED] USB [17:18:41] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ==== [17:18:41] ============ [PASSED] drmm_connector_hdmi_init ============= [17:18:41] ============= drmm_connector_init (3 subtests) ============= [17:18:41] [PASSED] drm_test_drmm_connector_init [17:18:41] [PASSED] drm_test_drmm_connector_init_null_ddc [17:18:41] ========= drm_test_drmm_connector_init_type_valid ========= [17:18:41] [PASSED] Unknown [17:18:41] [PASSED] VGA [17:18:41] [PASSED] DVI-I [17:18:41] [PASSED] DVI-D [17:18:41] [PASSED] DVI-A [17:18:41] [PASSED] Composite [17:18:41] [PASSED] SVIDEO [17:18:41] [PASSED] LVDS [17:18:41] [PASSED] Component [17:18:41] [PASSED] DIN [17:18:41] [PASSED] DP [17:18:41] [PASSED] HDMI-A [17:18:41] [PASSED] HDMI-B [17:18:41] [PASSED] TV [17:18:41] [PASSED] eDP [17:18:41] [PASSED] Virtual [17:18:41] [PASSED] DSI [17:18:41] [PASSED] DPI [17:18:41] [PASSED] Writeback [17:18:41] [PASSED] SPI [17:18:41] [PASSED] USB [17:18:41] ===== [PASSED] drm_test_drmm_connector_init_type_valid ===== [17:18:41] =============== [PASSED] drmm_connector_init =============== [17:18:41] ========= drm_connector_dynamic_init (6 subtests) ========== [17:18:41] [PASSED] drm_test_drm_connector_dynamic_init [17:18:41] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc [17:18:41] [PASSED] drm_test_drm_connector_dynamic_init_not_added [17:18:41] [PASSED] drm_test_drm_connector_dynamic_init_properties [17:18:41] ===== drm_test_drm_connector_dynamic_init_type_valid ====== [17:18:41] [PASSED] Unknown [17:18:41] [PASSED] VGA [17:18:41] [PASSED] DVI-I [17:18:41] [PASSED] DVI-D [17:18:41] [PASSED] DVI-A [17:18:41] [PASSED] Composite [17:18:41] [PASSED] SVIDEO [17:18:41] [PASSED] LVDS [17:18:41] [PASSED] Component [17:18:41] [PASSED] DIN [17:18:41] [PASSED] DP [17:18:41] [PASSED] HDMI-A [17:18:41] [PASSED] HDMI-B [17:18:41] [PASSED] TV [17:18:41] [PASSED] eDP [17:18:41] [PASSED] Virtual [17:18:41] [PASSED] DSI [17:18:41] [PASSED] DPI [17:18:41] [PASSED] Writeback [17:18:41] [PASSED] SPI [17:18:41] [PASSED] USB [17:18:41] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid == [17:18:41] ======== drm_test_drm_connector_dynamic_init_name ========= [17:18:41] [PASSED] Unknown [17:18:41] [PASSED] VGA [17:18:41] [PASSED] DVI-I [17:18:41] [PASSED] DVI-D [17:18:41] [PASSED] DVI-A [17:18:41] [PASSED] Composite [17:18:41] [PASSED] SVIDEO [17:18:41] [PASSED] LVDS [17:18:41] [PASSED] Component [17:18:41] [PASSED] DIN [17:18:41] [PASSED] DP [17:18:41] [PASSED] HDMI-A [17:18:41] [PASSED] HDMI-B [17:18:41] [PASSED] TV [17:18:41] [PASSED] eDP [17:18:41] [PASSED] Virtual [17:18:41] [PASSED] DSI [17:18:41] [PASSED] DPI [17:18:41] [PASSED] Writeback [17:18:41] [PASSED] SPI [17:18:41] [PASSED] USB [17:18:41] ==== [PASSED] drm_test_drm_connector_dynamic_init_name ===== [17:18:41] =========== [PASSED] drm_connector_dynamic_init ============ [17:18:41] ==== drm_connector_dynamic_register_early (4 subtests) ===== [17:18:41] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list [17:18:41] [PASSED] drm_test_drm_connector_dynamic_register_early_defer [17:18:41] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init [17:18:41] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object [17:18:41] ====== [PASSED] drm_connector_dynamic_register_early ======= [17:18:41] ======= drm_connector_dynamic_register (7 subtests) ======== [17:18:41] [PASSED] drm_test_drm_connector_dynamic_register_on_list [17:18:41] [PASSED] drm_test_drm_connector_dynamic_register_no_defer [17:18:41] [PASSED] drm_test_drm_connector_dynamic_register_no_init [17:18:41] [PASSED] drm_test_drm_connector_dynamic_register_mode_object [17:18:41] [PASSED] drm_test_drm_connector_dynamic_register_sysfs [17:18:41] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name [17:18:41] [PASSED] drm_test_drm_connector_dynamic_register_debugfs [17:18:41] ========= [PASSED] drm_connector_dynamic_register ========== [17:18:41] = drm_connector_attach_broadcast_rgb_property (2 subtests) = [17:18:41] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property [17:18:41] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector [17:18:41] === [PASSED] drm_connector_attach_broadcast_rgb_property === [17:18:41] ========== drm_get_tv_mode_from_name (2 subtests) ========== [17:18:41] ========== drm_test_get_tv_mode_from_name_valid =========== [17:18:41] [PASSED] NTSC [17:18:41] [PASSED] NTSC-443 [17:18:41] [PASSED] NTSC-J [17:18:41] [PASSED] PAL [17:18:41] [PASSED] PAL-M [17:18:41] [PASSED] PAL-N [17:18:41] [PASSED] SECAM [17:18:41] [PASSED] Mono [17:18:41] ====== [PASSED] drm_test_get_tv_mode_from_name_valid ======= [17:18:41] [PASSED] drm_test_get_tv_mode_from_name_truncated [17:18:41] ============ [PASSED] drm_get_tv_mode_from_name ============ [17:18:41] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) = [17:18:41] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb [17:18:41] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc [17:18:41] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1 [17:18:41] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc [17:18:41] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1 [17:18:41] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double [17:18:41] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid = [17:18:41] [PASSED] VIC 96 [17:18:41] [PASSED] VIC 97 [17:18:41] [PASSED] VIC 101 [17:18:41] [PASSED] VIC 102 [17:18:41] [PASSED] VIC 106 [17:18:41] [PASSED] VIC 107 [17:18:41] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid === [17:18:41] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc [17:18:41] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc [17:18:41] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc [17:18:41] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc [17:18:41] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc [17:18:41] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ==== [17:18:41] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) == [17:18:41] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ==== [17:18:41] [PASSED] Automatic [17:18:41] [PASSED] Full [17:18:41] [PASSED] Limited 16:235 [17:18:41] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name === [17:18:41] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid [17:18:41] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ==== [17:18:41] == drm_hdmi_connector_get_output_format_name (2 subtests) == [17:18:41] === drm_test_drm_hdmi_connector_get_output_format_name ==== [17:18:41] [PASSED] RGB [17:18:41] [PASSED] YUV 4:2:0 [17:18:41] [PASSED] YUV 4:2:2 [17:18:41] [PASSED] YUV 4:4:4 [17:18:41] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name === [17:18:41] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid [17:18:41] ==== [PASSED] drm_hdmi_connector_get_output_format_name ==== [17:18:41] ============= drm_damage_helper (21 subtests) ============== [17:18:41] [PASSED] drm_test_damage_iter_no_damage [17:18:41] [PASSED] drm_test_damage_iter_no_damage_fractional_src [17:18:41] [PASSED] drm_test_damage_iter_no_damage_src_moved [17:18:41] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved [17:18:41] [PASSED] drm_test_damage_iter_no_damage_not_visible [17:18:41] [PASSED] drm_test_damage_iter_no_damage_no_crtc [17:18:41] [PASSED] drm_test_damage_iter_no_damage_no_fb [17:18:41] [PASSED] drm_test_damage_iter_simple_damage [17:18:41] [PASSED] drm_test_damage_iter_single_damage [17:18:41] [PASSED] drm_test_damage_iter_single_damage_intersect_src [17:18:41] [PASSED] drm_test_damage_iter_single_damage_outside_src [17:18:41] [PASSED] drm_test_damage_iter_single_damage_fractional_src [17:18:41] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src [17:18:41] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src [17:18:41] [PASSED] drm_test_damage_iter_single_damage_src_moved [17:18:41] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved [17:18:41] [PASSED] drm_test_damage_iter_damage [17:18:41] [PASSED] drm_test_damage_iter_damage_one_intersect [17:18:41] [PASSED] drm_test_damage_iter_damage_one_outside [17:18:41] [PASSED] drm_test_damage_iter_damage_src_moved [17:18:41] [PASSED] drm_test_damage_iter_damage_not_visible [17:18:41] ================ [PASSED] drm_damage_helper ================ [17:18:41] ============== drm_dp_mst_helper (3 subtests) ============== [17:18:41] ============== drm_test_dp_mst_calc_pbn_mode ============== [17:18:41] [PASSED] Clock 154000 BPP 30 DSC disabled [17:18:41] [PASSED] Clock 234000 BPP 30 DSC disabled [17:18:41] [PASSED] Clock 297000 BPP 24 DSC disabled [17:18:41] [PASSED] Clock 332880 BPP 24 DSC enabled [17:18:41] [PASSED] Clock 324540 BPP 24 DSC enabled [17:18:41] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ========== [17:18:41] ============== drm_test_dp_mst_calc_pbn_div =============== [17:18:41] [PASSED] Link rate 2000000 lane count 4 [17:18:41] [PASSED] Link rate 2000000 lane count 2 [17:18:41] [PASSED] Link rate 2000000 lane count 1 [17:18:41] [PASSED] Link rate 1350000 lane count 4 [17:18:41] [PASSED] Link rate 1350000 lane count 2 [17:18:41] [PASSED] Link rate 1350000 lane count 1 [17:18:41] [PASSED] Link rate 1000000 lane count 4 [17:18:41] [PASSED] Link rate 1000000 lane count 2 [17:18:41] [PASSED] Link rate 1000000 lane count 1 [17:18:41] [PASSED] Link rate 810000 lane count 4 [17:18:41] [PASSED] Link rate 810000 lane count 2 [17:18:41] [PASSED] Link rate 810000 lane count 1 [17:18:41] [PASSED] Link rate 540000 lane count 4 [17:18:41] [PASSED] Link rate 540000 lane count 2 [17:18:41] [PASSED] Link rate 540000 lane count 1 [17:18:41] [PASSED] Link rate 270000 lane count 4 [17:18:41] [PASSED] Link rate 270000 lane count 2 [17:18:41] [PASSED] Link rate 270000 lane count 1 [17:18:41] [PASSED] Link rate 162000 lane count 4 [17:18:41] [PASSED] Link rate 162000 lane count 2 [17:18:41] [PASSED] Link rate 162000 lane count 1 [17:18:41] ========== [PASSED] drm_test_dp_mst_calc_pbn_div =========== [17:18:41] ========= drm_test_dp_mst_sideband_msg_req_decode ========= [17:18:41] [PASSED] DP_ENUM_PATH_RESOURCES with port number [17:18:41] [PASSED] DP_POWER_UP_PHY with port number [17:18:41] [PASSED] DP_POWER_DOWN_PHY with port number [17:18:41] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks [17:18:41] [PASSED] DP_ALLOCATE_PAYLOAD with port number [17:18:41] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI [17:18:41] [PASSED] DP_ALLOCATE_PAYLOAD with PBN [17:18:41] [PASSED] DP_QUERY_PAYLOAD with port number [17:18:41] [PASSED] DP_QUERY_PAYLOAD with VCPI [17:18:41] [PASSED] DP_REMOTE_DPCD_READ with port number [17:18:41] [PASSED] DP_REMOTE_DPCD_READ with DPCD address [17:18:41] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes [17:18:41] [PASSED] DP_REMOTE_DPCD_WRITE with port number [17:18:41] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address [17:18:41] [PASSED] DP_REMOTE_DPCD_WRITE with data array [17:18:41] [PASSED] DP_REMOTE_I2C_READ with port number [17:18:41] [PASSED] DP_REMOTE_I2C_READ with I2C device ID [17:18:41] [PASSED] DP_REMOTE_I2C_READ with transactions array [17:18:41] [PASSED] DP_REMOTE_I2C_WRITE with port number [17:18:41] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID [17:18:41] [PASSED] DP_REMOTE_I2C_WRITE with data array [17:18:41] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID [17:18:41] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID [17:18:41] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event [17:18:41] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event [17:18:41] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior [17:18:41] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior [17:18:41] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode ===== [17:18:41] ================ [PASSED] drm_dp_mst_helper ================ [17:18:41] ================== drm_exec (7 subtests) =================== [17:18:41] [PASSED] sanitycheck [17:18:41] [PASSED] test_lock [17:18:41] [PASSED] test_lock_unlock [17:18:41] [PASSED] test_duplicates [17:18:41] [PASSED] test_prepare [17:18:41] [PASSED] test_prepare_array [17:18:41] [PASSED] test_multiple_loops [17:18:41] ==================== [PASSED] drm_exec ===================== [17:18:41] =========== drm_format_helper_test (17 subtests) =========== [17:18:41] ============== drm_test_fb_xrgb8888_to_gray8 ============== [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ========== [17:18:41] ============= drm_test_fb_xrgb8888_to_rgb332 ============== [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ========== [17:18:41] ============= drm_test_fb_xrgb8888_to_rgb565 ============== [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ========== [17:18:41] ============ drm_test_fb_xrgb8888_to_xrgb1555 ============= [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 ========= [17:18:41] ============ drm_test_fb_xrgb8888_to_argb1555 ============= [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 ========= [17:18:41] ============ drm_test_fb_xrgb8888_to_rgba5551 ============= [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 ========= [17:18:41] ============= drm_test_fb_xrgb8888_to_rgb888 ============== [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ========== [17:18:41] ============= drm_test_fb_xrgb8888_to_bgr888 ============== [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ========== [17:18:41] ============ drm_test_fb_xrgb8888_to_argb8888 ============= [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 ========= [17:18:41] =========== drm_test_fb_xrgb8888_to_xrgb2101010 =========== [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 ======= [17:18:41] =========== drm_test_fb_xrgb8888_to_argb2101010 =========== [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 ======= [17:18:41] ============== drm_test_fb_xrgb8888_to_mono =============== [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ========== [PASSED] drm_test_fb_xrgb8888_to_mono =========== [17:18:41] ==================== drm_test_fb_swab ===================== [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ================ [PASSED] drm_test_fb_swab ================= [17:18:41] ============ drm_test_fb_xrgb8888_to_xbgr8888 ============= [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 ========= [17:18:41] ============ drm_test_fb_xrgb8888_to_abgr8888 ============= [17:18:41] [PASSED] single_pixel_source_buffer [17:18:41] [PASSED] single_pixel_clip_rectangle [17:18:41] [PASSED] well_known_colors [17:18:41] [PASSED] destination_pitch [17:18:41] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 ========= [17:18:41] ================= drm_test_fb_clip_offset ================= [17:18:41] [PASSED] pass through [17:18:41] [PASSED] horizontal offset [17:18:41] [PASSED] vertical offset [17:18:41] [PASSED] horizontal and vertical offset [17:18:41] [PASSED] horizontal offset (custom pitch) [17:18:41] [PASSED] vertical offset (custom pitch) [17:18:41] [PASSED] horizontal and vertical offset (custom pitch) [17:18:41] ============= [PASSED] drm_test_fb_clip_offset ============= [17:18:41] =================== drm_test_fb_memcpy ==================== [17:18:41] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258) [17:18:41] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258) [17:18:41] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559) [17:18:41] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258) [17:18:41] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258) [17:18:41] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559) [17:18:41] [PASSED] well_known_colors: XB24 little-endian (0x34324258) [17:18:41] [PASSED] well_known_colors: XRA8 little-endian (0x38415258) [17:18:41] [PASSED] well_known_colors: YU24 little-endian (0x34325559) [17:18:41] [PASSED] destination_pitch: XB24 little-endian (0x34324258) [17:18:41] [PASSED] destination_pitch: XRA8 little-endian (0x38415258) [17:18:41] [PASSED] destination_pitch: YU24 little-endian (0x34325559) [17:18:41] =============== [PASSED] drm_test_fb_memcpy ================ [17:18:41] ============= [PASSED] drm_format_helper_test ============== [17:18:41] ================= drm_format (18 subtests) ================= [17:18:41] [PASSED] drm_test_format_block_width_invalid [17:18:41] [PASSED] drm_test_format_block_width_one_plane [17:18:41] [PASSED] drm_test_format_block_width_two_plane [17:18:41] [PASSED] drm_test_format_block_width_three_plane [17:18:41] [PASSED] drm_test_format_block_width_tiled [17:18:41] [PASSED] drm_test_format_block_height_invalid [17:18:41] [PASSED] drm_test_format_block_height_one_plane [17:18:41] [PASSED] drm_test_format_block_height_two_plane [17:18:41] [PASSED] drm_test_format_block_height_three_plane [17:18:41] [PASSED] drm_test_format_block_height_tiled [17:18:41] [PASSED] drm_test_format_min_pitch_invalid [17:18:41] [PASSED] drm_test_format_min_pitch_one_plane_8bpp [17:18:41] [PASSED] drm_test_format_min_pitch_one_plane_16bpp [17:18:41] [PASSED] drm_test_format_min_pitch_one_plane_24bpp [17:18:41] [PASSED] drm_test_format_min_pitch_one_plane_32bpp [17:18:41] [PASSED] drm_test_format_min_pitch_two_plane [17:18:41] [PASSED] drm_test_format_min_pitch_three_plane_8bpp [17:18:41] [PASSED] drm_test_format_min_pitch_tiled [17:18:41] =================== [PASSED] drm_format ==================== [17:18:41] ============== drm_framebuffer (10 subtests) =============== [17:18:41] ========== drm_test_framebuffer_check_src_coords ========== [17:18:41] [PASSED] Success: source fits into fb [17:18:41] [PASSED] Fail: overflowing fb with x-axis coordinate [17:18:41] [PASSED] Fail: overflowing fb with y-axis coordinate [17:18:41] [PASSED] Fail: overflowing fb with source width [17:18:41] [PASSED] Fail: overflowing fb with source height [17:18:41] ====== [PASSED] drm_test_framebuffer_check_src_coords ====== [17:18:41] [PASSED] drm_test_framebuffer_cleanup [17:18:41] =============== drm_test_framebuffer_create =============== [17:18:41] [PASSED] ABGR8888 normal sizes [17:18:41] [PASSED] ABGR8888 max sizes [17:18:41] [PASSED] ABGR8888 pitch greater than min required [17:18:41] [PASSED] ABGR8888 pitch less than min required [17:18:41] [PASSED] ABGR8888 Invalid width [17:18:41] [PASSED] ABGR8888 Invalid buffer handle [17:18:41] [PASSED] No pixel format [17:18:41] [PASSED] ABGR8888 Width 0 [17:18:41] [PASSED] ABGR8888 Height 0 [17:18:41] [PASSED] ABGR8888 Out of bound height * pitch combination [17:18:41] [PASSED] ABGR8888 Large buffer offset [17:18:41] [PASSED] ABGR8888 Buffer offset for inexistent plane [17:18:41] [PASSED] ABGR8888 Invalid flag [17:18:41] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers [17:18:41] [PASSED] ABGR8888 Valid buffer modifier [17:18:41] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE) [17:18:41] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS [17:18:41] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS [17:18:41] [PASSED] NV12 Normal sizes [17:18:41] [PASSED] NV12 Max sizes [17:18:41] [PASSED] NV12 Invalid pitch [17:18:41] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag [17:18:41] [PASSED] NV12 different modifier per-plane [17:18:41] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE [17:18:41] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS [17:18:41] [PASSED] NV12 Modifier for inexistent plane [17:18:41] [PASSED] NV12 Handle for inexistent plane [17:18:41] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS [17:18:41] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier [17:18:41] [PASSED] YVU420 Normal sizes [17:18:41] [PASSED] YVU420 Max sizes [17:18:41] [PASSED] YVU420 Invalid pitch [17:18:41] [PASSED] YVU420 Different pitches [17:18:41] [PASSED] YVU420 Different buffer offsets/pitches [17:18:41] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS [17:18:41] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS [17:18:41] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS [17:18:41] [PASSED] YVU420 Valid modifier [17:18:41] [PASSED] YVU420 Different modifiers per plane [17:18:41] [PASSED] YVU420 Modifier for inexistent plane [17:18:41] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR) [17:18:41] [PASSED] X0L2 Normal sizes [17:18:41] [PASSED] X0L2 Max sizes [17:18:41] [PASSED] X0L2 Invalid pitch [17:18:41] [PASSED] X0L2 Pitch greater than minimum required [17:18:41] [PASSED] X0L2 Handle for inexistent plane [17:18:41] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set [17:18:41] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set [17:18:41] [PASSED] X0L2 Valid modifier [17:18:41] [PASSED] X0L2 Modifier for inexistent plane [17:18:41] =========== [PASSED] drm_test_framebuffer_create =========== [17:18:41] [PASSED] drm_test_framebuffer_free [17:18:41] [PASSED] drm_test_framebuffer_init [17:18:41] [PASSED] drm_test_framebuffer_init_bad_format [17:18:41] [PASSED] drm_test_framebuffer_init_dev_mismatch [17:18:41] [PASSED] drm_test_framebuffer_lookup [17:18:41] [PASSED] drm_test_framebuffer_lookup_inexistent [17:18:41] [PASSED] drm_test_framebuffer_modifiers_not_supported [17:18:41] ================= [PASSED] drm_framebuffer ================= [17:18:41] ================ drm_gem_shmem (8 subtests) ================ [17:18:41] [PASSED] drm_gem_shmem_test_obj_create [17:18:41] [PASSED] drm_gem_shmem_test_obj_create_private [17:18:41] [PASSED] drm_gem_shmem_test_pin_pages [17:18:41] [PASSED] drm_gem_shmem_test_vmap [17:18:41] [PASSED] drm_gem_shmem_test_get_pages_sgt [17:18:41] [PASSED] drm_gem_shmem_test_get_sg_table [17:18:41] [PASSED] drm_gem_shmem_test_madvise [17:18:41] [PASSED] drm_gem_shmem_test_purge [17:18:41] ================== [PASSED] drm_gem_shmem ================== [17:18:41] === drm_atomic_helper_connector_hdmi_check (27 subtests) === [17:18:41] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode [17:18:41] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1 [17:18:41] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode [17:18:41] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1 [17:18:41] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode [17:18:41] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1 [17:18:41] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 ======= [17:18:41] [PASSED] Automatic [17:18:41] [PASSED] Full [17:18:41] [PASSED] Limited 16:235 [17:18:41] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 === [17:18:41] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed [17:18:41] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed [17:18:41] [PASSED] drm_test_check_disable_connector [17:18:41] [PASSED] drm_test_check_hdmi_funcs_reject_rate [17:18:41] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb [17:18:41] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420 [17:18:41] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422 [17:18:41] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420 [17:18:41] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420 [17:18:41] [PASSED] drm_test_check_output_bpc_crtc_mode_changed [17:18:41] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed [17:18:41] [PASSED] drm_test_check_output_bpc_dvi [17:18:41] [PASSED] drm_test_check_output_bpc_format_vic_1 [17:18:41] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only [17:18:41] [PASSED] drm_test_check_output_bpc_format_display_rgb_only [17:18:41] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only [17:18:41] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only [17:18:41] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc [17:18:41] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc [17:18:41] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc [17:18:41] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ====== [17:18:41] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ==== [17:18:41] [PASSED] drm_test_check_broadcast_rgb_value [17:18:41] [PASSED] drm_test_check_bpc_8_value [17:18:41] [PASSED] drm_test_check_bpc_10_value [17:18:41] [PASSED] drm_test_check_bpc_12_value [17:18:41] [PASSED] drm_test_check_format_value [17:18:41] [PASSED] drm_test_check_tmds_char_value [17:18:41] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ====== [17:18:41] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) = [17:18:41] [PASSED] drm_test_check_mode_valid [17:18:41] [PASSED] drm_test_check_mode_valid_reject [17:18:41] [PASSED] drm_test_check_mode_valid_reject_rate [17:18:41] [PASSED] drm_test_check_mode_valid_reject_max_clock [17:18:41] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid === [17:18:41] ================= drm_managed (2 subtests) ================= [17:18:41] [PASSED] drm_test_managed_release_action [17:18:41] [PASSED] drm_test_managed_run_action [17:18:41] =================== [PASSED] drm_managed =================== [17:18:41] =================== drm_mm (6 subtests) ==================== [17:18:41] [PASSED] drm_test_mm_init [17:18:41] [PASSED] drm_test_mm_debug [17:18:41] [PASSED] drm_test_mm_align32 [17:18:41] [PASSED] drm_test_mm_align64 [17:18:41] [PASSED] drm_test_mm_lowest [17:18:41] [PASSED] drm_test_mm_highest [17:18:41] ===================== [PASSED] drm_mm ====================== [17:18:41] ============= drm_modes_analog_tv (5 subtests) ============= [17:18:41] [PASSED] drm_test_modes_analog_tv_mono_576i [17:18:41] [PASSED] drm_test_modes_analog_tv_ntsc_480i [17:18:41] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined [17:18:41] [PASSED] drm_test_modes_analog_tv_pal_576i [17:18:41] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined [17:18:41] =============== [PASSED] drm_modes_analog_tv =============== [17:18:41] ============== drm_plane_helper (2 subtests) =============== [17:18:41] =============== drm_test_check_plane_state ================ [17:18:41] [PASSED] clipping_simple [17:18:41] [PASSED] clipping_rotate_reflect [17:18:41] [PASSED] positioning_simple [17:18:41] [PASSED] upscaling [17:18:41] [PASSED] downscaling [17:18:41] [PASSED] rounding1 [17:18:41] [PASSED] rounding2 [17:18:41] [PASSED] rounding3 [17:18:41] [PASSED] rounding4 [17:18:41] =========== [PASSED] drm_test_check_plane_state ============ [17:18:41] =========== drm_test_check_invalid_plane_state ============ [17:18:41] [PASSED] positioning_invalid [17:18:41] [PASSED] upscaling_invalid [17:18:41] [PASSED] downscaling_invalid [17:18:41] ======= [PASSED] drm_test_check_invalid_plane_state ======== [17:18:41] ================ [PASSED] drm_plane_helper ================= [17:18:41] ====== drm_connector_helper_tv_get_modes (1 subtest) ======= [17:18:41] ====== drm_test_connector_helper_tv_get_modes_check ======= [17:18:41] [PASSED] None [17:18:41] [PASSED] PAL [17:18:41] [PASSED] NTSC [17:18:41] [PASSED] Both, NTSC Default [17:18:41] [PASSED] Both, PAL Default [17:18:41] [PASSED] Both, NTSC Default, with PAL on command-line [17:18:41] [PASSED] Both, PAL Default, with NTSC on command-line [17:18:41] == [PASSED] drm_test_connector_helper_tv_get_modes_check === [17:18:41] ======== [PASSED] drm_connector_helper_tv_get_modes ======== [17:18:41] ================== drm_rect (9 subtests) =================== [17:18:41] [PASSED] drm_test_rect_clip_scaled_div_by_zero [17:18:41] [PASSED] drm_test_rect_clip_scaled_not_clipped [17:18:41] [PASSED] drm_test_rect_clip_scaled_clipped [17:18:41] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned [17:18:41] ================= drm_test_rect_intersect ================= [17:18:41] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0 [17:18:41] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1 [17:18:41] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0 [17:18:41] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1 [17:18:41] [PASSED] right x left: 2x1+0+0 x 3x1+1+0 [17:18:41] [PASSED] left x right: 3x1+1+0 x 2x1+0+0 [17:18:41] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1 [17:18:41] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0 [17:18:41] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1 [17:18:41] [PASSED] touching side: 1x1+0+0 x 1x1+1+0 [17:18:41] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0 [17:18:41] [PASSED] inside another: 2x2+0+0 x 1x1+1+1 [17:18:41] [PASSED] far away: 1x1+0+0 x 1x1+3+6 [17:18:41] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10 [17:18:41] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10 [17:18:41] ============= [PASSED] drm_test_rect_intersect ============= [17:18:41] ================ drm_test_rect_calc_hscale ================ [17:18:41] [PASSED] normal use [17:18:41] [PASSED] out of max range [17:18:41] [PASSED] out of min range [17:18:41] [PASSED] zero dst [17:18:41] [PASSED] negative src [17:18:41] [PASSED] negative dst [17:18:41] ============ [PASSED] drm_test_rect_calc_hscale ============ [17:18:41] ================ drm_test_rect_calc_vscale ================ [17:18:41] [PASSED] normal use stty: 'standard input': Inappropriate ioctl for device [17:18:41] [PASSED] out of max range [17:18:41] [PASSED] out of min range [17:18:41] [PASSED] zero dst [17:18:41] [PASSED] negative src [17:18:41] [PASSED] negative dst [17:18:41] ============ [PASSED] drm_test_rect_calc_vscale ============ [17:18:41] ================== drm_test_rect_rotate =================== [17:18:41] [PASSED] reflect-x [17:18:41] [PASSED] reflect-y [17:18:41] [PASSED] rotate-0 [17:18:41] [PASSED] rotate-90 [17:18:41] [PASSED] rotate-180 [17:18:41] [PASSED] rotate-270 [17:18:41] ============== [PASSED] drm_test_rect_rotate =============== [17:18:41] ================ drm_test_rect_rotate_inv ================= [17:18:41] [PASSED] reflect-x [17:18:41] [PASSED] reflect-y [17:18:41] [PASSED] rotate-0 [17:18:41] [PASSED] rotate-90 [17:18:41] [PASSED] rotate-180 [17:18:41] [PASSED] rotate-270 [17:18:41] ============ [PASSED] drm_test_rect_rotate_inv ============= [17:18:41] ==================== [PASSED] drm_rect ===================== [17:18:41] ============ drm_sysfb_modeset_test (1 subtest) ============ [17:18:41] ============ drm_test_sysfb_build_fourcc_list ============= [17:18:41] [PASSED] no native formats [17:18:41] [PASSED] XRGB8888 as native format [17:18:41] [PASSED] remove duplicates [17:18:41] [PASSED] convert alpha formats [17:18:41] [PASSED] random formats [17:18:41] ======== [PASSED] drm_test_sysfb_build_fourcc_list ========= [17:18:41] ============= [PASSED] drm_sysfb_modeset_test ============== [17:18:41] ============================================================ [17:18:41] Testing complete. Ran 622 tests: passed: 622 [17:18:41] Elapsed time: 27.199s total, 1.616s configuring, 25.165s building, 0.387s running + /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig [17:18:42] Configuring KUnit Kernel ... Regenerating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [17:18:43] Building KUnit Kernel ... Populating config with: $ make ARCH=um O=.kunit olddefconfig Building with: $ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48 [17:18:53] Starting KUnit Kernel (1/1)... [17:18:53] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [17:18:53] ================= ttm_device (5 subtests) ================== [17:18:53] [PASSED] ttm_device_init_basic [17:18:53] [PASSED] ttm_device_init_multiple [17:18:53] [PASSED] ttm_device_fini_basic [17:18:53] [PASSED] ttm_device_init_no_vma_man [17:18:53] ================== ttm_device_init_pools ================== [17:18:53] [PASSED] No DMA allocations, no DMA32 required [17:18:53] [PASSED] DMA allocations, DMA32 required [17:18:53] [PASSED] No DMA allocations, DMA32 required [17:18:53] [PASSED] DMA allocations, no DMA32 required [17:18:53] ============== [PASSED] ttm_device_init_pools ============== [17:18:53] =================== [PASSED] ttm_device ==================== [17:18:53] ================== ttm_pool (8 subtests) =================== [17:18:53] ================== ttm_pool_alloc_basic =================== [17:18:53] [PASSED] One page [17:18:53] [PASSED] More than one page [17:18:53] [PASSED] Above the allocation limit [17:18:53] [PASSED] One page, with coherent DMA mappings enabled [17:18:53] [PASSED] Above the allocation limit, with coherent DMA mappings enabled [17:18:53] ============== [PASSED] ttm_pool_alloc_basic =============== [17:18:53] ============== ttm_pool_alloc_basic_dma_addr ============== [17:18:53] [PASSED] One page [17:18:53] [PASSED] More than one page [17:18:53] [PASSED] Above the allocation limit [17:18:53] [PASSED] One page, with coherent DMA mappings enabled [17:18:53] [PASSED] Above the allocation limit, with coherent DMA mappings enabled [17:18:53] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ========== [17:18:53] [PASSED] ttm_pool_alloc_order_caching_match [17:18:53] [PASSED] ttm_pool_alloc_caching_mismatch [17:18:53] [PASSED] ttm_pool_alloc_order_mismatch [17:18:53] [PASSED] ttm_pool_free_dma_alloc [17:18:53] [PASSED] ttm_pool_free_no_dma_alloc [17:18:53] [PASSED] ttm_pool_fini_basic [17:18:53] ==================== [PASSED] ttm_pool ===================== [17:18:53] ================ ttm_resource (8 subtests) ================= [17:18:53] ================= ttm_resource_init_basic ================= [17:18:53] [PASSED] Init resource in TTM_PL_SYSTEM [17:18:53] [PASSED] Init resource in TTM_PL_VRAM [17:18:53] [PASSED] Init resource in a private placement [17:18:53] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags [17:18:53] ============= [PASSED] ttm_resource_init_basic ============= [17:18:53] [PASSED] ttm_resource_init_pinned [17:18:53] [PASSED] ttm_resource_fini_basic [17:18:53] [PASSED] ttm_resource_manager_init_basic [17:18:53] [PASSED] ttm_resource_manager_usage_basic [17:18:53] [PASSED] ttm_resource_manager_set_used_basic [17:18:53] [PASSED] ttm_sys_man_alloc_basic [17:18:53] [PASSED] ttm_sys_man_free_basic [17:18:53] ================== [PASSED] ttm_resource =================== [17:18:53] =================== ttm_tt (15 subtests) =================== [17:18:53] ==================== ttm_tt_init_basic ==================== [17:18:53] [PASSED] Page-aligned size [17:18:53] [PASSED] Extra pages requested [17:18:53] ================ [PASSED] ttm_tt_init_basic ================ [17:18:53] [PASSED] ttm_tt_init_misaligned [17:18:53] [PASSED] ttm_tt_fini_basic [17:18:53] [PASSED] ttm_tt_fini_sg [17:18:53] [PASSED] ttm_tt_fini_shmem [17:18:53] [PASSED] ttm_tt_create_basic [17:18:53] [PASSED] ttm_tt_create_invalid_bo_type [17:18:53] [PASSED] ttm_tt_create_ttm_exists [17:18:53] [PASSED] ttm_tt_create_failed [17:18:53] [PASSED] ttm_tt_destroy_basic [17:18:53] [PASSED] ttm_tt_populate_null_ttm [17:18:53] [PASSED] ttm_tt_populate_populated_ttm [17:18:53] [PASSED] ttm_tt_unpopulate_basic [17:18:53] [PASSED] ttm_tt_unpopulate_empty_ttm [17:18:53] [PASSED] ttm_tt_swapin_basic [17:18:53] ===================== [PASSED] ttm_tt ====================== [17:18:53] =================== ttm_bo (14 subtests) =================== [17:18:53] =========== ttm_bo_reserve_optimistic_no_ticket =========== [17:18:53] [PASSED] Cannot be interrupted and sleeps [17:18:53] [PASSED] Cannot be interrupted, locks straight away [17:18:53] [PASSED] Can be interrupted, sleeps [17:18:53] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket ======= [17:18:53] [PASSED] ttm_bo_reserve_locked_no_sleep [17:18:53] [PASSED] ttm_bo_reserve_no_wait_ticket [17:18:53] [PASSED] ttm_bo_reserve_double_resv [17:18:53] [PASSED] ttm_bo_reserve_interrupted [17:18:53] [PASSED] ttm_bo_reserve_deadlock [17:18:53] [PASSED] ttm_bo_unreserve_basic [17:18:53] [PASSED] ttm_bo_unreserve_pinned [17:18:53] [PASSED] ttm_bo_unreserve_bulk [17:18:53] [PASSED] ttm_bo_fini_basic [17:18:53] [PASSED] ttm_bo_fini_shared_resv [17:18:53] [PASSED] ttm_bo_pin_basic [17:18:53] [PASSED] ttm_bo_pin_unpin_resource [17:18:53] [PASSED] ttm_bo_multiple_pin_one_unpin [17:18:53] ===================== [PASSED] ttm_bo ====================== [17:18:53] ============== ttm_bo_validate (21 subtests) =============== [17:18:53] ============== ttm_bo_init_reserved_sys_man =============== [17:18:53] [PASSED] Buffer object for userspace [17:18:53] [PASSED] Kernel buffer object [17:18:53] [PASSED] Shared buffer object [17:18:53] ========== [PASSED] ttm_bo_init_reserved_sys_man =========== [17:18:53] ============== ttm_bo_init_reserved_mock_man ============== [17:18:53] [PASSED] Buffer object for userspace [17:18:53] [PASSED] Kernel buffer object [17:18:53] [PASSED] Shared buffer object [17:18:53] ========== [PASSED] ttm_bo_init_reserved_mock_man ========== [17:18:53] [PASSED] ttm_bo_init_reserved_resv [17:18:53] ================== ttm_bo_validate_basic ================== [17:18:53] [PASSED] Buffer object for userspace [17:18:53] [PASSED] Kernel buffer object [17:18:53] [PASSED] Shared buffer object [17:18:53] ============== [PASSED] ttm_bo_validate_basic ============== [17:18:53] [PASSED] ttm_bo_validate_invalid_placement [17:18:53] ============= ttm_bo_validate_same_placement ============== [17:18:53] [PASSED] System manager [17:18:53] [PASSED] VRAM manager [17:18:53] ========= [PASSED] ttm_bo_validate_same_placement ========== [17:18:53] [PASSED] ttm_bo_validate_failed_alloc [17:18:53] [PASSED] ttm_bo_validate_pinned [17:18:53] [PASSED] ttm_bo_validate_busy_placement [17:18:53] ================ ttm_bo_validate_multihop ================= [17:18:53] [PASSED] Buffer object for userspace [17:18:53] [PASSED] Kernel buffer object [17:18:53] [PASSED] Shared buffer object [17:18:53] ============ [PASSED] ttm_bo_validate_multihop ============= [17:18:53] ========== ttm_bo_validate_no_placement_signaled ========== [17:18:53] [PASSED] Buffer object in system domain, no page vector [17:18:53] [PASSED] Buffer object in system domain with an existing page vector [17:18:53] ====== [PASSED] ttm_bo_validate_no_placement_signaled ====== [17:18:53] ======== ttm_bo_validate_no_placement_not_signaled ======== [17:18:53] [PASSED] Buffer object for userspace [17:18:53] [PASSED] Kernel buffer object [17:18:53] [PASSED] Shared buffer object [17:18:53] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ==== [17:18:53] [PASSED] ttm_bo_validate_move_fence_signaled [17:18:53] ========= ttm_bo_validate_move_fence_not_signaled ========= [17:18:53] [PASSED] Waits for GPU [17:18:53] [PASSED] Tries to lock straight away [17:18:53] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled ===== [17:18:53] [PASSED] ttm_bo_validate_happy_evict [17:18:53] [PASSED] ttm_bo_validate_all_pinned_evict [17:18:53] [PASSED] ttm_bo_validate_allowed_only_evict [17:18:53] [PASSED] ttm_bo_validate_deleted_evict [17:18:53] [PASSED] ttm_bo_validate_busy_domain_evict [17:18:53] [PASSED] ttm_bo_validate_evict_gutting [17:18:53] [PASSED] ttm_bo_validate_recrusive_evict stty: 'standard input': Inappropriate ioctl for device [17:18:53] ================= [PASSED] ttm_bo_validate ================= [17:18:53] ============================================================ [17:18:53] Testing complete. Ran 101 tests: passed: 101 [17:18:53] Elapsed time: 11.323s total, 1.629s configuring, 9.477s building, 0.187s running + cleanup ++ stat -c %u:%g /kernel + chown -R 1003:1003 /kernel ^ permalink raw reply [flat|nested] 11+ messages in thread
* ✗ Xe.CI.BAT: failure for VF double migration (rev2) 2025-10-23 15:36 [PATCH v2 0/2] VF double migration Satyanarayana K V P ` (2 preceding siblings ...) 2025-10-23 17:18 ` ✓ CI.KUnit: success for VF double migration (rev2) Patchwork @ 2025-10-23 18:17 ` Patchwork 2025-10-24 5:23 ` ✗ Xe.CI.Full: " Patchwork 4 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2025-10-23 18:17 UTC (permalink / raw) To: Satyanarayana K V P; +Cc: intel-xe [-- Attachment #1: Type: text/plain, Size: 10209 bytes --] == Series Details == Series: VF double migration (rev2) URL : https://patchwork.freedesktop.org/series/156339/ State : failure == Summary == CI Bug Log - changes from xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff_BAT -> xe-pw-156339v2_BAT ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with xe-pw-156339v2_BAT absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in xe-pw-156339v2_BAT, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them to document this new failure mode, which will reduce false positives in CI. Participating hosts (11 -> 12) ------------------------------ Additional (1): bat-pvc-2 Possible new issues ------------------- Here are the unknown changes that may have been introduced in xe-pw-156339v2_BAT: ### IGT changes ### #### Possible regressions #### * igt@sriov_basic@enable-vfs-autoprobe-on: - bat-bmg-2: [PASS][1] -> [ABORT][2] +1 other test abort [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/bat-bmg-2/igt@sriov_basic@enable-vfs-autoprobe-on.html [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-bmg-2/igt@sriov_basic@enable-vfs-autoprobe-on.html * igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1: - bat-bmg-1: [PASS][3] -> [ABORT][4] +1 other test abort [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/bat-bmg-1/igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1.html [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-bmg-1/igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1.html - bat-atsm-2: [PASS][5] -> [ABORT][6] +1 other test abort [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/bat-atsm-2/igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1.html [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-atsm-2/igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1.html Known issues ------------ Here are the changes found in xe-pw-156339v2_BAT that come from known issues: ### IGT changes ### #### Issues hit #### * igt@fbdev@eof: - bat-pvc-2: NOTRUN -> [SKIP][7] ([Intel XE#2134]) +4 other tests skip [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@fbdev@eof.html * igt@kms_addfb_basic@addfb25-x-tiled-legacy: - bat-pvc-2: NOTRUN -> [SKIP][8] ([i915#6077]) +30 other tests skip [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@kms_addfb_basic@addfb25-x-tiled-legacy.html * igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size: - bat-pvc-2: NOTRUN -> [SKIP][9] ([Intel XE#1024] / [Intel XE#782]) +5 other tests skip [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size.html * igt@kms_dsc@dsc-basic: - bat-pvc-2: NOTRUN -> [SKIP][10] ([Intel XE#1024] / [Intel XE#784]) [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@kms_dsc@dsc-basic.html * igt@kms_flip@basic-flip-vs-wf_vblank: - bat-pvc-2: NOTRUN -> [SKIP][11] ([Intel XE#1024] / [Intel XE#947]) +3 other tests skip [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@kms_flip@basic-flip-vs-wf_vblank.html * igt@kms_force_connector_basic@force-connector-state: - bat-pvc-2: NOTRUN -> [SKIP][12] ([Intel XE#540]) +3 other tests skip [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@kms_force_connector_basic@force-connector-state.html * igt@kms_frontbuffer_tracking@basic: - bat-pvc-2: NOTRUN -> [SKIP][13] ([Intel XE#1024] / [Intel XE#783]) [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@kms_frontbuffer_tracking@basic.html * igt@kms_pipe_crc_basic@read-crc-frame-sequence: - bat-pvc-2: NOTRUN -> [SKIP][14] ([Intel XE#829]) +6 other tests skip [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html * igt@kms_prop_blob@basic: - bat-pvc-2: NOTRUN -> [SKIP][15] ([Intel XE#780]) [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@kms_prop_blob@basic.html * igt@kms_psr@psr-sprite-plane-onoff: - bat-pvc-2: NOTRUN -> [SKIP][16] ([Intel XE#1024] / [Intel XE#1406]) +2 other tests skip [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@kms_psr@psr-sprite-plane-onoff.html * igt@sriov_basic@enable-vfs-autoprobe-off: - bat-pvc-2: NOTRUN -> [SKIP][17] ([Intel XE#2849]) +1 other test skip [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@sriov_basic@enable-vfs-autoprobe-off.html * igt@sriov_basic@enable-vfs-autoprobe-on: - bat-ptl-1: [PASS][18] -> [ABORT][19] ([Intel XE#6349]) +1 other test abort [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/bat-ptl-1/igt@sriov_basic@enable-vfs-autoprobe-on.html [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-ptl-1/igt@sriov_basic@enable-vfs-autoprobe-on.html * igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1: - bat-ptl-2: [PASS][20] -> [ABORT][21] ([Intel XE#6349]) +1 other test abort [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/bat-ptl-2/igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1.html [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-ptl-2/igt@sriov_basic@enable-vfs-autoprobe-on@numvfs-1.html * igt@xe_gt_freq@freq_fixed_idle: - bat-pvc-2: NOTRUN -> [SKIP][22] ([Intel XE#1021]) +1 other test skip [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@xe_gt_freq@freq_fixed_idle.html * igt@xe_huc_copy@huc_copy: - bat-pvc-2: NOTRUN -> [SKIP][23] ([Intel XE#255]) [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@xe_huc_copy@huc_copy.html * igt@xe_intel_bb@render: - bat-pvc-2: NOTRUN -> [SKIP][24] ([Intel XE#532]) [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@xe_intel_bb@render.html * igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit: - bat-pvc-2: NOTRUN -> [SKIP][25] ([Intel XE#2229]) +1 other test skip [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html * igt@xe_module_load@load: - bat-ptl-vm: [PASS][26] -> [ABORT][27] ([Intel XE#6349]) [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/bat-ptl-vm/igt@xe_module_load@load.html [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-ptl-vm/igt@xe_module_load@load.html * igt@xe_pat@pat-index-xe2: - bat-pvc-2: NOTRUN -> [SKIP][28] ([Intel XE#977]) +1 other test skip [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@xe_pat@pat-index-xe2.html * igt@xe_pat@pat-index-xehpc@render: - bat-pvc-2: NOTRUN -> [SKIP][29] ([Intel XE#4578]) [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@xe_pat@pat-index-xehpc@render.html * igt@xe_pat@pat-index-xelpg: - bat-pvc-2: NOTRUN -> [SKIP][30] ([Intel XE#979]) [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@xe_pat@pat-index-xelpg.html * igt@xe_pm_residency@gt-c6-on-idle: - bat-pvc-2: NOTRUN -> [SKIP][31] ([Intel XE#531]) [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@xe_pm_residency@gt-c6-on-idle.html * igt@xe_sriov_flr@flr-vf1-clear: - bat-pvc-2: NOTRUN -> [SKIP][32] ([Intel XE#3342]) [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/bat-pvc-2/igt@xe_sriov_flr@flr-vf1-clear.html [Intel XE#1021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1021 [Intel XE#1024]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1024 [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406 [Intel XE#2134]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2134 [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229 [Intel XE#255]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/255 [Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849 [Intel XE#3342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3342 [Intel XE#4578]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4578 [Intel XE#531]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/531 [Intel XE#532]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/532 [Intel XE#540]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/540 [Intel XE#6349]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6349 [Intel XE#780]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/780 [Intel XE#782]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/782 [Intel XE#783]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/783 [Intel XE#784]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/784 [Intel XE#829]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/829 [Intel XE#947]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/947 [Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977 [Intel XE#979]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/979 [i915#6077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6077 Build changes ------------- * Linux: xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff -> xe-pw-156339v2 IGT_8596: 8596 xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff: c63ccee28ae7ab4cb57a2433314f08c71da914ff xe-pw-156339v2: 156339v2 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/index.html [-- Attachment #2: Type: text/html, Size: 11794 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* ✗ Xe.CI.Full: failure for VF double migration (rev2) 2025-10-23 15:36 [PATCH v2 0/2] VF double migration Satyanarayana K V P ` (3 preceding siblings ...) 2025-10-23 18:17 ` ✗ Xe.CI.BAT: failure " Patchwork @ 2025-10-24 5:23 ` Patchwork 4 siblings, 0 replies; 11+ messages in thread From: Patchwork @ 2025-10-24 5:23 UTC (permalink / raw) To: K V P, Satyanarayana; +Cc: intel-xe [-- Attachment #1: Type: text/plain, Size: 41291 bytes --] == Series Details == Series: VF double migration (rev2) URL : https://patchwork.freedesktop.org/series/156339/ State : failure == Summary == CI Bug Log - changes from xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff_FULL -> xe-pw-156339v2_FULL ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with xe-pw-156339v2_FULL absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in xe-pw-156339v2_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them to document this new failure mode, which will reduce false positives in CI. Participating hosts (4 -> 4) ------------------------------ No changes in participating hosts Possible new issues ------------------- Here are the unknown changes that may have been introduced in xe-pw-156339v2_FULL: ### IGT changes ### #### Possible regressions #### * igt@xe_pmu@engine-activity-multi-client@engine-drm_xe_engine_class_video_enhance1: - shard-bmg: [PASS][1] -> [ABORT][2] +34 other tests abort [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@xe_pmu@engine-activity-multi-client@engine-drm_xe_engine_class_video_enhance1.html [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-2/igt@xe_pmu@engine-activity-multi-client@engine-drm_xe_engine_class_video_enhance1.html * igt@xe_pmu@engine-activity-single-load@engine-drm_xe_engine_class_video_enhance1: - shard-bmg: NOTRUN -> [ABORT][3] +3 other tests abort [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-3/igt@xe_pmu@engine-activity-single-load@engine-drm_xe_engine_class_video_enhance1.html Known issues ------------ Here are the changes found in xe-pw-156339v2_FULL that come from known issues: ### IGT changes ### #### Issues hit #### * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip: - shard-bmg: NOTRUN -> [SKIP][4] ([Intel XE#1124]) [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-3/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip.html * igt@kms_big_fb@yf-tiled-32bpp-rotate-0: - shard-dg2-set2: NOTRUN -> [SKIP][5] ([Intel XE#1124]) [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-463/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-6: - shard-dg2-set2: NOTRUN -> [SKIP][6] ([Intel XE#787]) +34 other tests skip [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-6.html * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs: - shard-bmg: NOTRUN -> [SKIP][7] ([Intel XE#2887]) [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-3/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs.html * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4: - shard-dg2-set2: NOTRUN -> [SKIP][8] ([Intel XE#455] / [Intel XE#787]) +9 other tests skip [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4.html * igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs@pipe-b-dp-2: - shard-bmg: NOTRUN -> [SKIP][9] ([Intel XE#2652] / [Intel XE#787]) +3 other tests skip [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-1/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs@pipe-b-dp-2.html * igt@kms_chamelium_edid@hdmi-mode-timings: - shard-dg2-set2: NOTRUN -> [SKIP][10] ([Intel XE#373]) +1 other test skip [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@kms_chamelium_edid@hdmi-mode-timings.html * igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic: - shard-bmg: [PASS][11] -> [SKIP][12] ([Intel XE#2291]) [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-3/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-6/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic: - shard-bmg: [PASS][13] -> [FAIL][14] ([Intel XE#1475]) [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-7/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-3/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html * igt@kms_feature_discovery@psr1: - shard-dg2-set2: NOTRUN -> [SKIP][15] ([Intel XE#1135]) [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@kms_feature_discovery@psr1.html * igt@kms_flip@flip-vs-rmfb: - shard-adlp: [PASS][16] -> [DMESG-WARN][17] ([Intel XE#4543] / [Intel XE#5208]) [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-adlp-1/igt@kms_flip@flip-vs-rmfb.html [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-adlp-9/igt@kms_flip@flip-vs-rmfb.html * igt@kms_flip@flip-vs-rmfb-interruptible: - shard-adlp: [PASS][18] -> [DMESG-WARN][19] ([Intel XE#5208]) [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-adlp-8/igt@kms_flip@flip-vs-rmfb-interruptible.html [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-adlp-1/igt@kms_flip@flip-vs-rmfb-interruptible.html * igt@kms_flip@flip-vs-suspend: - shard-bmg: [PASS][20] -> [INCOMPLETE][21] ([Intel XE#2049] / [Intel XE#2597]) +1 other test incomplete [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-3/igt@kms_flip@flip-vs-suspend.html [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-4/igt@kms_flip@flip-vs-suspend.html * igt@kms_flip@flip-vs-suspend@b-hdmi-a1: - shard-adlp: [PASS][22] -> [DMESG-WARN][23] ([Intel XE#4543]) +10 other tests dmesg-warn [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-adlp-6/igt@kms_flip@flip-vs-suspend@b-hdmi-a1.html [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-adlp-2/igt@kms_flip@flip-vs-suspend@b-hdmi-a1.html * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-y: - shard-adlp: [PASS][24] -> [DMESG-FAIL][25] ([Intel XE#4543]) [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-adlp-3/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-y.html [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-adlp-4/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-x-to-y.html * igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-y: - shard-adlp: [PASS][26] -> [FAIL][27] ([Intel XE#1874]) [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-adlp-3/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-y.html [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-adlp-4/igt@kms_flip_tiling@flip-change-tiling@pipe-d-hdmi-a-1-x-to-y.html * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-blt: - shard-bmg: NOTRUN -> [SKIP][28] ([Intel XE#2311]) [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-3/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-msflip-blt: - shard-bmg: NOTRUN -> [SKIP][29] ([Intel XE#5390]) +1 other test skip [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-msflip-blt.html * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-blt: - shard-dg2-set2: NOTRUN -> [SKIP][30] ([Intel XE#651]) +4 other tests skip [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render: - shard-bmg: NOTRUN -> [SKIP][31] ([Intel XE#2313]) [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render.html * igt@kms_frontbuffer_tracking@plane-fbc-rte: - shard-dg2-set2: NOTRUN -> [SKIP][32] ([Intel XE#1158]) [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@kms_frontbuffer_tracking@plane-fbc-rte.html * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-move: - shard-dg2-set2: NOTRUN -> [SKIP][33] ([Intel XE#653]) +6 other tests skip [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-move.html * igt@kms_hdr@invalid-hdr: - shard-bmg: [PASS][34] -> [SKIP][35] ([Intel XE#1503]) [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-4/igt@kms_hdr@invalid-hdr.html [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-1/igt@kms_hdr@invalid-hdr.html * igt@kms_joiner@basic-force-ultra-joiner: - shard-dg2-set2: NOTRUN -> [SKIP][36] ([Intel XE#2925]) [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@kms_joiner@basic-force-ultra-joiner.html * igt@kms_plane_alpha_blend@alpha-transparent-fb: - shard-bmg: [PASS][37] -> [SKIP][38] ([Intel XE#4848]) [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-7/igt@kms_plane_alpha_blend@alpha-transparent-fb.html [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-6/igt@kms_plane_alpha_blend@alpha-transparent-fb.html * igt@kms_pm_rpm@dpms-mode-unset-lpsp: - shard-adlp: [PASS][39] -> [DMESG-WARN][40] ([Intel XE#2953] / [Intel XE#4173]) +6 other tests dmesg-warn [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-adlp-3/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-adlp-8/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html * igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area: - shard-dg2-set2: NOTRUN -> [SKIP][41] ([Intel XE#1406] / [Intel XE#1489]) +2 other tests skip [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-463/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html * igt@kms_psr@pr-sprite-plane-move: - shard-dg2-set2: NOTRUN -> [SKIP][42] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +2 other tests skip [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-463/igt@kms_psr@pr-sprite-plane-move.html * igt@kms_rotation_crc@primary-y-tiled-reflect-x-0: - shard-dg2-set2: NOTRUN -> [SKIP][43] ([Intel XE#1127]) [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@kms_rotation_crc@primary-y-tiled-reflect-x-0.html * igt@kms_rotation_crc@sprite-rotation-90: - shard-bmg: NOTRUN -> [SKIP][44] ([Intel XE#3414] / [Intel XE#3904]) [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-7/igt@kms_rotation_crc@sprite-rotation-90.html - shard-dg2-set2: NOTRUN -> [SKIP][45] ([Intel XE#3414]) [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@kms_rotation_crc@sprite-rotation-90.html * igt@kms_vrr@flipline: - shard-dg2-set2: NOTRUN -> [SKIP][46] ([Intel XE#455]) +4 other tests skip [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-463/igt@kms_vrr@flipline.html * igt@kms_vrr@negative-basic: - shard-bmg: [PASS][47] -> [SKIP][48] ([Intel XE#1499]) [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-2/igt@kms_vrr@negative-basic.html [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-6/igt@kms_vrr@negative-basic.html * igt@xe_compute_preempt@compute-preempt-many-vram-evict: - shard-dg2-set2: NOTRUN -> [SKIP][49] ([Intel XE#6360]) [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@xe_compute_preempt@compute-preempt-many-vram-evict.html * igt@xe_copy_basic@mem-set-linear-0xfd: - shard-dg2-set2: NOTRUN -> [SKIP][50] ([Intel XE#1126]) +1 other test skip [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@xe_copy_basic@mem-set-linear-0xfd.html * igt@xe_eudebug@multigpu-basic-client: - shard-dg2-set2: NOTRUN -> [SKIP][51] ([Intel XE#4837]) +1 other test skip [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-463/igt@xe_eudebug@multigpu-basic-client.html * igt@xe_exec_basic@multigpu-no-exec-null-rebind: - shard-bmg: NOTRUN -> [SKIP][52] ([Intel XE#2322]) [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-3/igt@xe_exec_basic@multigpu-no-exec-null-rebind.html * igt@xe_exec_fault_mode@many-userptr: - shard-dg2-set2: NOTRUN -> [SKIP][53] ([Intel XE#288]) +5 other tests skip [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-463/igt@xe_exec_fault_mode@many-userptr.html * igt@xe_exec_system_allocator@threads-many-execqueues-mmap-prefetch-shared: - shard-dg2-set2: NOTRUN -> [SKIP][54] ([Intel XE#4915]) +77 other tests skip [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@xe_exec_system_allocator@threads-many-execqueues-mmap-prefetch-shared.html * igt@xe_exec_threads@threads-mixed-shared-vm-rebind: - shard-bmg: [PASS][55] -> [DMESG-WARN][56] ([Intel XE#3428]) [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-3/igt@xe_exec_threads@threads-mixed-shared-vm-rebind.html [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-6/igt@xe_exec_threads@threads-mixed-shared-vm-rebind.html * igt@xe_oa@whitelisted-registers-userspace-config: - shard-dg2-set2: NOTRUN -> [SKIP][57] ([Intel XE#3573]) +1 other test skip [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-434/igt@xe_oa@whitelisted-registers-userspace-config.html * igt@xe_pxp@pxp-termination-key-update-post-suspend: - shard-dg2-set2: NOTRUN -> [SKIP][58] ([Intel XE#4733]) [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-463/igt@xe_pxp@pxp-termination-key-update-post-suspend.html * igt@xe_query@multigpu-query-invalid-cs-cycles: - shard-dg2-set2: NOTRUN -> [SKIP][59] ([Intel XE#944]) [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@xe_query@multigpu-query-invalid-cs-cycles.html * igt@xe_render_copy@render-stress-1-copies: - shard-dg2-set2: NOTRUN -> [SKIP][60] ([Intel XE#4814]) [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-434/igt@xe_render_copy@render-stress-1-copies.html * igt@xe_sriov_vram@vf-access-after-resize-up: - shard-dg2-set2: NOTRUN -> [SKIP][61] ([Intel XE#6318]) [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-463/igt@xe_sriov_vram@vf-access-after-resize-up.html #### Possible fixes #### * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs: - shard-dg2-set2: [INCOMPLETE][62] ([Intel XE#2705] / [Intel XE#4212] / [Intel XE#4345]) -> [PASS][63] [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc: - shard-dg2-set2: [INCOMPLETE][64] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522]) -> [PASS][65] [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-dp-4: - shard-dg2-set2: [INCOMPLETE][66] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522]) -> [PASS][67] [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-dp-4.html [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-b-dp-4.html * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-dp-4: - shard-dg2-set2: [INCOMPLETE][68] ([Intel XE#2705] / [Intel XE#4212]) -> [PASS][69] [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-dp-4.html [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-dp-4.html * igt@kms_flip@2x-flip-vs-modeset-vs-hang: - shard-bmg: [SKIP][70] ([Intel XE#2316]) -> [PASS][71] +1 other test pass [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@kms_flip@2x-flip-vs-modeset-vs-hang.html [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-2/igt@kms_flip@2x-flip-vs-modeset-vs-hang.html * igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@a-dp2: - shard-bmg: [FAIL][72] ([Intel XE#5338] / [Intel XE#5416]) -> [PASS][73] +1 other test pass [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@a-dp2.html [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-1/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@a-dp2.html * igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@c-dp2: - shard-bmg: [FAIL][74] ([Intel XE#5416]) -> [PASS][75] [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@c-dp2.html [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-1/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible@c-dp2.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-adlp: [DMESG-WARN][76] ([Intel XE#4543]) -> [PASS][77] +12 other tests pass [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-adlp-9/igt@kms_flip@flip-vs-suspend-interruptible.html [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-adlp-8/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-x: - shard-adlp: [DMESG-FAIL][78] ([Intel XE#4543]) -> [PASS][79] [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-adlp-3/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-x.html [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-adlp-4/igt@kms_flip_tiling@flip-change-tiling@pipe-b-hdmi-a-1-y-to-x.html * igt@kms_joiner@basic-force-big-joiner: - shard-bmg: [SKIP][80] ([Intel XE#3012]) -> [PASS][81] [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@kms_joiner@basic-force-big-joiner.html [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-2/igt@kms_joiner@basic-force-big-joiner.html * igt@kms_plane_multiple@2x-tiling-none: - shard-bmg: [SKIP][82] ([Intel XE#4596]) -> [PASS][83] [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-none.html [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-1/igt@kms_plane_multiple@2x-tiling-none.html * igt@xe_compute_preempt@compute-preempt-many-vram-evict@engine-drm_xe_engine_class_compute: - shard-bmg: [ABORT][84] ([Intel XE#3970]) -> [PASS][85] +1 other test pass [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-8/igt@xe_compute_preempt@compute-preempt-many-vram-evict@engine-drm_xe_engine_class_compute.html [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-7/igt@xe_compute_preempt@compute-preempt-many-vram-evict@engine-drm_xe_engine_class_compute.html * igt@xe_exec_basic@multigpu-once-basic: - shard-dg2-set2: [INCOMPLETE][86] ([Intel XE#4842]) -> [PASS][87] [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-dg2-466/igt@xe_exec_basic@multigpu-once-basic.html [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-463/igt@xe_exec_basic@multigpu-once-basic.html * igt@xe_exec_system_allocator@threads-shared-vm-many-large-mmap-new-madvise: - shard-bmg: [DMESG-WARN][88] ([Intel XE#3428]) -> [PASS][89] +3 other tests pass [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@xe_exec_system_allocator@threads-shared-vm-many-large-mmap-new-madvise.html [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-1/igt@xe_exec_system_allocator@threads-shared-vm-many-large-mmap-new-madvise.html * igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv: - shard-dg2-set2: [DMESG-WARN][90] ([Intel XE#5893]) -> [PASS][91] [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-dg2-466/igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv.html [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-dg2-463/igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv.html * igt@xe_gt_freq@freq_suspend: - shard-adlp: [DMESG-WARN][92] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][93] +3 other tests pass [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-adlp-4/igt@xe_gt_freq@freq_suspend.html [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-adlp-3/igt@xe_gt_freq@freq_suspend.html * igt@xe_module_load@load: - shard-bmg: ([PASS][94], [PASS][95], [PASS][96], [PASS][97], [PASS][98], [PASS][99], [PASS][100], [PASS][101], [PASS][102], [PASS][103], [PASS][104], [PASS][105], [PASS][106], [PASS][107], [PASS][108], [PASS][109], [PASS][110], [PASS][111], [PASS][112], [PASS][113], [SKIP][114], [PASS][115], [PASS][116], [PASS][117], [PASS][118]) ([Intel XE#2457]) -> ([PASS][119], [PASS][120], [PASS][121], [PASS][122], [PASS][123], [PASS][124], [PASS][125], [PASS][126], [PASS][127], [PASS][128], [PASS][129], [PASS][130], [PASS][131], [PASS][132], [PASS][133], [PASS][134], [PASS][135], [PASS][136], [PASS][137], [PASS][138], [PASS][139], [PASS][140], [PASS][141], [PASS][142], [PASS][143]) [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-8/igt@xe_module_load@load.html [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-1/igt@xe_module_load@load.html [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-1/igt@xe_module_load@load.html [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-5/igt@xe_module_load@load.html [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-5/igt@xe_module_load@load.html [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-5/igt@xe_module_load@load.html [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-7/igt@xe_module_load@load.html [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-7/igt@xe_module_load@load.html [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-4/igt@xe_module_load@load.html [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-4/igt@xe_module_load@load.html [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-4/igt@xe_module_load@load.html [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-3/igt@xe_module_load@load.html [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-3/igt@xe_module_load@load.html [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-3/igt@xe_module_load@load.html [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@xe_module_load@load.html [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-7/igt@xe_module_load@load.html [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-4/igt@xe_module_load@load.html [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-2/igt@xe_module_load@load.html [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-2/igt@xe_module_load@load.html [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-2/igt@xe_module_load@load.html [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-2/igt@xe_module_load@load.html [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@xe_module_load@load.html [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@xe_module_load@load.html [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-8/igt@xe_module_load@load.html [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-8/igt@xe_module_load@load.html [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-2/igt@xe_module_load@load.html [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-2/igt@xe_module_load@load.html [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-5/igt@xe_module_load@load.html [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-8/igt@xe_module_load@load.html [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-5/igt@xe_module_load@load.html [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-6/igt@xe_module_load@load.html [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-6/igt@xe_module_load@load.html [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-2/igt@xe_module_load@load.html [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-7/igt@xe_module_load@load.html [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-3/igt@xe_module_load@load.html [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-5/igt@xe_module_load@load.html [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-3/igt@xe_module_load@load.html [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-8/igt@xe_module_load@load.html [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-6/igt@xe_module_load@load.html [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-1/igt@xe_module_load@load.html [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-8/igt@xe_module_load@load.html [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-4/igt@xe_module_load@load.html [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-4/igt@xe_module_load@load.html [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-3/igt@xe_module_load@load.html [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-1/igt@xe_module_load@load.html [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-1/igt@xe_module_load@load.html [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-2/igt@xe_module_load@load.html [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-4/igt@xe_module_load@load.html [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-7/igt@xe_module_load@load.html [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-3/igt@xe_module_load@load.html * igt@xe_sriov_scheduling@nonpreempt-engine-resets@numvfs-random: - shard-adlp: [DMESG-FAIL][144] ([Intel XE#3868] / [Intel XE#5213]) -> [PASS][145] +1 other test pass [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-adlp-9/igt@xe_sriov_scheduling@nonpreempt-engine-resets@numvfs-random.html [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-adlp-8/igt@xe_sriov_scheduling@nonpreempt-engine-resets@numvfs-random.html #### Warnings #### * igt@kms_cursor_crc@cursor-offscreen-512x170: - shard-bmg: [SKIP][146] ([Intel XE#2321]) -> [SKIP][147] ([Intel XE#2320]) [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-7/igt@kms_cursor_crc@cursor-offscreen-512x170.html [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-6/igt@kms_cursor_crc@cursor-offscreen-512x170.html * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc: - shard-bmg: [SKIP][148] ([Intel XE#2312]) -> [SKIP][149] ([Intel XE#2311]) +6 other tests skip [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-fullscreen: - shard-bmg: [SKIP][150] ([Intel XE#2311]) -> [SKIP][151] ([Intel XE#2312]) +2 other tests skip [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-fullscreen.html [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-fullscreen.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render: - shard-bmg: [SKIP][152] ([Intel XE#2312]) -> [SKIP][153] ([Intel XE#5390]) +4 other tests skip [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw: - shard-bmg: [SKIP][154] ([Intel XE#2313]) -> [SKIP][155] ([Intel XE#2312]) +1 other test skip [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw.html [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw.html * igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff: - shard-bmg: [SKIP][156] ([Intel XE#2312]) -> [SKIP][157] ([Intel XE#2313]) +4 other tests skip [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff.html [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-1/igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff.html * igt@kms_hdr@brightness-with-hdr: - shard-bmg: [SKIP][158] ([Intel XE#3374] / [Intel XE#3544]) -> [SKIP][159] ([Intel XE#3544]) [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@kms_hdr@brightness-with-hdr.html [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-1/igt@kms_hdr@brightness-with-hdr.html * igt@xe_evict@evict-beng-mixed-many-threads-small: - shard-bmg: [DMESG-WARN][160] ([Intel XE#3428]) -> [INCOMPLETE][161] ([Intel XE#6321]) [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-6/igt@xe_evict@evict-beng-mixed-many-threads-small.html [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-bmg-1/igt@xe_evict@evict-beng-mixed-many-threads-small.html * igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv: - shard-adlp: [ABORT][162] ([Intel XE#5530]) -> [ABORT][163] ([Intel XE#4917] / [Intel XE#5530]) [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-adlp-1/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/shard-adlp-9/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html - shard-bmg: [ABORT][164] ([Intel XE#4917] / [Intel XE#5466] / [Intel XE#5530]) -> [ABORT][165] ([Intel XE#5466] / [Intel XE#5530]) [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff/shard-bmg-4/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/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#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126 [Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127 [Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135 [Intel XE#1158]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1158 [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406 [Intel XE#1475]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1475 [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489 [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499 [Intel XE#1503]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1503 [Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727 [Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874 [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049 [Intel XE#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#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316 [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320 [Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321 [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322 [Intel XE#2457]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2457 [Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597 [Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652 [Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705 [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#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887 [Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925 [Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953 [Intel XE#3012]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3012 [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113 [Intel XE#3374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3374 [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414 [Intel XE#3428]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3428 [Intel XE#3544]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3544 [Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573 [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373 [Intel XE#3868]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3868 [Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904 [Intel XE#3970]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3970 [Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173 [Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212 [Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345 [Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522 [Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543 [Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455 [Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596 [Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733 [Intel XE#4814]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4814 [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837 [Intel XE#4842]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4842 [Intel XE#4848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4848 [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#5208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5208 [Intel XE#5213]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5213 [Intel XE#5338]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5338 [Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390 [Intel XE#5416]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5416 [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#5893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5893 [Intel XE#6318]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6318 [Intel XE#6321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6321 [Intel XE#6360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6360 [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651 [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653 [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787 [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929 [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944 Build changes ------------- * Linux: xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff -> xe-pw-156339v2 IGT_8596: 8596 xe-3974-c63ccee28ae7ab4cb57a2433314f08c71da914ff: c63ccee28ae7ab4cb57a2433314f08c71da914ff xe-pw-156339v2: 156339v2 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-156339v2/index.html [-- Attachment #2: Type: text/html, Size: 46494 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2025-10-31 20:10 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-10-23 15:36 [PATCH v2 0/2] VF double migration Satyanarayana K V P 2025-10-23 15:36 ` [PATCH v2 1/2] drm/xe/vf: Introduce RESFIX start marker support Satyanarayana K V P 2025-10-23 20:37 ` Matthew Brost 2025-10-23 20:54 ` Matthew Brost 2025-10-31 20:10 ` Matthew Brost 2025-10-23 23:33 ` Michal Wajdeczko 2025-10-23 15:36 ` [PATCH v2 2/2] drm/xe/vf: Use fault injection for testing VF double migration feature Satyanarayana K V P 2025-10-24 11:52 ` Michal Wajdeczko 2025-10-23 17:18 ` ✓ CI.KUnit: success for VF double migration (rev2) Patchwork 2025-10-23 18:17 ` ✗ Xe.CI.BAT: failure " Patchwork 2025-10-24 5:23 ` ✗ 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