intel-xe.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* ✗ CI.checkpatch: warning for Handle Firmware reported Hardware Errors (rev9)
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
@ 2025-08-26  6:15 ` Patchwork
  2025-08-26  6:16 ` ✓ CI.KUnit: success " Patchwork
                   ` (13 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2025-08-26  6:15 UTC (permalink / raw)
  To: Riana Tauro; +Cc: intel-xe

== Series Details ==

Series: Handle Firmware reported Hardware Errors (rev9)
URL   : https://patchwork.freedesktop.org/series/149756/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
553439844b6500767ce8aef522cfe9fbb7ece541
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 51023dfaa9f89787ccc9dd0cb2a23907a038c3bf
Author: Riana Tauro <riana.tauro@intel.com>
Date:   Tue Aug 26 12:04:17 2025 +0530

    drm/xe/xe_hw_error: Add fault injection to trigger csc error handler
    
    Add a debugfs fault handler to trigger csc error handler that
    wedges the device and enables runtime survivability mode.
    
    v2: add debugfs only for bmg (Umesh)
    v3: do not use csc_fault attribute if debugfs is not enabled
    v4: rebase
    
    Cc: Lucas De Marchi <lucas.demarchi@intel.com>
    Signed-off-by: Riana Tauro <riana.tauro@intel.com>
    Reviewed-by: Raag Jadav <raag.jadav@intel.com>
+ /mt/dim checkpatch 8660eb3be99b607b54bf3fa47fd66e9fbd59af46 drm-intel
f48764798db9 drm/xe: Add documentation for Xe Device Wedging
-:24: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#24: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 32 lines checked
937be884832b drm: Add a vendor-specific recovery method to drm device wedged uevent
46f8657f58fb drm/xe: Set GT as wedged before sending wedged uevent
13e970a7b4d1 drm/xe: Add a helper function to set recovery method
243336e2a372 drm/xe/xe_survivability: Refactor survivability mode
9c0662ab895b drm/xe/xe_survivability: Add support for Runtime survivability mode
287e62e30ef1 drm/xe/doc: Document device wedged and runtime survivability
281a0bd1c053 drm/xe: Add support to handle hardware errors
-:46: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#46: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 175 lines checked
a95e13a2accb drm/xe/xe_hw_error: Handle CSC Firmware reported Hardware errors
-:30: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#30: 
KERNEL[754.709341] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:01.0/0000:03:00.0/drm/card0 (drm)

total: 0 errors, 1 warnings, 0 checks, 143 lines checked
51023dfaa9f8 drm/xe/xe_hw_error: Add fault injection to trigger csc error handler



^ permalink raw reply	[flat|nested] 17+ messages in thread

* ✓ CI.KUnit: success for Handle Firmware reported Hardware Errors (rev9)
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
  2025-08-26  6:15 ` ✗ CI.checkpatch: warning for Handle Firmware reported Hardware Errors (rev9) Patchwork
@ 2025-08-26  6:16 ` Patchwork
  2025-08-26  6:31 ` ✗ CI.checksparse: warning " Patchwork
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2025-08-26  6:16 UTC (permalink / raw)
  To: Riana Tauro; +Cc: intel-xe

== Series Details ==

Series: Handle Firmware reported Hardware Errors (rev9)
URL   : https://patchwork.freedesktop.org/series/149756/
State : success

== Summary ==

+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[06:15:13] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[06:15:17] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[06:15:46] Starting KUnit Kernel (1/1)...
[06:15:46] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[06:15:46] ================== guc_buf (11 subtests) ===================
[06:15:46] [PASSED] test_smallest
[06:15:46] [PASSED] test_largest
[06:15:46] [PASSED] test_granular
[06:15:46] [PASSED] test_unique
[06:15:46] [PASSED] test_overlap
[06:15:46] [PASSED] test_reusable
[06:15:46] [PASSED] test_too_big
[06:15:46] [PASSED] test_flush
[06:15:46] [PASSED] test_lookup
[06:15:46] [PASSED] test_data
[06:15:46] [PASSED] test_class
[06:15:46] ===================== [PASSED] guc_buf =====================
[06:15:46] =================== guc_dbm (7 subtests) ===================
[06:15:46] [PASSED] test_empty
[06:15:46] [PASSED] test_default
[06:15:46] ======================== test_size  ========================
[06:15:46] [PASSED] 4
[06:15:46] [PASSED] 8
[06:15:46] [PASSED] 32
[06:15:46] [PASSED] 256
[06:15:46] ==================== [PASSED] test_size ====================
[06:15:46] ======================= test_reuse  ========================
[06:15:46] [PASSED] 4
[06:15:46] [PASSED] 8
[06:15:46] [PASSED] 32
[06:15:46] [PASSED] 256
[06:15:46] =================== [PASSED] test_reuse ====================
[06:15:46] =================== test_range_overlap  ====================
[06:15:46] [PASSED] 4
[06:15:46] [PASSED] 8
[06:15:46] [PASSED] 32
[06:15:46] [PASSED] 256
[06:15:46] =============== [PASSED] test_range_overlap ================
[06:15:46] =================== test_range_compact  ====================
[06:15:46] [PASSED] 4
[06:15:46] [PASSED] 8
[06:15:46] [PASSED] 32
[06:15:46] [PASSED] 256
[06:15:46] =============== [PASSED] test_range_compact ================
[06:15:46] ==================== test_range_spare  =====================
[06:15:46] [PASSED] 4
[06:15:46] [PASSED] 8
[06:15:46] [PASSED] 32
[06:15:46] [PASSED] 256
[06:15:46] ================ [PASSED] test_range_spare =================
[06:15:46] ===================== [PASSED] guc_dbm =====================
[06:15:46] =================== guc_idm (6 subtests) ===================
[06:15:46] [PASSED] bad_init
[06:15:46] [PASSED] no_init
[06:15:46] [PASSED] init_fini
[06:15:46] [PASSED] check_used
[06:15:46] [PASSED] check_quota
[06:15:46] [PASSED] check_all
[06:15:46] ===================== [PASSED] guc_idm =====================
[06:15:46] ================== no_relay (3 subtests) ===================
[06:15:46] [PASSED] xe_drops_guc2pf_if_not_ready
[06:15:46] [PASSED] xe_drops_guc2vf_if_not_ready
[06:15:46] [PASSED] xe_rejects_send_if_not_ready
[06:15:46] ==================== [PASSED] no_relay =====================
[06:15:46] ================== pf_relay (14 subtests) ==================
[06:15:46] [PASSED] pf_rejects_guc2pf_too_short
[06:15:46] [PASSED] pf_rejects_guc2pf_too_long
[06:15:46] [PASSED] pf_rejects_guc2pf_no_payload
[06:15:46] [PASSED] pf_fails_no_payload
[06:15:46] [PASSED] pf_fails_bad_origin
[06:15:46] [PASSED] pf_fails_bad_type
[06:15:46] [PASSED] pf_txn_reports_error
[06:15:46] [PASSED] pf_txn_sends_pf2guc
[06:15:46] [PASSED] pf_sends_pf2guc
[06:15:46] [SKIPPED] pf_loopback_nop
[06:15:46] [SKIPPED] pf_loopback_echo
[06:15:46] [SKIPPED] pf_loopback_fail
[06:15:46] [SKIPPED] pf_loopback_busy
[06:15:46] [SKIPPED] pf_loopback_retry
[06:15:46] ==================== [PASSED] pf_relay =====================
[06:15:46] ================== vf_relay (3 subtests) ===================
[06:15:46] [PASSED] vf_rejects_guc2vf_too_short
[06:15:46] [PASSED] vf_rejects_guc2vf_too_long
[06:15:46] [PASSED] vf_rejects_guc2vf_no_payload
[06:15:46] ==================== [PASSED] vf_relay =====================
[06:15:46] ===================== lmtt (1 subtest) =====================
[06:15:46] ======================== test_ops  =========================
[06:15:46] [PASSED] 2-level
[06:15:46] [PASSED] multi-level
[06:15:46] ==================== [PASSED] test_ops =====================
[06:15:46] ====================== [PASSED] lmtt =======================
[06:15:46] ================= pf_service (11 subtests) =================
[06:15:46] [PASSED] pf_negotiate_any
[06:15:46] [PASSED] pf_negotiate_base_match
[06:15:46] [PASSED] pf_negotiate_base_newer
[06:15:46] [PASSED] pf_negotiate_base_next
[06:15:46] [SKIPPED] pf_negotiate_base_older
[06:15:46] [PASSED] pf_negotiate_base_prev
[06:15:46] [PASSED] pf_negotiate_latest_match
[06:15:46] [PASSED] pf_negotiate_latest_newer
[06:15:46] [PASSED] pf_negotiate_latest_next
[06:15:46] [SKIPPED] pf_negotiate_latest_older
[06:15:46] [SKIPPED] pf_negotiate_latest_prev
[06:15:46] =================== [PASSED] pf_service ====================
[06:15:46] =================== xe_mocs (2 subtests) ===================
[06:15:46] ================ xe_live_mocs_kernel_kunit  ================
[06:15:46] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[06:15:46] ================ xe_live_mocs_reset_kunit  =================
[06:15:46] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[06:15:46] ==================== [SKIPPED] xe_mocs =====================
[06:15:46] ================= xe_migrate (2 subtests) ==================
[06:15:46] ================= xe_migrate_sanity_kunit  =================
[06:15:46] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[06:15:46] ================== xe_validate_ccs_kunit  ==================
[06:15:46] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[06:15:46] =================== [SKIPPED] xe_migrate ===================
[06:15:46] ================== xe_dma_buf (1 subtest) ==================
[06:15:46] ==================== xe_dma_buf_kunit  =====================
[06:15:46] ================ [SKIPPED] xe_dma_buf_kunit ================
[06:15:46] =================== [SKIPPED] xe_dma_buf ===================
[06:15:46] ================= xe_bo_shrink (1 subtest) =================
[06:15:46] =================== xe_bo_shrink_kunit  ====================
[06:15:46] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[06:15:46] ================== [SKIPPED] xe_bo_shrink ==================
[06:15:46] ==================== xe_bo (2 subtests) ====================
[06:15:46] ================== xe_ccs_migrate_kunit  ===================
[06:15:46] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[06:15:46] ==================== xe_bo_evict_kunit  ====================
[06:15:46] =============== [SKIPPED] xe_bo_evict_kunit ================
[06:15:46] ===================== [SKIPPED] xe_bo ======================
[06:15:46] ==================== args (11 subtests) ====================
[06:15:46] [PASSED] count_args_test
[06:15:46] [PASSED] call_args_example
[06:15:46] [PASSED] call_args_test
[06:15:46] [PASSED] drop_first_arg_example
[06:15:46] [PASSED] drop_first_arg_test
[06:15:46] [PASSED] first_arg_example
[06:15:46] [PASSED] first_arg_test
[06:15:46] [PASSED] last_arg_example
[06:15:46] [PASSED] last_arg_test
[06:15:46] [PASSED] pick_arg_example
[06:15:46] [PASSED] sep_comma_example
[06:15:46] ====================== [PASSED] args =======================
[06:15:46] =================== xe_pci (3 subtests) ====================
[06:15:46] ==================== check_graphics_ip  ====================
[06:15:46] [PASSED] 12.70 Xe_LPG
[06:15:46] [PASSED] 12.71 Xe_LPG
[06:15:46] [PASSED] 12.74 Xe_LPG+
[06:15:46] [PASSED] 20.01 Xe2_HPG
[06:15:46] [PASSED] 20.02 Xe2_HPG
[06:15:46] [PASSED] 20.04 Xe2_LPG
[06:15:46] [PASSED] 30.00 Xe3_LPG
[06:15:46] [PASSED] 30.01 Xe3_LPG
[06:15:46] [PASSED] 30.03 Xe3_LPG
[06:15:46] ================ [PASSED] check_graphics_ip ================
[06:15:46] ===================== check_media_ip  ======================
[06:15:46] [PASSED] 13.00 Xe_LPM+
[06:15:46] [PASSED] 13.01 Xe2_HPM
[06:15:46] [PASSED] 20.00 Xe2_LPM
[06:15:46] [PASSED] 30.00 Xe3_LPM
[06:15:46] [PASSED] 30.02 Xe3_LPM
[06:15:46] ================= [PASSED] check_media_ip ==================
[06:15:46] ================= check_platform_gt_count  =================
[06:15:46] [PASSED] 0x9A60 (TIGERLAKE)
[06:15:46] [PASSED] 0x9A68 (TIGERLAKE)
[06:15:46] [PASSED] 0x9A70 (TIGERLAKE)
[06:15:46] [PASSED] 0x9A40 (TIGERLAKE)
[06:15:46] [PASSED] 0x9A49 (TIGERLAKE)
[06:15:46] [PASSED] 0x9A59 (TIGERLAKE)
[06:15:46] [PASSED] 0x9A78 (TIGERLAKE)
[06:15:46] [PASSED] 0x9AC0 (TIGERLAKE)
[06:15:46] [PASSED] 0x9AC9 (TIGERLAKE)
[06:15:46] [PASSED] 0x9AD9 (TIGERLAKE)
[06:15:46] [PASSED] 0x9AF8 (TIGERLAKE)
[06:15:46] [PASSED] 0x4C80 (ROCKETLAKE)
[06:15:46] [PASSED] 0x4C8A (ROCKETLAKE)
[06:15:46] [PASSED] 0x4C8B (ROCKETLAKE)
[06:15:46] [PASSED] 0x4C8C (ROCKETLAKE)
[06:15:46] [PASSED] 0x4C90 (ROCKETLAKE)
[06:15:46] [PASSED] 0x4C9A (ROCKETLAKE)
[06:15:46] [PASSED] 0x4680 (ALDERLAKE_S)
[06:15:46] [PASSED] 0x4682 (ALDERLAKE_S)
[06:15:46] [PASSED] 0x4688 (ALDERLAKE_S)
[06:15:46] [PASSED] 0x468A (ALDERLAKE_S)
[06:15:46] [PASSED] 0x468B (ALDERLAKE_S)
[06:15:46] [PASSED] 0x4690 (ALDERLAKE_S)
[06:15:46] [PASSED] 0x4692 (ALDERLAKE_S)
[06:15:46] [PASSED] 0x4693 (ALDERLAKE_S)
[06:15:46] [PASSED] 0x46A0 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46A1 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46A2 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46A3 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46A6 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46A8 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46AA (ALDERLAKE_P)
[06:15:46] [PASSED] 0x462A (ALDERLAKE_P)
[06:15:46] [PASSED] 0x4626 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x4628 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46B0 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46B1 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46B2 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46B3 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46C0 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46C1 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46C2 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46C3 (ALDERLAKE_P)
[06:15:46] [PASSED] 0x46D0 (ALDERLAKE_N)
[06:15:46] [PASSED] 0x46D1 (ALDERLAKE_N)
[06:15:46] [PASSED] 0x46D2 (ALDERLAKE_N)
[06:15:46] [PASSED] 0x46D3 (ALDERLAKE_N)
[06:15:46] [PASSED] 0x46D4 (ALDERLAKE_N)
[06:15:46] [PASSED] 0xA721 (ALDERLAKE_P)
[06:15:46] [PASSED] 0xA7A1 (ALDERLAKE_P)
[06:15:46] [PASSED] 0xA7A9 (ALDERLAKE_P)
[06:15:46] [PASSED] 0xA7AC (ALDERLAKE_P)
[06:15:46] [PASSED] 0xA7AD (ALDERLAKE_P)
[06:15:46] [PASSED] 0xA720 (ALDERLAKE_P)
[06:15:46] [PASSED] 0xA7A0 (ALDERLAKE_P)
[06:15:46] [PASSED] 0xA7A8 (ALDERLAKE_P)
[06:15:46] [PASSED] 0xA7AA (ALDERLAKE_P)
[06:15:46] [PASSED] 0xA7AB (ALDERLAKE_P)
[06:15:46] [PASSED] 0xA780 (ALDERLAKE_S)
[06:15:46] [PASSED] 0xA781 (ALDERLAKE_S)
[06:15:46] [PASSED] 0xA782 (ALDERLAKE_S)
[06:15:46] [PASSED] 0xA783 (ALDERLAKE_S)
[06:15:46] [PASSED] 0xA788 (ALDERLAKE_S)
[06:15:46] [PASSED] 0xA789 (ALDERLAKE_S)
[06:15:46] [PASSED] 0xA78A (ALDERLAKE_S)
[06:15:46] [PASSED] 0xA78B (ALDERLAKE_S)
[06:15:46] [PASSED] 0x4905 (DG1)
[06:15:46] [PASSED] 0x4906 (DG1)
[06:15:46] [PASSED] 0x4907 (DG1)
[06:15:46] [PASSED] 0x4908 (DG1)
[06:15:46] [PASSED] 0x4909 (DG1)
[06:15:46] [PASSED] 0x56C0 (DG2)
[06:15:46] [PASSED] 0x56C2 (DG2)
[06:15:46] [PASSED] 0x56C1 (DG2)
[06:15:46] [PASSED] 0x7D51 (METEORLAKE)
[06:15:46] [PASSED] 0x7DD1 (METEORLAKE)
[06:15:46] [PASSED] 0x7D41 (METEORLAKE)
[06:15:46] [PASSED] 0x7D67 (METEORLAKE)
[06:15:46] [PASSED] 0xB640 (METEORLAKE)
[06:15:46] [PASSED] 0x56A0 (DG2)
[06:15:46] [PASSED] 0x56A1 (DG2)
[06:15:46] [PASSED] 0x56A2 (DG2)
[06:15:46] [PASSED] 0x56BE (DG2)
[06:15:46] [PASSED] 0x56BF (DG2)
[06:15:46] [PASSED] 0x5690 (DG2)
[06:15:46] [PASSED] 0x5691 (DG2)
[06:15:46] [PASSED] 0x5692 (DG2)
[06:15:46] [PASSED] 0x56A5 (DG2)
[06:15:46] [PASSED] 0x56A6 (DG2)
[06:15:46] [PASSED] 0x56B0 (DG2)
[06:15:46] [PASSED] 0x56B1 (DG2)
[06:15:46] [PASSED] 0x56BA (DG2)
[06:15:46] [PASSED] 0x56BB (DG2)
[06:15:46] [PASSED] 0x56BC (DG2)
[06:15:46] [PASSED] 0x56BD (DG2)
[06:15:46] [PASSED] 0x5693 (DG2)
[06:15:46] [PASSED] 0x5694 (DG2)
[06:15:46] [PASSED] 0x5695 (DG2)
[06:15:46] [PASSED] 0x56A3 (DG2)
[06:15:46] [PASSED] 0x56A4 (DG2)
[06:15:46] [PASSED] 0x56B2 (DG2)
[06:15:46] [PASSED] 0x56B3 (DG2)
[06:15:46] [PASSED] 0x5696 (DG2)
[06:15:46] [PASSED] 0x5697 (DG2)
[06:15:46] [PASSED] 0xB69 (PVC)
[06:15:46] [PASSED] 0xB6E (PVC)
[06:15:46] [PASSED] 0xBD4 (PVC)
[06:15:46] [PASSED] 0xBD5 (PVC)
[06:15:46] [PASSED] 0xBD6 (PVC)
[06:15:46] [PASSED] 0xBD7 (PVC)
[06:15:46] [PASSED] 0xBD8 (PVC)
[06:15:46] [PASSED] 0xBD9 (PVC)
[06:15:46] [PASSED] 0xBDA (PVC)
[06:15:46] [PASSED] 0xBDB (PVC)
[06:15:46] [PASSED] 0xBE0 (PVC)
[06:15:46] [PASSED] 0xBE1 (PVC)
[06:15:46] [PASSED] 0xBE5 (PVC)
[06:15:46] [PASSED] 0x7D40 (METEORLAKE)
[06:15:46] [PASSED] 0x7D45 (METEORLAKE)
[06:15:46] [PASSED] 0x7D55 (METEORLAKE)
[06:15:46] [PASSED] 0x7D60 (METEORLAKE)
[06:15:46] [PASSED] 0x7DD5 (METEORLAKE)
[06:15:46] [PASSED] 0x6420 (LUNARLAKE)
[06:15:46] [PASSED] 0x64A0 (LUNARLAKE)
[06:15:46] [PASSED] 0x64B0 (LUNARLAKE)
[06:15:46] [PASSED] 0xE202 (BATTLEMAGE)
[06:15:46] [PASSED] 0xE209 (BATTLEMAGE)
[06:15:46] [PASSED] 0xE20B (BATTLEMAGE)
[06:15:46] [PASSED] 0xE20C (BATTLEMAGE)
[06:15:46] [PASSED] 0xE20D (BATTLEMAGE)
[06:15:46] [PASSED] 0xE210 (BATTLEMAGE)
[06:15:46] [PASSED] 0xE211 (BATTLEMAGE)
[06:15:46] [PASSED] 0xE212 (BATTLEMAGE)
[06:15:46] [PASSED] 0xE216 (BATTLEMAGE)
[06:15:46] [PASSED] 0xE220 (BATTLEMAGE)
[06:15:46] [PASSED] 0xE221 (BATTLEMAGE)
[06:15:46] [PASSED] 0xE222 (BATTLEMAGE)
[06:15:46] [PASSED] 0xE223 (BATTLEMAGE)
[06:15:46] [PASSED] 0xB080 (PANTHERLAKE)
[06:15:46] [PASSED] 0xB081 (PANTHERLAKE)
[06:15:46] [PASSED] 0xB082 (PANTHERLAKE)
[06:15:46] [PASSED] 0xB083 (PANTHERLAKE)
[06:15:46] [PASSED] 0xB084 (PANTHERLAKE)
[06:15:46] [PASSED] 0xB085 (PANTHERLAKE)
[06:15:46] [PASSED] 0xB086 (PANTHERLAKE)
[06:15:46] [PASSED] 0xB087 (PANTHERLAKE)
[06:15:46] [PASSED] 0xB08F (PANTHERLAKE)
[06:15:46] [PASSED] 0xB090 (PANTHERLAKE)
[06:15:46] [PASSED] 0xB0A0 (PANTHERLAKE)
[06:15:46] [PASSED] 0xB0B0 (PANTHERLAKE)
[06:15:46] [PASSED] 0xFD80 (PANTHERLAKE)
[06:15:46] [PASSED] 0xFD81 (PANTHERLAKE)
[06:15:46] ============= [PASSED] check_platform_gt_count =============
[06:15:46] ===================== [PASSED] xe_pci ======================
[06:15:46] =================== xe_rtp (2 subtests) ====================
[06:15:46] =============== xe_rtp_process_to_sr_tests  ================
[06:15:46] [PASSED] coalesce-same-reg
[06:15:46] [PASSED] no-match-no-add
[06:15:46] [PASSED] match-or
[06:15:46] [PASSED] match-or-xfail
[06:15:46] [PASSED] no-match-no-add-multiple-rules
[06:15:46] [PASSED] two-regs-two-entries
[06:15:46] [PASSED] clr-one-set-other
[06:15:46] [PASSED] set-field
[06:15:46] [PASSED] conflict-duplicate
[06:15:46] [PASSED] conflict-not-disjoint
[06:15:46] [PASSED] conflict-reg-type
[06:15:46] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[06:15:46] ================== xe_rtp_process_tests  ===================
[06:15:46] [PASSED] active1
[06:15:46] [PASSED] active2
[06:15:46] [PASSED] active-inactive
[06:15:46] [PASSED] inactive-active
[06:15:46] [PASSED] inactive-1st_or_active-inactive
[06:15:46] [PASSED] inactive-2nd_or_active-inactive
[06:15:46] [PASSED] inactive-last_or_active-inactive
[06:15:46] [PASSED] inactive-no_or_active-inactive
[06:15:46] ============== [PASSED] xe_rtp_process_tests ===============
[06:15:46] ===================== [PASSED] xe_rtp ======================
[06:15:46] ==================== xe_wa (1 subtest) =====================
[06:15:46] ======================== xe_wa_gt  =========================
[06:15:46] [PASSED] TIGERLAKE (B0)
[06:15:46] [PASSED] DG1 (A0)
[06:15:46] [PASSED] DG1 (B0)
[06:15:46] [PASSED] ALDERLAKE_S (A0)
[06:15:46] [PASSED] ALDERLAKE_S (B0)
[06:15:46] [PASSED] ALDERLAKE_S (C0)
[06:15:46] [PASSED] ALDERLAKE_S (D0)
[06:15:46] [PASSED] ALDERLAKE_P (A0)
[06:15:46] [PASSED] ALDERLAKE_P (B0)
[06:15:46] [PASSED] ALDERLAKE_P (C0)
[06:15:46] [PASSED] ALDERLAKE_S_RPLS (D0)
[06:15:46] [PASSED] ALDERLAKE_P_RPLU (E0)
[06:15:46] [PASSED] DG2_G10 (C0)
[06:15:46] [PASSED] DG2_G11 (B1)
[06:15:46] [PASSED] DG2_G12 (A1)
[06:15:46] [PASSED] METEORLAKE (g:A0, m:A0)
[06:15:46] [PASSED] METEORLAKE (g:A0, m:A0)
[06:15:46] [PASSED] METEORLAKE (g:A0, m:A0)
[06:15:46] [PASSED] LUNARLAKE (g:A0, m:A0)
[06:15:46] [PASSED] LUNARLAKE (g:B0, m:A0)
stty: 'standard input': Inappropriate ioctl for device
[06:15:46] [PASSED] BATTLEMAGE (g:A0, m:A1)
[06:15:46] [PASSED] PANTHERLAKE (g:A0, m:A0)
[06:15:46] ==================== [PASSED] xe_wa_gt =====================
[06:15:46] ====================== [PASSED] xe_wa ======================
[06:15:46] ============================================================
[06:15:46] Testing complete. Ran 298 tests: passed: 282, skipped: 16
[06:15:46] Elapsed time: 33.213s total, 4.223s configuring, 28.623s building, 0.327s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[06:15:46] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[06:15:48] 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
[06:16:11] Starting KUnit Kernel (1/1)...
[06:16:11] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[06:16:11] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[06:16:11] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[06:16:11] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[06:16:11] =========== drm_validate_clone_mode (2 subtests) ===========
[06:16:11] ============== drm_test_check_in_clone_mode  ===============
[06:16:11] [PASSED] in_clone_mode
[06:16:11] [PASSED] not_in_clone_mode
[06:16:11] ========== [PASSED] drm_test_check_in_clone_mode ===========
[06:16:11] =============== drm_test_check_valid_clones  ===============
[06:16:11] [PASSED] not_in_clone_mode
[06:16:11] [PASSED] valid_clone
[06:16:11] [PASSED] invalid_clone
[06:16:11] =========== [PASSED] drm_test_check_valid_clones ===========
[06:16:11] ============= [PASSED] drm_validate_clone_mode =============
[06:16:11] ============= drm_validate_modeset (1 subtest) =============
[06:16:11] [PASSED] drm_test_check_connector_changed_modeset
[06:16:11] ============== [PASSED] drm_validate_modeset ===============
[06:16:11] ====== drm_test_bridge_get_current_state (2 subtests) ======
[06:16:11] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[06:16:11] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[06:16:11] ======== [PASSED] drm_test_bridge_get_current_state ========
[06:16:11] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[06:16:11] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[06:16:11] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[06:16:11] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[06:16:11] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[06:16:11] ============== drm_bridge_alloc (2 subtests) ===============
[06:16:11] [PASSED] drm_test_drm_bridge_alloc_basic
[06:16:11] [PASSED] drm_test_drm_bridge_alloc_get_put
[06:16:11] ================ [PASSED] drm_bridge_alloc =================
[06:16:11] ================== drm_buddy (7 subtests) ==================
[06:16:11] [PASSED] drm_test_buddy_alloc_limit
[06:16:11] [PASSED] drm_test_buddy_alloc_optimistic
[06:16:11] [PASSED] drm_test_buddy_alloc_pessimistic
[06:16:11] [PASSED] drm_test_buddy_alloc_pathological
[06:16:11] [PASSED] drm_test_buddy_alloc_contiguous
[06:16:11] [PASSED] drm_test_buddy_alloc_clear
[06:16:11] [PASSED] drm_test_buddy_alloc_range_bias
[06:16:11] ==================== [PASSED] drm_buddy ====================
[06:16:11] ============= drm_cmdline_parser (40 subtests) =============
[06:16:11] [PASSED] drm_test_cmdline_force_d_only
[06:16:11] [PASSED] drm_test_cmdline_force_D_only_dvi
[06:16:11] [PASSED] drm_test_cmdline_force_D_only_hdmi
[06:16:11] [PASSED] drm_test_cmdline_force_D_only_not_digital
[06:16:11] [PASSED] drm_test_cmdline_force_e_only
[06:16:11] [PASSED] drm_test_cmdline_res
[06:16:11] [PASSED] drm_test_cmdline_res_vesa
[06:16:11] [PASSED] drm_test_cmdline_res_vesa_rblank
[06:16:11] [PASSED] drm_test_cmdline_res_rblank
[06:16:11] [PASSED] drm_test_cmdline_res_bpp
[06:16:11] [PASSED] drm_test_cmdline_res_refresh
[06:16:11] [PASSED] drm_test_cmdline_res_bpp_refresh
[06:16:11] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[06:16:11] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[06:16:11] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[06:16:11] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[06:16:11] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[06:16:11] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[06:16:11] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[06:16:11] [PASSED] drm_test_cmdline_res_margins_force_on
[06:16:11] [PASSED] drm_test_cmdline_res_vesa_margins
[06:16:11] [PASSED] drm_test_cmdline_name
[06:16:11] [PASSED] drm_test_cmdline_name_bpp
[06:16:11] [PASSED] drm_test_cmdline_name_option
[06:16:11] [PASSED] drm_test_cmdline_name_bpp_option
[06:16:11] [PASSED] drm_test_cmdline_rotate_0
[06:16:11] [PASSED] drm_test_cmdline_rotate_90
[06:16:11] [PASSED] drm_test_cmdline_rotate_180
[06:16:11] [PASSED] drm_test_cmdline_rotate_270
[06:16:11] [PASSED] drm_test_cmdline_hmirror
[06:16:11] [PASSED] drm_test_cmdline_vmirror
[06:16:11] [PASSED] drm_test_cmdline_margin_options
[06:16:11] [PASSED] drm_test_cmdline_multiple_options
[06:16:11] [PASSED] drm_test_cmdline_bpp_extra_and_option
[06:16:11] [PASSED] drm_test_cmdline_extra_and_option
[06:16:11] [PASSED] drm_test_cmdline_freestanding_options
[06:16:11] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[06:16:11] [PASSED] drm_test_cmdline_panel_orientation
[06:16:11] ================ drm_test_cmdline_invalid  =================
[06:16:11] [PASSED] margin_only
[06:16:11] [PASSED] interlace_only
[06:16:11] [PASSED] res_missing_x
[06:16:11] [PASSED] res_missing_y
[06:16:11] [PASSED] res_bad_y
[06:16:11] [PASSED] res_missing_y_bpp
[06:16:11] [PASSED] res_bad_bpp
[06:16:11] [PASSED] res_bad_refresh
[06:16:11] [PASSED] res_bpp_refresh_force_on_off
[06:16:11] [PASSED] res_invalid_mode
[06:16:11] [PASSED] res_bpp_wrong_place_mode
[06:16:11] [PASSED] name_bpp_refresh
[06:16:11] [PASSED] name_refresh
[06:16:11] [PASSED] name_refresh_wrong_mode
[06:16:11] [PASSED] name_refresh_invalid_mode
[06:16:11] [PASSED] rotate_multiple
[06:16:11] [PASSED] rotate_invalid_val
[06:16:11] [PASSED] rotate_truncated
[06:16:11] [PASSED] invalid_option
[06:16:11] [PASSED] invalid_tv_option
[06:16:11] [PASSED] truncated_tv_option
[06:16:11] ============ [PASSED] drm_test_cmdline_invalid =============
[06:16:11] =============== drm_test_cmdline_tv_options  ===============
[06:16:11] [PASSED] NTSC
[06:16:11] [PASSED] NTSC_443
[06:16:11] [PASSED] NTSC_J
[06:16:11] [PASSED] PAL
[06:16:11] [PASSED] PAL_M
[06:16:11] [PASSED] PAL_N
[06:16:11] [PASSED] SECAM
[06:16:11] [PASSED] MONO_525
[06:16:11] [PASSED] MONO_625
[06:16:11] =========== [PASSED] drm_test_cmdline_tv_options ===========
[06:16:11] =============== [PASSED] drm_cmdline_parser ================
[06:16:11] ========== drmm_connector_hdmi_init (20 subtests) ==========
[06:16:11] [PASSED] drm_test_connector_hdmi_init_valid
[06:16:11] [PASSED] drm_test_connector_hdmi_init_bpc_8
[06:16:11] [PASSED] drm_test_connector_hdmi_init_bpc_10
[06:16:11] [PASSED] drm_test_connector_hdmi_init_bpc_12
[06:16:11] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[06:16:11] [PASSED] drm_test_connector_hdmi_init_bpc_null
[06:16:11] [PASSED] drm_test_connector_hdmi_init_formats_empty
[06:16:11] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[06:16:11] === drm_test_connector_hdmi_init_formats_yuv420_allowed  ===
[06:16:11] [PASSED] supported_formats=0x9 yuv420_allowed=1
[06:16:11] [PASSED] supported_formats=0x9 yuv420_allowed=0
[06:16:11] [PASSED] supported_formats=0x3 yuv420_allowed=1
[06:16:11] [PASSED] supported_formats=0x3 yuv420_allowed=0
[06:16:11] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[06:16:11] [PASSED] drm_test_connector_hdmi_init_null_ddc
[06:16:11] [PASSED] drm_test_connector_hdmi_init_null_product
[06:16:11] [PASSED] drm_test_connector_hdmi_init_null_vendor
[06:16:11] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[06:16:11] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[06:16:11] [PASSED] drm_test_connector_hdmi_init_product_valid
[06:16:11] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[06:16:11] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[06:16:11] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[06:16:11] ========= drm_test_connector_hdmi_init_type_valid  =========
[06:16:11] [PASSED] HDMI-A
[06:16:11] [PASSED] HDMI-B
[06:16:11] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[06:16:11] ======== drm_test_connector_hdmi_init_type_invalid  ========
[06:16:11] [PASSED] Unknown
[06:16:11] [PASSED] VGA
[06:16:11] [PASSED] DVI-I
[06:16:11] [PASSED] DVI-D
[06:16:11] [PASSED] DVI-A
[06:16:11] [PASSED] Composite
[06:16:11] [PASSED] SVIDEO
[06:16:11] [PASSED] LVDS
[06:16:11] [PASSED] Component
[06:16:11] [PASSED] DIN
[06:16:11] [PASSED] DP
[06:16:11] [PASSED] TV
[06:16:11] [PASSED] eDP
[06:16:11] [PASSED] Virtual
[06:16:11] [PASSED] DSI
[06:16:11] [PASSED] DPI
[06:16:11] [PASSED] Writeback
[06:16:11] [PASSED] SPI
[06:16:11] [PASSED] USB
[06:16:11] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[06:16:11] ============ [PASSED] drmm_connector_hdmi_init =============
[06:16:11] ============= drmm_connector_init (3 subtests) =============
[06:16:11] [PASSED] drm_test_drmm_connector_init
[06:16:11] [PASSED] drm_test_drmm_connector_init_null_ddc
[06:16:11] ========= drm_test_drmm_connector_init_type_valid  =========
[06:16:11] [PASSED] Unknown
[06:16:11] [PASSED] VGA
[06:16:11] [PASSED] DVI-I
[06:16:11] [PASSED] DVI-D
[06:16:11] [PASSED] DVI-A
[06:16:11] [PASSED] Composite
[06:16:11] [PASSED] SVIDEO
[06:16:11] [PASSED] LVDS
[06:16:11] [PASSED] Component
[06:16:11] [PASSED] DIN
[06:16:11] [PASSED] DP
[06:16:11] [PASSED] HDMI-A
[06:16:11] [PASSED] HDMI-B
[06:16:11] [PASSED] TV
[06:16:11] [PASSED] eDP
[06:16:11] [PASSED] Virtual
[06:16:11] [PASSED] DSI
[06:16:11] [PASSED] DPI
[06:16:11] [PASSED] Writeback
[06:16:11] [PASSED] SPI
[06:16:11] [PASSED] USB
[06:16:11] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[06:16:11] =============== [PASSED] drmm_connector_init ===============
[06:16:11] ========= drm_connector_dynamic_init (6 subtests) ==========
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_init
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_init_properties
[06:16:11] ===== drm_test_drm_connector_dynamic_init_type_valid  ======
[06:16:11] [PASSED] Unknown
[06:16:11] [PASSED] VGA
[06:16:11] [PASSED] DVI-I
[06:16:11] [PASSED] DVI-D
[06:16:11] [PASSED] DVI-A
[06:16:11] [PASSED] Composite
[06:16:11] [PASSED] SVIDEO
[06:16:11] [PASSED] LVDS
[06:16:11] [PASSED] Component
[06:16:11] [PASSED] DIN
[06:16:11] [PASSED] DP
[06:16:11] [PASSED] HDMI-A
[06:16:11] [PASSED] HDMI-B
[06:16:11] [PASSED] TV
[06:16:11] [PASSED] eDP
[06:16:11] [PASSED] Virtual
[06:16:11] [PASSED] DSI
[06:16:11] [PASSED] DPI
[06:16:11] [PASSED] Writeback
[06:16:11] [PASSED] SPI
[06:16:11] [PASSED] USB
[06:16:11] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[06:16:11] ======== drm_test_drm_connector_dynamic_init_name  =========
[06:16:11] [PASSED] Unknown
[06:16:11] [PASSED] VGA
[06:16:11] [PASSED] DVI-I
[06:16:11] [PASSED] DVI-D
[06:16:11] [PASSED] DVI-A
[06:16:11] [PASSED] Composite
[06:16:11] [PASSED] SVIDEO
[06:16:11] [PASSED] LVDS
[06:16:11] [PASSED] Component
[06:16:11] [PASSED] DIN
[06:16:11] [PASSED] DP
[06:16:11] [PASSED] HDMI-A
[06:16:11] [PASSED] HDMI-B
[06:16:11] [PASSED] TV
[06:16:11] [PASSED] eDP
[06:16:11] [PASSED] Virtual
[06:16:11] [PASSED] DSI
[06:16:11] [PASSED] DPI
[06:16:11] [PASSED] Writeback
[06:16:11] [PASSED] SPI
[06:16:11] [PASSED] USB
[06:16:11] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[06:16:11] =========== [PASSED] drm_connector_dynamic_init ============
[06:16:11] ==== drm_connector_dynamic_register_early (4 subtests) =====
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[06:16:11] ====== [PASSED] drm_connector_dynamic_register_early =======
[06:16:11] ======= drm_connector_dynamic_register (7 subtests) ========
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[06:16:11] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[06:16:11] ========= [PASSED] drm_connector_dynamic_register ==========
[06:16:11] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[06:16:11] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[06:16:11] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[06:16:11] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[06:16:11] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[06:16:11] ========== drm_test_get_tv_mode_from_name_valid  ===========
[06:16:11] [PASSED] NTSC
[06:16:11] [PASSED] NTSC-443
[06:16:11] [PASSED] NTSC-J
[06:16:11] [PASSED] PAL
[06:16:11] [PASSED] PAL-M
[06:16:11] [PASSED] PAL-N
[06:16:11] [PASSED] SECAM
[06:16:11] [PASSED] Mono
[06:16:11] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[06:16:11] [PASSED] drm_test_get_tv_mode_from_name_truncated
[06:16:11] ============ [PASSED] drm_get_tv_mode_from_name ============
[06:16:11] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[06:16:11] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[06:16:11] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[06:16:11] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[06:16:11] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[06:16:11] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[06:16:11] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[06:16:11] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid  =
[06:16:11] [PASSED] VIC 96
[06:16:11] [PASSED] VIC 97
[06:16:11] [PASSED] VIC 101
[06:16:11] [PASSED] VIC 102
[06:16:11] [PASSED] VIC 106
[06:16:11] [PASSED] VIC 107
[06:16:11] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[06:16:11] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[06:16:11] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[06:16:11] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[06:16:11] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[06:16:11] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[06:16:11] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[06:16:11] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[06:16:11] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name  ====
[06:16:11] [PASSED] Automatic
[06:16:11] [PASSED] Full
[06:16:11] [PASSED] Limited 16:235
[06:16:11] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[06:16:11] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[06:16:11] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[06:16:11] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[06:16:11] === drm_test_drm_hdmi_connector_get_output_format_name  ====
[06:16:11] [PASSED] RGB
[06:16:11] [PASSED] YUV 4:2:0
[06:16:11] [PASSED] YUV 4:2:2
[06:16:11] [PASSED] YUV 4:4:4
[06:16:11] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[06:16:11] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[06:16:11] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[06:16:11] ============= drm_damage_helper (21 subtests) ==============
[06:16:11] [PASSED] drm_test_damage_iter_no_damage
[06:16:11] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[06:16:11] [PASSED] drm_test_damage_iter_no_damage_src_moved
[06:16:11] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[06:16:11] [PASSED] drm_test_damage_iter_no_damage_not_visible
[06:16:11] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[06:16:11] [PASSED] drm_test_damage_iter_no_damage_no_fb
[06:16:11] [PASSED] drm_test_damage_iter_simple_damage
[06:16:11] [PASSED] drm_test_damage_iter_single_damage
[06:16:11] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[06:16:11] [PASSED] drm_test_damage_iter_single_damage_outside_src
[06:16:11] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[06:16:11] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[06:16:11] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[06:16:11] [PASSED] drm_test_damage_iter_single_damage_src_moved
[06:16:11] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[06:16:11] [PASSED] drm_test_damage_iter_damage
[06:16:11] [PASSED] drm_test_damage_iter_damage_one_intersect
[06:16:11] [PASSED] drm_test_damage_iter_damage_one_outside
[06:16:11] [PASSED] drm_test_damage_iter_damage_src_moved
[06:16:11] [PASSED] drm_test_damage_iter_damage_not_visible
[06:16:11] ================ [PASSED] drm_damage_helper ================
[06:16:11] ============== drm_dp_mst_helper (3 subtests) ==============
[06:16:11] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[06:16:11] [PASSED] Clock 154000 BPP 30 DSC disabled
[06:16:11] [PASSED] Clock 234000 BPP 30 DSC disabled
[06:16:11] [PASSED] Clock 297000 BPP 24 DSC disabled
[06:16:11] [PASSED] Clock 332880 BPP 24 DSC enabled
[06:16:11] [PASSED] Clock 324540 BPP 24 DSC enabled
[06:16:11] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[06:16:11] ============== drm_test_dp_mst_calc_pbn_div  ===============
[06:16:11] [PASSED] Link rate 2000000 lane count 4
[06:16:11] [PASSED] Link rate 2000000 lane count 2
[06:16:11] [PASSED] Link rate 2000000 lane count 1
[06:16:11] [PASSED] Link rate 1350000 lane count 4
[06:16:11] [PASSED] Link rate 1350000 lane count 2
[06:16:11] [PASSED] Link rate 1350000 lane count 1
[06:16:11] [PASSED] Link rate 1000000 lane count 4
[06:16:11] [PASSED] Link rate 1000000 lane count 2
[06:16:11] [PASSED] Link rate 1000000 lane count 1
[06:16:11] [PASSED] Link rate 810000 lane count 4
[06:16:11] [PASSED] Link rate 810000 lane count 2
[06:16:11] [PASSED] Link rate 810000 lane count 1
[06:16:11] [PASSED] Link rate 540000 lane count 4
[06:16:11] [PASSED] Link rate 540000 lane count 2
[06:16:11] [PASSED] Link rate 540000 lane count 1
[06:16:11] [PASSED] Link rate 270000 lane count 4
[06:16:11] [PASSED] Link rate 270000 lane count 2
[06:16:11] [PASSED] Link rate 270000 lane count 1
[06:16:11] [PASSED] Link rate 162000 lane count 4
[06:16:11] [PASSED] Link rate 162000 lane count 2
[06:16:11] [PASSED] Link rate 162000 lane count 1
[06:16:11] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[06:16:11] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[06:16:11] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[06:16:11] [PASSED] DP_POWER_UP_PHY with port number
[06:16:11] [PASSED] DP_POWER_DOWN_PHY with port number
[06:16:11] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[06:16:11] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[06:16:11] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[06:16:11] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[06:16:11] [PASSED] DP_QUERY_PAYLOAD with port number
[06:16:11] [PASSED] DP_QUERY_PAYLOAD with VCPI
[06:16:11] [PASSED] DP_REMOTE_DPCD_READ with port number
[06:16:11] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[06:16:11] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[06:16:11] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[06:16:11] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[06:16:11] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[06:16:11] [PASSED] DP_REMOTE_I2C_READ with port number
[06:16:11] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[06:16:11] [PASSED] DP_REMOTE_I2C_READ with transactions array
[06:16:11] [PASSED] DP_REMOTE_I2C_WRITE with port number
[06:16:11] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[06:16:11] [PASSED] DP_REMOTE_I2C_WRITE with data array
[06:16:11] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[06:16:11] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[06:16:11] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[06:16:11] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[06:16:11] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[06:16:11] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[06:16:11] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[06:16:11] ================ [PASSED] drm_dp_mst_helper ================
[06:16:11] ================== drm_exec (7 subtests) ===================
[06:16:11] [PASSED] sanitycheck
[06:16:11] [PASSED] test_lock
[06:16:11] [PASSED] test_lock_unlock
[06:16:11] [PASSED] test_duplicates
[06:16:11] [PASSED] test_prepare
[06:16:11] [PASSED] test_prepare_array
[06:16:11] [PASSED] test_multiple_loops
[06:16:11] ==================== [PASSED] drm_exec =====================
[06:16:11] =========== drm_format_helper_test (17 subtests) ===========
[06:16:11] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[06:16:11] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[06:16:11] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[06:16:11] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[06:16:11] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[06:16:11] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[06:16:11] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[06:16:11] ============= drm_test_fb_xrgb8888_to_bgr888  ==============
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[06:16:11] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[06:16:11] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[06:16:11] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[06:16:11] ============== drm_test_fb_xrgb8888_to_mono  ===============
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[06:16:11] ==================== drm_test_fb_swab  =====================
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ================ [PASSED] drm_test_fb_swab =================
[06:16:11] ============ drm_test_fb_xrgb8888_to_xbgr8888  =============
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[06:16:11] ============ drm_test_fb_xrgb8888_to_abgr8888  =============
[06:16:11] [PASSED] single_pixel_source_buffer
[06:16:11] [PASSED] single_pixel_clip_rectangle
[06:16:11] [PASSED] well_known_colors
[06:16:11] [PASSED] destination_pitch
[06:16:11] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[06:16:11] ================= drm_test_fb_clip_offset  =================
[06:16:11] [PASSED] pass through
[06:16:11] [PASSED] horizontal offset
[06:16:11] [PASSED] vertical offset
[06:16:11] [PASSED] horizontal and vertical offset
[06:16:11] [PASSED] horizontal offset (custom pitch)
[06:16:11] [PASSED] vertical offset (custom pitch)
[06:16:11] [PASSED] horizontal and vertical offset (custom pitch)
[06:16:11] ============= [PASSED] drm_test_fb_clip_offset =============
[06:16:11] =================== drm_test_fb_memcpy  ====================
[06:16:11] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[06:16:11] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[06:16:11] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[06:16:11] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[06:16:11] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[06:16:11] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[06:16:11] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[06:16:11] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[06:16:11] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[06:16:11] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[06:16:11] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[06:16:11] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[06:16:11] =============== [PASSED] drm_test_fb_memcpy ================
[06:16:11] ============= [PASSED] drm_format_helper_test ==============
[06:16:11] ================= drm_format (18 subtests) =================
[06:16:11] [PASSED] drm_test_format_block_width_invalid
[06:16:11] [PASSED] drm_test_format_block_width_one_plane
[06:16:11] [PASSED] drm_test_format_block_width_two_plane
[06:16:11] [PASSED] drm_test_format_block_width_three_plane
[06:16:11] [PASSED] drm_test_format_block_width_tiled
[06:16:11] [PASSED] drm_test_format_block_height_invalid
[06:16:11] [PASSED] drm_test_format_block_height_one_plane
[06:16:11] [PASSED] drm_test_format_block_height_two_plane
[06:16:11] [PASSED] drm_test_format_block_height_three_plane
[06:16:11] [PASSED] drm_test_format_block_height_tiled
[06:16:11] [PASSED] drm_test_format_min_pitch_invalid
[06:16:11] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[06:16:11] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[06:16:11] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[06:16:11] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[06:16:11] [PASSED] drm_test_format_min_pitch_two_plane
[06:16:11] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[06:16:11] [PASSED] drm_test_format_min_pitch_tiled
[06:16:11] =================== [PASSED] drm_format ====================
[06:16:11] ============== drm_framebuffer (10 subtests) ===============
[06:16:11] ========== drm_test_framebuffer_check_src_coords  ==========
[06:16:11] [PASSED] Success: source fits into fb
[06:16:11] [PASSED] Fail: overflowing fb with x-axis coordinate
[06:16:11] [PASSED] Fail: overflowing fb with y-axis coordinate
[06:16:11] [PASSED] Fail: overflowing fb with source width
[06:16:11] [PASSED] Fail: overflowing fb with source height
[06:16:11] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[06:16:11] [PASSED] drm_test_framebuffer_cleanup
[06:16:11] =============== drm_test_framebuffer_create  ===============
[06:16:11] [PASSED] ABGR8888 normal sizes
[06:16:11] [PASSED] ABGR8888 max sizes
[06:16:11] [PASSED] ABGR8888 pitch greater than min required
[06:16:11] [PASSED] ABGR8888 pitch less than min required
[06:16:11] [PASSED] ABGR8888 Invalid width
[06:16:11] [PASSED] ABGR8888 Invalid buffer handle
[06:16:11] [PASSED] No pixel format
[06:16:11] [PASSED] ABGR8888 Width 0
[06:16:11] [PASSED] ABGR8888 Height 0
[06:16:11] [PASSED] ABGR8888 Out of bound height * pitch combination
[06:16:11] [PASSED] ABGR8888 Large buffer offset
[06:16:11] [PASSED] ABGR8888 Buffer offset for inexistent plane
[06:16:11] [PASSED] ABGR8888 Invalid flag
[06:16:11] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[06:16:11] [PASSED] ABGR8888 Valid buffer modifier
[06:16:11] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[06:16:11] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[06:16:11] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[06:16:11] [PASSED] NV12 Normal sizes
[06:16:11] [PASSED] NV12 Max sizes
[06:16:11] [PASSED] NV12 Invalid pitch
[06:16:11] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[06:16:11] [PASSED] NV12 different  modifier per-plane
[06:16:11] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[06:16:11] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[06:16:11] [PASSED] NV12 Modifier for inexistent plane
[06:16:11] [PASSED] NV12 Handle for inexistent plane
[06:16:11] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[06:16:11] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[06:16:11] [PASSED] YVU420 Normal sizes
[06:16:11] [PASSED] YVU420 Max sizes
[06:16:11] [PASSED] YVU420 Invalid pitch
[06:16:11] [PASSED] YVU420 Different pitches
[06:16:11] [PASSED] YVU420 Different buffer offsets/pitches
[06:16:11] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[06:16:11] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[06:16:11] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[06:16:11] [PASSED] YVU420 Valid modifier
[06:16:11] [PASSED] YVU420 Different modifiers per plane
[06:16:11] [PASSED] YVU420 Modifier for inexistent plane
[06:16:11] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[06:16:11] [PASSED] X0L2 Normal sizes
[06:16:11] [PASSED] X0L2 Max sizes
[06:16:11] [PASSED] X0L2 Invalid pitch
[06:16:11] [PASSED] X0L2 Pitch greater than minimum required
[06:16:11] [PASSED] X0L2 Handle for inexistent plane
[06:16:11] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[06:16:11] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[06:16:11] [PASSED] X0L2 Valid modifier
[06:16:11] [PASSED] X0L2 Modifier for inexistent plane
[06:16:11] =========== [PASSED] drm_test_framebuffer_create ===========
[06:16:11] [PASSED] drm_test_framebuffer_free
[06:16:11] [PASSED] drm_test_framebuffer_init
[06:16:11] [PASSED] drm_test_framebuffer_init_bad_format
[06:16:11] [PASSED] drm_test_framebuffer_init_dev_mismatch
[06:16:11] [PASSED] drm_test_framebuffer_lookup
[06:16:11] [PASSED] drm_test_framebuffer_lookup_inexistent
[06:16:11] [PASSED] drm_test_framebuffer_modifiers_not_supported
[06:16:11] ================= [PASSED] drm_framebuffer =================
[06:16:11] ================ drm_gem_shmem (8 subtests) ================
[06:16:11] [PASSED] drm_gem_shmem_test_obj_create
[06:16:11] [PASSED] drm_gem_shmem_test_obj_create_private
[06:16:11] [PASSED] drm_gem_shmem_test_pin_pages
[06:16:11] [PASSED] drm_gem_shmem_test_vmap
[06:16:11] [PASSED] drm_gem_shmem_test_get_pages_sgt
[06:16:11] [PASSED] drm_gem_shmem_test_get_sg_table
[06:16:11] [PASSED] drm_gem_shmem_test_madvise
[06:16:11] [PASSED] drm_gem_shmem_test_purge
[06:16:11] ================== [PASSED] drm_gem_shmem ==================
[06:16:11] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[06:16:11] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[06:16:11] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[06:16:11] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[06:16:11] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[06:16:11] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[06:16:11] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[06:16:11] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420  =======
[06:16:11] [PASSED] Automatic
[06:16:11] [PASSED] Full
[06:16:11] [PASSED] Limited 16:235
[06:16:11] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[06:16:11] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[06:16:11] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[06:16:11] [PASSED] drm_test_check_disable_connector
[06:16:11] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[06:16:11] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[06:16:11] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[06:16:11] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[06:16:11] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[06:16:11] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[06:16:11] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[06:16:11] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[06:16:11] [PASSED] drm_test_check_output_bpc_dvi
[06:16:11] [PASSED] drm_test_check_output_bpc_format_vic_1
[06:16:11] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[06:16:11] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[06:16:11] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[06:16:11] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[06:16:11] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[06:16:11] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[06:16:11] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[06:16:11] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[06:16:11] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[06:16:11] [PASSED] drm_test_check_broadcast_rgb_value
[06:16:11] [PASSED] drm_test_check_bpc_8_value
[06:16:11] [PASSED] drm_test_check_bpc_10_value
[06:16:11] [PASSED] drm_test_check_bpc_12_value
[06:16:11] [PASSED] drm_test_check_format_value
[06:16:11] [PASSED] drm_test_check_tmds_char_value
[06:16:11] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[06:16:11] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[06:16:11] [PASSED] drm_test_check_mode_valid
[06:16:11] [PASSED] drm_test_check_mode_valid_reject
[06:16:11] [PASSED] drm_test_check_mode_valid_reject_rate
[06:16:11] [PASSED] drm_test_check_mode_valid_reject_max_clock
[06:16:11] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[06:16:11] ================= drm_managed (2 subtests) =================
[06:16:11] [PASSED] drm_test_managed_release_action
[06:16:11] [PASSED] drm_test_managed_run_action
[06:16:11] =================== [PASSED] drm_managed ===================
[06:16:11] =================== drm_mm (6 subtests) ====================
[06:16:11] [PASSED] drm_test_mm_init
[06:16:11] [PASSED] drm_test_mm_debug
[06:16:11] [PASSED] drm_test_mm_align32
[06:16:11] [PASSED] drm_test_mm_align64
[06:16:11] [PASSED] drm_test_mm_lowest
[06:16:11] [PASSED] drm_test_mm_highest
[06:16:11] ===================== [PASSED] drm_mm ======================
[06:16:11] ============= drm_modes_analog_tv (5 subtests) =============
[06:16:11] [PASSED] drm_test_modes_analog_tv_mono_576i
[06:16:11] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[06:16:11] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[06:16:11] [PASSED] drm_test_modes_analog_tv_pal_576i
[06:16:11] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[06:16:11] =============== [PASSED] drm_modes_analog_tv ===============
[06:16:11] ============== drm_plane_helper (2 subtests) ===============
[06:16:11] =============== drm_test_check_plane_state  ================
[06:16:11] [PASSED] clipping_simple
[06:16:11] [PASSED] clipping_rotate_reflect
[06:16:11] [PASSED] positioning_simple
[06:16:11] [PASSED] upscaling
[06:16:11] [PASSED] downscaling
[06:16:11] [PASSED] rounding1
[06:16:11] [PASSED] rounding2
[06:16:11] [PASSED] rounding3
[06:16:11] [PASSED] rounding4
[06:16:11] =========== [PASSED] drm_test_check_plane_state ============
[06:16:11] =========== drm_test_check_invalid_plane_state  ============
[06:16:11] [PASSED] positioning_invalid
[06:16:11] [PASSED] upscaling_invalid
[06:16:11] [PASSED] downscaling_invalid
[06:16:11] ======= [PASSED] drm_test_check_invalid_plane_state ========
[06:16:11] ================ [PASSED] drm_plane_helper =================
[06:16:11] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[06:16:11] ====== drm_test_connector_helper_tv_get_modes_check  =======
[06:16:11] [PASSED] None
[06:16:11] [PASSED] PAL
[06:16:11] [PASSED] NTSC
[06:16:11] [PASSED] Both, NTSC Default
[06:16:11] [PASSED] Both, PAL Default
[06:16:11] [PASSED] Both, NTSC Default, with PAL on command-line
[06:16:11] [PASSED] Both, PAL Default, with NTSC on command-line
[06:16:11] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[06:16:11] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[06:16:11] ================== drm_rect (9 subtests) ===================
[06:16:11] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[06:16:11] [PASSED] drm_test_rect_clip_scaled_not_clipped
[06:16:11] [PASSED] drm_test_rect_clip_scaled_clipped
[06:16:11] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[06:16:11] ================= drm_test_rect_intersect  =================
[06:16:11] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[06:16:11] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[06:16:11] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[06:16:11] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[06:16:11] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[06:16:11] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[06:16:11] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[06:16:11] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[06:16:11] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[06:16:11] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[06:16:11] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[06:16:11] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[06:16:11] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[06:16:11] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[06:16:11] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[06:16:11] ============= [PASSED] drm_test_rect_intersect =============
[06:16:11] ================ drm_test_rect_calc_hscale  ================
[06:16:11] [PASSED] normal use
[06:16:11] [PASSED] out of max range
[06:16:11] [PASSED] out of min range
[06:16:11] [PASSED] zero dst
[06:16:11] [PASSED] negative src
[06:16:11] [PASSED] negative dst
[06:16:11] ============ [PASSED] drm_test_rect_calc_hscale ============
[06:16:11] ================ drm_test_rect_calc_vscale  ================
[06:16:11] [PASSED] normal use
[06:16:11] [PASSED] out of max range
[06:16:11] [PASSED] out of min range
[06:16:11] [PASSED] zero dst
[06:16:11] [PASSED] negative src
[06:16:11] [PASSED] negative dst
[06:16:11] ============ [PASSED] drm_test_rect_calc_vscale ============
[06:16:11] ================== drm_test_rect_rotate  ===================
[06:16:11] [PASSED] reflect-x
[06:16:11] [PASSED] reflect-y
[06:16:11] [PASSED] rotate-0
[06:16:11] [PASSED] rotate-90
[06:16:11] [PASSED] rotate-180
[06:16:11] [PASSED] rotate-270
stty: 'standard input': Inappropriate ioctl for device
[06:16:11] ============== [PASSED] drm_test_rect_rotate ===============
[06:16:11] ================ drm_test_rect_rotate_inv  =================
[06:16:11] [PASSED] reflect-x
[06:16:11] [PASSED] reflect-y
[06:16:11] [PASSED] rotate-0
[06:16:11] [PASSED] rotate-90
[06:16:11] [PASSED] rotate-180
[06:16:11] [PASSED] rotate-270
[06:16:11] ============ [PASSED] drm_test_rect_rotate_inv =============
[06:16:11] ==================== [PASSED] drm_rect =====================
[06:16:11] ============ drm_sysfb_modeset_test (1 subtest) ============
[06:16:11] ============ drm_test_sysfb_build_fourcc_list  =============
[06:16:11] [PASSED] no native formats
[06:16:11] [PASSED] XRGB8888 as native format
[06:16:11] [PASSED] remove duplicates
[06:16:11] [PASSED] convert alpha formats
[06:16:11] [PASSED] random formats
[06:16:11] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[06:16:11] ============= [PASSED] drm_sysfb_modeset_test ==============
[06:16:11] ============================================================
[06:16:11] Testing complete. Ran 616 tests: passed: 616
[06:16:11] Elapsed time: 24.641s total, 1.758s configuring, 22.660s building, 0.191s running

+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[06:16:11] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[06:16:13] 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
[06:16:21] Starting KUnit Kernel (1/1)...
[06:16:21] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[06:16:21] ================= ttm_device (5 subtests) ==================
[06:16:21] [PASSED] ttm_device_init_basic
[06:16:21] [PASSED] ttm_device_init_multiple
[06:16:21] [PASSED] ttm_device_fini_basic
[06:16:21] [PASSED] ttm_device_init_no_vma_man
[06:16:21] ================== ttm_device_init_pools  ==================
[06:16:21] [PASSED] No DMA allocations, no DMA32 required
[06:16:21] [PASSED] DMA allocations, DMA32 required
[06:16:21] [PASSED] No DMA allocations, DMA32 required
[06:16:21] [PASSED] DMA allocations, no DMA32 required
[06:16:21] ============== [PASSED] ttm_device_init_pools ==============
[06:16:21] =================== [PASSED] ttm_device ====================
[06:16:21] ================== ttm_pool (8 subtests) ===================
[06:16:21] ================== ttm_pool_alloc_basic  ===================
[06:16:21] [PASSED] One page
[06:16:21] [PASSED] More than one page
[06:16:21] [PASSED] Above the allocation limit
[06:16:21] [PASSED] One page, with coherent DMA mappings enabled
[06:16:21] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[06:16:21] ============== [PASSED] ttm_pool_alloc_basic ===============
[06:16:21] ============== ttm_pool_alloc_basic_dma_addr  ==============
[06:16:21] [PASSED] One page
[06:16:21] [PASSED] More than one page
[06:16:21] [PASSED] Above the allocation limit
[06:16:21] [PASSED] One page, with coherent DMA mappings enabled
[06:16:21] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[06:16:21] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[06:16:21] [PASSED] ttm_pool_alloc_order_caching_match
[06:16:21] [PASSED] ttm_pool_alloc_caching_mismatch
[06:16:21] [PASSED] ttm_pool_alloc_order_mismatch
[06:16:21] [PASSED] ttm_pool_free_dma_alloc
[06:16:21] [PASSED] ttm_pool_free_no_dma_alloc
[06:16:21] [PASSED] ttm_pool_fini_basic
[06:16:21] ==================== [PASSED] ttm_pool =====================
[06:16:21] ================ ttm_resource (8 subtests) =================
[06:16:21] ================= ttm_resource_init_basic  =================
[06:16:21] [PASSED] Init resource in TTM_PL_SYSTEM
[06:16:21] [PASSED] Init resource in TTM_PL_VRAM
[06:16:21] [PASSED] Init resource in a private placement
[06:16:21] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[06:16:21] ============= [PASSED] ttm_resource_init_basic =============
[06:16:21] [PASSED] ttm_resource_init_pinned
[06:16:21] [PASSED] ttm_resource_fini_basic
[06:16:21] [PASSED] ttm_resource_manager_init_basic
[06:16:21] [PASSED] ttm_resource_manager_usage_basic
[06:16:21] [PASSED] ttm_resource_manager_set_used_basic
[06:16:21] [PASSED] ttm_sys_man_alloc_basic
[06:16:21] [PASSED] ttm_sys_man_free_basic
[06:16:21] ================== [PASSED] ttm_resource ===================
[06:16:21] =================== ttm_tt (15 subtests) ===================
[06:16:21] ==================== ttm_tt_init_basic  ====================
[06:16:21] [PASSED] Page-aligned size
[06:16:21] [PASSED] Extra pages requested
[06:16:21] ================ [PASSED] ttm_tt_init_basic ================
[06:16:21] [PASSED] ttm_tt_init_misaligned
[06:16:21] [PASSED] ttm_tt_fini_basic
[06:16:21] [PASSED] ttm_tt_fini_sg
[06:16:21] [PASSED] ttm_tt_fini_shmem
[06:16:21] [PASSED] ttm_tt_create_basic
[06:16:21] [PASSED] ttm_tt_create_invalid_bo_type
[06:16:21] [PASSED] ttm_tt_create_ttm_exists
[06:16:21] [PASSED] ttm_tt_create_failed
[06:16:21] [PASSED] ttm_tt_destroy_basic
[06:16:21] [PASSED] ttm_tt_populate_null_ttm
[06:16:21] [PASSED] ttm_tt_populate_populated_ttm
[06:16:21] [PASSED] ttm_tt_unpopulate_basic
[06:16:21] [PASSED] ttm_tt_unpopulate_empty_ttm
[06:16:21] [PASSED] ttm_tt_swapin_basic
[06:16:21] ===================== [PASSED] ttm_tt ======================
[06:16:21] =================== ttm_bo (14 subtests) ===================
[06:16:21] =========== ttm_bo_reserve_optimistic_no_ticket  ===========
[06:16:21] [PASSED] Cannot be interrupted and sleeps
[06:16:21] [PASSED] Cannot be interrupted, locks straight away
[06:16:21] [PASSED] Can be interrupted, sleeps
[06:16:21] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[06:16:21] [PASSED] ttm_bo_reserve_locked_no_sleep
[06:16:21] [PASSED] ttm_bo_reserve_no_wait_ticket
[06:16:21] [PASSED] ttm_bo_reserve_double_resv
[06:16:21] [PASSED] ttm_bo_reserve_interrupted
[06:16:21] [PASSED] ttm_bo_reserve_deadlock
[06:16:21] [PASSED] ttm_bo_unreserve_basic
[06:16:21] [PASSED] ttm_bo_unreserve_pinned
[06:16:21] [PASSED] ttm_bo_unreserve_bulk
[06:16:21] [PASSED] ttm_bo_put_basic
[06:16:21] [PASSED] ttm_bo_put_shared_resv
[06:16:21] [PASSED] ttm_bo_pin_basic
[06:16:21] [PASSED] ttm_bo_pin_unpin_resource
[06:16:21] [PASSED] ttm_bo_multiple_pin_one_unpin
[06:16:21] ===================== [PASSED] ttm_bo ======================
[06:16:21] ============== ttm_bo_validate (21 subtests) ===============
[06:16:21] ============== ttm_bo_init_reserved_sys_man  ===============
[06:16:21] [PASSED] Buffer object for userspace
[06:16:21] [PASSED] Kernel buffer object
[06:16:21] [PASSED] Shared buffer object
[06:16:21] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[06:16:21] ============== ttm_bo_init_reserved_mock_man  ==============
[06:16:21] [PASSED] Buffer object for userspace
[06:16:21] [PASSED] Kernel buffer object
[06:16:21] [PASSED] Shared buffer object
[06:16:21] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[06:16:21] [PASSED] ttm_bo_init_reserved_resv
[06:16:21] ================== ttm_bo_validate_basic  ==================
[06:16:21] [PASSED] Buffer object for userspace
[06:16:21] [PASSED] Kernel buffer object
[06:16:21] [PASSED] Shared buffer object
[06:16:21] ============== [PASSED] ttm_bo_validate_basic ==============
[06:16:21] [PASSED] ttm_bo_validate_invalid_placement
[06:16:21] ============= ttm_bo_validate_same_placement  ==============
[06:16:21] [PASSED] System manager
[06:16:21] [PASSED] VRAM manager
[06:16:21] ========= [PASSED] ttm_bo_validate_same_placement ==========
[06:16:21] [PASSED] ttm_bo_validate_failed_alloc
[06:16:21] [PASSED] ttm_bo_validate_pinned
[06:16:21] [PASSED] ttm_bo_validate_busy_placement
[06:16:21] ================ ttm_bo_validate_multihop  =================
[06:16:21] [PASSED] Buffer object for userspace
[06:16:21] [PASSED] Kernel buffer object
[06:16:21] [PASSED] Shared buffer object
[06:16:21] ============ [PASSED] ttm_bo_validate_multihop =============
[06:16:21] ========== ttm_bo_validate_no_placement_signaled  ==========
[06:16:21] [PASSED] Buffer object in system domain, no page vector
[06:16:21] [PASSED] Buffer object in system domain with an existing page vector
[06:16:21] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[06:16:21] ======== ttm_bo_validate_no_placement_not_signaled  ========
[06:16:21] [PASSED] Buffer object for userspace
[06:16:21] [PASSED] Kernel buffer object
[06:16:21] [PASSED] Shared buffer object
[06:16:21] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[06:16:21] [PASSED] ttm_bo_validate_move_fence_signaled
[06:16:21] ========= ttm_bo_validate_move_fence_not_signaled  =========
[06:16:21] [PASSED] Waits for GPU
[06:16:21] [PASSED] Tries to lock straight away
[06:16:21] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[06:16:21] [PASSED] ttm_bo_validate_happy_evict
[06:16:21] [PASSED] ttm_bo_validate_all_pinned_evict
[06:16:21] [PASSED] ttm_bo_validate_allowed_only_evict
[06:16:21] [PASSED] ttm_bo_validate_deleted_evict
[06:16:21] [PASSED] ttm_bo_validate_busy_domain_evict
[06:16:21] [PASSED] ttm_bo_validate_evict_gutting
[06:16:21] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[06:16:21] ================= [PASSED] ttm_bo_validate =================
[06:16:21] ============================================================
[06:16:21] Testing complete. Ran 101 tests: passed: 101
[06:16:21] Elapsed time: 9.862s total, 1.718s configuring, 7.927s building, 0.187s running

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



^ permalink raw reply	[flat|nested] 17+ messages in thread

* ✗ CI.checksparse: warning for Handle Firmware reported Hardware Errors (rev9)
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
  2025-08-26  6:15 ` ✗ CI.checkpatch: warning for Handle Firmware reported Hardware Errors (rev9) Patchwork
  2025-08-26  6:16 ` ✓ CI.KUnit: success " Patchwork
@ 2025-08-26  6:31 ` Patchwork
  2025-08-26  6:34 ` [PATCH v9 01/10] drm/xe: Add documentation for Xe Device Wedging Riana Tauro
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2025-08-26  6:31 UTC (permalink / raw)
  To: Riana Tauro; +Cc: intel-xe

== Series Details ==

Series: Handle Firmware reported Hardware Errors (rev9)
URL   : https://patchwork.freedesktop.org/series/149756/
State : warning

== Summary ==

+ trap cleanup EXIT
+ KERNEL=/kernel
+ MT=/root/linux/maintainer-tools
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools /root/linux/maintainer-tools
Cloning into '/root/linux/maintainer-tools'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ make -C /root/linux/maintainer-tools
make: Entering directory '/root/linux/maintainer-tools'
cc -O2 -g -Wextra -o remap-log remap-log.c
make: Leaving directory '/root/linux/maintainer-tools'
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ /root/linux/maintainer-tools/dim sparse --fast 8660eb3be99b607b54bf3fa47fd66e9fbd59af46
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
Fast mode used, each commit won't be checked separately.
-
+drivers/gpu/drm/drm_drv.c:449:6: warning: context imbalance in 'drm_dev_enter' - different lock contexts for basic block
+drivers/gpu/drm/drm_drv.c: note: in included file (through include/linux/notifier.h, arch/x86/include/asm/uprobes.h, include/linux/uprobes.h, include/linux/mm_types.h, include/linux/mmzone.h, include/linux/gfp.h, ...):
+drivers/gpu/drm/drm_plane.c:213:24: warning: Using plain integer as NULL pointer
+drivers/gpu/drm/i915/display/intel_alpm.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_cdclk.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_ddi.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2021:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2034:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2034:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2034:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_hdcp.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_hotplug.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_pps.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_psr.c: note: in included file:
+drivers/gpu/drm/i915/gt/intel_reset.c:1572:12: warning: context imbalance in '_intel_gt_reset_lock' - different lock contexts for basic block
+drivers/gpu/drm/i915/gt/intel_sseu.c:598:17: error: too long token expansion
+drivers/gpu/drm/i915/i915_active.c:1062:16: warning: context imbalance in '__i915_active_fence_set' - different lock contexts for basic block
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: error: incompatible types in comparison expression (different address spaces):
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: error: incompatible types in comparison expression (different address spaces):
+drivers/gpu/drm/i915/i915_drm_client.c:92:9:    expected struct list_head const *list
+drivers/gpu/drm/i915/i915_drm_client.c:92:9:    got struct list_head [noderef] __rcu *pos
+drivers/gpu/drm/i915/i915_drm_client.c:92:9:    struct list_head *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9:    struct list_head *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9:    struct list_head [noderef] __rcu *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9:    struct list_head [noderef] __rcu *
+drivers/gpu/drm/i915/i915_drm_client.c:92:9: warning: incorrect type in argument 1 (different address spaces)
+drivers/gpu/drm/i915/i915_irq.c:492:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:492:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:500:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:500:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:505:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:505:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:505:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:543:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:543:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:551:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:551:16: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:556:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:556:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:556:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:600:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:600:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:603:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:603:15: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:607:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:607:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:614:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:614:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:614:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/i915_irq.c:614:9: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/intel_uncore.c:1927:1: warning: context imbalance in 'fwtable_read8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1928:1: warning: context imbalance in 'fwtable_read16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1929:1: warning: context imbalance in 'fwtable_read32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1930:1: warning: context imbalance in 'fwtable_read64' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1995:1: warning: context imbalance in 'gen6_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1996:1: warning: context imbalance in 'gen6_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:1997:1: warning: context imbalance in 'gen6_write32' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2017:1: warning: context imbalance in 'fwtable_write8' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2018:1: warning: context imbalance in 'fwtable_write16' - unexpected unlock
+drivers/gpu/drm/i915/intel_uncore.c:2019:1: warning: context imbalance in 'fwtable_write32' - unexpected unlock
+drivers/gpu/drm/i915/intel_wakeref.c:146:19: warning: context imbalance in 'wakeref_auto_timeout' - unexpected unlock
+drivers/gpu/drm/ttm/ttm_bo.c:1199:31: warning: symbol 'ttm_swap_ops' was not declared. Should it be static?
+drivers/gpu/drm/ttm/ttm_bo_util.c:329:38:    expected void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:329:38:    got void [noderef] __iomem *
+drivers/gpu/drm/ttm/ttm_bo_util.c:329:38: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/ttm/ttm_bo_util.c:332:38:    expected void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:332:38:    got void [noderef] __iomem *
+drivers/gpu/drm/ttm/ttm_bo_util.c:332:38: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/ttm/ttm_bo_util.c:335:38:    expected void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:335:38:    got void [noderef] __iomem *
+drivers/gpu/drm/ttm/ttm_bo_util.c:335:38: warning: incorrect type in assignment (different address spaces)
+drivers/gpu/drm/ttm/ttm_bo_util.c:467:28:    expected void volatile [noderef] __iomem *addr
+drivers/gpu/drm/ttm/ttm_bo_util.c:467:28:    got void *virtual
+drivers/gpu/drm/ttm/ttm_bo_util.c:467:28: warning: incorrect type in argument 1 (different address spaces)
+./include/linux/srcu.h:373:9: warning: context imbalance in 'drm_dev_exit' - unexpected unlock

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v9 00/10] Handle Firmware reported Hardware Errors
@ 2025-08-26  6:34 Riana Tauro
  2025-08-26  6:15 ` ✗ CI.checkpatch: warning for Handle Firmware reported Hardware Errors (rev9) Patchwork
                   ` (14 more replies)
  0 siblings, 15 replies; 17+ messages in thread
From: Riana Tauro @ 2025-08-26  6:34 UTC (permalink / raw)
  To: intel-xe, dri-devel
  Cc: riana.tauro, anshuman.gupta, rodrigo.vivi, lucas.demarchi,
	aravind.iddamsetty, raag.jadav, umesh.nerlige.ramappa,
	frank.scarbrough, sk.anirban, simona.vetter, maarten.lankhorst,
	mripard, tzimmermann

Add support to handle firmware reported errors. When CSC firmware
errors are encoutered, a error interrupt is received by the GFX device as
a MSI interrupt. Device Source control registers indicates the source of the error
as CSC. The HEC error status register indicates that the error is firmware reported
Depending on the type of firmware error, the error cause is written to the HEC
Firmware error register. On encountering such CSC firmware errors, the device is unusable
and can be recovered only using firmware update.

Whenever Xe KMD detects such a firmware error, system administrator/userspace needs to be
notified to trigger a firmware flash. To address the above need, a new
recovery method is added to drm device wedged uevent.

The initial proposal to add 'firmware-flash' as a recovery method was
not applicable to other drivers and could cause multiple recovery
methods specific to vendors to be added.
A more generic 'vendor-specific' method is introduced in this series,
guiding users to refer to vendor specific documentation and system
logs, additonal indicators for detailed vendor specific recovery procedure.

It is the responsibility of the consumer to refer to the correct vendor
specific documentation and usecase before attempting a recovery.
For example: If driver is XE KMD, the consumer must refer
to the documentation of 'Xe Device Wedging' under 'Documentation/gpu/xe/'.

The necessity of a firmware flash in Xe KMD is notified to the user with a
combination of vendor-specific wedged uevent, runtime survivability
mode and dmesg logs. Consumer must check both uevent and runtime
survivability sysfs before triggering a firmware flash.

Udev

$ udevadm monitor --property --kernel
monitor will print the received events for:
KERNEL - the kernel uevent


KERNEL[754.709341] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:01.0/0000:03:00.0/drm/card0 (drm)
ACTION=change
DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:01.0/0000:03:00.0/drm/card0
SUBSYSTEM=drm
WEDGED=vendor-specific
DEVNAME=/dev/dri/card0
DEVTYPE=drm_minor
SEQNUM=5973
MAJOR=226
MINOR=0


Dmesg:

xe 0000:03:00.0: [drm] *ERROR* [Hardware Error]: Tile0 reported NONFATAL error 0x20000
xe 0000:03:00.0: [drm] *ERROR* [Hardware Error]: NONFATAL: HEC Uncorrected FW FD Corruption error reported, bit[2] is set
xe 0000:03:00.0: Runtime Survivability mode enabled
xe 0000:03:00.0: [drm] *ERROR* CRITICAL: Xe has declared device 0000:03:00.0 as wedged.
               IOCTLs and executions are blocked. Only a rebind may clear the failure
               Please file a _new_ bug report at https://gitlab.freedesktop.org/drm/xe/kernel/issues/new
xe 0000:03:00.0: [drm] device wedged, needs recovery
xe 0000:03:00.0: Firmware flash required, Please refer to the userspace documentation for more details!


Runtime survivability Sysfs:

/sys/bus/pci/devices/<device>/survivability_mode

Bspec: 50875, 53073, 53074, 53075, 53076

IGT: https://patchwork.freedesktop.org/patch/660122/
fwupd PR: https://github.com/fwupd/fwupd/pull/9024

Rev2: add a fault injection for csc errors
      fix review comments

Rev3: add a vendor-specific recovery method
      add support for runtime survivability mode
      enable runtime survivability mode when csc errors are reported

Rev4: refactor survivability code

Rev5: Add more documentation
      add user friendly logs
      remove checks for BMG if not necessary
      fix other review comments

Rev6: Use consistent words
      revert to include BMG checks

Rev7: fix cosmetic changes

Rev8: add more documentation

Rev9: rebase

Riana Tauro (10):
  drm/xe: Add documentation for Xe Device Wedging
  drm: Add a vendor-specific recovery method to drm device wedged uevent
  drm/xe: Set GT as wedged before sending wedged uevent
  drm/xe: Add a helper function to set recovery method
  drm/xe/xe_survivability: Refactor survivability mode
  drm/xe/xe_survivability: Add support for Runtime survivability mode
  drm/xe/doc: Document device wedged and runtime survivability
  drm/xe: Add support to handle hardware errors
  drm/xe/xe_hw_error: Handle CSC Firmware reported Hardware errors
  drm/xe/xe_hw_error: Add fault injection to trigger csc error handler

 Documentation/gpu/drm-uapi.rst                |  49 ++++-
 Documentation/gpu/xe/index.rst                |   1 +
 Documentation/gpu/xe/xe_device.rst            |  10 +
 Documentation/gpu/xe/xe_pcode.rst             |   6 +-
 drivers/gpu/drm/drm_drv.c                     |   2 +
 drivers/gpu/drm/xe/Makefile                   |   1 +
 drivers/gpu/drm/xe/regs/xe_gsc_regs.h         |   2 +
 drivers/gpu/drm/xe/regs/xe_hw_error_regs.h    |  20 ++
 drivers/gpu/drm/xe/regs/xe_irq_regs.h         |   1 +
 drivers/gpu/drm/xe/xe_debugfs.c               |   6 +-
 drivers/gpu/drm/xe/xe_device.c                |  73 ++++++-
 drivers/gpu/drm/xe/xe_device.h                |   1 +
 drivers/gpu/drm/xe/xe_device_types.h          |   5 +
 drivers/gpu/drm/xe/xe_heci_gsc.c              |   2 +-
 drivers/gpu/drm/xe/xe_hw_error.c              | 182 ++++++++++++++++++
 drivers/gpu/drm/xe/xe_hw_error.h              |  15 ++
 drivers/gpu/drm/xe/xe_irq.c                   |   4 +
 drivers/gpu/drm/xe/xe_pci.c                   |   6 +-
 drivers/gpu/drm/xe/xe_survivability_mode.c    | 167 ++++++++++++----
 drivers/gpu/drm/xe/xe_survivability_mode.h    |   5 +-
 .../gpu/drm/xe/xe_survivability_mode_types.h  |   8 +
 include/drm/drm_device.h                      |   4 +
 22 files changed, 512 insertions(+), 58 deletions(-)
 create mode 100644 Documentation/gpu/xe/xe_device.rst
 create mode 100644 drivers/gpu/drm/xe/regs/xe_hw_error_regs.h
 create mode 100644 drivers/gpu/drm/xe/xe_hw_error.c
 create mode 100644 drivers/gpu/drm/xe/xe_hw_error.h

-- 
2.47.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v9 01/10] drm/xe: Add documentation for Xe Device Wedging
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
                   ` (2 preceding siblings ...)
  2025-08-26  6:31 ` ✗ CI.checksparse: warning " Patchwork
@ 2025-08-26  6:34 ` Riana Tauro
  2025-08-26  6:34 ` [PATCH v9 02/10] drm: Add a vendor-specific recovery method to drm device wedged uevent Riana Tauro
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Riana Tauro @ 2025-08-26  6:34 UTC (permalink / raw)
  To: intel-xe, dri-devel
  Cc: riana.tauro, anshuman.gupta, rodrigo.vivi, lucas.demarchi,
	aravind.iddamsetty, raag.jadav, umesh.nerlige.ramappa,
	frank.scarbrough, sk.anirban, simona.vetter, maarten.lankhorst,
	mripard, tzimmermann

Add documentation for Xe Device Wedging so that
file can be referenced in following patches.

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 Documentation/gpu/xe/index.rst     |  1 +
 Documentation/gpu/xe/xe_device.rst | 10 ++++++++++
 drivers/gpu/drm/xe/xe_device.c     | 10 ++++++++++
 3 files changed, 21 insertions(+)
 create mode 100644 Documentation/gpu/xe/xe_device.rst

diff --git a/Documentation/gpu/xe/index.rst b/Documentation/gpu/xe/index.rst
index 42ba6c263cd0..88b22fad880e 100644
--- a/Documentation/gpu/xe/index.rst
+++ b/Documentation/gpu/xe/index.rst
@@ -25,5 +25,6 @@ DG2, etc is provided to prototype the driver.
    xe_tile
    xe_debugging
    xe_devcoredump
+   xe_device
    xe-drm-usage-stats.rst
    xe_configfs
diff --git a/Documentation/gpu/xe/xe_device.rst b/Documentation/gpu/xe/xe_device.rst
new file mode 100644
index 000000000000..39a937b97cd3
--- /dev/null
+++ b/Documentation/gpu/xe/xe_device.rst
@@ -0,0 +1,10 @@
+.. SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+
+.. _xe-device-wedging:
+
+==================
+Xe Device Wedging
+==================
+
+.. kernel-doc:: drivers/gpu/drm/xe/xe_device.c
+   :doc: Xe Device Wedging
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index d4e186c6545a..6fc87eac8f9d 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -1162,6 +1162,16 @@ static void xe_device_wedged_fini(struct drm_device *drm, void *arg)
 	xe_pm_runtime_put(xe);
 }
 
+/**
+ * DOC: Xe Device Wedging
+ *
+ * Xe driver uses drm device wedged uevent as documented in Documentation/gpu/drm-uapi.rst.
+ * When device is in wedged state, every IOCTL will be blocked and GT cannot be
+ * used. Certain critical errors like gt reset failure, firmware failures can cause
+ * the device to be wedged. The default recovery method for a wedged state
+ * is rebind/bus-reset.
+ */
+
 /**
  * xe_device_declare_wedged - Declare device wedged
  * @xe: xe device instance
-- 
2.47.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v9 02/10] drm: Add a vendor-specific recovery method to drm device wedged uevent
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
                   ` (3 preceding siblings ...)
  2025-08-26  6:34 ` [PATCH v9 01/10] drm/xe: Add documentation for Xe Device Wedging Riana Tauro
@ 2025-08-26  6:34 ` Riana Tauro
  2025-08-26 14:15   ` Rodrigo Vivi
  2025-08-26  6:34 ` [PATCH v9 03/10] drm/xe: Set GT as wedged before sending " Riana Tauro
                   ` (9 subsequent siblings)
  14 siblings, 1 reply; 17+ messages in thread
From: Riana Tauro @ 2025-08-26  6:34 UTC (permalink / raw)
  To: intel-xe, dri-devel
  Cc: riana.tauro, anshuman.gupta, rodrigo.vivi, lucas.demarchi,
	aravind.iddamsetty, raag.jadav, umesh.nerlige.ramappa,
	frank.scarbrough, sk.anirban, simona.vetter, maarten.lankhorst,
	mripard, tzimmermann, André Almeida, Christian König,
	David Airlie

Address the need for a recovery method (firmware flash on Firmware errors)
introduced in the later patches of Xe KMD.
Whenever XE KMD detects a firmware error, a firmware flash is required to
recover the device to normal operation.

The initial proposal to use 'firmware-flash' as a recovery method was
not applicable to other drivers and could cause multiple recovery
methods specific to vendors to be added.
To address this a more generic 'vendor-specific' method is introduced,
guiding users to refer to vendor specific documentation and system logs
for detailed vendor specific recovery procedure.

Add a recovery method 'WEDGED=vendor-specific' for such errors.
Vendors must provide additional recovery documentation if this method
is used.

It is the responsibility of the consumer to refer to the correct vendor
specific documentation and usecase before attempting a recovery.

For example: If driver is XE KMD, the consumer must refer
to the documentation of 'Device Wedging' under 'Documentation/gpu/xe/'.

v2: fix documentation (Raag)
v3: add more details to commit message (Sima, Rodrigo, Raag)
    add an example script to the documentation (Raag)
v4: use consistent naming (Raag)
v5: fix commit message
v6: add more documentation

Cc: André Almeida <andrealmeid@igalia.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona.vetter@ffwll.ch>
Cc: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Acked-by: Maxime Ripard <mripard@kernel.org>
---
 Documentation/gpu/drm-uapi.rst | 49 ++++++++++++++++++++++++++++------
 drivers/gpu/drm/drm_drv.c      |  2 ++
 include/drm/drm_device.h       |  4 +++
 3 files changed, 47 insertions(+), 8 deletions(-)

diff --git a/Documentation/gpu/drm-uapi.rst b/Documentation/gpu/drm-uapi.rst
index 843facf01b2d..8af88feed80c 100644
--- a/Documentation/gpu/drm-uapi.rst
+++ b/Documentation/gpu/drm-uapi.rst
@@ -418,13 +418,12 @@ needed.
 Recovery
 --------
 
-Current implementation defines three recovery methods, out of which, drivers
+Current implementation defines four recovery methods, out of which, drivers
 can use any one, multiple or none. Method(s) of choice will be sent in the
 uevent environment as ``WEDGED=<method1>[,..,<methodN>]`` in order of less to
-more side-effects. If driver is unsure about recovery or method is unknown
-(like soft/hard system reboot, firmware flashing, physical device replacement
-or any other procedure which can't be attempted on the fly), ``WEDGED=unknown``
-will be sent instead.
+more side-effects. See the section `Vendor Specific Recovery`_
+for ``WEDGED=vendor-specific``. If driver is unsure about recovery or
+method is unknown, ``WEDGED=unknown`` will be sent instead.
 
 Userspace consumers can parse this event and attempt recovery as per the
 following expectations.
@@ -435,6 +434,7 @@ following expectations.
     none            optional telemetry collection
     rebind          unbind + bind driver
     bus-reset       unbind + bus reset/re-enumeration + bind
+    vendor-specific vendor specific recovery method
     unknown         consumer policy
     =============== ========================================
 
@@ -446,6 +446,35 @@ telemetry information (devcoredump, syslog). This is useful because the first
 hang is usually the most critical one which can result in consequential hangs or
 complete wedging.
 
+
+Vendor Specific Recovery
+------------------------
+
+When ``WEDGED=vendor-specific`` is sent, it indicates that the device requires
+a recovery procedure specific to the hardware vendor and is not one of the
+standardized approaches.
+
+``WEDGED=vendor-specific`` may be used to indicate different cases within a
+single vendor driver, each requiring a distinct recovery procedure.
+In such scenarios, the vendor driver must provide comprehensive documentation
+that describes each case, include additional hints to identify specific case and
+outline the corresponding recovery procedure. The documentation includes:
+
+Case - A list of all cases that sends the ``WEDGED=vendor-specific`` recovery method.
+
+Hints - Additional Information to assist the userspace consumer in identifying and
+differentiating between different cases. This can be exposed through sysfs, debugfs,
+traces, dmesg etc.
+
+Recovery Procedure - Clear instructions and guidance for recovering each case.
+This may include userspace scripts, tools needed for the recovery procedure.
+
+It is the responsibility of the admin/userspace consumer to identify the case and
+verify additional identification hints before attempting a recovery procedure.
+
+Example: If the device uses the Xe driver, then userspace consumer should refer to
+:ref:`Xe Device Wedging <xe-device-wedging>` for the detailed documentation.
+
 Task information
 ----------------
 
@@ -472,8 +501,12 @@ erroring out, all device memory should be unmapped and file descriptors should
 be closed to prevent leaks or undefined behaviour. The idea here is to clear the
 device of all user context beforehand and set the stage for a clean recovery.
 
-Example
--------
+For ``WEDGED=vendor-specific`` recovery method, it is the responsibility of the
+consumer to check the driver documentation and the usecase before attempting
+a recovery.
+
+Example - rebind
+----------------
 
 Udev rule::
 
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index cdd591b11488..0ac723a46a91 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -532,6 +532,8 @@ static const char *drm_get_wedge_recovery(unsigned int opt)
 		return "rebind";
 	case DRM_WEDGE_RECOVERY_BUS_RESET:
 		return "bus-reset";
+	case DRM_WEDGE_RECOVERY_VENDOR:
+		return "vendor-specific";
 	default:
 		return NULL;
 	}
diff --git a/include/drm/drm_device.h b/include/drm/drm_device.h
index a33aedd5e9ec..59fd3f4d5995 100644
--- a/include/drm/drm_device.h
+++ b/include/drm/drm_device.h
@@ -26,10 +26,14 @@ struct pci_controller;
  * Recovery methods for wedged device in order of less to more side-effects.
  * To be used with drm_dev_wedged_event() as recovery @method. Callers can
  * use any one, multiple (or'd) or none depending on their needs.
+ *
+ * Refer to "Device Wedging" chapter in Documentation/gpu/drm-uapi.rst for more
+ * details.
  */
 #define DRM_WEDGE_RECOVERY_NONE		BIT(0)	/* optional telemetry collection */
 #define DRM_WEDGE_RECOVERY_REBIND	BIT(1)	/* unbind + bind driver */
 #define DRM_WEDGE_RECOVERY_BUS_RESET	BIT(2)	/* unbind + reset bus device + bind */
+#define DRM_WEDGE_RECOVERY_VENDOR	BIT(3)	/* vendor specific recovery method */
 
 /**
  * struct drm_wedge_task_info - information about the guilty task of a wedge dev
-- 
2.47.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v9 03/10] drm/xe: Set GT as wedged before sending wedged uevent
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
                   ` (4 preceding siblings ...)
  2025-08-26  6:34 ` [PATCH v9 02/10] drm: Add a vendor-specific recovery method to drm device wedged uevent Riana Tauro
@ 2025-08-26  6:34 ` Riana Tauro
  2025-08-26  6:34 ` [PATCH v9 04/10] drm/xe: Add a helper function to set recovery method Riana Tauro
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Riana Tauro @ 2025-08-26  6:34 UTC (permalink / raw)
  To: intel-xe, dri-devel
  Cc: riana.tauro, anshuman.gupta, rodrigo.vivi, lucas.demarchi,
	aravind.iddamsetty, raag.jadav, umesh.nerlige.ramappa,
	frank.scarbrough, sk.anirban, simona.vetter, maarten.lankhorst,
	mripard, tzimmermann, Matthew Brost

Userspace should be notified after setting the device as wedged.
Re-order function calls to set gt wedged before sending uevent.

Cc: Matthew Brost <matthew.brost@intel.com>
Suggested-by: Raag Jadav <raag.jadav@intel.com>
Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
---
 drivers/gpu/drm/xe/xe_device.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index 6fc87eac8f9d..a4aae9e2237d 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -1176,8 +1176,10 @@ static void xe_device_wedged_fini(struct drm_device *drm, void *arg)
  * xe_device_declare_wedged - Declare device wedged
  * @xe: xe device instance
  *
- * This is a final state that can only be cleared with a module
+ * This is a final state that can only be cleared with the recovery method
+ * specified in the drm wedged uevent. The default recovery method is
  * re-probe (unbind + bind).
+ *
  * In this state every IOCTL will be blocked so the GT cannot be used.
  * In general it will be called upon any critical error such as gt reset
  * failure or guc loading failure. Userspace will be notified of this state
@@ -1211,13 +1213,15 @@ void xe_device_declare_wedged(struct xe_device *xe)
 			"IOCTLs and executions are blocked. Only a rebind may clear the failure\n"
 			"Please file a _new_ bug report at https://gitlab.freedesktop.org/drm/xe/kernel/issues/new\n",
 			dev_name(xe->drm.dev));
+	}
+
+	for_each_gt(gt, xe, id)
+		xe_gt_declare_wedged(gt);
 
+	if (xe_device_wedged(xe)) {
 		/* Notify userspace of wedged device */
 		drm_dev_wedged_event(&xe->drm,
 				     DRM_WEDGE_RECOVERY_REBIND | DRM_WEDGE_RECOVERY_BUS_RESET,
 				     NULL);
 	}
-
-	for_each_gt(gt, xe, id)
-		xe_gt_declare_wedged(gt);
 }
-- 
2.47.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v9 04/10] drm/xe: Add a helper function to set recovery method
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
                   ` (5 preceding siblings ...)
  2025-08-26  6:34 ` [PATCH v9 03/10] drm/xe: Set GT as wedged before sending " Riana Tauro
@ 2025-08-26  6:34 ` Riana Tauro
  2025-08-26  6:34 ` [PATCH v9 05/10] drm/xe/xe_survivability: Refactor survivability mode Riana Tauro
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Riana Tauro @ 2025-08-26  6:34 UTC (permalink / raw)
  To: intel-xe, dri-devel
  Cc: riana.tauro, anshuman.gupta, rodrigo.vivi, lucas.demarchi,
	aravind.iddamsetty, raag.jadav, umesh.nerlige.ramappa,
	frank.scarbrough, sk.anirban, simona.vetter, maarten.lankhorst,
	mripard, tzimmermann

Add a helper function to set recovery method. The recovery
method can be set before declaring the device wedged and sending the
drm wedged uevent. If no method is set, default unbind/re-bind method
will be set.

v2: fix documentation (Raag)

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Raag Jadav <raag.jadav@intel.com>
---
 drivers/gpu/drm/xe/xe_device.c       | 26 +++++++++++++++++++++-----
 drivers/gpu/drm/xe/xe_device.h       |  1 +
 drivers/gpu/drm/xe/xe_device_types.h |  2 ++
 3 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index a4aae9e2237d..06cc8f72be2b 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -1172,13 +1172,26 @@ static void xe_device_wedged_fini(struct drm_device *drm, void *arg)
  * is rebind/bus-reset.
  */
 
+/**
+ * xe_device_set_wedged_method - Set wedged recovery method
+ * @xe: xe device instance
+ * @method: recovery method to set
+ *
+ * Set wedged recovery method to be sent in drm wedged uevent.
+ */
+void xe_device_set_wedged_method(struct xe_device *xe, unsigned long method)
+{
+	xe->wedged.method = method;
+}
+
 /**
  * xe_device_declare_wedged - Declare device wedged
  * @xe: xe device instance
  *
  * This is a final state that can only be cleared with the recovery method
- * specified in the drm wedged uevent. The default recovery method is
- * re-probe (unbind + bind).
+ * specified in the drm wedged uevent. The method can be set using
+ * xe_device_set_wedged_method before declaring the device as wedged. If no method
+ * is set, reprobe (unbind/re-bind) will be sent by default.
  *
  * In this state every IOCTL will be blocked so the GT cannot be used.
  * In general it will be called upon any critical error such as gt reset
@@ -1219,9 +1232,12 @@ void xe_device_declare_wedged(struct xe_device *xe)
 		xe_gt_declare_wedged(gt);
 
 	if (xe_device_wedged(xe)) {
+		/* If no wedge recovery method is set, use default */
+		if (!xe->wedged.method)
+			xe_device_set_wedged_method(xe, DRM_WEDGE_RECOVERY_REBIND |
+						    DRM_WEDGE_RECOVERY_BUS_RESET);
+
 		/* Notify userspace of wedged device */
-		drm_dev_wedged_event(&xe->drm,
-				     DRM_WEDGE_RECOVERY_REBIND | DRM_WEDGE_RECOVERY_BUS_RESET,
-				     NULL);
+		drm_dev_wedged_event(&xe->drm, xe->wedged.method, NULL);
 	}
 }
diff --git a/drivers/gpu/drm/xe/xe_device.h b/drivers/gpu/drm/xe/xe_device.h
index bc802e066a7d..32cc6323b7f6 100644
--- a/drivers/gpu/drm/xe/xe_device.h
+++ b/drivers/gpu/drm/xe/xe_device.h
@@ -187,6 +187,7 @@ static inline bool xe_device_wedged(struct xe_device *xe)
 	return atomic_read(&xe->wedged.flag);
 }
 
+void xe_device_set_wedged_method(struct xe_device *xe, unsigned long method);
 void xe_device_declare_wedged(struct xe_device *xe);
 
 struct xe_file *xe_file_get(struct xe_file *xef);
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 7e1cdb609379..b1c75c588e03 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -541,6 +541,8 @@ struct xe_device {
 		atomic_t flag;
 		/** @wedged.mode: Mode controlled by kernel parameter and debugfs */
 		int mode;
+		/** @wedged.method: Recovery method to be sent in the drm device wedged uevent */
+		unsigned long method;
 	} wedged;
 
 	/** @bo_device: Struct to control async free of BOs */
-- 
2.47.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v9 05/10] drm/xe/xe_survivability: Refactor survivability mode
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
                   ` (6 preceding siblings ...)
  2025-08-26  6:34 ` [PATCH v9 04/10] drm/xe: Add a helper function to set recovery method Riana Tauro
@ 2025-08-26  6:34 ` Riana Tauro
  2025-08-26  6:34 ` [PATCH v9 06/10] drm/xe/xe_survivability: Add support for Runtime " Riana Tauro
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Riana Tauro @ 2025-08-26  6:34 UTC (permalink / raw)
  To: intel-xe, dri-devel
  Cc: riana.tauro, anshuman.gupta, rodrigo.vivi, lucas.demarchi,
	aravind.iddamsetty, raag.jadav, umesh.nerlige.ramappa,
	frank.scarbrough, sk.anirban, simona.vetter, maarten.lankhorst,
	mripard, tzimmermann

Refactor survivability mode code to support both boot
and runtime survivability.

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Raag Jadav <raag.jadav@intel.com>
---
 drivers/gpu/drm/xe/xe_device.c                |  2 +-
 drivers/gpu/drm/xe/xe_heci_gsc.c              |  2 +-
 drivers/gpu/drm/xe/xe_pci.c                   |  6 +-
 drivers/gpu/drm/xe/xe_survivability_mode.c    | 93 +++++++++++++------
 drivers/gpu/drm/xe/xe_survivability_mode.h    |  4 +-
 .../gpu/drm/xe/xe_survivability_mode_types.h  |  7 ++
 6 files changed, 81 insertions(+), 33 deletions(-)

diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index 06cc8f72be2b..7a3a3106f8bb 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -739,7 +739,7 @@ int xe_device_probe_early(struct xe_device *xe)
 		 * possible, but still return the previous error for error
 		 * propagation
 		 */
-		err = xe_survivability_mode_enable(xe);
+		err = xe_survivability_mode_boot_enable(xe);
 		if (err)
 			return err;
 
diff --git a/drivers/gpu/drm/xe/xe_heci_gsc.c b/drivers/gpu/drm/xe/xe_heci_gsc.c
index 6d7b62724126..a415ca488791 100644
--- a/drivers/gpu/drm/xe/xe_heci_gsc.c
+++ b/drivers/gpu/drm/xe/xe_heci_gsc.c
@@ -197,7 +197,7 @@ int xe_heci_gsc_init(struct xe_device *xe)
 	if (ret)
 		return ret;
 
-	if (!def->use_polling && !xe_survivability_mode_is_enabled(xe)) {
+	if (!def->use_polling && !xe_survivability_mode_is_boot_enabled(xe)) {
 		ret = heci_gsc_irq_setup(xe);
 		if (ret)
 			return ret;
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index 85841442f7d5..524ed0d75a9f 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -785,7 +785,7 @@ static void xe_pci_remove(struct pci_dev *pdev)
 	if (IS_SRIOV_PF(xe))
 		xe_pci_sriov_configure(pdev, 0);
 
-	if (xe_survivability_mode_is_enabled(xe))
+	if (xe_survivability_mode_is_boot_enabled(xe))
 		return;
 
 	xe_device_remove(xe);
@@ -867,7 +867,7 @@ static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	 * flashed through mei. Return success, if survivability mode
 	 * is enabled due to pcode failure or configfs being set
 	 */
-	if (xe_survivability_mode_is_enabled(xe))
+	if (xe_survivability_mode_is_boot_enabled(xe))
 		return 0;
 
 	if (err)
@@ -961,7 +961,7 @@ static int xe_pci_suspend(struct device *dev)
 	struct xe_device *xe = pdev_to_xe_device(pdev);
 	int err;
 
-	if (xe_survivability_mode_is_enabled(xe))
+	if (xe_survivability_mode_is_boot_enabled(xe))
 		return -EBUSY;
 
 	err = xe_pm_suspend(xe);
diff --git a/drivers/gpu/drm/xe/xe_survivability_mode.c b/drivers/gpu/drm/xe/xe_survivability_mode.c
index 41705f5d52e3..4a2d1cff65d2 100644
--- a/drivers/gpu/drm/xe/xe_survivability_mode.c
+++ b/drivers/gpu/drm/xe/xe_survivability_mode.c
@@ -121,6 +121,14 @@ static void log_survivability_info(struct pci_dev *pdev)
 	}
 }
 
+static int check_boot_failure(struct xe_device *xe)
+{
+	struct xe_survivability *survivability = &xe->survivability;
+
+	return survivability->boot_status == NON_CRITICAL_FAILURE ||
+		survivability->boot_status == CRITICAL_FAILURE;
+}
+
 static ssize_t survivability_mode_show(struct device *dev,
 				       struct device_attribute *attr, char *buff)
 {
@@ -130,6 +138,11 @@ static ssize_t survivability_mode_show(struct device *dev,
 	struct xe_survivability_info *info = survivability->info;
 	int index = 0, count = 0;
 
+	count += sysfs_emit_at(buff, count, "Survivability mode type: Boot\n");
+
+	if (!check_boot_failure(xe))
+		return count;
+
 	for (index = 0; index < MAX_SCRATCH_MMIO; index++) {
 		if (info[index].reg)
 			count += sysfs_emit_at(buff, count, "%s: 0x%x - 0x%x\n", info[index].name,
@@ -151,12 +164,11 @@ static void xe_survivability_mode_fini(void *arg)
 	sysfs_remove_file(&dev->kobj, &dev_attr_survivability_mode.attr);
 }
 
-static int enable_survivability_mode(struct pci_dev *pdev)
+static int create_survivability_sysfs(struct pci_dev *pdev)
 {
 	struct device *dev = &pdev->dev;
 	struct xe_device *xe = pdev_to_xe_device(pdev);
-	struct xe_survivability *survivability = &xe->survivability;
-	int ret = 0;
+	int ret;
 
 	/* create survivability mode sysfs */
 	ret = sysfs_create_file(&dev->kobj, &dev_attr_survivability_mode.attr);
@@ -170,6 +182,20 @@ static int enable_survivability_mode(struct pci_dev *pdev)
 	if (ret)
 		return ret;
 
+	return 0;
+}
+
+static int enable_boot_survivability_mode(struct pci_dev *pdev)
+{
+	struct device *dev = &pdev->dev;
+	struct xe_device *xe = pdev_to_xe_device(pdev);
+	struct xe_survivability *survivability = &xe->survivability;
+	int ret = 0;
+
+	ret = create_survivability_sysfs(pdev);
+	if (ret)
+		return ret;
+
 	/* Make sure xe_heci_gsc_init() knows about survivability mode */
 	survivability->mode = true;
 
@@ -192,15 +218,36 @@ static int enable_survivability_mode(struct pci_dev *pdev)
 	return ret;
 }
 
+static int init_survivability_mode(struct xe_device *xe)
+{
+	struct xe_survivability *survivability = &xe->survivability;
+	struct xe_survivability_info *info;
+
+	survivability->size = MAX_SCRATCH_MMIO;
+
+	info = devm_kcalloc(xe->drm.dev, survivability->size, sizeof(*info),
+			    GFP_KERNEL);
+	if (!info)
+		return -ENOMEM;
+
+	survivability->info = info;
+
+	populate_survivability_info(xe);
+
+	return 0;
+}
+
 /**
- * xe_survivability_mode_is_enabled - check if survivability mode is enabled
+ * xe_survivability_mode_is_boot_enabled- check if boot survivability mode is enabled
  * @xe: xe device instance
  *
- * Returns true if in survivability mode, false otherwise
+ * Returns true if in boot survivability mode of type, else false
  */
-bool xe_survivability_mode_is_enabled(struct xe_device *xe)
+bool xe_survivability_mode_is_boot_enabled(struct xe_device *xe)
 {
-	return xe->survivability.mode;
+	struct xe_survivability *survivability = &xe->survivability;
+
+	return survivability->mode && survivability->type == XE_SURVIVABILITY_TYPE_BOOT;
 }
 
 /**
@@ -241,44 +288,38 @@ bool xe_survivability_mode_is_requested(struct xe_device *xe)
 	data = xe_mmio_read32(mmio, PCODE_SCRATCH(0));
 	survivability->boot_status = REG_FIELD_GET(BOOT_STATUS, data);
 
-	return survivability->boot_status == NON_CRITICAL_FAILURE ||
-		survivability->boot_status == CRITICAL_FAILURE;
+	return check_boot_failure(xe);
 }
 
 /**
- * xe_survivability_mode_enable - Initialize and enable the survivability mode
+ * xe_survivability_mode_boot_enable - Initialize and enable boot survivability mode
  * @xe: xe device instance
  *
- * Initialize survivability information and enable survivability mode
+ * Initialize survivability information and enable boot survivability mode
  *
- * Return: 0 if survivability mode is enabled or not requested; negative error
+ * Return: 0 if boot survivability mode is enabled or not requested, negative error
  * code otherwise.
  */
-int xe_survivability_mode_enable(struct xe_device *xe)
+int xe_survivability_mode_boot_enable(struct xe_device *xe)
 {
 	struct xe_survivability *survivability = &xe->survivability;
-	struct xe_survivability_info *info;
 	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+	int ret;
 
 	if (!xe_survivability_mode_is_requested(xe))
 		return 0;
 
-	survivability->size = MAX_SCRATCH_MMIO;
-
-	info = devm_kcalloc(xe->drm.dev, survivability->size, sizeof(*info),
-			    GFP_KERNEL);
-	if (!info)
-		return -ENOMEM;
-
-	survivability->info = info;
-
-	populate_survivability_info(xe);
+	ret = init_survivability_mode(xe);
+	if (ret)
+		return ret;
 
-	/* Only log debug information and exit if it is a critical failure */
+	/* Log breadcrumbs but do not enter survivability mode for Critical boot errors */
 	if (survivability->boot_status == CRITICAL_FAILURE) {
 		log_survivability_info(pdev);
 		return -ENXIO;
 	}
 
-	return enable_survivability_mode(pdev);
+	survivability->type = XE_SURVIVABILITY_TYPE_BOOT;
+
+	return enable_boot_survivability_mode(pdev);
 }
diff --git a/drivers/gpu/drm/xe/xe_survivability_mode.h b/drivers/gpu/drm/xe/xe_survivability_mode.h
index 02231c2bf008..f6ee283ea5e8 100644
--- a/drivers/gpu/drm/xe/xe_survivability_mode.h
+++ b/drivers/gpu/drm/xe/xe_survivability_mode.h
@@ -10,8 +10,8 @@
 
 struct xe_device;
 
-int xe_survivability_mode_enable(struct xe_device *xe);
-bool xe_survivability_mode_is_enabled(struct xe_device *xe);
+int xe_survivability_mode_boot_enable(struct xe_device *xe);
+bool xe_survivability_mode_is_boot_enabled(struct xe_device *xe);
 bool xe_survivability_mode_is_requested(struct xe_device *xe);
 
 #endif /* _XE_SURVIVABILITY_MODE_H_ */
diff --git a/drivers/gpu/drm/xe/xe_survivability_mode_types.h b/drivers/gpu/drm/xe/xe_survivability_mode_types.h
index 19d433e253df..5dce393498da 100644
--- a/drivers/gpu/drm/xe/xe_survivability_mode_types.h
+++ b/drivers/gpu/drm/xe/xe_survivability_mode_types.h
@@ -9,6 +9,10 @@
 #include <linux/limits.h>
 #include <linux/types.h>
 
+enum xe_survivability_type {
+	XE_SURVIVABILITY_TYPE_BOOT,
+};
+
 struct xe_survivability_info {
 	char name[NAME_MAX];
 	u32 reg;
@@ -30,6 +34,9 @@ struct xe_survivability {
 
 	/** @mode: boolean to indicate survivability mode */
 	bool mode;
+
+	/** @type: survivability type */
+	enum xe_survivability_type type;
 };
 
 #endif /* _XE_SURVIVABILITY_MODE_TYPES_H_ */
-- 
2.47.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v9 06/10] drm/xe/xe_survivability: Add support for Runtime survivability mode
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
                   ` (7 preceding siblings ...)
  2025-08-26  6:34 ` [PATCH v9 05/10] drm/xe/xe_survivability: Refactor survivability mode Riana Tauro
@ 2025-08-26  6:34 ` Riana Tauro
  2025-08-26  6:34 ` [PATCH v9 07/10] drm/xe/doc: Document device wedged and runtime survivability Riana Tauro
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Riana Tauro @ 2025-08-26  6:34 UTC (permalink / raw)
  To: intel-xe, dri-devel
  Cc: riana.tauro, anshuman.gupta, rodrigo.vivi, lucas.demarchi,
	aravind.iddamsetty, raag.jadav, umesh.nerlige.ramappa,
	frank.scarbrough, sk.anirban, simona.vetter, maarten.lankhorst,
	mripard, tzimmermann

Certain runtime firmware errors can cause the device to be in a unusable
state requiring a firmware flash to restore normal operation.
Runtime Survivability Mode indicates firmware flash is necessary by
wedging the device and exposing survivability mode sysfs.

The below sysfs is an indication that device is in survivability mode

/sys/bus/pci/devices/<device>/survivability_mode

v2: Fix kernel-doc (Umesh)
v3: Add user friendly dmesg (Frank)

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Raag Jadav <raag.jadav@intel.com>
---
 drivers/gpu/drm/xe/xe_survivability_mode.c    | 43 ++++++++++++++++++-
 drivers/gpu/drm/xe/xe_survivability_mode.h    |  1 +
 .../gpu/drm/xe/xe_survivability_mode_types.h  |  1 +
 3 files changed, 44 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/xe_survivability_mode.c b/drivers/gpu/drm/xe/xe_survivability_mode.c
index 4a2d1cff65d2..267d0e3fd85a 100644
--- a/drivers/gpu/drm/xe/xe_survivability_mode.c
+++ b/drivers/gpu/drm/xe/xe_survivability_mode.c
@@ -138,7 +138,8 @@ static ssize_t survivability_mode_show(struct device *dev,
 	struct xe_survivability_info *info = survivability->info;
 	int index = 0, count = 0;
 
-	count += sysfs_emit_at(buff, count, "Survivability mode type: Boot\n");
+	count += sysfs_emit_at(buff, count, "Survivability mode type: %s\n",
+			       survivability->type ? "Runtime" : "Boot");
 
 	if (!check_boot_failure(xe))
 		return count;
@@ -291,6 +292,46 @@ bool xe_survivability_mode_is_requested(struct xe_device *xe)
 	return check_boot_failure(xe);
 }
 
+/**
+ * xe_survivability_mode_runtime_enable - Initialize and enable runtime survivability mode
+ * @xe: xe device instance
+ *
+ * Initialize survivability information and enable runtime survivability mode.
+ * Runtime survivability mode is enabled when certain errors cause the device to be
+ * in non-recoverable state. The device is declared wedged with the appropriate
+ * recovery method and survivability mode sysfs exposed to userspace
+ *
+ * Return: 0 if runtime survivability mode is enabled, negative error code otherwise.
+ */
+int xe_survivability_mode_runtime_enable(struct xe_device *xe)
+{
+	struct xe_survivability *survivability = &xe->survivability;
+	struct pci_dev *pdev = to_pci_dev(xe->drm.dev);
+	int ret;
+
+	if (!IS_DGFX(xe) || IS_SRIOV_VF(xe) || xe->info.platform < XE_BATTLEMAGE) {
+		dev_err(&pdev->dev, "Runtime Survivability Mode not supported\n");
+		return -EINVAL;
+	}
+
+	ret = init_survivability_mode(xe);
+	if (ret)
+		return ret;
+
+	ret = create_survivability_sysfs(pdev);
+	if (ret)
+		dev_err(&pdev->dev, "Failed to create survivability mode sysfs\n");
+
+	survivability->type = XE_SURVIVABILITY_TYPE_RUNTIME;
+	dev_err(&pdev->dev, "Runtime Survivability mode enabled\n");
+
+	xe_device_set_wedged_method(xe, DRM_WEDGE_RECOVERY_VENDOR);
+	xe_device_declare_wedged(xe);
+	dev_err(&pdev->dev, "Firmware update required, Refer the userspace documentation for more details!\n");
+
+	return 0;
+}
+
 /**
  * xe_survivability_mode_boot_enable - Initialize and enable boot survivability mode
  * @xe: xe device instance
diff --git a/drivers/gpu/drm/xe/xe_survivability_mode.h b/drivers/gpu/drm/xe/xe_survivability_mode.h
index f6ee283ea5e8..1cc94226aa82 100644
--- a/drivers/gpu/drm/xe/xe_survivability_mode.h
+++ b/drivers/gpu/drm/xe/xe_survivability_mode.h
@@ -11,6 +11,7 @@
 struct xe_device;
 
 int xe_survivability_mode_boot_enable(struct xe_device *xe);
+int xe_survivability_mode_runtime_enable(struct xe_device *xe);
 bool xe_survivability_mode_is_boot_enabled(struct xe_device *xe);
 bool xe_survivability_mode_is_requested(struct xe_device *xe);
 
diff --git a/drivers/gpu/drm/xe/xe_survivability_mode_types.h b/drivers/gpu/drm/xe/xe_survivability_mode_types.h
index 5dce393498da..cd65a5d167c9 100644
--- a/drivers/gpu/drm/xe/xe_survivability_mode_types.h
+++ b/drivers/gpu/drm/xe/xe_survivability_mode_types.h
@@ -11,6 +11,7 @@
 
 enum xe_survivability_type {
 	XE_SURVIVABILITY_TYPE_BOOT,
+	XE_SURVIVABILITY_TYPE_RUNTIME,
 };
 
 struct xe_survivability_info {
-- 
2.47.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v9 07/10] drm/xe/doc: Document device wedged and runtime survivability
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
                   ` (8 preceding siblings ...)
  2025-08-26  6:34 ` [PATCH v9 06/10] drm/xe/xe_survivability: Add support for Runtime " Riana Tauro
@ 2025-08-26  6:34 ` Riana Tauro
  2025-08-26  6:34 ` [PATCH v9 08/10] drm/xe: Add support to handle hardware errors Riana Tauro
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Riana Tauro @ 2025-08-26  6:34 UTC (permalink / raw)
  To: intel-xe, dri-devel
  Cc: riana.tauro, anshuman.gupta, rodrigo.vivi, lucas.demarchi,
	aravind.iddamsetty, raag.jadav, umesh.nerlige.ramappa,
	frank.scarbrough, sk.anirban, simona.vetter, maarten.lankhorst,
	mripard, tzimmermann

Add documentation for vendor specific device wedged recovery method
and runtime survivability.

v2: fix documentation (Raag)
v3: add userspace tool for firmware update (Raag)
v4: use consistent documentation (Raag)
v5: add more documentation

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Raag Jadav <raag.jadav@intel.com>
---
 Documentation/gpu/xe/xe_pcode.rst          |  6 ++--
 drivers/gpu/drm/xe/xe_device.c             | 27 +++++++++++++++++
 drivers/gpu/drm/xe/xe_survivability_mode.c | 35 +++++++++++++++++-----
 3 files changed, 58 insertions(+), 10 deletions(-)

diff --git a/Documentation/gpu/xe/xe_pcode.rst b/Documentation/gpu/xe/xe_pcode.rst
index 5937ef3599b0..2a43601123cb 100644
--- a/Documentation/gpu/xe/xe_pcode.rst
+++ b/Documentation/gpu/xe/xe_pcode.rst
@@ -13,9 +13,11 @@ Internal API
 .. kernel-doc:: drivers/gpu/drm/xe/xe_pcode.c
    :internal:
 
+.. _xe-survivability-mode:
+
 ==================
-Boot Survivability
+Survivability Mode
 ==================
 
 .. kernel-doc:: drivers/gpu/drm/xe/xe_survivability_mode.c
-   :doc: Xe Boot Survivability
+   :doc: Survivability Mode
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index 7a3a3106f8bb..3bf086ec2fdb 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -1170,6 +1170,33 @@ static void xe_device_wedged_fini(struct drm_device *drm, void *arg)
  * used. Certain critical errors like gt reset failure, firmware failures can cause
  * the device to be wedged. The default recovery method for a wedged state
  * is rebind/bus-reset.
+ *
+ * Another recovery method is vendor-specific. Below are the cases that send
+ * ``WEDGED=vendor-specific`` recovery method in drm device wedged uevent.
+ *
+ * Case: Firmware Flash
+ * --------------------
+ *
+ * Identification Hint
+ * +++++++++++++++++++
+ *
+ * ``WEDGED=vendor-specific`` drm device wedged uevent with
+ * :ref:`Runtime Survivability mode <xe-survivability-mode>` is used to notify
+ * admin/userspace consumer about the need for a firmware flash.
+ *
+ * Recovery Procedure
+ * ++++++++++++++++++
+ *
+ * Once ``WEDGED=vendor-specific`` drm device wedged uevent is received, follow
+ * the below steps
+ *
+ * - Check Runtime Survivability mode sysfs.
+ *   If enabled, firmware flash is required to recover the device.
+ *
+ *   /sys/bus/pci/devices/<device>/survivability_mode
+ *
+ * - Admin/userpsace consumer can use firmware flashing tools like fwupd to flash
+ *   firmware and restore device to normal operation.
  */
 
 /**
diff --git a/drivers/gpu/drm/xe/xe_survivability_mode.c b/drivers/gpu/drm/xe/xe_survivability_mode.c
index 267d0e3fd85a..86ba767c4e44 100644
--- a/drivers/gpu/drm/xe/xe_survivability_mode.c
+++ b/drivers/gpu/drm/xe/xe_survivability_mode.c
@@ -22,15 +22,18 @@
 #define MAX_SCRATCH_MMIO 8
 
 /**
- * DOC: Xe Boot Survivability
+ * DOC: Survivability Mode
  *
- * Boot Survivability is a software based workflow for recovering a system in a failed boot state
+ * Survivability Mode is a software based workflow for recovering a system in a failed boot state
  * Here system recoverability is concerned with recovering the firmware responsible for boot.
  *
- * This is implemented by loading the driver with bare minimum (no drm card) to allow the firmware
- * to be flashed through mei and collect telemetry. The driver's probe flow is modified
- * such that it enters survivability mode when pcode initialization is incomplete and boot status
- * denotes a failure.
+ * Boot Survivability
+ * ===================
+ *
+ * Boot Survivability is implemented by loading the driver with bare minimum (no drm card) to allow
+ * the firmware to be flashed through mei driver and collect telemetry. The driver's probe flow is
+ * modified such that it enters survivability mode when pcode initialization is incomplete and boot
+ * status denotes a failure.
  *
  * Survivability mode can also be entered manually using the survivability mode attribute available
  * through configfs which is beneficial in several usecases. It can be used to address scenarios
@@ -46,7 +49,7 @@
  * Survivability mode is indicated by the below admin-only readable sysfs which provides additional
  * debug information::
  *
- *	/sys/bus/pci/devices/<device>/surivability_mode
+ *	/sys/bus/pci/devices/<device>/survivability_mode
  *
  * Capability Information:
  *	Provides boot status
@@ -56,6 +59,22 @@
  *	Provides history of previous failures
  * Auxiliary Information
  *	Certain failures may have information in addition to postcode information
+ *
+ * Runtime Survivability
+ * =====================
+ *
+ * Certain runtime firmware errors can cause the device to enter a wedged state
+ * (:ref:`xe-device-wedging`) requiring a firmware flash to restore normal operation.
+ * Runtime Survivability Mode indicates that a firmware flash is necessary to recover the device and
+ * is indicated by the presence of survivability mode sysfs::
+ *
+ *	/sys/bus/pci/devices/<device>/survivability_mode
+ *
+ * Survivability mode sysfs provides information about the type of survivability mode.
+ *
+ * When such errors occur, userspace is notified with the drm device wedged uevent and runtime
+ * survivability mode. User can then initiate a firmware flash using userspace tools like fwupd
+ * to restore device to normal operation.
  */
 
 static u32 aux_history_offset(u32 reg_value)
@@ -327,7 +346,7 @@ int xe_survivability_mode_runtime_enable(struct xe_device *xe)
 
 	xe_device_set_wedged_method(xe, DRM_WEDGE_RECOVERY_VENDOR);
 	xe_device_declare_wedged(xe);
-	dev_err(&pdev->dev, "Firmware update required, Refer the userspace documentation for more details!\n");
+	dev_err(&pdev->dev, "Firmware flash required, Refer the userspace documentation for more details!\n");
 
 	return 0;
 }
-- 
2.47.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v9 08/10] drm/xe: Add support to handle hardware errors
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
                   ` (9 preceding siblings ...)
  2025-08-26  6:34 ` [PATCH v9 07/10] drm/xe/doc: Document device wedged and runtime survivability Riana Tauro
@ 2025-08-26  6:34 ` Riana Tauro
  2025-08-26  6:34 ` [PATCH v9 09/10] drm/xe/xe_hw_error: Handle CSC Firmware reported Hardware errors Riana Tauro
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Riana Tauro @ 2025-08-26  6:34 UTC (permalink / raw)
  To: intel-xe, dri-devel
  Cc: riana.tauro, anshuman.gupta, rodrigo.vivi, lucas.demarchi,
	aravind.iddamsetty, raag.jadav, umesh.nerlige.ramappa,
	frank.scarbrough, sk.anirban, simona.vetter, maarten.lankhorst,
	mripard, tzimmermann, Stuart Summers, Himal Prasad Ghimiray

Gfx device reports two classes of errors: uncorrectable and
correctable. Depending on the severity uncorrectable errors are further
classified Non-Fatal and Fatal.

Correctable and Non-Fatal errors: These errors are reported as MSI. Bits in
the Master Interrupt Register indicate the class of the error.
The source of the error is then read from the Device Error Source
Register.

Fatal errors: These are reported as PCIe errors
When a PCIe error is asserted, the OS will perform a SBR (Secondary
Bus reset) which causes the driver to reload. The error registers are
sticky and the values are maintained through SBR.

Add basic support to handle these errors.

Bspec: 50875, 53073, 53074, 53075, 53076

v2: Format commit message (Umesh)
v3: fix documentation (Stuart)

Cc: Stuart Summers <stuart.summers@intel.com>
Co-developed-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
---
 drivers/gpu/drm/xe/Makefile                |   1 +
 drivers/gpu/drm/xe/regs/xe_hw_error_regs.h |  15 +++
 drivers/gpu/drm/xe/regs/xe_irq_regs.h      |   1 +
 drivers/gpu/drm/xe/xe_hw_error.c           | 109 +++++++++++++++++++++
 drivers/gpu/drm/xe/xe_hw_error.h           |  15 +++
 drivers/gpu/drm/xe/xe_irq.c                |   4 +
 6 files changed, 145 insertions(+)
 create mode 100644 drivers/gpu/drm/xe/regs/xe_hw_error_regs.h
 create mode 100644 drivers/gpu/drm/xe/xe_hw_error.c
 create mode 100644 drivers/gpu/drm/xe/xe_hw_error.h

diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 85b8d3a59ef0..1d1f1bd1968d 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -82,6 +82,7 @@ xe-y += xe_bb.o \
 	xe_hw_engine.o \
 	xe_hw_engine_class_sysfs.o \
 	xe_hw_engine_group.o \
+	xe_hw_error.o \
 	xe_hw_fence.o \
 	xe_irq.o \
 	xe_lrc.o \
diff --git a/drivers/gpu/drm/xe/regs/xe_hw_error_regs.h b/drivers/gpu/drm/xe/regs/xe_hw_error_regs.h
new file mode 100644
index 000000000000..ed9b81fb28a0
--- /dev/null
+++ b/drivers/gpu/drm/xe/regs/xe_hw_error_regs.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#ifndef _XE_HW_ERROR_REGS_H_
+#define _XE_HW_ERROR_REGS_H_
+
+#define DEV_ERR_STAT_NONFATAL			0x100178
+#define DEV_ERR_STAT_CORRECTABLE		0x10017c
+#define DEV_ERR_STAT_REG(x)			XE_REG(_PICK_EVEN((x), \
+								  DEV_ERR_STAT_CORRECTABLE, \
+								  DEV_ERR_STAT_NONFATAL))
+
+#endif
diff --git a/drivers/gpu/drm/xe/regs/xe_irq_regs.h b/drivers/gpu/drm/xe/regs/xe_irq_regs.h
index 13635e4331d4..7c2a3a140142 100644
--- a/drivers/gpu/drm/xe/regs/xe_irq_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_irq_regs.h
@@ -18,6 +18,7 @@
 #define GFX_MSTR_IRQ				XE_REG(0x190010, XE_REG_OPTION_VF)
 #define   MASTER_IRQ				REG_BIT(31)
 #define   GU_MISC_IRQ				REG_BIT(29)
+#define   ERROR_IRQ(x)				REG_BIT(26 + (x))
 #define   DISPLAY_IRQ				REG_BIT(16)
 #define   I2C_IRQ				REG_BIT(12)
 #define   GT_DW_IRQ(x)				REG_BIT(x)
diff --git a/drivers/gpu/drm/xe/xe_hw_error.c b/drivers/gpu/drm/xe/xe_hw_error.c
new file mode 100644
index 000000000000..0fa45792f1c0
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_hw_error.c
@@ -0,0 +1,109 @@
+// SPDX-License-Identifier: MIT
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+
+#include "regs/xe_hw_error_regs.h"
+#include "regs/xe_irq_regs.h"
+
+#include "xe_device.h"
+#include "xe_hw_error.h"
+#include "xe_mmio.h"
+
+/* Error categories reported by hardware */
+enum hardware_error {
+	HARDWARE_ERROR_CORRECTABLE = 0,
+	HARDWARE_ERROR_NONFATAL = 1,
+	HARDWARE_ERROR_FATAL = 2,
+	HARDWARE_ERROR_MAX,
+};
+
+static const char *hw_error_to_str(const enum hardware_error hw_err)
+{
+	switch (hw_err) {
+	case HARDWARE_ERROR_CORRECTABLE:
+		return "CORRECTABLE";
+	case HARDWARE_ERROR_NONFATAL:
+		return "NONFATAL";
+	case HARDWARE_ERROR_FATAL:
+		return "FATAL";
+	default:
+		return "UNKNOWN";
+	}
+}
+
+static void hw_error_source_handler(struct xe_tile *tile, const enum hardware_error hw_err)
+{
+	const char *hw_err_str = hw_error_to_str(hw_err);
+	struct xe_device *xe = tile_to_xe(tile);
+	unsigned long flags;
+	u32 err_src;
+
+	if (xe->info.platform != XE_BATTLEMAGE)
+		return;
+
+	spin_lock_irqsave(&xe->irq.lock, flags);
+	err_src = xe_mmio_read32(&tile->mmio, DEV_ERR_STAT_REG(hw_err));
+	if (!err_src) {
+		drm_err_ratelimited(&xe->drm, HW_ERR "Tile%d reported DEV_ERR_STAT_%s blank!\n",
+				    tile->id, hw_err_str);
+		goto unlock;
+	}
+
+	/* TODO: Process errrors per source */
+
+	xe_mmio_write32(&tile->mmio, DEV_ERR_STAT_REG(hw_err), err_src);
+
+unlock:
+	spin_unlock_irqrestore(&xe->irq.lock, flags);
+}
+
+/**
+ * xe_hw_error_irq_handler - irq handling for hw errors
+ * @tile: tile instance
+ * @master_ctl: value read from master interrupt register
+ *
+ * Xe platforms add three error bits to the master interrupt register to support error handling.
+ * These three bits are used to convey the class of error FATAL, NONFATAL, or CORRECTABLE.
+ * To process the interrupt, determine the source of error by reading the Device Error Source
+ * Register that corresponds to the class of error being serviced.
+ */
+void xe_hw_error_irq_handler(struct xe_tile *tile, const u32 master_ctl)
+{
+	enum hardware_error hw_err;
+
+	for (hw_err = 0; hw_err < HARDWARE_ERROR_MAX; hw_err++)
+		if (master_ctl & ERROR_IRQ(hw_err))
+			hw_error_source_handler(tile, hw_err);
+}
+
+/*
+ * Process hardware errors during boot
+ */
+static void process_hw_errors(struct xe_device *xe)
+{
+	struct xe_tile *tile;
+	u32 master_ctl;
+	u8 id;
+
+	for_each_tile(tile, xe, id) {
+		master_ctl = xe_mmio_read32(&tile->mmio, GFX_MSTR_IRQ);
+		xe_hw_error_irq_handler(tile, master_ctl);
+		xe_mmio_write32(&tile->mmio, GFX_MSTR_IRQ, master_ctl);
+	}
+}
+
+/**
+ * xe_hw_error_init - Initialize hw errors
+ * @xe: xe device instance
+ *
+ * Initialize and check for errors that occurred during boot
+ * prior to driver load
+ */
+void xe_hw_error_init(struct xe_device *xe)
+{
+	if (!IS_DGFX(xe) || IS_SRIOV_VF(xe))
+		return;
+
+	process_hw_errors(xe);
+}
diff --git a/drivers/gpu/drm/xe/xe_hw_error.h b/drivers/gpu/drm/xe/xe_hw_error.h
new file mode 100644
index 000000000000..d86e28c5180c
--- /dev/null
+++ b/drivers/gpu/drm/xe/xe_hw_error.h
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 Intel Corporation
+ */
+#ifndef XE_HW_ERROR_H_
+#define XE_HW_ERROR_H_
+
+#include <linux/types.h>
+
+struct xe_tile;
+struct xe_device;
+
+void xe_hw_error_irq_handler(struct xe_tile *tile, const u32 master_ctl);
+void xe_hw_error_init(struct xe_device *xe);
+#endif
diff --git a/drivers/gpu/drm/xe/xe_irq.c b/drivers/gpu/drm/xe/xe_irq.c
index 5df5b8c2a3e4..870edaf69388 100644
--- a/drivers/gpu/drm/xe/xe_irq.c
+++ b/drivers/gpu/drm/xe/xe_irq.c
@@ -18,6 +18,7 @@
 #include "xe_gt.h"
 #include "xe_guc.h"
 #include "xe_hw_engine.h"
+#include "xe_hw_error.h"
 #include "xe_i2c.h"
 #include "xe_memirq.h"
 #include "xe_mmio.h"
@@ -468,6 +469,7 @@ static irqreturn_t dg1_irq_handler(int irq, void *arg)
 		xe_mmio_write32(mmio, GFX_MSTR_IRQ, master_ctl);
 
 		gt_irq_handler(tile, master_ctl, intr_dw, identity);
+		xe_hw_error_irq_handler(tile, master_ctl);
 
 		/*
 		 * Display interrupts (including display backlight operations
@@ -756,6 +758,8 @@ int xe_irq_install(struct xe_device *xe)
 	int nvec = 1;
 	int err;
 
+	xe_hw_error_init(xe);
+
 	xe_irq_reset(xe);
 
 	if (xe_device_has_msix(xe)) {
-- 
2.47.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v9 09/10] drm/xe/xe_hw_error: Handle CSC Firmware reported Hardware errors
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
                   ` (10 preceding siblings ...)
  2025-08-26  6:34 ` [PATCH v9 08/10] drm/xe: Add support to handle hardware errors Riana Tauro
@ 2025-08-26  6:34 ` Riana Tauro
  2025-08-26  6:34 ` [PATCH v9 10/10] drm/xe/xe_hw_error: Add fault injection to trigger csc error handler Riana Tauro
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 17+ messages in thread
From: Riana Tauro @ 2025-08-26  6:34 UTC (permalink / raw)
  To: intel-xe, dri-devel
  Cc: riana.tauro, anshuman.gupta, rodrigo.vivi, lucas.demarchi,
	aravind.iddamsetty, raag.jadav, umesh.nerlige.ramappa,
	frank.scarbrough, sk.anirban, simona.vetter, maarten.lankhorst,
	mripard, tzimmermann

Add support to handle CSC firmware reported errors. When CSC firmware
errors are encoutered, a error interrupt is received by the GFX device as
a MSI interrupt.

Device Source control registers indicates the source of the error as CSC
The HEC error status register indicates that the error is firmware reported
Depending on the type of error, the error cause is written to the HEC
Firmware error register.

On encountering such CSC firmware errors, the graphics device is
non-recoverable from driver context. The only way to recover from these
errors is firmware flash.

System admin/userspace is notified of the necessity of firmware flash
with a combination of vendor-specific drm device edged uevent, dmesg logs
and runtime survivability sysfs. It is the responsiblity of the consumer
to verify all the actions and then trigger a firmware flash using tools
like fwupd.

$ udevadm monitor --property --kernel
monitor will print the received events for:
KERNEL - the kernel uevent

KERNEL[754.709341] change   /devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:01.0/0000:03:00.0/drm/card0 (drm)
ACTION=change
DEVPATH=/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:01.0/0000:03:00.0/drm/card0
SUBSYSTEM=drm
WEDGED=vendor-specific
DEVNAME=/dev/dri/card0
DEVTYPE=drm_minor
SEQNUM=5973
MAJOR=226
MINOR=0

Logs

xe 0000:03:00.0: [drm] *ERROR* [Hardware Error]: Tile0 reported NONFATAL error 0x20000
xe 0000:03:00.0: [drm] *ERROR* [Hardware Error]: NONFATAL: HEC Uncorrected FW FD Corruption error reported, bit[2] is set
xe 0000:03:00.0: Runtime Survivability mode enabled
xe 0000:03:00.0: [drm] *ERROR* CRITICAL: Xe has declared device 0000:03:00.0 as wedged.
               IOCTLs and executions are blocked. Only a rebind may clear the failure
               Please file a _new_ bug report at https://gitlab.freedesktop.org/drm/xe/kernel/issues/new
xe 0000:03:00.0: [drm] device wedged, needs recovery
xe 0000:03:00.0: Firmware flash required, Please refer to the userspace documentation for more details!

Runtime survivability Sysfs:

/sys/bus/pci/devices/<device>/survivability_mode

v2: use vendor recovery method with
    runtime survivability (Christian, Rodrigo, Raag)
v3: move declare wedged to runtime survivability mode (Rodrigo)
v4: update commit message

Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
---
 drivers/gpu/drm/xe/regs/xe_gsc_regs.h      |  2 +
 drivers/gpu/drm/xe/regs/xe_hw_error_regs.h |  7 ++-
 drivers/gpu/drm/xe/xe_device_types.h       |  3 +
 drivers/gpu/drm/xe/xe_hw_error.c           | 64 +++++++++++++++++++++-
 drivers/gpu/drm/xe/xe_survivability_mode.c |  2 +-
 5 files changed, 75 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/xe/regs/xe_gsc_regs.h b/drivers/gpu/drm/xe/regs/xe_gsc_regs.h
index 9b66cc972a63..180be82672ab 100644
--- a/drivers/gpu/drm/xe/regs/xe_gsc_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_gsc_regs.h
@@ -13,6 +13,8 @@
 
 /* Definitions of GSC H/W registers, bits, etc */
 
+#define BMG_GSC_HECI1_BASE	0x373000
+
 #define MTL_GSC_HECI1_BASE	0x00116000
 #define MTL_GSC_HECI2_BASE	0x00117000
 
diff --git a/drivers/gpu/drm/xe/regs/xe_hw_error_regs.h b/drivers/gpu/drm/xe/regs/xe_hw_error_regs.h
index ed9b81fb28a0..c146b9ef44eb 100644
--- a/drivers/gpu/drm/xe/regs/xe_hw_error_regs.h
+++ b/drivers/gpu/drm/xe/regs/xe_hw_error_regs.h
@@ -6,10 +6,15 @@
 #ifndef _XE_HW_ERROR_REGS_H_
 #define _XE_HW_ERROR_REGS_H_
 
+#define HEC_UNCORR_ERR_STATUS(base)                    XE_REG((base) + 0x118)
+#define    UNCORR_FW_REPORTED_ERR                      BIT(6)
+
+#define HEC_UNCORR_FW_ERR_DW0(base)                    XE_REG((base) + 0x124)
+
 #define DEV_ERR_STAT_NONFATAL			0x100178
 #define DEV_ERR_STAT_CORRECTABLE		0x10017c
 #define DEV_ERR_STAT_REG(x)			XE_REG(_PICK_EVEN((x), \
 								  DEV_ERR_STAT_CORRECTABLE, \
 								  DEV_ERR_STAT_NONFATAL))
-
+#define   XE_CSC_ERROR				BIT(17)
 #endif
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index b1c75c588e03..71fc29b3372a 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -192,6 +192,9 @@ struct xe_tile {
 	/** @memirq: Memory Based Interrupts. */
 	struct xe_memirq memirq;
 
+	/** @csc_hw_error_work: worker to report CSC HW errors */
+	struct work_struct csc_hw_error_work;
+
 	/** @pcode: tile's PCODE */
 	struct {
 		/** @pcode.lock: protecting tile's PCODE mailbox data */
diff --git a/drivers/gpu/drm/xe/xe_hw_error.c b/drivers/gpu/drm/xe/xe_hw_error.c
index 0fa45792f1c0..4099ed1262e1 100644
--- a/drivers/gpu/drm/xe/xe_hw_error.c
+++ b/drivers/gpu/drm/xe/xe_hw_error.c
@@ -3,12 +3,16 @@
  * Copyright © 2025 Intel Corporation
  */
 
+#include "regs/xe_gsc_regs.h"
 #include "regs/xe_hw_error_regs.h"
 #include "regs/xe_irq_regs.h"
 
 #include "xe_device.h"
 #include "xe_hw_error.h"
 #include "xe_mmio.h"
+#include "xe_survivability_mode.h"
+
+#define  HEC_UNCORR_FW_ERR_BITS 4
 
 /* Error categories reported by hardware */
 enum hardware_error {
@@ -18,6 +22,13 @@ enum hardware_error {
 	HARDWARE_ERROR_MAX,
 };
 
+static const char * const hec_uncorrected_fw_errors[] = {
+	"Fatal",
+	"CSE Disabled",
+	"FD Corruption",
+	"Data Corruption"
+};
+
 static const char *hw_error_to_str(const enum hardware_error hw_err)
 {
 	switch (hw_err) {
@@ -32,6 +43,52 @@ static const char *hw_error_to_str(const enum hardware_error hw_err)
 	}
 }
 
+static void csc_hw_error_work(struct work_struct *work)
+{
+	struct xe_tile *tile = container_of(work, typeof(*tile), csc_hw_error_work);
+	struct xe_device *xe = tile_to_xe(tile);
+	int ret;
+
+	ret = xe_survivability_mode_runtime_enable(xe);
+	if (ret)
+		drm_err(&xe->drm, "Failed to enable runtime survivability mode\n");
+}
+
+static void csc_hw_error_handler(struct xe_tile *tile, const enum hardware_error hw_err)
+{
+	const char *hw_err_str = hw_error_to_str(hw_err);
+	struct xe_device *xe = tile_to_xe(tile);
+	struct xe_mmio *mmio = &tile->mmio;
+	u32 base, err_bit, err_src;
+	unsigned long fw_err;
+
+	if (xe->info.platform != XE_BATTLEMAGE)
+		return;
+
+	base = BMG_GSC_HECI1_BASE;
+	lockdep_assert_held(&xe->irq.lock);
+	err_src = xe_mmio_read32(mmio, HEC_UNCORR_ERR_STATUS(base));
+	if (!err_src) {
+		drm_err_ratelimited(&xe->drm, HW_ERR "Tile%d reported HEC_ERR_STATUS_%s blank\n",
+				    tile->id, hw_err_str);
+		return;
+	}
+
+	if (err_src & UNCORR_FW_REPORTED_ERR) {
+		fw_err = xe_mmio_read32(mmio, HEC_UNCORR_FW_ERR_DW0(base));
+		for_each_set_bit(err_bit, &fw_err, HEC_UNCORR_FW_ERR_BITS) {
+			drm_err_ratelimited(&xe->drm, HW_ERR
+					    "%s: HEC Uncorrected FW %s error reported, bit[%d] is set\n",
+					     hw_err_str, hec_uncorrected_fw_errors[err_bit],
+					     err_bit);
+
+			schedule_work(&tile->csc_hw_error_work);
+		}
+	}
+
+	xe_mmio_write32(mmio, HEC_UNCORR_ERR_STATUS(base), err_src);
+}
+
 static void hw_error_source_handler(struct xe_tile *tile, const enum hardware_error hw_err)
 {
 	const char *hw_err_str = hw_error_to_str(hw_err);
@@ -50,7 +107,8 @@ static void hw_error_source_handler(struct xe_tile *tile, const enum hardware_er
 		goto unlock;
 	}
 
-	/* TODO: Process errrors per source */
+	if (err_src & XE_CSC_ERROR)
+		csc_hw_error_handler(tile, hw_err);
 
 	xe_mmio_write32(&tile->mmio, DEV_ERR_STAT_REG(hw_err), err_src);
 
@@ -102,8 +160,12 @@ static void process_hw_errors(struct xe_device *xe)
  */
 void xe_hw_error_init(struct xe_device *xe)
 {
+	struct xe_tile *tile = xe_device_get_root_tile(xe);
+
 	if (!IS_DGFX(xe) || IS_SRIOV_VF(xe))
 		return;
 
+	INIT_WORK(&tile->csc_hw_error_work, csc_hw_error_work);
+
 	process_hw_errors(xe);
 }
diff --git a/drivers/gpu/drm/xe/xe_survivability_mode.c b/drivers/gpu/drm/xe/xe_survivability_mode.c
index 86ba767c4e44..53c5af4b810c 100644
--- a/drivers/gpu/drm/xe/xe_survivability_mode.c
+++ b/drivers/gpu/drm/xe/xe_survivability_mode.c
@@ -346,7 +346,7 @@ int xe_survivability_mode_runtime_enable(struct xe_device *xe)
 
 	xe_device_set_wedged_method(xe, DRM_WEDGE_RECOVERY_VENDOR);
 	xe_device_declare_wedged(xe);
-	dev_err(&pdev->dev, "Firmware flash required, Refer the userspace documentation for more details!\n");
+	dev_err(&pdev->dev, "Firmware flash required, Please refer to the userspace documentation for more details!\n");
 
 	return 0;
 }
-- 
2.47.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH v9 10/10] drm/xe/xe_hw_error: Add fault injection to trigger csc error handler
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
                   ` (11 preceding siblings ...)
  2025-08-26  6:34 ` [PATCH v9 09/10] drm/xe/xe_hw_error: Handle CSC Firmware reported Hardware errors Riana Tauro
@ 2025-08-26  6:34 ` Riana Tauro
  2025-08-26  7:25 ` ✓ Xe.CI.BAT: success for Handle Firmware reported Hardware Errors (rev9) Patchwork
  2025-08-26 12:06 ` ✓ Xe.CI.Full: " Patchwork
  14 siblings, 0 replies; 17+ messages in thread
From: Riana Tauro @ 2025-08-26  6:34 UTC (permalink / raw)
  To: intel-xe, dri-devel
  Cc: riana.tauro, anshuman.gupta, rodrigo.vivi, lucas.demarchi,
	aravind.iddamsetty, raag.jadav, umesh.nerlige.ramappa,
	frank.scarbrough, sk.anirban, simona.vetter, maarten.lankhorst,
	mripard, tzimmermann

Add a debugfs fault handler to trigger csc error handler that
wedges the device and enables runtime survivability mode.

v2: add debugfs only for bmg (Umesh)
v3: do not use csc_fault attribute if debugfs is not enabled
v4: rebase

Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Raag Jadav <raag.jadav@intel.com>
---
 drivers/gpu/drm/xe/xe_debugfs.c  |  6 +++++-
 drivers/gpu/drm/xe/xe_hw_error.c | 11 +++++++++++
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/xe/xe_debugfs.c b/drivers/gpu/drm/xe/xe_debugfs.c
index bc717519502d..8d6df6bd885e 100644
--- a/drivers/gpu/drm/xe/xe_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_debugfs.c
@@ -35,6 +35,7 @@
 #endif
 
 DECLARE_FAULT_ATTR(gt_reset_failure);
+DECLARE_FAULT_ATTR(inject_csc_hw_error);
 
 static void read_residency_counter(struct xe_device *xe, struct xe_mmio *mmio,
 				   u32 offset, char *name, struct drm_printer *p)
@@ -361,10 +362,13 @@ void xe_debugfs_register(struct xe_device *xe)
 				 ARRAY_SIZE(debugfs_list),
 				 root, minor);
 
-	if (xe->info.platform == XE_BATTLEMAGE)
+	if (xe->info.platform == XE_BATTLEMAGE) {
 		drm_debugfs_create_files(debugfs_residencies,
 					 ARRAY_SIZE(debugfs_residencies),
 					 root, minor);
+		fault_create_debugfs_attr("inject_csc_hw_error", root,
+					  &inject_csc_hw_error);
+	}
 
 	debugfs_create_file("forcewake_all", 0400, root, xe,
 			    &forcewake_all_fops);
diff --git a/drivers/gpu/drm/xe/xe_hw_error.c b/drivers/gpu/drm/xe/xe_hw_error.c
index 4099ed1262e1..8c65291f36fc 100644
--- a/drivers/gpu/drm/xe/xe_hw_error.c
+++ b/drivers/gpu/drm/xe/xe_hw_error.c
@@ -3,6 +3,8 @@
  * Copyright © 2025 Intel Corporation
  */
 
+#include <linux/fault-inject.h>
+
 #include "regs/xe_gsc_regs.h"
 #include "regs/xe_hw_error_regs.h"
 #include "regs/xe_irq_regs.h"
@@ -13,6 +15,7 @@
 #include "xe_survivability_mode.h"
 
 #define  HEC_UNCORR_FW_ERR_BITS 4
+extern struct fault_attr inject_csc_hw_error;
 
 /* Error categories reported by hardware */
 enum hardware_error {
@@ -43,6 +46,11 @@ static const char *hw_error_to_str(const enum hardware_error hw_err)
 	}
 }
 
+static bool fault_inject_csc_hw_error(void)
+{
+	return IS_ENABLED(CONFIG_DEBUG_FS) && should_fail(&inject_csc_hw_error, 1);
+}
+
 static void csc_hw_error_work(struct work_struct *work)
 {
 	struct xe_tile *tile = container_of(work, typeof(*tile), csc_hw_error_work);
@@ -130,6 +138,9 @@ void xe_hw_error_irq_handler(struct xe_tile *tile, const u32 master_ctl)
 {
 	enum hardware_error hw_err;
 
+	if (fault_inject_csc_hw_error())
+		schedule_work(&tile->csc_hw_error_work);
+
 	for (hw_err = 0; hw_err < HARDWARE_ERROR_MAX; hw_err++)
 		if (master_ctl & ERROR_IRQ(hw_err))
 			hw_error_source_handler(tile, hw_err);
-- 
2.47.1


^ permalink raw reply related	[flat|nested] 17+ messages in thread

* ✓ Xe.CI.BAT: success for Handle Firmware reported Hardware Errors (rev9)
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
                   ` (12 preceding siblings ...)
  2025-08-26  6:34 ` [PATCH v9 10/10] drm/xe/xe_hw_error: Add fault injection to trigger csc error handler Riana Tauro
@ 2025-08-26  7:25 ` Patchwork
  2025-08-26 12:06 ` ✓ Xe.CI.Full: " Patchwork
  14 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2025-08-26  7:25 UTC (permalink / raw)
  To: Riana Tauro; +Cc: intel-xe

[-- Attachment #1: Type: text/plain, Size: 1736 bytes --]

== Series Details ==

Series: Handle Firmware reported Hardware Errors (rev9)
URL   : https://patchwork.freedesktop.org/series/149756/
State : success

== Summary ==

CI Bug Log - changes from xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577_BAT -> xe-pw-149756v9_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (11 -> 11)
------------------------------

  No changes in participating hosts

Known issues
------------

  Here are the changes found in xe-pw-149756v9_BAT that come from known issues:

### IGT changes ###

#### Possible fixes ####

  * igt@xe_vm@bind-execqueues-independent:
    - {bat-ptl-2}:        [FAIL][1] ([Intel XE#5783]) -> [PASS][2]
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/bat-ptl-2/igt@xe_vm@bind-execqueues-independent.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/bat-ptl-2/igt@xe_vm@bind-execqueues-independent.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [Intel XE#5783]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5783


Build changes
-------------

  * IGT: IGT_8507 -> IGT_8508
  * Linux: xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577 -> xe-pw-149756v9

  IGT_8507: 8507
  IGT_8508: 939fac7f7b11a8902ebcf9a4bc9c26c14e87e8a6 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577: 74c8b78443fb1a201ee11160087f9e71ce959577
  xe-pw-149756v9: 149756v9

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/index.html

[-- Attachment #2: Type: text/html, Size: 2325 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* ✓ Xe.CI.Full: success for Handle Firmware reported Hardware Errors (rev9)
  2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
                   ` (13 preceding siblings ...)
  2025-08-26  7:25 ` ✓ Xe.CI.BAT: success for Handle Firmware reported Hardware Errors (rev9) Patchwork
@ 2025-08-26 12:06 ` Patchwork
  14 siblings, 0 replies; 17+ messages in thread
From: Patchwork @ 2025-08-26 12:06 UTC (permalink / raw)
  To: Riana Tauro; +Cc: intel-xe

[-- Attachment #1: Type: text/plain, Size: 119102 bytes --]

== Series Details ==

Series: Handle Firmware reported Hardware Errors (rev9)
URL   : https://patchwork.freedesktop.org/series/149756/
State : success

== Summary ==

CI Bug Log - changes from xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577_FULL -> xe-pw-149756v9_FULL
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (4 -> 4)
------------------------------

  No changes in participating hosts

Known issues
------------

  Here are the changes found in xe-pw-149756v9_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@core_setmaster@master-drop-set-root:
    - shard-dg2-set2:     [PASS][1] -> [FAIL][2] ([Intel XE#4208])
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-433/igt@core_setmaster@master-drop-set-root.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@core_setmaster@master-drop-set-root.html

  * igt@fbdev@unaligned-read:
    - shard-dg2-set2:     [PASS][3] -> [SKIP][4] ([Intel XE#2134])
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-433/igt@fbdev@unaligned-read.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@fbdev@unaligned-read.html

  * igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1:
    - shard-lnl:          [PASS][5] -> [FAIL][6] ([Intel XE#911]) +3 other tests fail
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-lnl-7/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-7/igt@kms_async_flips@async-flip-with-page-flip-events-linear-atomic@pipe-c-edp-1.html

  * igt@kms_big_fb@4-tiled-32bpp-rotate-270:
    - shard-bmg:          NOTRUN -> [SKIP][7] ([Intel XE#2327])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-2/igt@kms_big_fb@4-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-180:
    - shard-dg2-set2:     NOTRUN -> [SKIP][8] ([Intel XE#1124]) +3 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-464/igt@kms_big_fb@y-tiled-64bpp-rotate-180.html
    - shard-lnl:          NOTRUN -> [SKIP][9] ([Intel XE#1124]) +3 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-5/igt@kms_big_fb@y-tiled-64bpp-rotate-180.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - shard-adlp:         [PASS][10] -> [DMESG-FAIL][11] ([Intel XE#4543]) +15 other tests dmesg-fail
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-9/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-1/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-adlp:         NOTRUN -> [DMESG-FAIL][12] ([Intel XE#4543]) +1 other test dmesg-fail
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-1/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_fb@yf-tiled-32bpp-rotate-270:
    - shard-adlp:         NOTRUN -> [SKIP][13] ([Intel XE#1124]) +2 other tests skip
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-4/igt@kms_big_fb@yf-tiled-32bpp-rotate-270.html

  * igt@kms_big_fb@yf-tiled-addfb:
    - shard-adlp:         NOTRUN -> [SKIP][14] ([Intel XE#619])
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-9/igt@kms_big_fb@yf-tiled-addfb.html
    - shard-bmg:          NOTRUN -> [SKIP][15] ([Intel XE#2328])
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-2/igt@kms_big_fb@yf-tiled-addfb.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip:
    - shard-bmg:          NOTRUN -> [SKIP][16] ([Intel XE#1124]) +6 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html

  * igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p:
    - shard-bmg:          NOTRUN -> [SKIP][17] ([Intel XE#2314] / [Intel XE#2894])
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_bw@connected-linear-tiling-3-displays-1920x1080p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p:
    - shard-dg2-set2:     NOTRUN -> [SKIP][18] ([Intel XE#2191])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p.html

  * igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs@pipe-a-dp-2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][19] ([Intel XE#787]) +160 other tests skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs@pipe-a-dp-2.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs:
    - shard-bmg:          NOTRUN -> [SKIP][20] ([Intel XE#2887]) +6 other tests skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-3/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc:
    - shard-lnl:          NOTRUN -> [SKIP][21] ([Intel XE#2887]) +2 other tests skip
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-4/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][22] ([Intel XE#3862])
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-466/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-d-dp-4.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][23] ([Intel XE#3432]) +1 other test skip
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-3/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][24] ([Intel XE#3432])
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-2/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][25] ([Intel XE#787]) +14 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-9/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-1.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
    - shard-adlp:         NOTRUN -> [SKIP][26] ([Intel XE#2907])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs@pipe-d-hdmi-a-3:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#2652] / [Intel XE#787]) +8 other tests skip
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-2/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs@pipe-d-hdmi-a-3.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-d-dp-2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][28] ([Intel XE#455] / [Intel XE#787]) +28 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-d-dp-2.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-d-dp-4:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][29] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522])
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-d-dp-4.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-d-hdmi-a-1:
    - shard-adlp:         NOTRUN -> [SKIP][30] ([Intel XE#455] / [Intel XE#787]) +9 other tests skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-3/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_cdclk@plane-scaling@pipe-b-dp-2:
    - shard-dg2-set2:     NOTRUN -> [SKIP][31] ([Intel XE#4416]) +3 other tests skip
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@kms_cdclk@plane-scaling@pipe-b-dp-2.html

  * igt@kms_chamelium_color@ctm-0-50:
    - shard-bmg:          NOTRUN -> [SKIP][32] ([Intel XE#2325]) +1 other test skip
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-7/igt@kms_chamelium_color@ctm-0-50.html

  * igt@kms_chamelium_hpd@hdmi-hpd-fast:
    - shard-adlp:         NOTRUN -> [SKIP][33] ([Intel XE#373])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-9/igt@kms_chamelium_hpd@hdmi-hpd-fast.html
    - shard-bmg:          NOTRUN -> [SKIP][34] ([Intel XE#2252]) +4 other tests skip
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-5/igt@kms_chamelium_hpd@hdmi-hpd-fast.html
    - shard-lnl:          NOTRUN -> [SKIP][35] ([Intel XE#373])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-2/igt@kms_chamelium_hpd@hdmi-hpd-fast.html

  * igt@kms_chamelium_hpd@vga-hpd:
    - shard-dg2-set2:     NOTRUN -> [SKIP][36] ([Intel XE#373]) +2 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@kms_chamelium_hpd@vga-hpd.html

  * igt@kms_content_protection@atomic-dpms@pipe-a-dp-4:
    - shard-dg2-set2:     NOTRUN -> [FAIL][37] ([Intel XE#1178])
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@kms_content_protection@atomic-dpms@pipe-a-dp-4.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-bmg:          NOTRUN -> [SKIP][38] ([Intel XE#2390])
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-7/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@dp-mst-type-1:
    - shard-dg2-set2:     NOTRUN -> [SKIP][39] ([Intel XE#307])
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@kms_content_protection@dp-mst-type-1.html

  * igt@kms_content_protection@lic-type-1:
    - shard-lnl:          NOTRUN -> [SKIP][40] ([Intel XE#3278])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-5/igt@kms_content_protection@lic-type-1.html
    - shard-bmg:          NOTRUN -> [SKIP][41] ([Intel XE#2341])
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-2/igt@kms_content_protection@lic-type-1.html

  * igt@kms_cursor_crc@cursor-onscreen-512x170:
    - shard-dg2-set2:     NOTRUN -> [SKIP][42] ([Intel XE#308]) +1 other test skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@kms_cursor_crc@cursor-onscreen-512x170.html

  * igt@kms_cursor_crc@cursor-onscreen-64x64:
    - shard-dg2-set2:     NOTRUN -> [SKIP][43] ([Intel XE#4208] / [i915#2575]) +13 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_cursor_crc@cursor-onscreen-64x64.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x170:
    - shard-bmg:          NOTRUN -> [SKIP][44] ([Intel XE#2321])
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-4/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html

  * igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
    - shard-bmg:          [PASS][45] -> [SKIP][46] ([Intel XE#2291])
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-4/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
    - shard-adlp:         NOTRUN -> [SKIP][47] ([Intel XE#309]) +1 other test skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-2/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
    - shard-lnl:          NOTRUN -> [SKIP][48] ([Intel XE#309]) +1 other test skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-5/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@torture-bo@pipe-a:
    - shard-bmg:          [PASS][49] -> [DMESG-WARN][50] ([Intel XE#5354]) +2 other tests dmesg-warn
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-8/igt@kms_cursor_legacy@torture-bo@pipe-a.html
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-8/igt@kms_cursor_legacy@torture-bo@pipe-a.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc:
    - shard-adlp:         NOTRUN -> [SKIP][51] ([Intel XE#455]) +7 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-8/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-3:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#1340])
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-3/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-3.html

  * igt@kms_feature_discovery@display-2x:
    - shard-bmg:          [PASS][53] -> [SKIP][54] ([Intel XE#2373])
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-5/igt@kms_feature_discovery@display-2x.html
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_feature_discovery@display-2x.html

  * igt@kms_flip@2x-flip-vs-modeset:
    - shard-lnl:          NOTRUN -> [SKIP][55] ([Intel XE#1421])
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-7/igt@kms_flip@2x-flip-vs-modeset.html
    - shard-adlp:         NOTRUN -> [SKIP][56] ([Intel XE#310])
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-8/igt@kms_flip@2x-flip-vs-modeset.html
    - shard-bmg:          NOTRUN -> [SKIP][57] ([Intel XE#2316])
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_flip@2x-flip-vs-modeset.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
    - shard-bmg:          [PASS][58] -> [SKIP][59] ([Intel XE#2316]) +5 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-4/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html

  * igt@kms_flip@basic-flip-vs-dpms@c-hdmi-a1:
    - shard-adlp:         [PASS][60] -> [DMESG-WARN][61] ([Intel XE#4543]) +13 other tests dmesg-warn
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-1/igt@kms_flip@basic-flip-vs-dpms@c-hdmi-a1.html
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-8/igt@kms_flip@basic-flip-vs-dpms@c-hdmi-a1.html

  * igt@kms_flip@busy-flip:
    - shard-dg2-set2:     [PASS][62] -> [SKIP][63] ([Intel XE#4208] / [i915#2575]) +94 other tests skip
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-436/igt@kms_flip@busy-flip.html
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_flip@busy-flip.html

  * igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible:
    - shard-adlp:         NOTRUN -> [DMESG-WARN][64] ([Intel XE#4543]) +3 other tests dmesg-warn
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-2/igt@kms_flip@flip-vs-absolute-wf_vblank-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank@a-edp1:
    - shard-lnl:          [PASS][65] -> [FAIL][66] ([Intel XE#301])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html

  * igt@kms_flip@flip-vs-expired-vblank@c-edp1:
    - shard-lnl:          [PASS][67] -> [FAIL][68] ([Intel XE#301] / [Intel XE#3149])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html

  * igt@kms_flip@flip-vs-suspend@c-hdmi-a1:
    - shard-adlp:         [PASS][69] -> [DMESG-WARN][70] ([Intel XE#2953] / [Intel XE#4173]) +2 other tests dmesg-warn
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-1/igt@kms_flip@flip-vs-suspend@c-hdmi-a1.html
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-3/igt@kms_flip@flip-vs-suspend@c-hdmi-a1.html

  * igt@kms_flip@flip-vs-suspend@d-dp4:
    - shard-dg2-set2:     NOTRUN -> [INCOMPLETE][71] ([Intel XE#2049] / [Intel XE#2597])
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@kms_flip@flip-vs-suspend@d-dp4.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling@pipe-a-valid-mode:
    - shard-bmg:          NOTRUN -> [SKIP][72] ([Intel XE#2293]) +1 other test skip
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-2/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-valid-mode:
    - shard-adlp:         [PASS][73] -> [DMESG-FAIL][74] ([Intel XE#4543] / [Intel XE#4921]) +1 other test dmesg-fail
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-9/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-valid-mode.html
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-1/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling:
    - shard-bmg:          NOTRUN -> [SKIP][75] ([Intel XE#2293] / [Intel XE#2380]) +1 other test skip
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-3/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html
    - shard-lnl:          NOTRUN -> [SKIP][76] ([Intel XE#1401] / [Intel XE#1745])
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-4/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling@pipe-a-default-mode:
    - shard-lnl:          NOTRUN -> [SKIP][77] ([Intel XE#1401])
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-4/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling@pipe-a-default-mode.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][78] ([Intel XE#2311]) +16 other tests skip
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][79] ([Intel XE#4208]) +64 other tests skip
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc:
    - shard-dg2-set2:     [PASS][80] -> [SKIP][81] ([Intel XE#2351] / [Intel XE#4208]) +11 other tests skip
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc.html
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][82] ([Intel XE#5390]) +6 other tests skip
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][83] ([Intel XE#2312]) +3 other tests skip
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][84] ([Intel XE#2351] / [Intel XE#4208]) +4 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-blt.html
    - shard-lnl:          NOTRUN -> [SKIP][85] ([Intel XE#656]) +6 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-5/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-indfb-pgflip-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][86] ([Intel XE#651]) +8 other tests skip
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-fullscreen:
    - shard-adlp:         NOTRUN -> [SKIP][87] ([Intel XE#651]) +4 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-1/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render:
    - shard-adlp:         NOTRUN -> [SKIP][88] ([Intel XE#656]) +5 other tests skip
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-8/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-slowdraw:
    - shard-lnl:          NOTRUN -> [SKIP][89] ([Intel XE#651])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcdrrs-slowdraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
    - shard-bmg:          NOTRUN -> [SKIP][90] ([Intel XE#2313]) +11 other tests skip
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-adlp:         NOTRUN -> [SKIP][91] ([Intel XE#653]) +3 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-blt:
    - shard-dg2-set2:     NOTRUN -> [SKIP][92] ([Intel XE#653]) +4 other tests skip
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-463/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-blt.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-bmg:          [PASS][93] -> [SKIP][94] ([Intel XE#1503])
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-1/igt@kms_hdr@static-toggle-suspend.html
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_joiner@invalid-modeset-ultra-joiner:
    - shard-adlp:         NOTRUN -> [SKIP][95] ([Intel XE#2927])
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-1/igt@kms_joiner@invalid-modeset-ultra-joiner.html

  * igt@kms_plane_cursor@viewport:
    - shard-dg2-set2:     [PASS][96] -> [FAIL][97] ([Intel XE#616]) +1 other test fail
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-433/igt@kms_plane_cursor@viewport.html
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@kms_plane_cursor@viewport.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5:
    - shard-lnl:          NOTRUN -> [SKIP][98] ([Intel XE#2763]) +3 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-1/igt@kms_plane_scaling@planes-downscale-factor-0-5.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-c:
    - shard-bmg:          NOTRUN -> [SKIP][99] ([Intel XE#2763]) +4 other tests skip
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-4/igt@kms_plane_scaling@planes-downscale-factor-0-5@pipe-c.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-dg2-set2:     NOTRUN -> [SKIP][100] ([Intel XE#1129])
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-463/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf:
    - shard-dg2-set2:     NOTRUN -> [SKIP][101] ([Intel XE#1406] / [Intel XE#1489])
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf:
    - shard-lnl:          NOTRUN -> [SKIP][102] ([Intel XE#1406] / [Intel XE#2893])
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-3/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html
    - shard-adlp:         NOTRUN -> [SKIP][103] ([Intel XE#1406] / [Intel XE#1489])
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-3/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area:
    - shard-bmg:          NOTRUN -> [SKIP][104] ([Intel XE#1406] / [Intel XE#1489]) +1 other test skip
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-4/igt@kms_psr2_sf@fbc-pr-plane-move-sf-dmg-area.html

  * igt@kms_psr@fbc-psr2-cursor-plane-onoff:
    - shard-dg2-set2:     NOTRUN -> [SKIP][105] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +2 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-464/igt@kms_psr@fbc-psr2-cursor-plane-onoff.html
    - shard-lnl:          NOTRUN -> [SKIP][106] ([Intel XE#1406])
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-2/igt@kms_psr@fbc-psr2-cursor-plane-onoff.html

  * igt@kms_psr@fbc-psr2-cursor-plane-onoff@edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][107] ([Intel XE#1406] / [Intel XE#4609])
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-2/igt@kms_psr@fbc-psr2-cursor-plane-onoff@edp-1.html

  * igt@kms_psr@pr-sprite-plane-onoff:
    - shard-bmg:          NOTRUN -> [SKIP][108] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +6 other tests skip
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-7/igt@kms_psr@pr-sprite-plane-onoff.html

  * igt@kms_psr@psr2-sprite-plane-move:
    - shard-dg2-set2:     NOTRUN -> [SKIP][109] ([Intel XE#1406] / [Intel XE#4208]) +2 other tests skip
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_psr@psr2-sprite-plane-move.html

  * igt@kms_psr@psr2-suspend:
    - shard-adlp:         NOTRUN -> [SKIP][110] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +2 other tests skip
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-1/igt@kms_psr@psr2-suspend.html

  * igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
    - shard-bmg:          NOTRUN -> [SKIP][111] ([Intel XE#1406] / [Intel XE#2414])
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-3/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
    - shard-bmg:          NOTRUN -> [SKIP][112] ([Intel XE#3414] / [Intel XE#3904])
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-bmg:          NOTRUN -> [SKIP][113] ([Intel XE#2426])
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-2/igt@kms_tiled_display@basic-test-pattern.html

  * igt@kms_vrr@flip-basic:
    - shard-bmg:          NOTRUN -> [SKIP][114] ([Intel XE#1499]) +1 other test skip
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-8/igt@kms_vrr@flip-basic.html

  * igt@kms_vrr@flip-basic-fastset:
    - shard-dg2-set2:     NOTRUN -> [SKIP][115] ([Intel XE#455]) +7 other tests skip
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@kms_vrr@flip-basic-fastset.html

  * igt@xe_compute_preempt@compute-preempt-many:
    - shard-adlp:         NOTRUN -> [SKIP][116] ([Intel XE#455] / [Intel XE#5632])
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-8/igt@xe_compute_preempt@compute-preempt-many.html
    - shard-dg2-set2:     NOTRUN -> [FAIL][117] ([Intel XE#5890]) +1 other test fail
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-464/igt@xe_compute_preempt@compute-preempt-many.html

  * igt@xe_eudebug@basic-connect:
    - shard-lnl:          NOTRUN -> [SKIP][118] ([Intel XE#4837]) +1 other test skip
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-5/igt@xe_eudebug@basic-connect.html

  * igt@xe_eudebug@basic-vm-access-parameters:
    - shard-dg2-set2:     NOTRUN -> [SKIP][119] ([Intel XE#4837]) +4 other tests skip
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@xe_eudebug@basic-vm-access-parameters.html

  * igt@xe_eudebug@basic-vm-bind-metadata-discovery:
    - shard-bmg:          NOTRUN -> [SKIP][120] ([Intel XE#4837]) +6 other tests skip
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-8/igt@xe_eudebug@basic-vm-bind-metadata-discovery.html
    - shard-adlp:         NOTRUN -> [SKIP][121] ([Intel XE#4837] / [Intel XE#5565]) +2 other tests skip
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-2/igt@xe_eudebug@basic-vm-bind-metadata-discovery.html

  * igt@xe_eudebug_sriov@deny-eudebug:
    - shard-dg2-set2:     NOTRUN -> [SKIP][122] ([Intel XE#4518])
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-466/igt@xe_eudebug_sriov@deny-eudebug.html
    - shard-lnl:          NOTRUN -> [SKIP][123] ([Intel XE#4518])
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-3/igt@xe_eudebug_sriov@deny-eudebug.html
    - shard-adlp:         NOTRUN -> [SKIP][124] ([Intel XE#4519])
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-9/igt@xe_eudebug_sriov@deny-eudebug.html
    - shard-bmg:          NOTRUN -> [SKIP][125] ([Intel XE#5793])
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-7/igt@xe_eudebug_sriov@deny-eudebug.html

  * igt@xe_exec_basic@many-execqueues-null:
    - shard-adlp:         [PASS][126] -> [DMESG-WARN][127] ([Intel XE#3876])
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-4/igt@xe_exec_basic@many-execqueues-null.html
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-9/igt@xe_exec_basic@many-execqueues-null.html
    - shard-bmg:          [PASS][128] -> [DMESG-WARN][129] ([Intel XE#3876])
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-3/igt@xe_exec_basic@many-execqueues-null.html
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-5/igt@xe_exec_basic@many-execqueues-null.html

  * igt@xe_exec_basic@multigpu-once-basic-defer-mmap:
    - shard-dg2-set2:     [PASS][130] -> [SKIP][131] ([Intel XE#1392]) +5 other tests skip
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-436/igt@xe_exec_basic@multigpu-once-basic-defer-mmap.html
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@xe_exec_basic@multigpu-once-basic-defer-mmap.html

  * igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate:
    - shard-adlp:         NOTRUN -> [SKIP][132] ([Intel XE#1392] / [Intel XE#5575]) +1 other test skip
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-2/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html
    - shard-bmg:          NOTRUN -> [SKIP][133] ([Intel XE#2322]) +2 other tests skip
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-4/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html
    - shard-lnl:          NOTRUN -> [SKIP][134] ([Intel XE#1392])
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-5/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html

  * igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-userptr-invalidate-imm:
    - shard-adlp:         NOTRUN -> [SKIP][135] ([Intel XE#288] / [Intel XE#5561]) +5 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-9/igt@xe_exec_fault_mode@many-execqueues-bindexecqueue-userptr-invalidate-imm.html

  * igt@xe_exec_fault_mode@many-execqueues-userptr-imm:
    - shard-dg2-set2:     NOTRUN -> [SKIP][136] ([Intel XE#288]) +7 other tests skip
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@xe_exec_fault_mode@many-execqueues-userptr-imm.html

  * igt@xe_exec_system_allocator@once-mmap-new-race:
    - shard-adlp:         NOTRUN -> [SKIP][137] ([Intel XE#4915]) +59 other tests skip
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-9/igt@xe_exec_system_allocator@once-mmap-new-race.html

  * igt@xe_exec_system_allocator@threads-many-execqueues-mmap-free:
    - shard-dg2-set2:     NOTRUN -> [SKIP][138] ([Intel XE#4915]) +66 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@xe_exec_system_allocator@threads-many-execqueues-mmap-free.html

  * igt@xe_exec_system_allocator@threads-many-mmap-huge:
    - shard-bmg:          NOTRUN -> [SKIP][139] ([Intel XE#4943]) +13 other tests skip
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-8/igt@xe_exec_system_allocator@threads-many-mmap-huge.html

  * igt@xe_exec_system_allocator@twice-large-mmap-free-huge:
    - shard-lnl:          NOTRUN -> [SKIP][140] ([Intel XE#4943]) +4 other tests skip
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-5/igt@xe_exec_system_allocator@twice-large-mmap-free-huge.html

  * igt@xe_exec_threads@threads-hang-userptr-invalidate:
    - shard-dg2-set2:     [PASS][141] -> [DMESG-WARN][142] ([Intel XE#3876])
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-466/igt@xe_exec_threads@threads-hang-userptr-invalidate.html
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@xe_exec_threads@threads-hang-userptr-invalidate.html

  * igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv:
    - shard-bmg:          NOTRUN -> [ABORT][143] ([Intel XE#5530])
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-7/igt@xe_fault_injection@probe-fail-guc-xe_guc_mmio_send_recv.html

  * igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
    - shard-dg2-set2:     NOTRUN -> [SKIP][144] ([Intel XE#2229])
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html

  * igt@xe_oa@buffer-size:
    - shard-dg2-set2:     NOTRUN -> [SKIP][145] ([Intel XE#5103])
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@xe_oa@buffer-size.html
    - shard-adlp:         NOTRUN -> [SKIP][146] ([Intel XE#5103])
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-1/igt@xe_oa@buffer-size.html

  * igt@xe_oa@stress-open-close:
    - shard-dg2-set2:     NOTRUN -> [SKIP][147] ([Intel XE#3573])
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-464/igt@xe_oa@stress-open-close.html

  * igt@xe_oa@syncs-userptr-wait-cfg:
    - shard-adlp:         NOTRUN -> [SKIP][148] ([Intel XE#3573]) +1 other test skip
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-2/igt@xe_oa@syncs-userptr-wait-cfg.html

  * igt@xe_pm@s2idle-exec-after:
    - shard-dg2-set2:     [PASS][149] -> [SKIP][150] ([Intel XE#4208]) +165 other tests skip
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-466/igt@xe_pm@s2idle-exec-after.html
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_pm@s2idle-exec-after.html

  * igt@xe_pm@s4-d3cold-basic-exec:
    - shard-bmg:          NOTRUN -> [SKIP][151] ([Intel XE#2284])
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-2/igt@xe_pm@s4-d3cold-basic-exec.html

  * igt@xe_pm@vram-d3cold-threshold:
    - shard-dg2-set2:     NOTRUN -> [SKIP][152] ([Intel XE#579])
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@xe_pm@vram-d3cold-threshold.html
    - shard-lnl:          NOTRUN -> [SKIP][153] ([Intel XE#579])
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-3/igt@xe_pm@vram-d3cold-threshold.html
    - shard-adlp:         NOTRUN -> [SKIP][154] ([Intel XE#5611] / [Intel XE#579])
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-3/igt@xe_pm@vram-d3cold-threshold.html
    - shard-bmg:          NOTRUN -> [SKIP][155] ([Intel XE#579])
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-1/igt@xe_pm@vram-d3cold-threshold.html

  * igt@xe_pm_residency@cpg-basic:
    - shard-lnl:          NOTRUN -> [SKIP][156] ([Intel XE#584])
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-2/igt@xe_pm_residency@cpg-basic.html

  * igt@xe_pxp@display-pxp-fb:
    - shard-bmg:          NOTRUN -> [SKIP][157] ([Intel XE#4733])
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@xe_pxp@display-pxp-fb.html

  * igt@xe_query@multigpu-query-invalid-cs-cycles:
    - shard-bmg:          NOTRUN -> [SKIP][158] ([Intel XE#944])
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-4/igt@xe_query@multigpu-query-invalid-cs-cycles.html

  
#### Possible fixes ####

  * igt@fbdev@read:
    - shard-dg2-set2:     [SKIP][159] ([Intel XE#2134]) -> [PASS][160] +2 other tests pass
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@fbdev@read.html
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@fbdev@read.html

  * igt@intel_hwmon@hwmon-write:
    - shard-bmg:          [FAIL][161] ([Intel XE#4665]) -> [PASS][162]
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-3/igt@intel_hwmon@hwmon-write.html
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-4/igt@intel_hwmon@hwmon-write.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs:
    - shard-bmg:          [FAIL][163] ([Intel XE#5376]) -> [PASS][164]
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
    - shard-bmg:          [SKIP][165] ([Intel XE#2291]) -> [PASS][166] +1 other test pass
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-6/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-5/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size:
    - shard-bmg:          [DMESG-WARN][167] ([Intel XE#5354]) -> [PASS][168]
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-4/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-7/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic:
    - shard-bmg:          [FAIL][169] ([Intel XE#1475]) -> [PASS][170]
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html

  * igt@kms_flip@2x-plain-flip-ts-check-interruptible:
    - shard-bmg:          [SKIP][171] ([Intel XE#2316]) -> [PASS][172] +5 other tests pass
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-6/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-1/igt@kms_flip@2x-plain-flip-ts-check-interruptible.html

  * igt@kms_flip@flip-vs-expired-vblank@b-edp1:
    - shard-lnl:          [FAIL][173] ([Intel XE#301]) -> [PASS][174]
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html

  * igt@kms_flip@flip-vs-panning-interruptible:
    - shard-adlp:         [DMESG-WARN][175] ([Intel XE#4543] / [Intel XE#5208]) -> [PASS][176] +1 other test pass
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-4/igt@kms_flip@flip-vs-panning-interruptible.html
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-3/igt@kms_flip@flip-vs-panning-interruptible.html

  * igt@kms_flip@flip-vs-panning-interruptible@b-hdmi-a1:
    - shard-adlp:         [DMESG-WARN][177] ([Intel XE#4543]) -> [PASS][178] +6 other tests pass
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-4/igt@kms_flip@flip-vs-panning-interruptible@b-hdmi-a1.html
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-3/igt@kms_flip@flip-vs-panning-interruptible@b-hdmi-a1.html

  * igt@kms_flip@modeset-vs-vblank-race-interruptible:
    - shard-lnl:          [FAIL][179] ([Intel XE#3098]) -> [PASS][180] +1 other test pass
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-lnl-2/igt@kms_flip@modeset-vs-vblank-race-interruptible.html
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-7/igt@kms_flip@modeset-vs-vblank-race-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling:
    - shard-dg2-set2:     [SKIP][181] ([Intel XE#2351] / [Intel XE#4208]) -> [PASS][182] +16 other tests pass
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling.html
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling:
    - shard-adlp:         [DMESG-FAIL][183] ([Intel XE#4543] / [Intel XE#4921]) -> [PASS][184] +1 other test pass
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-3/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling.html
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-8/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling.html

  * igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-x:
    - shard-adlp:         [DMESG-FAIL][185] ([Intel XE#4543]) -> [PASS][186] +8 other tests pass
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-8/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-x.html
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-2/igt@kms_flip_tiling@flip-change-tiling@pipe-c-hdmi-a-1-x-to-x.html

  * igt@kms_plane_multiple@2x-tiling-x:
    - shard-bmg:          [SKIP][187] ([Intel XE#4596]) -> [PASS][188]
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-x.html
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-4/igt@kms_plane_multiple@2x-tiling-x.html

  * igt@kms_pm_rpm@basic-rte:
    - shard-adlp:         [DMESG-WARN][189] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][190] +3 other tests pass
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-4/igt@kms_pm_rpm@basic-rte.html
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-3/igt@kms_pm_rpm@basic-rte.html

  * igt@kms_rotation_crc@sprite-rotation-180:
    - shard-dg2-set2:     [SKIP][191] ([Intel XE#4208] / [i915#2575]) -> [PASS][192] +101 other tests pass
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_rotation_crc@sprite-rotation-180.html
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-464/igt@kms_rotation_crc@sprite-rotation-180.html

  * igt@kms_setmode@invalid-clone-single-crtc-stealing:
    - shard-bmg:          [SKIP][193] ([Intel XE#1435]) -> [PASS][194]
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-6/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-7/igt@kms_setmode@invalid-clone-single-crtc-stealing.html

  * igt@kms_vblank@ts-continuation-suspend:
    - shard-adlp:         [INCOMPLETE][195] ([Intel XE#4488] / [Intel XE#5545]) -> [PASS][196]
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-8/igt@kms_vblank@ts-continuation-suspend.html
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-4/igt@kms_vblank@ts-continuation-suspend.html
    - shard-bmg:          [INCOMPLETE][197] ([Intel XE#4488]) -> [PASS][198]
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-5/igt@kms_vblank@ts-continuation-suspend.html
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_vblank@ts-continuation-suspend.html

  * igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1:
    - shard-adlp:         [DMESG-FAIL][199] ([Intel XE#5545]) -> [PASS][200]
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-8/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1.html
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-4/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-1.html

  * igt@kms_vblank@ts-continuation-suspend@pipe-d-hdmi-a-1:
    - shard-adlp:         [INCOMPLETE][201] ([Intel XE#4488]) -> [PASS][202]
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-8/igt@kms_vblank@ts-continuation-suspend@pipe-d-hdmi-a-1.html
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-4/igt@kms_vblank@ts-continuation-suspend@pipe-d-hdmi-a-1.html

  * igt@xe_exec_balancer@once-parallel-rebind:
    - shard-dg2-set2:     [SKIP][203] ([Intel XE#4208]) -> [PASS][204] +209 other tests pass
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_exec_balancer@once-parallel-rebind.html
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-464/igt@xe_exec_balancer@once-parallel-rebind.html

  * igt@xe_exec_basic@multigpu-once-null-defer-mmap:
    - shard-dg2-set2:     [SKIP][205] ([Intel XE#1392]) -> [PASS][206]
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-432/igt@xe_exec_basic@multigpu-once-null-defer-mmap.html
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@xe_exec_basic@multigpu-once-null-defer-mmap.html

  * igt@xe_module_load@reload:
    - shard-dg2-set2:     [FAIL][207] ([Intel XE#4208]) -> [PASS][208]
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_module_load@reload.html
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-463/igt@xe_module_load@reload.html

  * igt@xe_pmu@engine-activity-single-load:
    - shard-dg2-set2:     [FAIL][209] -> [PASS][210] +6 other tests pass
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@xe_pmu@engine-activity-single-load.html
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-466/igt@xe_pmu@engine-activity-single-load.html
    - shard-lnl:          [FAIL][211] -> [PASS][212] +4 other tests pass
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-lnl-7/igt@xe_pmu@engine-activity-single-load.html
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-4/igt@xe_pmu@engine-activity-single-load.html

  * igt@xe_pmu@engine-activity-single-load@engine-drm_xe_engine_class_render0:
    - shard-adlp:         [FAIL][213] -> [PASS][214] +4 other tests pass
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-4/igt@xe_pmu@engine-activity-single-load@engine-drm_xe_engine_class_render0.html
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-1/igt@xe_pmu@engine-activity-single-load@engine-drm_xe_engine_class_render0.html
    - shard-bmg:          [FAIL][215] -> [PASS][216] +8 other tests pass
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-7/igt@xe_pmu@engine-activity-single-load@engine-drm_xe_engine_class_render0.html
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-8/igt@xe_pmu@engine-activity-single-load@engine-drm_xe_engine_class_render0.html

  
#### Warnings ####

  * igt@kms_big_fb@4-tiled-8bpp-rotate-270:
    - shard-dg2-set2:     [SKIP][217] ([Intel XE#4208]) -> [SKIP][218] ([Intel XE#316]) +2 other tests skip
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html

  * igt@kms_big_fb@linear-32bpp-rotate-270:
    - shard-dg2-set2:     [SKIP][219] ([Intel XE#316]) -> [SKIP][220] ([Intel XE#4208]) +2 other tests skip
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-436/igt@kms_big_fb@linear-32bpp-rotate-270.html
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_big_fb@linear-32bpp-rotate-270.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-90:
    - shard-dg2-set2:     [SKIP][221] ([Intel XE#316]) -> [SKIP][222] ([Intel XE#2351] / [Intel XE#4208]) +1 other test skip
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-433/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-addfb:
    - shard-dg2-set2:     [SKIP][223] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][224] ([Intel XE#619])
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_big_fb@y-tiled-addfb.html
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@kms_big_fb@y-tiled-addfb.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-dg2-set2:     [SKIP][225] ([Intel XE#1124]) -> [SKIP][226] ([Intel XE#4208]) +5 other tests skip
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@yf-tiled-addfb-size-overflow:
    - shard-dg2-set2:     [SKIP][227] ([Intel XE#4208]) -> [SKIP][228] ([Intel XE#610])
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-dg2-set2:     [SKIP][229] ([Intel XE#1124]) -> [SKIP][230] ([Intel XE#2351] / [Intel XE#4208]) +2 other tests skip
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-466/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip:
    - shard-dg2-set2:     [SKIP][231] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][232] ([Intel XE#1124]) +2 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-dg2-set2:     [SKIP][233] ([Intel XE#4208]) -> [SKIP][234] ([Intel XE#1124]) +7 other tests skip
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p:
    - shard-dg2-set2:     [SKIP][235] ([Intel XE#2191]) -> [SKIP][236] ([Intel XE#4208] / [i915#2575]) +1 other test skip
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p.html
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p.html

  * igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p:
    - shard-dg2-set2:     [SKIP][237] ([Intel XE#4208] / [i915#2575]) -> [SKIP][238] ([Intel XE#2191])
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p.html
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-466/igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p.html

  * igt@kms_bw@linear-tiling-2-displays-3840x2160p:
    - shard-dg2-set2:     [SKIP][239] ([Intel XE#4208] / [i915#2575]) -> [SKIP][240] ([Intel XE#367]) +3 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_bw@linear-tiling-2-displays-3840x2160p.html
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-464/igt@kms_bw@linear-tiling-2-displays-3840x2160p.html

  * igt@kms_bw@linear-tiling-3-displays-3840x2160p:
    - shard-dg2-set2:     [SKIP][241] ([Intel XE#367]) -> [SKIP][242] ([Intel XE#4208] / [i915#2575]) +1 other test skip
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@kms_bw@linear-tiling-3-displays-3840x2160p.html
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_bw@linear-tiling-3-displays-3840x2160p.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc:
    - shard-dg2-set2:     [SKIP][243] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][244] ([Intel XE#2351] / [Intel XE#4208]) +2 other tests skip
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-464/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc.html
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
    - shard-dg2-set2:     [SKIP][245] ([Intel XE#2907]) -> [SKIP][246] ([Intel XE#4208]) +1 other test skip
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs:
    - shard-dg2-set2:     [SKIP][247] ([Intel XE#4208]) -> [SKIP][248] ([Intel XE#455] / [Intel XE#787]) +11 other tests skip
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs.html
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-464/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs:
    - shard-dg2-set2:     [SKIP][249] ([Intel XE#4208]) -> [INCOMPLETE][250] ([Intel XE#3862])
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-466/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs:
    - shard-dg2-set2:     [SKIP][251] ([Intel XE#4208]) -> [SKIP][252] ([Intel XE#2907]) +2 other tests skip
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-466/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
    - shard-dg2-set2:     [INCOMPLETE][253] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345]) -> [INCOMPLETE][254] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522])
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc:
    - shard-dg2-set2:     [SKIP][255] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][256] ([Intel XE#4208]) +11 other tests skip
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc.html
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_chamelium_color@ctm-limited-range:
    - shard-dg2-set2:     [SKIP][257] ([Intel XE#306]) -> [SKIP][258] ([Intel XE#4208] / [i915#2575]) +1 other test skip
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-433/igt@kms_chamelium_color@ctm-limited-range.html
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_chamelium_color@ctm-limited-range.html

  * igt@kms_chamelium_color@gamma:
    - shard-dg2-set2:     [SKIP][259] ([Intel XE#4208] / [i915#2575]) -> [SKIP][260] ([Intel XE#306]) +3 other tests skip
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_chamelium_color@gamma.html
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@kms_chamelium_color@gamma.html

  * igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe:
    - shard-dg2-set2:     [SKIP][261] ([Intel XE#373]) -> [SKIP][262] ([Intel XE#4208] / [i915#2575]) +9 other tests skip
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-466/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html

  * igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode:
    - shard-dg2-set2:     [SKIP][263] ([Intel XE#4208] / [i915#2575]) -> [SKIP][264] ([Intel XE#373]) +10 other tests skip
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-466/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html

  * igt@kms_content_protection@atomic:
    - shard-dg2-set2:     [FAIL][265] ([Intel XE#1178]) -> [SKIP][266] ([Intel XE#4208] / [i915#2575]) +1 other test skip
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-432/igt@kms_content_protection@atomic.html
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_content_protection@atomic.html

  * igt@kms_content_protection@atomic-dpms:
    - shard-dg2-set2:     [SKIP][267] ([Intel XE#4208] / [i915#2575]) -> [FAIL][268] ([Intel XE#1178])
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_content_protection@atomic-dpms.html
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@kms_content_protection@atomic-dpms.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-dg2-set2:     [SKIP][269] ([Intel XE#307]) -> [SKIP][270] ([Intel XE#4208] / [i915#2575]) +1 other test skip
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-433/igt@kms_content_protection@dp-mst-lic-type-0.html
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-dg2-set2:     [SKIP][271] ([Intel XE#4208] / [i915#2575]) -> [SKIP][272] ([Intel XE#307])
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_content_protection@dp-mst-type-0.html
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_cursor_crc@cursor-offscreen-512x170:
    - shard-dg2-set2:     [SKIP][273] ([Intel XE#4208] / [i915#2575]) -> [SKIP][274] ([Intel XE#308]) +3 other tests skip
   [273]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_cursor_crc@cursor-offscreen-512x170.html
   [274]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@kms_cursor_crc@cursor-offscreen-512x170.html

  * igt@kms_cursor_legacy@flip-vs-cursor-legacy:
    - shard-bmg:          [FAIL][275] ([Intel XE#5299]) -> [FAIL][276] ([Intel XE#4633])
   [275]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-3/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html
   [276]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-8/igt@kms_cursor_legacy@flip-vs-cursor-legacy.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
    - shard-dg2-set2:     [SKIP][277] ([Intel XE#4208] / [i915#2575]) -> [SKIP][278] ([Intel XE#323])
   [277]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
   [278]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html

  * igt@kms_dirtyfb@psr-dirtyfb-ioctl:
    - shard-dg2-set2:     [SKIP][279] ([Intel XE#455]) -> [SKIP][280] ([Intel XE#2351] / [Intel XE#4208])
   [279]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-433/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html
   [280]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html

  * igt@kms_dp_link_training@uhbr-mst:
    - shard-dg2-set2:     [SKIP][281] ([Intel XE#4356]) -> [SKIP][282] ([Intel XE#4208])
   [281]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-436/igt@kms_dp_link_training@uhbr-mst.html
   [282]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_dp_link_training@uhbr-mst.html

  * igt@kms_dp_linktrain_fallback@dsc-fallback:
    - shard-dg2-set2:     [SKIP][283] ([Intel XE#4208]) -> [SKIP][284] ([Intel XE#4331])
   [283]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_dp_linktrain_fallback@dsc-fallback.html
   [284]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-466/igt@kms_dp_linktrain_fallback@dsc-fallback.html

  * igt@kms_dsc@dsc-with-formats:
    - shard-dg2-set2:     [SKIP][285] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][286] ([Intel XE#455]) +3 other tests skip
   [285]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_dsc@dsc-with-formats.html
   [286]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@kms_dsc@dsc-with-formats.html

  * igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-dirtyfb-tests:
    - shard-dg2-set2:     [SKIP][287] ([Intel XE#4208]) -> [SKIP][288] ([Intel XE#4422])
   [287]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-dirtyfb-tests.html
   [288]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@kms_fbc_dirty_rect@fbc-dirty-rectangle-dirtyfb-tests.html

  * igt@kms_fbcon_fbt@psr:
    - shard-dg2-set2:     [SKIP][289] ([Intel XE#4208]) -> [SKIP][290] ([Intel XE#776])
   [289]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_fbcon_fbt@psr.html
   [290]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@kms_fbcon_fbt@psr.html

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-lnl:          [FAIL][291] ([Intel XE#301]) -> [FAIL][292] ([Intel XE#301] / [Intel XE#3149])
   [291]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank.html
   [292]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible:
    - shard-adlp:         [DMESG-FAIL][293] ([Intel XE#4543]) -> [DMESG-WARN][294] ([Intel XE#4543]) +1 other test dmesg-warn
   [293]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
   [294]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-3/igt@kms_flip@flip-vs-expired-vblank-interruptible.html

  * igt@kms_flip@flip-vs-suspend:
    - shard-adlp:         [DMESG-WARN][295] ([Intel XE#4543]) -> [DMESG-WARN][296] ([Intel XE#2953] / [Intel XE#4173])
   [295]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-1/igt@kms_flip@flip-vs-suspend.html
   [296]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-3/igt@kms_flip@flip-vs-suspend.html
    - shard-dg2-set2:     [SKIP][297] ([Intel XE#4208] / [i915#2575]) -> [INCOMPLETE][298] ([Intel XE#2049] / [Intel XE#2597])
   [297]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_flip@flip-vs-suspend.html
   [298]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@kms_flip@flip-vs-suspend.html

  * igt@kms_flip@flip-vs-suspend-interruptible:
    - shard-adlp:         [DMESG-WARN][299] ([Intel XE#2953] / [Intel XE#4173]) -> [DMESG-WARN][300] ([Intel XE#4543]) +1 other test dmesg-warn
   [299]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-adlp-9/igt@kms_flip@flip-vs-suspend-interruptible.html
   [300]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-adlp-3/igt@kms_flip@flip-vs-suspend-interruptible.html

  * igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling:
    - shard-dg2-set2:     [SKIP][301] ([Intel XE#4208]) -> [SKIP][302] ([Intel XE#455]) +2 other tests skip
   [301]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html
   [302]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling:
    - shard-dg2-set2:     [SKIP][303] ([Intel XE#455]) -> [SKIP][304] ([Intel XE#4208]) +3 other tests skip
   [303]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-433/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html
   [304]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          [SKIP][305] ([Intel XE#2311]) -> [SKIP][306] ([Intel XE#2312]) +8 other tests skip
   [305]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
   [306]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-blt:
    - shard-bmg:          [SKIP][307] ([Intel XE#2312]) -> [SKIP][308] ([Intel XE#2311]) +5 other tests skip
   [307]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-blt.html
   [308]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-4/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary:
    - shard-dg2-set2:     [SKIP][309] ([Intel XE#4208]) -> [SKIP][310] ([Intel XE#651]) +22 other tests skip
   [309]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary.html
   [310]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@drrs-suspend:
    - shard-dg2-set2:     [SKIP][311] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][312] ([Intel XE#651]) +12 other tests skip
   [311]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_frontbuffer_tracking@drrs-suspend.html
   [312]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-463/igt@kms_frontbuffer_tracking@drrs-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render:
    - shard-bmg:          [SKIP][313] ([Intel XE#5390]) -> [SKIP][314] ([Intel XE#2312]) +5 other tests skip
   [313]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html
   [314]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-move:
    - shard-bmg:          [SKIP][315] ([Intel XE#2312]) -> [SKIP][316] ([Intel XE#5390]) +2 other tests skip
   [315]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-move.html
   [316]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-move.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-blt:
    - shard-dg2-set2:     [SKIP][317] ([Intel XE#651]) -> [SKIP][318] ([Intel XE#2351] / [Intel XE#4208]) +12 other tests skip
   [317]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-blt.html
   [318]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-indfb-scaledprimary:
    - shard-dg2-set2:     [SKIP][319] ([Intel XE#651]) -> [SKIP][320] ([Intel XE#4208]) +16 other tests skip
   [319]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcdrrs-indfb-scaledprimary.html
   [320]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-indfb-scaledprimary.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt:
    - shard-dg2-set2:     [SKIP][321] ([Intel XE#4208]) -> [SKIP][322] ([Intel XE#653]) +22 other tests skip
   [321]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html
   [322]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-pgflip-blt:
    - shard-bmg:          [SKIP][323] ([Intel XE#2312]) -> [SKIP][324] ([Intel XE#2313]) +8 other tests skip
   [323]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-pgflip-blt.html
   [324]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-2/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
    - shard-bmg:          [SKIP][325] ([Intel XE#2313]) -> [SKIP][326] ([Intel XE#2312]) +10 other tests skip
   [325]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-3/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
   [326]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt:
    - shard-dg2-set2:     [SKIP][327] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][328] ([Intel XE#653]) +9 other tests skip
   [327]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt.html
   [328]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-466/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt:
    - shard-dg2-set2:     [SKIP][329] ([Intel XE#653]) -> [SKIP][330] ([Intel XE#2351] / [Intel XE#4208]) +8 other tests skip
   [329]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html
   [330]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc:
    - shard-dg2-set2:     [SKIP][331] ([Intel XE#653]) -> [SKIP][332] ([Intel XE#4208]) +17 other tests skip
   [331]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-464/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
   [332]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_hdr@brightness-with-hdr:
    - shard-bmg:          [SKIP][333] ([Intel XE#3544]) -> [SKIP][334] ([Intel XE#3374] / [Intel XE#3544])
   [333]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-1/igt@kms_hdr@brightness-with-hdr.html
   [334]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@kms_hdr@brightness-with-hdr.html

  * igt@kms_joiner@basic-force-ultra-joiner:
    - shard-dg2-set2:     [SKIP][335] ([Intel XE#2925]) -> [SKIP][336] ([Intel XE#4208]) +1 other test skip
   [335]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-436/igt@kms_joiner@basic-force-ultra-joiner.html
   [336]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_joiner@basic-force-ultra-joiner.html

  * igt@kms_joiner@basic-max-non-joiner:
    - shard-dg2-set2:     [SKIP][337] ([Intel XE#4298]) -> [SKIP][338] ([Intel XE#4208])
   [337]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-436/igt@kms_joiner@basic-max-non-joiner.html
   [338]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_joiner@basic-max-non-joiner.html

  * igt@kms_joiner@basic-ultra-joiner:
    - shard-dg2-set2:     [SKIP][339] ([Intel XE#2927]) -> [SKIP][340] ([Intel XE#4208])
   [339]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@kms_joiner@basic-ultra-joiner.html
   [340]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_joiner@basic-ultra-joiner.html

  * igt@kms_plane_multiple@2x-tiling-yf:
    - shard-dg2-set2:     [SKIP][341] ([Intel XE#5021]) -> [SKIP][342] ([Intel XE#4208] / [i915#2575]) +1 other test skip
   [341]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-466/igt@kms_plane_multiple@2x-tiling-yf.html
   [342]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_plane_multiple@2x-tiling-yf.html

  * igt@kms_plane_multiple@tiling-yf:
    - shard-dg2-set2:     [SKIP][343] ([Intel XE#4208] / [i915#2575]) -> [SKIP][344] ([Intel XE#5020])
   [343]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_plane_multiple@tiling-yf.html
   [344]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-466/igt@kms_plane_multiple@tiling-yf.html

  * igt@kms_pm_backlight@fade-with-dpms:
    - shard-dg2-set2:     [SKIP][345] ([Intel XE#870]) -> [SKIP][346] ([Intel XE#4208])
   [345]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@kms_pm_backlight@fade-with-dpms.html
   [346]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_pm_backlight@fade-with-dpms.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-dg2-set2:     [SKIP][347] ([Intel XE#4208]) -> [SKIP][348] ([Intel XE#870]) +1 other test skip
   [347]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_pm_backlight@fade-with-suspend.html
   [348]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-466/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_pm_dc@dc3co-vpb-simulation:
    - shard-dg2-set2:     [SKIP][349] ([Intel XE#2351] / [Intel XE#4208]) -> [SKIP][350] ([Intel XE#1122])
   [349]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_pm_dc@dc3co-vpb-simulation.html
   [350]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@kms_pm_dc@dc3co-vpb-simulation.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-dg2-set2:     [SKIP][351] ([Intel XE#1129]) -> [SKIP][352] ([Intel XE#4208])
   [351]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-464/igt@kms_pm_dc@dc5-psr.html
   [352]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc5-retention-flops:
    - shard-dg2-set2:     [SKIP][353] ([Intel XE#3309]) -> [SKIP][354] ([Intel XE#4208])
   [353]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@kms_pm_dc@dc5-retention-flops.html
   [354]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_pm_dc@dc5-retention-flops.html

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf:
    - shard-dg2-set2:     [SKIP][355] ([Intel XE#1406] / [Intel XE#4208]) -> [SKIP][356] ([Intel XE#1406] / [Intel XE#1489]) +10 other tests skip
   [355]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html
   [356]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-463/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-sf.html

  * igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area:
    - shard-dg2-set2:     [SKIP][357] ([Intel XE#1406] / [Intel XE#1489]) -> [SKIP][358] ([Intel XE#1406] / [Intel XE#4208]) +9 other tests skip
   [357]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area.html
   [358]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_psr2_sf@psr2-overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-dg2-set2:     [SKIP][359] ([Intel XE#1406] / [Intel XE#4208]) -> [SKIP][360] ([Intel XE#1122] / [Intel XE#1406])
   [359]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_psr2_su@page_flip-p010.html
   [360]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@kms_psr2_su@page_flip-p010.html

  * igt@kms_psr@fbc-psr-no-drrs:
    - shard-dg2-set2:     [SKIP][361] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) -> [SKIP][362] ([Intel XE#1406] / [Intel XE#2351] / [Intel XE#4208]) +3 other tests skip
   [361]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-432/igt@kms_psr@fbc-psr-no-drrs.html
   [362]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_psr@fbc-psr-no-drrs.html

  * igt@kms_psr@fbc-psr2-dpms:
    - shard-dg2-set2:     [SKIP][363] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) -> [SKIP][364] ([Intel XE#1406] / [Intel XE#4208]) +7 other tests skip
   [363]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-466/igt@kms_psr@fbc-psr2-dpms.html
   [364]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_psr@fbc-psr2-dpms.html

  * igt@kms_psr@fbc-psr2-sprite-plane-move:
    - shard-dg2-set2:     [SKIP][365] ([Intel XE#1406] / [Intel XE#4208]) -> [SKIP][366] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +10 other tests skip
   [365]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_psr@fbc-psr2-sprite-plane-move.html
   [366]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-463/igt@kms_psr@fbc-psr2-sprite-plane-move.html

  * igt@kms_psr@pr-dpms:
    - shard-dg2-set2:     [SKIP][367] ([Intel XE#1406] / [Intel XE#2351] / [Intel XE#4208]) -> [SKIP][368] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +5 other tests skip
   [367]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_psr@pr-dpms.html
   [368]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@kms_psr@pr-dpms.html

  * igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
    - shard-dg2-set2:     [SKIP][369] ([Intel XE#1406] / [Intel XE#4208]) -> [SKIP][370] ([Intel XE#1406] / [Intel XE#2939])
   [369]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
   [370]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-180:
    - shard-dg2-set2:     [SKIP][371] ([Intel XE#1127]) -> [SKIP][372] ([Intel XE#4208] / [i915#2575]) +1 other test skip
   [371]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-432/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html
   [372]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_rotation_crc@primary-y-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@primary-y-tiled-reflect-x-90:
    - shard-dg2-set2:     [SKIP][373] ([Intel XE#3414]) -> [SKIP][374] ([Intel XE#4208] / [i915#2575])
   [373]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-466/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html
   [374]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_rotation_crc@primary-y-tiled-reflect-x-90.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180:
    - shard-dg2-set2:     [SKIP][375] ([Intel XE#4208] / [i915#2575]) -> [SKIP][376] ([Intel XE#1127])
   [375]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html
   [376]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html

  * igt@kms_rotation_crc@sprite-rotation-270:
    - shard-dg2-set2:     [SKIP][377] ([Intel XE#4208] / [i915#2575]) -> [SKIP][378] ([Intel XE#3414]) +2 other tests skip
   [377]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_rotation_crc@sprite-rotation-270.html
   [378]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-464/igt@kms_rotation_crc@sprite-rotation-270.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-bmg:          [SKIP][379] ([Intel XE#2509]) -> [SKIP][380] ([Intel XE#2426])
   [379]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [380]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-7/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_vrr@cmrr:
    - shard-dg2-set2:     [SKIP][381] ([Intel XE#4208] / [i915#2575]) -> [SKIP][382] ([Intel XE#2168])
   [381]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_vrr@cmrr.html
   [382]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@kms_vrr@cmrr.html

  * igt@kms_vrr@flip-dpms:
    - shard-dg2-set2:     [SKIP][383] ([Intel XE#4208] / [i915#2575]) -> [SKIP][384] ([Intel XE#455]) +6 other tests skip
   [383]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@kms_vrr@flip-dpms.html
   [384]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@kms_vrr@flip-dpms.html

  * igt@kms_vrr@flipline:
    - shard-dg2-set2:     [SKIP][385] ([Intel XE#455]) -> [SKIP][386] ([Intel XE#4208] / [i915#2575]) +4 other tests skip
   [385]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@kms_vrr@flipline.html
   [386]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@kms_vrr@flipline.html

  * igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
    - shard-dg2-set2:     [SKIP][387] ([Intel XE#4208] / [i915#2575]) -> [SKIP][388] ([Intel XE#1091] / [Intel XE#2849])
   [387]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
   [388]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html

  * igt@xe_configfs@survivability-mode:
    - shard-dg2-set2:     [SKIP][389] ([Intel XE#4208]) -> [SKIP][390] ([Intel XE#5249])
   [389]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_configfs@survivability-mode.html
   [390]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@xe_configfs@survivability-mode.html

  * igt@xe_copy_basic@mem-set-linear-0xfffe:
    - shard-dg2-set2:     [SKIP][391] ([Intel XE#4208]) -> [SKIP][392] ([Intel XE#1126])
   [391]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_copy_basic@mem-set-linear-0xfffe.html
   [392]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@xe_copy_basic@mem-set-linear-0xfffe.html

  * igt@xe_eu_stall@invalid-event-report-count:
    - shard-dg2-set2:     [SKIP][393] ([Intel XE#5626]) -> [SKIP][394] ([Intel XE#4208]) +1 other test skip
   [393]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-436/igt@xe_eu_stall@invalid-event-report-count.html
   [394]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_eu_stall@invalid-event-report-count.html

  * igt@xe_eu_stall@invalid-sampling-rate:
    - shard-dg2-set2:     [SKIP][395] ([Intel XE#4208]) -> [SKIP][396] ([Intel XE#5626])
   [395]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_eu_stall@invalid-sampling-rate.html
   [396]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-464/igt@xe_eu_stall@invalid-sampling-rate.html

  * igt@xe_eudebug@basic-close:
    - shard-dg2-set2:     [SKIP][397] ([Intel XE#4837]) -> [SKIP][398] ([Intel XE#4208]) +13 other tests skip
   [397]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@xe_eudebug@basic-close.html
   [398]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_eudebug@basic-close.html

  * igt@xe_eudebug@vm-bind-clear-faultable:
    - shard-dg2-set2:     [SKIP][399] ([Intel XE#4208]) -> [SKIP][400] ([Intel XE#4837]) +13 other tests skip
   [399]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_eudebug@vm-bind-clear-faultable.html
   [400]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-464/igt@xe_eudebug@vm-bind-clear-faultable.html

  * igt@xe_eudebug_sriov@deny-sriov:
    - shard-dg2-set2:     [SKIP][401] ([Intel XE#4518]) -> [SKIP][402] ([Intel XE#4208])
   [401]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@xe_eudebug_sriov@deny-sriov.html
   [402]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_eudebug_sriov@deny-sriov.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr:
    - shard-dg2-set2:     [SKIP][403] ([Intel XE#1392]) -> [SKIP][404] ([Intel XE#4208])
   [403]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html
   [404]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr.html

  * igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap:
    - shard-dg2-set2:     [SKIP][405] ([Intel XE#4208]) -> [SKIP][406] ([Intel XE#1392]) +1 other test skip
   [405]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html
   [406]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@xe_exec_basic@multigpu-no-exec-null-defer-mmap.html

  * igt@xe_exec_fault_mode@twice-userptr-invalidate-race:
    - shard-dg2-set2:     [SKIP][407] ([Intel XE#4208]) -> [SKIP][408] ([Intel XE#288]) +25 other tests skip
   [407]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_exec_fault_mode@twice-userptr-invalidate-race.html
   [408]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@xe_exec_fault_mode@twice-userptr-invalidate-race.html

  * igt@xe_exec_fault_mode@twice-userptr-rebind-imm:
    - shard-dg2-set2:     [SKIP][409] ([Intel XE#288]) -> [SKIP][410] ([Intel XE#4208]) +21 other tests skip
   [409]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-464/igt@xe_exec_fault_mode@twice-userptr-rebind-imm.html
   [410]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_exec_fault_mode@twice-userptr-rebind-imm.html

  * igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence:
    - shard-dg2-set2:     [SKIP][411] ([Intel XE#4208]) -> [SKIP][412] ([Intel XE#2360]) +1 other test skip
   [411]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence.html
   [412]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@xe_exec_mix_modes@exec-spinner-interrupted-dma-fence.html

  * igt@xe_exec_mix_modes@exec-spinner-interrupted-lr:
    - shard-dg2-set2:     [SKIP][413] ([Intel XE#2360]) -> [SKIP][414] ([Intel XE#4208])
   [413]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-433/igt@xe_exec_mix_modes@exec-spinner-interrupted-lr.html
   [414]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_exec_mix_modes@exec-spinner-interrupted-lr.html

  * igt@xe_exec_system_allocator@threads-many-large-mmap-shared-remap-dontunmap-eocheck:
    - shard-dg2-set2:     [SKIP][415] ([Intel XE#4208]) -> [SKIP][416] ([Intel XE#4915]) +278 other tests skip
   [415]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_exec_system_allocator@threads-many-large-mmap-shared-remap-dontunmap-eocheck.html
   [416]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@xe_exec_system_allocator@threads-many-large-mmap-shared-remap-dontunmap-eocheck.html

  * igt@xe_exec_system_allocator@threads-shared-vm-many-stride-mmap-remap-eocheck:
    - shard-dg2-set2:     [SKIP][417] ([Intel XE#4915]) -> [SKIP][418] ([Intel XE#4208]) +233 other tests skip
   [417]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-466/igt@xe_exec_system_allocator@threads-shared-vm-many-stride-mmap-remap-eocheck.html
   [418]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_exec_system_allocator@threads-shared-vm-many-stride-mmap-remap-eocheck.html

  * igt@xe_exec_threads@threads-hang-rebind:
    - shard-dg2-set2:     [SKIP][419] ([Intel XE#4208]) -> [DMESG-WARN][420] ([Intel XE#3876])
   [419]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_exec_threads@threads-hang-rebind.html
   [420]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@xe_exec_threads@threads-hang-rebind.html

  * igt@xe_huc_copy@huc_copy:
    - shard-dg2-set2:     [SKIP][421] ([Intel XE#255]) -> [SKIP][422] ([Intel XE#4208])
   [421]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-464/igt@xe_huc_copy@huc_copy.html
   [422]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_huc_copy@huc_copy.html

  * igt@xe_media_fill@media-fill:
    - shard-dg2-set2:     [SKIP][423] ([Intel XE#4208]) -> [SKIP][424] ([Intel XE#560])
   [423]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_media_fill@media-fill.html
   [424]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@xe_media_fill@media-fill.html

  * igt@xe_oa@mi-rpc:
    - shard-dg2-set2:     [SKIP][425] ([Intel XE#3573]) -> [SKIP][426] ([Intel XE#4208]) +4 other tests skip
   [425]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-436/igt@xe_oa@mi-rpc.html
   [426]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_oa@mi-rpc.html

  * igt@xe_oa@mmio-triggered-reports:
    - shard-dg2-set2:     [SKIP][427] ([Intel XE#4208]) -> [SKIP][428] ([Intel XE#3573]) +7 other tests skip
   [427]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_oa@mmio-triggered-reports.html
   [428]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-433/igt@xe_oa@mmio-triggered-reports.html

  * igt@xe_pat@display-vs-wb-transient:
    - shard-dg2-set2:     [SKIP][429] ([Intel XE#1337]) -> [SKIP][430] ([Intel XE#4208])
   [429]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-466/igt@xe_pat@display-vs-wb-transient.html
   [430]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_pat@display-vs-wb-transient.html

  * igt@xe_pm@d3cold-basic-exec:
    - shard-dg2-set2:     [SKIP][431] ([Intel XE#2284] / [Intel XE#366]) -> [SKIP][432] ([Intel XE#4208])
   [431]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@xe_pm@d3cold-basic-exec.html
   [432]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_pm@d3cold-basic-exec.html

  * igt@xe_pm@d3cold-i2c:
    - shard-dg2-set2:     [SKIP][433] ([Intel XE#4208]) -> [SKIP][434] ([Intel XE#5694])
   [433]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_pm@d3cold-i2c.html
   [434]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-435/igt@xe_pm@d3cold-i2c.html

  * igt@xe_pmu@fn-engine-activity-load:
    - shard-dg2-set2:     [SKIP][435] ([Intel XE#4650]) -> [SKIP][436] ([Intel XE#4208])
   [435]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-433/igt@xe_pmu@fn-engine-activity-load.html
   [436]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_pmu@fn-engine-activity-load.html

  * igt@xe_pmu@fn-engine-activity-sched-if-idle:
    - shard-bmg:          [ABORT][437] ([Intel XE#3970]) -> [DMESG-WARN][438] ([Intel XE#3876])
   [437]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-bmg-6/igt@xe_pmu@fn-engine-activity-sched-if-idle.html
   [438]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-bmg-6/igt@xe_pmu@fn-engine-activity-sched-if-idle.html

  * igt@xe_pxp@pxp-stale-bo-bind-post-rpm:
    - shard-dg2-set2:     [SKIP][439] ([Intel XE#4208]) -> [SKIP][440] ([Intel XE#4733]) +1 other test skip
   [439]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_pxp@pxp-stale-bo-bind-post-rpm.html
   [440]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-463/igt@xe_pxp@pxp-stale-bo-bind-post-rpm.html

  * igt@xe_pxp@pxp-stale-bo-bind-post-suspend:
    - shard-dg2-set2:     [SKIP][441] ([Intel XE#4733]) -> [SKIP][442] ([Intel XE#4208]) +3 other tests skip
   [441]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@xe_pxp@pxp-stale-bo-bind-post-suspend.html
   [442]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_pxp@pxp-stale-bo-bind-post-suspend.html

  * igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz:
    - shard-dg2-set2:     [SKIP][443] ([Intel XE#944]) -> [SKIP][444] ([Intel XE#4208])
   [443]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-463/igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz.html
   [444]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_query@multigpu-query-invalid-uc-fw-version-mbz.html

  * igt@xe_query@multigpu-query-oa-units:
    - shard-dg2-set2:     [SKIP][445] ([Intel XE#4208]) -> [SKIP][446] ([Intel XE#944]) +3 other tests skip
   [445]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_query@multigpu-query-oa-units.html
   [446]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@xe_query@multigpu-query-oa-units.html

  * igt@xe_render_copy@render-stress-0-copies:
    - shard-dg2-set2:     [SKIP][447] ([Intel XE#4814]) -> [SKIP][448] ([Intel XE#4208])
   [447]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-433/igt@xe_render_copy@render-stress-0-copies.html
   [448]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_render_copy@render-stress-0-copies.html

  * igt@xe_render_copy@render-stress-4-copies:
    - shard-dg2-set2:     [SKIP][449] ([Intel XE#4208]) -> [SKIP][450] ([Intel XE#4814]) +1 other test skip
   [449]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_render_copy@render-stress-4-copies.html
   [450]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-436/igt@xe_render_copy@render-stress-4-copies.html

  * igt@xe_sriov_auto_provisioning@exclusive-ranges:
    - shard-dg2-set2:     [SKIP][451] ([Intel XE#4208]) -> [SKIP][452] ([Intel XE#4130]) +1 other test skip
   [451]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-434/igt@xe_sriov_auto_provisioning@exclusive-ranges.html
   [452]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-432/igt@xe_sriov_auto_provisioning@exclusive-ranges.html

  * igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling:
    - shard-dg2-set2:     [SKIP][453] ([Intel XE#4130]) -> [SKIP][454] ([Intel XE#4208]) +2 other tests skip
   [453]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577/shard-dg2-436/igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling.html
   [454]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/shard-dg2-434/igt@xe_sriov_auto_provisioning@resources-released-on-vfs-disabling.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [Intel XE#1091]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1091
  [Intel XE#1122]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1122
  [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#1129]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1129
  [Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
  [Intel XE#1337]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1337
  [Intel XE#1340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1340
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1401]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1401
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1421]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1421
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1475]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1475
  [Intel XE#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#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
  [Intel XE#2134]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2134
  [Intel XE#2168]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2168
  [Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
  [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
  [Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
  [Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
  [Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
  [Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
  [Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
  [Intel XE#2328]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2328
  [Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
  [Intel XE#2351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2351
  [Intel XE#2360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2360
  [Intel XE#2373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2373
  [Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
  [Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [Intel XE#2414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2414
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
  [Intel XE#255]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/255
  [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#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2849]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2849
  [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#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
  [Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
  [Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
  [Intel XE#2925]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2925
  [Intel XE#2927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2927
  [Intel XE#2939]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2939
  [Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#3098]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3098
  [Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
  [Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
  [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149
  [Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#3278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3278
  [Intel XE#3309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3309
  [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#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [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#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#3862]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3862
  [Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
  [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#4130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4130
  [Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
  [Intel XE#4208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4208
  [Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
  [Intel XE#4298]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4298
  [Intel XE#4331]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4331
  [Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
  [Intel XE#4356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4356
  [Intel XE#4416]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4416
  [Intel XE#4422]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4422
  [Intel XE#4488]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4488
  [Intel XE#4518]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4518
  [Intel XE#4519]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4519
  [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#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
  [Intel XE#4633]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4633
  [Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
  [Intel XE#4665]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4665
  [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#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
  [Intel XE#4921]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4921
  [Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
  [Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
  [Intel XE#5021]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5021
  [Intel XE#5103]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5103
  [Intel XE#5208]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5208
  [Intel XE#5249]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5249
  [Intel XE#5299]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5299
  [Intel XE#5300]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5300
  [Intel XE#5354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5354
  [Intel XE#5376]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5376
  [Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
  [Intel XE#5530]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5530
  [Intel XE#5545]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5545
  [Intel XE#5561]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5561
  [Intel XE#5565]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5565
  [Intel XE#5575]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5575
  [Intel XE#560]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/560
  [Intel XE#5611]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5611
  [Intel XE#5626]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5626
  [Intel XE#5632]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5632
  [Intel XE#5694]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5694
  [Intel XE#5786]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5786
  [Intel XE#579]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/579
  [Intel XE#5793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5793
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [Intel XE#5890]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5890
  [Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
  [Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
  [Intel XE#619]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/619
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/776
  [Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#911]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/911
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944
  [i915#2575]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2575


Build changes
-------------

  * IGT: IGT_8507 -> IGT_8508
  * Linux: xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577 -> xe-pw-149756v9

  IGT_8507: 8507
  IGT_8508: 939fac7f7b11a8902ebcf9a4bc9c26c14e87e8a6 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  xe-3616-74c8b78443fb1a201ee11160087f9e71ce959577: 74c8b78443fb1a201ee11160087f9e71ce959577
  xe-pw-149756v9: 149756v9

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-149756v9/index.html

[-- Attachment #2: Type: text/html, Size: 152118 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v9 02/10] drm: Add a vendor-specific recovery method to drm device wedged uevent
  2025-08-26  6:34 ` [PATCH v9 02/10] drm: Add a vendor-specific recovery method to drm device wedged uevent Riana Tauro
@ 2025-08-26 14:15   ` Rodrigo Vivi
  0 siblings, 0 replies; 17+ messages in thread
From: Rodrigo Vivi @ 2025-08-26 14:15 UTC (permalink / raw)
  To: Riana Tauro
  Cc: intel-xe, dri-devel, anshuman.gupta, lucas.demarchi,
	aravind.iddamsetty, raag.jadav, umesh.nerlige.ramappa,
	frank.scarbrough, sk.anirban, simona.vetter, maarten.lankhorst,
	mripard, tzimmermann, André Almeida, Christian König,
	David Airlie

On Tue, Aug 26, 2025 at 12:04:09PM +0530, Riana Tauro wrote:
> Address the need for a recovery method (firmware flash on Firmware errors)
> introduced in the later patches of Xe KMD.
> Whenever XE KMD detects a firmware error, a firmware flash is required to
> recover the device to normal operation.
> 
> The initial proposal to use 'firmware-flash' as a recovery method was
> not applicable to other drivers and could cause multiple recovery
> methods specific to vendors to be added.
> To address this a more generic 'vendor-specific' method is introduced,
> guiding users to refer to vendor specific documentation and system logs
> for detailed vendor specific recovery procedure.
> 
> Add a recovery method 'WEDGED=vendor-specific' for such errors.
> Vendors must provide additional recovery documentation if this method
> is used.
> 
> It is the responsibility of the consumer to refer to the correct vendor
> specific documentation and usecase before attempting a recovery.
> 
> For example: If driver is XE KMD, the consumer must refer
> to the documentation of 'Device Wedging' under 'Documentation/gpu/xe/'.
> 
> v2: fix documentation (Raag)
> v3: add more details to commit message (Sima, Rodrigo, Raag)
>     add an example script to the documentation (Raag)
> v4: use consistent naming (Raag)
> v5: fix commit message
> v6: add more documentation
> 
> Cc: André Almeida <andrealmeid@igalia.com>
> Cc: Christian König <christian.koenig@amd.com>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Simona Vetter <simona.vetter@ffwll.ch>
> Cc: Maxime Ripard <mripard@kernel.org>
> Signed-off-by: Riana Tauro <riana.tauro@intel.com>
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Acked-by: Maxime Ripard <mripard@kernel.org>

pushed to drm-xe-next. Thank you all for the patches, ideas, reviews, etc

> ---
>  Documentation/gpu/drm-uapi.rst | 49 ++++++++++++++++++++++++++++------
>  drivers/gpu/drm/drm_drv.c      |  2 ++
>  include/drm/drm_device.h       |  4 +++
>  3 files changed, 47 insertions(+), 8 deletions(-)
> 
> diff --git a/Documentation/gpu/drm-uapi.rst b/Documentation/gpu/drm-uapi.rst
> index 843facf01b2d..8af88feed80c 100644
> --- a/Documentation/gpu/drm-uapi.rst
> +++ b/Documentation/gpu/drm-uapi.rst
> @@ -418,13 +418,12 @@ needed.
>  Recovery
>  --------
>  
> -Current implementation defines three recovery methods, out of which, drivers
> +Current implementation defines four recovery methods, out of which, drivers
>  can use any one, multiple or none. Method(s) of choice will be sent in the
>  uevent environment as ``WEDGED=<method1>[,..,<methodN>]`` in order of less to
> -more side-effects. If driver is unsure about recovery or method is unknown
> -(like soft/hard system reboot, firmware flashing, physical device replacement
> -or any other procedure which can't be attempted on the fly), ``WEDGED=unknown``
> -will be sent instead.
> +more side-effects. See the section `Vendor Specific Recovery`_
> +for ``WEDGED=vendor-specific``. If driver is unsure about recovery or
> +method is unknown, ``WEDGED=unknown`` will be sent instead.
>  
>  Userspace consumers can parse this event and attempt recovery as per the
>  following expectations.
> @@ -435,6 +434,7 @@ following expectations.
>      none            optional telemetry collection
>      rebind          unbind + bind driver
>      bus-reset       unbind + bus reset/re-enumeration + bind
> +    vendor-specific vendor specific recovery method
>      unknown         consumer policy
>      =============== ========================================
>  
> @@ -446,6 +446,35 @@ telemetry information (devcoredump, syslog). This is useful because the first
>  hang is usually the most critical one which can result in consequential hangs or
>  complete wedging.
>  
> +
> +Vendor Specific Recovery
> +------------------------
> +
> +When ``WEDGED=vendor-specific`` is sent, it indicates that the device requires
> +a recovery procedure specific to the hardware vendor and is not one of the
> +standardized approaches.
> +
> +``WEDGED=vendor-specific`` may be used to indicate different cases within a
> +single vendor driver, each requiring a distinct recovery procedure.
> +In such scenarios, the vendor driver must provide comprehensive documentation
> +that describes each case, include additional hints to identify specific case and
> +outline the corresponding recovery procedure. The documentation includes:
> +
> +Case - A list of all cases that sends the ``WEDGED=vendor-specific`` recovery method.
> +
> +Hints - Additional Information to assist the userspace consumer in identifying and
> +differentiating between different cases. This can be exposed through sysfs, debugfs,
> +traces, dmesg etc.
> +
> +Recovery Procedure - Clear instructions and guidance for recovering each case.
> +This may include userspace scripts, tools needed for the recovery procedure.
> +
> +It is the responsibility of the admin/userspace consumer to identify the case and
> +verify additional identification hints before attempting a recovery procedure.
> +
> +Example: If the device uses the Xe driver, then userspace consumer should refer to
> +:ref:`Xe Device Wedging <xe-device-wedging>` for the detailed documentation.
> +
>  Task information
>  ----------------
>  
> @@ -472,8 +501,12 @@ erroring out, all device memory should be unmapped and file descriptors should
>  be closed to prevent leaks or undefined behaviour. The idea here is to clear the
>  device of all user context beforehand and set the stage for a clean recovery.
>  
> -Example
> --------
> +For ``WEDGED=vendor-specific`` recovery method, it is the responsibility of the
> +consumer to check the driver documentation and the usecase before attempting
> +a recovery.
> +
> +Example - rebind
> +----------------
>  
>  Udev rule::
>  
> diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
> index cdd591b11488..0ac723a46a91 100644
> --- a/drivers/gpu/drm/drm_drv.c
> +++ b/drivers/gpu/drm/drm_drv.c
> @@ -532,6 +532,8 @@ static const char *drm_get_wedge_recovery(unsigned int opt)
>  		return "rebind";
>  	case DRM_WEDGE_RECOVERY_BUS_RESET:
>  		return "bus-reset";
> +	case DRM_WEDGE_RECOVERY_VENDOR:
> +		return "vendor-specific";
>  	default:
>  		return NULL;
>  	}
> diff --git a/include/drm/drm_device.h b/include/drm/drm_device.h
> index a33aedd5e9ec..59fd3f4d5995 100644
> --- a/include/drm/drm_device.h
> +++ b/include/drm/drm_device.h
> @@ -26,10 +26,14 @@ struct pci_controller;
>   * Recovery methods for wedged device in order of less to more side-effects.
>   * To be used with drm_dev_wedged_event() as recovery @method. Callers can
>   * use any one, multiple (or'd) or none depending on their needs.
> + *
> + * Refer to "Device Wedging" chapter in Documentation/gpu/drm-uapi.rst for more
> + * details.
>   */
>  #define DRM_WEDGE_RECOVERY_NONE		BIT(0)	/* optional telemetry collection */
>  #define DRM_WEDGE_RECOVERY_REBIND	BIT(1)	/* unbind + bind driver */
>  #define DRM_WEDGE_RECOVERY_BUS_RESET	BIT(2)	/* unbind + reset bus device + bind */
> +#define DRM_WEDGE_RECOVERY_VENDOR	BIT(3)	/* vendor specific recovery method */
>  
>  /**
>   * struct drm_wedge_task_info - information about the guilty task of a wedge dev
> -- 
> 2.47.1
> 

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2025-08-26 14:15 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-26  6:34 [PATCH v9 00/10] Handle Firmware reported Hardware Errors Riana Tauro
2025-08-26  6:15 ` ✗ CI.checkpatch: warning for Handle Firmware reported Hardware Errors (rev9) Patchwork
2025-08-26  6:16 ` ✓ CI.KUnit: success " Patchwork
2025-08-26  6:31 ` ✗ CI.checksparse: warning " Patchwork
2025-08-26  6:34 ` [PATCH v9 01/10] drm/xe: Add documentation for Xe Device Wedging Riana Tauro
2025-08-26  6:34 ` [PATCH v9 02/10] drm: Add a vendor-specific recovery method to drm device wedged uevent Riana Tauro
2025-08-26 14:15   ` Rodrigo Vivi
2025-08-26  6:34 ` [PATCH v9 03/10] drm/xe: Set GT as wedged before sending " Riana Tauro
2025-08-26  6:34 ` [PATCH v9 04/10] drm/xe: Add a helper function to set recovery method Riana Tauro
2025-08-26  6:34 ` [PATCH v9 05/10] drm/xe/xe_survivability: Refactor survivability mode Riana Tauro
2025-08-26  6:34 ` [PATCH v9 06/10] drm/xe/xe_survivability: Add support for Runtime " Riana Tauro
2025-08-26  6:34 ` [PATCH v9 07/10] drm/xe/doc: Document device wedged and runtime survivability Riana Tauro
2025-08-26  6:34 ` [PATCH v9 08/10] drm/xe: Add support to handle hardware errors Riana Tauro
2025-08-26  6:34 ` [PATCH v9 09/10] drm/xe/xe_hw_error: Handle CSC Firmware reported Hardware errors Riana Tauro
2025-08-26  6:34 ` [PATCH v9 10/10] drm/xe/xe_hw_error: Add fault injection to trigger csc error handler Riana Tauro
2025-08-26  7:25 ` ✓ Xe.CI.BAT: success for Handle Firmware reported Hardware Errors (rev9) Patchwork
2025-08-26 12:06 ` ✓ 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;
as well as URLs for NNTP newsgroup(s).