* ✗ CI.checkpatch: warning for Add ocode late binding support for CRI (rev4)
2026-07-23 8:37 [PATCH v4 0/5] Add ocode late binding support for CRI Badal Nilawar
@ 2026-07-23 8:33 ` Patchwork
2026-07-23 8:35 ` ✓ CI.KUnit: success " Patchwork
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2026-07-23 8:33 UTC (permalink / raw)
To: Badal Nilawar; +Cc: intel-xe
== Series Details ==
Series: Add ocode late binding support for CRI (rev4)
URL : https://patchwork.freedesktop.org/series/162657/
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
061140b9bc586ae7f40abc1249c97e1cc72d1b9d
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 30c96b75868d1eee4d06f7d3dd3d2de0cebb2ee3
Author: Badal Nilawar <badal.nilawar@intel.com>
Date: Thu Jul 23 14:07:05 2026 +0530
drm/xe/xe_late_bind_fw: Refactor pm flow
Refactor late binding flow across suspend/resume by adding dedicated
pm functions.
Assisted-by: GitHub-Copilot:GPT-5.3
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
+ /mt/dim checkpatch 2917ea6f91d2957b4c9fa73d4631ccdb6a650830 drm-intel
4721b8dd6bc7 drm/xe/xe_late_bind_fw: Fix firmware leak on missing manifest entry
410db8b3175a drm/xe/xe_late_bind_fw: Convert late bind flag to mask
7ec33c41c06b drm/xe/xe_late_bind_fw: Add support to load Ocode firmware
-:17: WARNING:TYPO_SPELLING: 'dependancy' may be misspelled - perhaps 'dependency'?
#17:
- Declare the Ocode firmware dependancy with MODULE_FIRMWARE (Daniele)
^^^^^^^^^^
total: 0 errors, 1 warnings, 0 checks, 130 lines checked
65870cd45fb1 drm/xe/xe_late_bind_fw: Enable late binding support for CRI
30c96b75868d drm/xe/xe_late_bind_fw: Refactor pm flow
^ permalink raw reply [flat|nested] 10+ messages in thread
* ✓ CI.KUnit: success for Add ocode late binding support for CRI (rev4)
2026-07-23 8:37 [PATCH v4 0/5] Add ocode late binding support for CRI Badal Nilawar
2026-07-23 8:33 ` ✗ CI.checkpatch: warning for Add ocode late binding support for CRI (rev4) Patchwork
@ 2026-07-23 8:35 ` Patchwork
2026-07-23 8:37 ` [PATCH v4 1/5] drm/xe/xe_late_bind_fw: Fix firmware leak on missing manifest entry Badal Nilawar
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2026-07-23 8:35 UTC (permalink / raw)
To: Badal Nilawar; +Cc: intel-xe
== Series Details ==
Series: Add ocode late binding support for CRI (rev4)
URL : https://patchwork.freedesktop.org/series/162657/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[08:33:30] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[08:33:35] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=25
[08:34:33] Starting KUnit Kernel (1/1)...
[08:34:33] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[08:34:34] ================== guc_buf (11 subtests) ===================
[08:34:34] [PASSED] test_smallest
[08:34:34] [PASSED] test_largest
[08:34:34] [PASSED] test_granular
[08:34:34] [PASSED] test_unique
[08:34:34] [PASSED] test_overlap
[08:34:34] [PASSED] test_reusable
[08:34:34] [PASSED] test_too_big
[08:34:34] [PASSED] test_flush
[08:34:34] [PASSED] test_lookup
[08:34:34] [PASSED] test_data
[08:34:34] [PASSED] test_class
[08:34:34] ===================== [PASSED] guc_buf =====================
[08:34:34] =================== guc_dbm (7 subtests) ===================
[08:34:34] [PASSED] test_empty
[08:34:34] [PASSED] test_default
[08:34:34] ======================== test_size ========================
[08:34:34] [PASSED] 4
[08:34:34] [PASSED] 8
[08:34:34] [PASSED] 32
[08:34:34] [PASSED] 256
[08:34:34] ==================== [PASSED] test_size ====================
[08:34:34] ======================= test_reuse ========================
[08:34:34] [PASSED] 4
[08:34:34] [PASSED] 8
[08:34:34] [PASSED] 32
[08:34:34] [PASSED] 256
[08:34:34] =================== [PASSED] test_reuse ====================
[08:34:34] =================== test_range_overlap ====================
[08:34:34] [PASSED] 4
[08:34:34] [PASSED] 8
[08:34:34] [PASSED] 32
[08:34:34] [PASSED] 256
[08:34:34] =============== [PASSED] test_range_overlap ================
[08:34:34] =================== test_range_compact ====================
[08:34:34] [PASSED] 4
[08:34:34] [PASSED] 8
[08:34:34] [PASSED] 32
[08:34:34] [PASSED] 256
[08:34:34] =============== [PASSED] test_range_compact ================
[08:34:34] ==================== test_range_spare =====================
[08:34:34] [PASSED] 4
[08:34:34] [PASSED] 8
[08:34:34] [PASSED] 32
[08:34:34] [PASSED] 256
[08:34:34] ================ [PASSED] test_range_spare =================
[08:34:34] ===================== [PASSED] guc_dbm =====================
[08:34:34] =================== guc_idm (6 subtests) ===================
[08:34:34] [PASSED] bad_init
[08:34:34] [PASSED] no_init
[08:34:34] [PASSED] init_fini
[08:34:34] [PASSED] check_used
[08:34:34] [PASSED] check_quota
[08:34:34] [PASSED] check_all
[08:34:34] ===================== [PASSED] guc_idm =====================
[08:34:34] =============== guc_klv_helpers (9 subtests) ===============
[08:34:34] [PASSED] test_count
[08:34:34] [PASSED] test_encode_u32
[08:34:34] [PASSED] test_encode_u64
[08:34:34] [PASSED] test_encode_string
[08:34:34] [PASSED] test_encode_object_raw
[08:34:34] [PASSED] test_encode_object_klv
[08:34:34] [PASSED] test_encode_object_nested
[08:34:34] [PASSED] test_encode_object_basic
[08:34:34] [PASSED] test_print
[08:34:34] ================= [PASSED] guc_klv_helpers =================
[08:34:34] ================== no_relay (3 subtests) ===================
[08:34:34] [PASSED] xe_drops_guc2pf_if_not_ready
[08:34:34] [PASSED] xe_drops_guc2vf_if_not_ready
[08:34:34] [PASSED] xe_rejects_send_if_not_ready
[08:34:34] ==================== [PASSED] no_relay =====================
[08:34:34] ================== pf_relay (14 subtests) ==================
[08:34:34] [PASSED] pf_rejects_guc2pf_too_short
[08:34:34] [PASSED] pf_rejects_guc2pf_too_long
[08:34:34] [PASSED] pf_rejects_guc2pf_no_payload
[08:34:34] [PASSED] pf_fails_no_payload
[08:34:34] [PASSED] pf_fails_bad_origin
[08:34:34] [PASSED] pf_fails_bad_type
[08:34:34] [PASSED] pf_txn_reports_error
[08:34:34] [PASSED] pf_txn_sends_pf2guc
[08:34:34] [PASSED] pf_sends_pf2guc
[08:34:34] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[08:34:34] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[08:34:34] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[08:34:34] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[08:34:34] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[08:34:34] ==================== [PASSED] pf_relay =====================
[08:34:34] ================== vf_relay (3 subtests) ===================
[08:34:34] [PASSED] vf_rejects_guc2vf_too_short
[08:34:34] [PASSED] vf_rejects_guc2vf_too_long
[08:34:34] [PASSED] vf_rejects_guc2vf_no_payload
[08:34:34] ==================== [PASSED] vf_relay =====================
[08:34:34] ================ pf_gt_config (9 subtests) =================
[08:34:34] [PASSED] fair_contexts_1vf
[08:34:34] [PASSED] fair_doorbells_1vf
[08:34:34] [PASSED] fair_ggtt_1vf
[08:34:34] ====================== fair_vram_1vf ======================
[08:34:34] [PASSED] 3.50 GiB
[08:34:34] [PASSED] 11.5 GiB
[08:34:34] [PASSED] 15.5 GiB
[08:34:34] [PASSED] 31.5 GiB
[08:34:34] [PASSED] 63.5 GiB
[08:34:34] [PASSED] 1.91 GiB
[08:34:34] ================== [PASSED] fair_vram_1vf ==================
[08:34:34] ================ fair_vram_1vf_admin_only =================
[08:34:34] [PASSED] 3.50 GiB
[08:34:34] [PASSED] 11.5 GiB
[08:34:34] [PASSED] 15.5 GiB
[08:34:34] [PASSED] 31.5 GiB
[08:34:34] [PASSED] 63.5 GiB
[08:34:34] [PASSED] 1.91 GiB
[08:34:34] ============ [PASSED] fair_vram_1vf_admin_only =============
[08:34:34] ====================== fair_contexts ======================
[08:34:34] [PASSED] 1 VF
[08:34:34] [PASSED] 2 VFs
[08:34:34] [PASSED] 3 VFs
[08:34:34] [PASSED] 4 VFs
[08:34:34] [PASSED] 5 VFs
[08:34:34] [PASSED] 6 VFs
[08:34:34] [PASSED] 7 VFs
[08:34:34] [PASSED] 8 VFs
[08:34:34] [PASSED] 9 VFs
[08:34:34] [PASSED] 10 VFs
[08:34:34] [PASSED] 11 VFs
[08:34:34] [PASSED] 12 VFs
[08:34:34] [PASSED] 13 VFs
[08:34:34] [PASSED] 14 VFs
[08:34:34] [PASSED] 15 VFs
[08:34:34] [PASSED] 16 VFs
[08:34:34] [PASSED] 17 VFs
[08:34:34] [PASSED] 18 VFs
[08:34:34] [PASSED] 19 VFs
[08:34:34] [PASSED] 20 VFs
[08:34:34] [PASSED] 21 VFs
[08:34:34] [PASSED] 22 VFs
[08:34:34] [PASSED] 23 VFs
[08:34:34] [PASSED] 24 VFs
[08:34:34] [PASSED] 25 VFs
[08:34:34] [PASSED] 26 VFs
[08:34:34] [PASSED] 27 VFs
[08:34:34] [PASSED] 28 VFs
[08:34:34] [PASSED] 29 VFs
[08:34:34] [PASSED] 30 VFs
[08:34:34] [PASSED] 31 VFs
[08:34:34] [PASSED] 32 VFs
[08:34:34] [PASSED] 33 VFs
[08:34:34] [PASSED] 34 VFs
[08:34:34] [PASSED] 35 VFs
[08:34:34] [PASSED] 36 VFs
[08:34:34] [PASSED] 37 VFs
[08:34:34] [PASSED] 38 VFs
[08:34:34] [PASSED] 39 VFs
[08:34:34] [PASSED] 40 VFs
[08:34:34] [PASSED] 41 VFs
[08:34:34] [PASSED] 42 VFs
[08:34:34] [PASSED] 43 VFs
[08:34:34] [PASSED] 44 VFs
[08:34:34] [PASSED] 45 VFs
[08:34:34] [PASSED] 46 VFs
[08:34:34] [PASSED] 47 VFs
[08:34:34] [PASSED] 48 VFs
[08:34:34] [PASSED] 49 VFs
[08:34:34] [PASSED] 50 VFs
[08:34:34] [PASSED] 51 VFs
[08:34:34] [PASSED] 52 VFs
[08:34:34] [PASSED] 53 VFs
[08:34:34] [PASSED] 54 VFs
[08:34:34] [PASSED] 55 VFs
[08:34:34] [PASSED] 56 VFs
[08:34:34] [PASSED] 57 VFs
[08:34:34] [PASSED] 58 VFs
[08:34:34] [PASSED] 59 VFs
[08:34:34] [PASSED] 60 VFs
[08:34:34] [PASSED] 61 VFs
[08:34:34] [PASSED] 62 VFs
[08:34:34] [PASSED] 63 VFs
[08:34:34] ================== [PASSED] fair_contexts ==================
[08:34:34] ===================== fair_doorbells ======================
[08:34:34] [PASSED] 1 VF
[08:34:34] [PASSED] 2 VFs
[08:34:34] [PASSED] 3 VFs
[08:34:34] [PASSED] 4 VFs
[08:34:34] [PASSED] 5 VFs
[08:34:34] [PASSED] 6 VFs
[08:34:34] [PASSED] 7 VFs
[08:34:34] [PASSED] 8 VFs
[08:34:34] [PASSED] 9 VFs
[08:34:34] [PASSED] 10 VFs
[08:34:34] [PASSED] 11 VFs
[08:34:34] [PASSED] 12 VFs
[08:34:34] [PASSED] 13 VFs
[08:34:34] [PASSED] 14 VFs
[08:34:34] [PASSED] 15 VFs
[08:34:34] [PASSED] 16 VFs
[08:34:34] [PASSED] 17 VFs
[08:34:34] [PASSED] 18 VFs
[08:34:34] [PASSED] 19 VFs
[08:34:34] [PASSED] 20 VFs
[08:34:34] [PASSED] 21 VFs
[08:34:34] [PASSED] 22 VFs
[08:34:34] [PASSED] 23 VFs
[08:34:34] [PASSED] 24 VFs
[08:34:34] [PASSED] 25 VFs
[08:34:34] [PASSED] 26 VFs
[08:34:34] [PASSED] 27 VFs
[08:34:34] [PASSED] 28 VFs
[08:34:34] [PASSED] 29 VFs
[08:34:34] [PASSED] 30 VFs
[08:34:34] [PASSED] 31 VFs
[08:34:34] [PASSED] 32 VFs
[08:34:34] [PASSED] 33 VFs
[08:34:34] [PASSED] 34 VFs
[08:34:34] [PASSED] 35 VFs
[08:34:34] [PASSED] 36 VFs
[08:34:34] [PASSED] 37 VFs
[08:34:34] [PASSED] 38 VFs
[08:34:34] [PASSED] 39 VFs
[08:34:34] [PASSED] 40 VFs
[08:34:34] [PASSED] 41 VFs
[08:34:34] [PASSED] 42 VFs
[08:34:34] [PASSED] 43 VFs
[08:34:34] [PASSED] 44 VFs
[08:34:34] [PASSED] 45 VFs
[08:34:34] [PASSED] 46 VFs
[08:34:34] [PASSED] 47 VFs
[08:34:34] [PASSED] 48 VFs
[08:34:34] [PASSED] 49 VFs
[08:34:34] [PASSED] 50 VFs
[08:34:34] [PASSED] 51 VFs
[08:34:34] [PASSED] 52 VFs
[08:34:34] [PASSED] 53 VFs
[08:34:34] [PASSED] 54 VFs
[08:34:34] [PASSED] 55 VFs
[08:34:34] [PASSED] 56 VFs
[08:34:34] [PASSED] 57 VFs
[08:34:34] [PASSED] 58 VFs
[08:34:34] [PASSED] 59 VFs
[08:34:34] [PASSED] 60 VFs
[08:34:34] [PASSED] 61 VFs
[08:34:34] [PASSED] 62 VFs
[08:34:34] [PASSED] 63 VFs
[08:34:34] ================= [PASSED] fair_doorbells ==================
[08:34:34] ======================== fair_ggtt ========================
[08:34:34] [PASSED] 1 VF
[08:34:34] [PASSED] 2 VFs
[08:34:34] [PASSED] 3 VFs
[08:34:34] [PASSED] 4 VFs
[08:34:34] [PASSED] 5 VFs
[08:34:34] [PASSED] 6 VFs
[08:34:34] [PASSED] 7 VFs
[08:34:34] [PASSED] 8 VFs
[08:34:34] [PASSED] 9 VFs
[08:34:34] [PASSED] 10 VFs
[08:34:34] [PASSED] 11 VFs
[08:34:34] [PASSED] 12 VFs
[08:34:34] [PASSED] 13 VFs
[08:34:34] [PASSED] 14 VFs
[08:34:34] [PASSED] 15 VFs
[08:34:34] [PASSED] 16 VFs
[08:34:34] [PASSED] 17 VFs
[08:34:34] [PASSED] 18 VFs
[08:34:34] [PASSED] 19 VFs
[08:34:34] [PASSED] 20 VFs
[08:34:34] [PASSED] 21 VFs
[08:34:34] [PASSED] 22 VFs
[08:34:34] [PASSED] 23 VFs
[08:34:34] [PASSED] 24 VFs
[08:34:34] [PASSED] 25 VFs
[08:34:34] [PASSED] 26 VFs
[08:34:34] [PASSED] 27 VFs
[08:34:34] [PASSED] 28 VFs
[08:34:34] [PASSED] 29 VFs
[08:34:34] [PASSED] 30 VFs
[08:34:34] [PASSED] 31 VFs
[08:34:34] [PASSED] 32 VFs
[08:34:34] [PASSED] 33 VFs
[08:34:34] [PASSED] 34 VFs
[08:34:34] [PASSED] 35 VFs
[08:34:34] [PASSED] 36 VFs
[08:34:34] [PASSED] 37 VFs
[08:34:34] [PASSED] 38 VFs
[08:34:34] [PASSED] 39 VFs
[08:34:34] [PASSED] 40 VFs
[08:34:34] [PASSED] 41 VFs
[08:34:34] [PASSED] 42 VFs
[08:34:34] [PASSED] 43 VFs
[08:34:34] [PASSED] 44 VFs
[08:34:34] [PASSED] 45 VFs
[08:34:34] [PASSED] 46 VFs
[08:34:34] [PASSED] 47 VFs
[08:34:34] [PASSED] 48 VFs
[08:34:34] [PASSED] 49 VFs
[08:34:34] [PASSED] 50 VFs
[08:34:34] [PASSED] 51 VFs
[08:34:34] [PASSED] 52 VFs
[08:34:34] [PASSED] 53 VFs
[08:34:34] [PASSED] 54 VFs
[08:34:34] [PASSED] 55 VFs
[08:34:34] [PASSED] 56 VFs
[08:34:34] [PASSED] 57 VFs
[08:34:34] [PASSED] 58 VFs
[08:34:34] [PASSED] 59 VFs
[08:34:34] [PASSED] 60 VFs
[08:34:34] [PASSED] 61 VFs
[08:34:34] [PASSED] 62 VFs
[08:34:34] [PASSED] 63 VFs
[08:34:34] ==================== [PASSED] fair_ggtt ====================
[08:34:34] ======================== fair_vram ========================
[08:34:34] [PASSED] 1 VF
[08:34:34] [PASSED] 2 VFs
[08:34:34] [PASSED] 3 VFs
[08:34:34] [PASSED] 4 VFs
[08:34:34] [PASSED] 5 VFs
[08:34:34] [PASSED] 6 VFs
[08:34:34] [PASSED] 7 VFs
[08:34:34] [PASSED] 8 VFs
[08:34:34] [PASSED] 9 VFs
[08:34:34] [PASSED] 10 VFs
[08:34:34] [PASSED] 11 VFs
[08:34:34] [PASSED] 12 VFs
[08:34:34] [PASSED] 13 VFs
[08:34:34] [PASSED] 14 VFs
[08:34:34] [PASSED] 15 VFs
[08:34:34] [PASSED] 16 VFs
[08:34:34] [PASSED] 17 VFs
[08:34:34] [PASSED] 18 VFs
[08:34:34] [PASSED] 19 VFs
[08:34:34] [PASSED] 20 VFs
[08:34:34] [PASSED] 21 VFs
[08:34:34] [PASSED] 22 VFs
[08:34:34] [PASSED] 23 VFs
[08:34:34] [PASSED] 24 VFs
[08:34:34] [PASSED] 25 VFs
[08:34:34] [PASSED] 26 VFs
[08:34:34] [PASSED] 27 VFs
[08:34:34] [PASSED] 28 VFs
[08:34:34] [PASSED] 29 VFs
[08:34:34] [PASSED] 30 VFs
[08:34:34] [PASSED] 31 VFs
[08:34:34] [PASSED] 32 VFs
[08:34:34] [PASSED] 33 VFs
[08:34:34] [PASSED] 34 VFs
[08:34:34] [PASSED] 35 VFs
[08:34:34] [PASSED] 36 VFs
[08:34:34] [PASSED] 37 VFs
[08:34:34] [PASSED] 38 VFs
[08:34:34] [PASSED] 39 VFs
[08:34:34] [PASSED] 40 VFs
[08:34:34] [PASSED] 41 VFs
[08:34:34] [PASSED] 42 VFs
[08:34:34] [PASSED] 43 VFs
[08:34:34] [PASSED] 44 VFs
[08:34:34] [PASSED] 45 VFs
[08:34:34] [PASSED] 46 VFs
[08:34:34] [PASSED] 47 VFs
[08:34:34] [PASSED] 48 VFs
[08:34:34] [PASSED] 49 VFs
[08:34:34] [PASSED] 50 VFs
[08:34:34] [PASSED] 51 VFs
[08:34:34] [PASSED] 52 VFs
[08:34:34] [PASSED] 53 VFs
[08:34:34] [PASSED] 54 VFs
[08:34:34] [PASSED] 55 VFs
[08:34:34] [PASSED] 56 VFs
[08:34:34] [PASSED] 57 VFs
[08:34:34] [PASSED] 58 VFs
[08:34:34] [PASSED] 59 VFs
[08:34:34] [PASSED] 60 VFs
[08:34:34] [PASSED] 61 VFs
[08:34:34] [PASSED] 62 VFs
[08:34:34] [PASSED] 63 VFs
[08:34:34] ==================== [PASSED] fair_vram ====================
[08:34:34] ================== [PASSED] pf_gt_config ===================
[08:34:34] ===================== lmtt (1 subtest) =====================
[08:34:34] ======================== test_ops =========================
[08:34:34] [PASSED] 2-level
[08:34:34] [PASSED] multi-level
[08:34:34] ==================== [PASSED] test_ops =====================
[08:34:34] ====================== [PASSED] lmtt =======================
[08:34:34] ================= sriov_packet (1 subtest) =================
[08:34:34] [PASSED] test_descriptor_init
[08:34:34] ================== [PASSED] sriov_packet ===================
[08:34:34] ================= pf_service (11 subtests) =================
[08:34:34] [PASSED] pf_negotiate_any
[08:34:34] [PASSED] pf_negotiate_base_match
[08:34:34] [PASSED] pf_negotiate_base_newer
[08:34:34] [PASSED] pf_negotiate_base_next
[08:34:34] [SKIPPED] pf_negotiate_base_older (no older minor)
[08:34:34] [PASSED] pf_negotiate_base_prev
[08:34:34] [PASSED] pf_negotiate_latest_match
[08:34:34] [PASSED] pf_negotiate_latest_newer
[08:34:34] [PASSED] pf_negotiate_latest_next
[08:34:34] [SKIPPED] pf_negotiate_latest_older (no older minor)
[08:34:34] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[08:34:34] =================== [PASSED] pf_service ====================
[08:34:34] ================= xe_guc_g2g (2 subtests) ==================
[08:34:34] ============== xe_live_guc_g2g_kunit_default ==============
[08:34:34] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[08:34:34] ============== xe_live_guc_g2g_kunit_allmem ===============
[08:34:34] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[08:34:34] =================== [SKIPPED] xe_guc_g2g ===================
[08:34:34] =================== xe_mocs (2 subtests) ===================
[08:34:34] ================ xe_live_mocs_kernel_kunit ================
[08:34:34] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[08:34:34] ================ xe_live_mocs_reset_kunit =================
[08:34:34] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[08:34:34] ==================== [SKIPPED] xe_mocs =====================
[08:34:34] ================= xe_migrate (2 subtests) ==================
[08:34:34] ================= xe_migrate_sanity_kunit =================
[08:34:34] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[08:34:34] ================== xe_validate_ccs_kunit ==================
[08:34:34] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[08:34:34] =================== [SKIPPED] xe_migrate ===================
[08:34:34] ================== xe_dma_buf (1 subtest) ==================
[08:34:34] ==================== xe_dma_buf_kunit =====================
[08:34:34] ================ [SKIPPED] xe_dma_buf_kunit ================
[08:34:34] =================== [SKIPPED] xe_dma_buf ===================
[08:34:34] ================= xe_bo_shrink (1 subtest) =================
[08:34:34] =================== xe_bo_shrink_kunit ====================
[08:34:34] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[08:34:34] ================== [SKIPPED] xe_bo_shrink ==================
[08:34:34] ==================== xe_bo (2 subtests) ====================
[08:34:34] ================== xe_ccs_migrate_kunit ===================
[08:34:34] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[08:34:34] ==================== xe_bo_evict_kunit ====================
[08:34:34] =============== [SKIPPED] xe_bo_evict_kunit ================
[08:34:34] ===================== [SKIPPED] xe_bo ======================
[08:34:34] ==================== args (13 subtests) ====================
[08:34:34] [PASSED] count_args_test
[08:34:34] [PASSED] call_args_example
[08:34:34] [PASSED] call_args_test
[08:34:34] [PASSED] drop_first_arg_example
[08:34:34] [PASSED] drop_first_arg_test
[08:34:34] [PASSED] first_arg_example
[08:34:34] [PASSED] first_arg_test
[08:34:34] [PASSED] last_arg_example
[08:34:34] [PASSED] last_arg_test
[08:34:34] [PASSED] pick_arg_example
[08:34:34] [PASSED] if_args_example
[08:34:34] [PASSED] if_args_test
[08:34:34] [PASSED] sep_comma_example
[08:34:34] ====================== [PASSED] args =======================
[08:34:34] =================== xe_pci (3 subtests) ====================
[08:34:34] ==================== check_graphics_ip ====================
[08:34:34] [PASSED] 12.00 Xe_LP
[08:34:34] [PASSED] 12.10 Xe_LP+
[08:34:34] [PASSED] 12.55 Xe_HPG
[08:34:34] [PASSED] 12.60 Xe_HPC
[08:34:34] [PASSED] 12.70 Xe_LPG
[08:34:34] [PASSED] 12.71 Xe_LPG
[08:34:34] [PASSED] 12.74 Xe_LPG+
[08:34:34] [PASSED] 20.01 Xe2_HPG
[08:34:34] [PASSED] 20.02 Xe2_HPG
[08:34:34] [PASSED] 20.04 Xe2_LPG
[08:34:34] [PASSED] 30.00 Xe3_LPG
[08:34:34] [PASSED] 30.01 Xe3_LPG
[08:34:34] [PASSED] 30.03 Xe3_LPG
[08:34:34] [PASSED] 30.04 Xe3_LPG
[08:34:34] [PASSED] 30.05 Xe3_LPG
[08:34:34] [PASSED] 35.10 Xe3p_LPG
[08:34:34] [PASSED] 35.11 Xe3p_XPC
[08:34:34] ================ [PASSED] check_graphics_ip ================
[08:34:34] ===================== check_media_ip ======================
[08:34:34] [PASSED] 12.00 Xe_M
[08:34:34] [PASSED] 12.55 Xe_HPM
[08:34:34] [PASSED] 13.00 Xe_LPM+
[08:34:34] [PASSED] 13.01 Xe2_HPM
[08:34:34] [PASSED] 20.00 Xe2_LPM
[08:34:34] [PASSED] 30.00 Xe3_LPM
[08:34:34] [PASSED] 30.02 Xe3_LPM
[08:34:34] [PASSED] 35.00 Xe3p_LPM
[08:34:34] [PASSED] 35.03 Xe3p_HPM
[08:34:34] ================= [PASSED] check_media_ip ==================
[08:34:34] =================== check_platform_desc ===================
[08:34:34] [PASSED] 0x9A60 (TIGERLAKE)
[08:34:34] [PASSED] 0x9A68 (TIGERLAKE)
[08:34:34] [PASSED] 0x9A70 (TIGERLAKE)
[08:34:34] [PASSED] 0x9A40 (TIGERLAKE)
[08:34:34] [PASSED] 0x9A49 (TIGERLAKE)
[08:34:34] [PASSED] 0x9A59 (TIGERLAKE)
[08:34:34] [PASSED] 0x9A78 (TIGERLAKE)
[08:34:34] [PASSED] 0x9AC0 (TIGERLAKE)
[08:34:34] [PASSED] 0x9AC9 (TIGERLAKE)
[08:34:34] [PASSED] 0x9AD9 (TIGERLAKE)
[08:34:34] [PASSED] 0x9AF8 (TIGERLAKE)
[08:34:34] [PASSED] 0x4C80 (ROCKETLAKE)
[08:34:34] [PASSED] 0x4C8A (ROCKETLAKE)
[08:34:34] [PASSED] 0x4C8B (ROCKETLAKE)
[08:34:34] [PASSED] 0x4C8C (ROCKETLAKE)
[08:34:34] [PASSED] 0x4C90 (ROCKETLAKE)
[08:34:34] [PASSED] 0x4C9A (ROCKETLAKE)
[08:34:34] [PASSED] 0x4680 (ALDERLAKE_S)
[08:34:34] [PASSED] 0x4682 (ALDERLAKE_S)
[08:34:34] [PASSED] 0x4688 (ALDERLAKE_S)
[08:34:34] [PASSED] 0x468A (ALDERLAKE_S)
[08:34:34] [PASSED] 0x468B (ALDERLAKE_S)
[08:34:34] [PASSED] 0x4690 (ALDERLAKE_S)
[08:34:34] [PASSED] 0x4692 (ALDERLAKE_S)
[08:34:34] [PASSED] 0x4693 (ALDERLAKE_S)
[08:34:34] [PASSED] 0x46A0 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46A1 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46A2 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46A3 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46A6 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46A8 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46AA (ALDERLAKE_P)
[08:34:34] [PASSED] 0x462A (ALDERLAKE_P)
[08:34:34] [PASSED] 0x4626 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x4628 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46B0 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46B1 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46B2 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46B3 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46C0 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46C1 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46C2 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46C3 (ALDERLAKE_P)
[08:34:34] [PASSED] 0x46D0 (ALDERLAKE_N)
[08:34:34] [PASSED] 0x46D1 (ALDERLAKE_N)
[08:34:34] [PASSED] 0x46D2 (ALDERLAKE_N)
[08:34:34] [PASSED] 0x46D3 (ALDERLAKE_N)
[08:34:34] [PASSED] 0x46D4 (ALDERLAKE_N)
[08:34:34] [PASSED] 0xA721 (ALDERLAKE_P)
[08:34:34] [PASSED] 0xA7A1 (ALDERLAKE_P)
[08:34:34] [PASSED] 0xA7A9 (ALDERLAKE_P)
[08:34:34] [PASSED] 0xA7AC (ALDERLAKE_P)
[08:34:34] [PASSED] 0xA7AD (ALDERLAKE_P)
[08:34:34] [PASSED] 0xA720 (ALDERLAKE_P)
[08:34:34] [PASSED] 0xA7A0 (ALDERLAKE_P)
[08:34:34] [PASSED] 0xA7A8 (ALDERLAKE_P)
[08:34:34] [PASSED] 0xA7AA (ALDERLAKE_P)
[08:34:34] [PASSED] 0xA7AB (ALDERLAKE_P)
[08:34:34] [PASSED] 0xA780 (ALDERLAKE_S)
[08:34:34] [PASSED] 0xA781 (ALDERLAKE_S)
[08:34:34] [PASSED] 0xA782 (ALDERLAKE_S)
[08:34:34] [PASSED] 0xA783 (ALDERLAKE_S)
[08:34:34] [PASSED] 0xA788 (ALDERLAKE_S)
[08:34:34] [PASSED] 0xA789 (ALDERLAKE_S)
[08:34:34] [PASSED] 0xA78A (ALDERLAKE_S)
[08:34:34] [PASSED] 0xA78B (ALDERLAKE_S)
[08:34:34] [PASSED] 0x4905 (DG1)
[08:34:34] [PASSED] 0x4906 (DG1)
[08:34:34] [PASSED] 0x4907 (DG1)
[08:34:34] [PASSED] 0x4908 (DG1)
[08:34:34] [PASSED] 0x4909 (DG1)
[08:34:34] [PASSED] 0x56C0 (DG2)
[08:34:34] [PASSED] 0x56C2 (DG2)
[08:34:34] [PASSED] 0x56C1 (DG2)
[08:34:34] [PASSED] 0x7D51 (METEORLAKE)
[08:34:34] [PASSED] 0x7DD1 (METEORLAKE)
[08:34:34] [PASSED] 0x7D41 (METEORLAKE)
[08:34:34] [PASSED] 0x7D67 (METEORLAKE)
[08:34:34] [PASSED] 0xB640 (METEORLAKE)
[08:34:34] [PASSED] 0x56A0 (DG2)
[08:34:34] [PASSED] 0x56A1 (DG2)
[08:34:34] [PASSED] 0x56A2 (DG2)
[08:34:34] [PASSED] 0x56BE (DG2)
[08:34:34] [PASSED] 0x56BF (DG2)
[08:34:34] [PASSED] 0x5690 (DG2)
[08:34:34] [PASSED] 0x5691 (DG2)
[08:34:34] [PASSED] 0x5692 (DG2)
[08:34:34] [PASSED] 0x56A5 (DG2)
[08:34:34] [PASSED] 0x56A6 (DG2)
[08:34:34] [PASSED] 0x56B0 (DG2)
[08:34:34] [PASSED] 0x56B1 (DG2)
[08:34:34] [PASSED] 0x56BA (DG2)
[08:34:34] [PASSED] 0x56BB (DG2)
[08:34:34] [PASSED] 0x56BC (DG2)
[08:34:34] [PASSED] 0x56BD (DG2)
[08:34:34] [PASSED] 0x5693 (DG2)
[08:34:34] [PASSED] 0x5694 (DG2)
[08:34:34] [PASSED] 0x5695 (DG2)
[08:34:34] [PASSED] 0x56A3 (DG2)
[08:34:34] [PASSED] 0x56A4 (DG2)
[08:34:34] [PASSED] 0x56B2 (DG2)
[08:34:34] [PASSED] 0x56B3 (DG2)
[08:34:34] [PASSED] 0x5696 (DG2)
[08:34:34] [PASSED] 0x5697 (DG2)
[08:34:34] [PASSED] 0xB69 (PVC)
[08:34:34] [PASSED] 0xB6E (PVC)
[08:34:34] [PASSED] 0xBD4 (PVC)
[08:34:34] [PASSED] 0xBD5 (PVC)
[08:34:34] [PASSED] 0xBD6 (PVC)
[08:34:34] [PASSED] 0xBD7 (PVC)
[08:34:34] [PASSED] 0xBD8 (PVC)
[08:34:34] [PASSED] 0xBD9 (PVC)
[08:34:34] [PASSED] 0xBDA (PVC)
[08:34:34] [PASSED] 0xBDB (PVC)
[08:34:34] [PASSED] 0xBE0 (PVC)
[08:34:34] [PASSED] 0xBE1 (PVC)
[08:34:34] [PASSED] 0xBE5 (PVC)
[08:34:34] [PASSED] 0x7D40 (METEORLAKE)
[08:34:34] [PASSED] 0x7D45 (METEORLAKE)
[08:34:34] [PASSED] 0x7D55 (METEORLAKE)
[08:34:34] [PASSED] 0x7D60 (METEORLAKE)
[08:34:34] [PASSED] 0x7DD5 (METEORLAKE)
[08:34:34] [PASSED] 0x6420 (LUNARLAKE)
[08:34:34] [PASSED] 0x64A0 (LUNARLAKE)
[08:34:34] [PASSED] 0x64B0 (LUNARLAKE)
[08:34:34] [PASSED] 0xE202 (BATTLEMAGE)
[08:34:34] [PASSED] 0xE209 (BATTLEMAGE)
[08:34:34] [PASSED] 0xE20B (BATTLEMAGE)
[08:34:34] [PASSED] 0xE20C (BATTLEMAGE)
[08:34:34] [PASSED] 0xE20D (BATTLEMAGE)
[08:34:34] [PASSED] 0xE210 (BATTLEMAGE)
[08:34:34] [PASSED] 0xE211 (BATTLEMAGE)
[08:34:34] [PASSED] 0xE212 (BATTLEMAGE)
[08:34:34] [PASSED] 0xE216 (BATTLEMAGE)
[08:34:34] [PASSED] 0xE220 (BATTLEMAGE)
[08:34:34] [PASSED] 0xE221 (BATTLEMAGE)
[08:34:34] [PASSED] 0xE222 (BATTLEMAGE)
[08:34:34] [PASSED] 0xE223 (BATTLEMAGE)
[08:34:34] [PASSED] 0xB080 (PANTHERLAKE)
[08:34:34] [PASSED] 0xB081 (PANTHERLAKE)
[08:34:34] [PASSED] 0xB082 (PANTHERLAKE)
[08:34:34] [PASSED] 0xB083 (PANTHERLAKE)
[08:34:34] [PASSED] 0xB084 (PANTHERLAKE)
[08:34:34] [PASSED] 0xB085 (PANTHERLAKE)
[08:34:34] [PASSED] 0xB086 (PANTHERLAKE)
[08:34:34] [PASSED] 0xB087 (PANTHERLAKE)
[08:34:34] [PASSED] 0xB08F (PANTHERLAKE)
[08:34:34] [PASSED] 0xB090 (PANTHERLAKE)
[08:34:34] [PASSED] 0xB0A0 (PANTHERLAKE)
[08:34:34] [PASSED] 0xB0B0 (PANTHERLAKE)
[08:34:34] [PASSED] 0xFD80 (PANTHERLAKE)
[08:34:34] [PASSED] 0xFD81 (PANTHERLAKE)
[08:34:34] [PASSED] 0xD740 (NOVALAKE_S)
[08:34:34] [PASSED] 0xD741 (NOVALAKE_S)
[08:34:34] [PASSED] 0xD742 (NOVALAKE_S)
[08:34:34] [PASSED] 0xD743 (NOVALAKE_S)
[08:34:34] [PASSED] 0xD745 (NOVALAKE_S)
[08:34:34] [PASSED] 0xD74A (NOVALAKE_S)
[08:34:34] [PASSED] 0xD74B (NOVALAKE_S)
[08:34:34] [PASSED] 0x674C (CRESCENTISLAND)
[08:34:34] [PASSED] 0x674D (CRESCENTISLAND)
[08:34:34] [PASSED] 0x674E (CRESCENTISLAND)
[08:34:34] [PASSED] 0x674F (CRESCENTISLAND)
[08:34:34] [PASSED] 0x6750 (CRESCENTISLAND)
[08:34:34] [PASSED] 0xD750 (NOVALAKE_P)
[08:34:34] [PASSED] 0xD751 (NOVALAKE_P)
[08:34:34] [PASSED] 0xD752 (NOVALAKE_P)
[08:34:34] [PASSED] 0xD753 (NOVALAKE_P)
[08:34:34] [PASSED] 0xD754 (NOVALAKE_P)
[08:34:34] [PASSED] 0xD755 (NOVALAKE_P)
[08:34:34] [PASSED] 0xD756 (NOVALAKE_P)
[08:34:34] [PASSED] 0xD757 (NOVALAKE_P)
[08:34:34] [PASSED] 0xD75F (NOVALAKE_P)
[08:34:34] =============== [PASSED] check_platform_desc ===============
[08:34:34] ===================== [PASSED] xe_pci ======================
[08:34:34] ============= xe_rtp_tables_test (5 subtests) ==============
[08:34:34] ================== xe_rtp_table_gt_test ===================
[08:34:34] [PASSED] gt_was/14011060649
[08:34:34] [PASSED] gt_was/14011059788
[08:34:34] [PASSED] gt_was/14015795083
[08:34:34] [PASSED] gt_was/16021867713
[08:34:34] [PASSED] gt_was/14019449301
[08:34:34] [PASSED] gt_was/16028005424
[08:34:34] [PASSED] gt_was/14026578760
[08:34:34] [PASSED] gt_was/1409420604
[08:34:34] [PASSED] gt_was/1408615072
[08:34:34] [PASSED] gt_was/22010523718
[08:34:34] [PASSED] gt_was/14011006942
[08:34:34] [PASSED] gt_was/14014830051
[08:34:34] [PASSED] gt_was/18018781329
[08:34:34] [PASSED] gt_was/1509235366
[08:34:34] [PASSED] gt_was/18018781329
[08:34:34] [PASSED] gt_was/16016694945
[08:34:34] [PASSED] gt_was/14018575942
[08:34:34] [PASSED] gt_was/22016670082
[08:34:34] [PASSED] gt_was/22016670082
[08:34:34] [PASSED] gt_was/14017421178
[08:34:34] [PASSED] gt_was/16025250150
[08:34:34] [PASSED] gt_was/14021871409
[08:34:34] [PASSED] gt_was/16021865536
[08:34:34] [PASSED] gt_was/14021486841
[08:34:34] [PASSED] gt_was/14025160223
[08:34:34] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[08:34:34] [PASSED] gt_was/14025635424
[08:34:34] [PASSED] gt_was/16028005424
[08:34:34] ============== [PASSED] xe_rtp_table_gt_test ===============
[08:34:34] ================== xe_rtp_table_gt_test ===================
[08:34:34] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[08:34:34] [PASSED] gt_tunings/Tuning: 32B Access Enable
[08:34:34] [PASSED] gt_tunings/Tuning: L3 cache
[08:34:34] [PASSED] gt_tunings/Tuning: L3 cache - media
[08:34:34] [PASSED] gt_tunings/Tuning: Compression Overfetch
[08:34:34] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[08:34:34] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[08:34:34] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[08:34:34] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[08:34:34] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[08:34:34] [PASSED] gt_tunings/Tuning: Stateless compression control
[08:34:34] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[08:34:34] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[08:34:34] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[08:34:34] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[08:34:34] ============== [PASSED] xe_rtp_table_gt_test ===============
[08:34:34] ================== xe_rtp_table_oob_test ==================
[08:34:34] [PASSED] oob_was/1607983814
[08:34:34] [PASSED] oob_was/16010904313
[08:34:34] [PASSED] oob_was/18022495364
[08:34:34] [PASSED] oob_was/22012773006
[08:34:34] [PASSED] oob_was/14014475959
[08:34:34] [PASSED] oob_was/22011391025
[08:34:34] [PASSED] oob_was/22012727170
[08:34:34] [PASSED] oob_was/22012727685
[08:34:34] [PASSED] oob_was/22016596838
[08:34:34] [PASSED] oob_was/18020744125
[08:34:34] [PASSED] oob_was/1409600907
[08:34:34] [PASSED] oob_was/22014953428
[08:34:34] [PASSED] oob_was/16017236439
[08:34:34] [PASSED] oob_was/14019821291
[08:34:34] [PASSED] oob_was/14015076503
[08:34:34] [PASSED] oob_was/14018913170
[08:34:34] [PASSED] oob_was/14018094691
[08:34:34] [PASSED] oob_was/18024947630
[08:34:34] [PASSED] oob_was/16022287689
[08:34:34] [PASSED] oob_was/13011645652
[08:34:34] [PASSED] oob_was/14022293748
[08:34:34] [PASSED] oob_was/22019794406
[08:34:34] [PASSED] oob_was/22019338487
[08:34:34] [PASSED] oob_was/16023588340
[08:34:34] [PASSED] oob_was/14019789679
[08:34:34] [PASSED] oob_was/14022866841
[08:34:34] [PASSED] oob_was/16021333562
[08:34:34] [PASSED] oob_was/14016712196
[08:34:34] [PASSED] oob_was/14015568240
[08:34:34] [PASSED] oob_was/18013179988
[08:34:34] [PASSED] oob_was/1508761755
[08:34:34] [PASSED] oob_was/16023105232
[08:34:34] [PASSED] oob_was/16026508708
[08:34:34] [PASSED] oob_was/14020001231
[08:34:34] [PASSED] oob_was/16023683509
[08:34:34] [PASSED] oob_was/14025515070
[08:34:34] [PASSED] oob_was/15015404425_disable
[08:34:34] [PASSED] oob_was/16026007364
[08:34:34] [PASSED] oob_was/14020316580
[08:34:34] [PASSED] oob_was/14025883347
[08:34:34] [PASSED] oob_was/16029380221
[08:34:34] [PASSED] oob_was/22022079272
[08:34:34] [PASSED] oob_was/16029897822
[08:34:34] ============== [PASSED] xe_rtp_table_oob_test ==============
[08:34:34] ================ xe_rtp_table_dev_oob_test ================
[08:34:34] [PASSED] device_oob_was/22010954014
[08:34:34] [PASSED] device_oob_was/15015404425
[08:34:34] [PASSED] device_oob_was/22019338487_display
[08:34:34] [PASSED] device_oob_was/14022085890
[08:34:34] [PASSED] device_oob_was/14026539277
[08:34:34] [PASSED] device_oob_was/14026633728
[08:34:34] [PASSED] device_oob_was/14026746987
[08:34:34] [PASSED] device_oob_was/14026779378
[08:34:34] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[08:34:34] ========== xe_rtp_table_missing_upper_bound_test ==========
[08:34:34] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[08:34:34] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[08:34:34] [PASSED] register_whitelist/1806527549
[08:34:34] [PASSED] register_whitelist/allow_read_ctx_timestamp
[08:34:34] [PASSED] register_whitelist/allow_read_queue_timestamp
[08:34:34] [PASSED] register_whitelist/16014440446
[08:34:34] [PASSED] register_whitelist/16017236439
[08:34:34] [PASSED] register_whitelist/16020183090
[08:34:34] [PASSED] register_whitelist/14024997852
[08:34:34] [PASSED] register_whitelist/14024997852
[08:34:34] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[08:34:34] =============== [PASSED] xe_rtp_tables_test ================
[08:34:34] =================== xe_rtp (3 subtests) ====================
[08:34:34] =================== xe_rtp_rules_tests ====================
[08:34:34] [PASSED] no
[08:34:34] [PASSED] yes
[08:34:34] [PASSED] no-and-no
[08:34:34] [PASSED] no-and-yes
[08:34:34] [PASSED] yes-and-no
[08:34:34] [PASSED] yes-and-yes
[08:34:34] [PASSED] no-or-no
[08:34:34] [PASSED] no-or-yes
[08:34:34] [PASSED] yes-or-no
[08:34:34] [PASSED] yes-or-yes
[08:34:34] [PASSED] no-yes-or-yes-no
[08:34:34] [PASSED] no-yes-or-yes-yes
[08:34:34] [PASSED] yes-yes-or-no-yes
[08:34:34] [PASSED] yes-yes-or-yes-yes
[08:34:34] [PASSED] no-no-or-yes-or-no
[08:34:34] [PASSED] or
[08:34:34] [PASSED] or-yes
[08:34:34] [PASSED] or-no
[08:34:34] [PASSED] yes-or
[08:34:34] [PASSED] no-or
[08:34:34] [PASSED] no-or-or-yes
[08:34:34] [PASSED] yes-or-or-no
[08:34:34] [PASSED] no-or-or-no
[08:34:34] [PASSED] missing-context-engine-class
[08:34:34] [PASSED] missing-context-engine-class-or-yes
[08:34:34] [PASSED] missing-context-engine-class-or-or-yes
[08:34:34] =============== [PASSED] xe_rtp_rules_tests ================
[08:34:34] =============== xe_rtp_process_to_sr_tests ================
[08:34:34] [PASSED] coalesce-same-reg
[08:34:34] [PASSED] coalesce-same-reg-literal-and-func
[08:34:34] [PASSED] no-match-no-add
[08:34:34] [PASSED] two-regs-two-entries
[08:34:34] [PASSED] clr-one-set-other
[08:34:34] [PASSED] set-field
[08:34:34] [PASSED] conflict-duplicate
[08:34:34] [PASSED] conflict-not-disjoint
[08:34:34] [PASSED] conflict-not-disjoint-literal-and-func
[08:34:34] [PASSED] conflict-reg-type
[08:34:34] [PASSED] bad-mcr-reg-forced-to-regular
[08:34:34] [PASSED] bad-regular-reg-forced-to-mcr
[08:34:34] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[08:34:34] ================== xe_rtp_process_tests ===================
[08:34:34] [PASSED] active1
[08:34:34] [PASSED] active2
[08:34:34] [PASSED] active-inactive
[08:34:34] [PASSED] inactive-active
[08:34:34] [PASSED] inactive-active-inactive
[08:34:34] [PASSED] inactive-inactive-inactive
[08:34:34] ============== [PASSED] xe_rtp_process_tests ===============
[08:34:34] ===================== [PASSED] xe_rtp ======================
[08:34:34] ==================== xe_wa (1 subtest) =====================
[08:34:34] ======================== xe_wa_gt =========================
[08:34:34] [PASSED] TIGERLAKE B0
[08:34:34] [PASSED] DG1 A0
[08:34:34] [PASSED] DG1 B0
[08:34:34] [PASSED] ALDERLAKE_S A0
[08:34:34] [PASSED] ALDERLAKE_S B0
[08:34:34] [PASSED] ALDERLAKE_S C0
[08:34:34] [PASSED] ALDERLAKE_S D0
[08:34:34] [PASSED] ALDERLAKE_P A0
[08:34:34] [PASSED] ALDERLAKE_P B0
[08:34:34] [PASSED] ALDERLAKE_P C0
[08:34:34] [PASSED] ALDERLAKE_S RPLS D0
[08:34:34] [PASSED] ALDERLAKE_P RPLU E0
[08:34:34] [PASSED] DG2 G10 C0
[08:34:34] [PASSED] DG2 G11 B1
[08:34:34] [PASSED] DG2 G12 A1
[08:34:34] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[08:34:34] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[08:34:34] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[08:34:34] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[08:34:34] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[08:34:34] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[08:34:34] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[08:34:34] ==================== [PASSED] xe_wa_gt =====================
[08:34:34] ====================== [PASSED] xe_wa ======================
[08:34:34] ============================================================
[08:34:34] Testing complete. Ran 741 tests: passed: 723, skipped: 18
[08:34:34] Elapsed time: 63.635s total, 4.499s configuring, 58.420s building, 0.668s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[08:34:34] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[08:34:36] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=25
[08:35:07] Starting KUnit Kernel (1/1)...
[08:35:07] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[08:35:07] ============ drm_test_pick_cmdline (2 subtests) ============
[08:35:07] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[08:35:07] =============== drm_test_pick_cmdline_named ===============
[08:35:07] [PASSED] NTSC
[08:35:07] [PASSED] NTSC-J
[08:35:07] [PASSED] PAL
[08:35:07] [PASSED] PAL-M
[08:35:07] =========== [PASSED] drm_test_pick_cmdline_named ===========
[08:35:07] ============== [PASSED] drm_test_pick_cmdline ==============
[08:35:07] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[08:35:07] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[08:35:07] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[08:35:07] =========== drm_validate_clone_mode (2 subtests) ===========
[08:35:07] ============== drm_test_check_in_clone_mode ===============
[08:35:07] [PASSED] in_clone_mode
[08:35:07] [PASSED] not_in_clone_mode
[08:35:07] ========== [PASSED] drm_test_check_in_clone_mode ===========
[08:35:07] =============== drm_test_check_valid_clones ===============
[08:35:07] [PASSED] not_in_clone_mode
[08:35:07] [PASSED] valid_clone
[08:35:07] [PASSED] invalid_clone
[08:35:07] =========== [PASSED] drm_test_check_valid_clones ===========
[08:35:07] ============= [PASSED] drm_validate_clone_mode =============
[08:35:07] ============= drm_validate_modeset (1 subtest) =============
[08:35:07] [PASSED] drm_test_check_connector_changed_modeset
[08:35:07] ============== [PASSED] drm_validate_modeset ===============
[08:35:07] ====== drm_test_bridge_get_current_state (1 subtest) =======
[08:35:07] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[08:35:07] ======== [PASSED] drm_test_bridge_get_current_state ========
[08:35:07] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[08:35:07] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[08:35:07] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[08:35:07] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts
[08:35:07] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[08:35:07] ============== drm_bridge_alloc (2 subtests) ===============
[08:35:07] [PASSED] drm_test_drm_bridge_alloc_basic
[08:35:07] [PASSED] drm_test_drm_bridge_alloc_get_put
[08:35:07] ================ [PASSED] drm_bridge_alloc =================
[08:35:07] ============= drm_bridge_bus_fmt (5 subtests) ==============
[08:35:07] [PASSED] drm_test_bridge_rgb_yuv_rgb
[08:35:07] [PASSED] drm_test_bridge_must_convert_to_yuv444
[08:35:07] [PASSED] drm_test_bridge_hdmi_auto_rgb
[08:35:07] [PASSED] drm_test_bridge_auto_first
[08:35:07] [PASSED] drm_test_bridge_rgb_yuv_no_path
[08:35:07] =============== [PASSED] drm_bridge_bus_fmt ================
[08:35:07] ============= drm_cmdline_parser (40 subtests) =============
[08:35:07] [PASSED] drm_test_cmdline_force_d_only
[08:35:07] [PASSED] drm_test_cmdline_force_D_only_dvi
[08:35:07] [PASSED] drm_test_cmdline_force_D_only_hdmi
[08:35:07] [PASSED] drm_test_cmdline_force_D_only_not_digital
[08:35:07] [PASSED] drm_test_cmdline_force_e_only
[08:35:07] [PASSED] drm_test_cmdline_res
[08:35:07] [PASSED] drm_test_cmdline_res_vesa
[08:35:07] [PASSED] drm_test_cmdline_res_vesa_rblank
[08:35:07] [PASSED] drm_test_cmdline_res_rblank
[08:35:07] [PASSED] drm_test_cmdline_res_bpp
[08:35:07] [PASSED] drm_test_cmdline_res_refresh
[08:35:07] [PASSED] drm_test_cmdline_res_bpp_refresh
[08:35:07] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[08:35:07] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[08:35:07] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[08:35:07] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[08:35:07] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[08:35:07] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[08:35:07] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[08:35:07] [PASSED] drm_test_cmdline_res_margins_force_on
[08:35:07] [PASSED] drm_test_cmdline_res_vesa_margins
[08:35:07] [PASSED] drm_test_cmdline_name
[08:35:07] [PASSED] drm_test_cmdline_name_bpp
[08:35:07] [PASSED] drm_test_cmdline_name_option
[08:35:07] [PASSED] drm_test_cmdline_name_bpp_option
[08:35:07] [PASSED] drm_test_cmdline_rotate_0
[08:35:07] [PASSED] drm_test_cmdline_rotate_90
[08:35:07] [PASSED] drm_test_cmdline_rotate_180
[08:35:07] [PASSED] drm_test_cmdline_rotate_270
[08:35:07] [PASSED] drm_test_cmdline_hmirror
[08:35:07] [PASSED] drm_test_cmdline_vmirror
[08:35:07] [PASSED] drm_test_cmdline_margin_options
[08:35:07] [PASSED] drm_test_cmdline_multiple_options
[08:35:07] [PASSED] drm_test_cmdline_bpp_extra_and_option
[08:35:07] [PASSED] drm_test_cmdline_extra_and_option
[08:35:07] [PASSED] drm_test_cmdline_freestanding_options
[08:35:07] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[08:35:07] [PASSED] drm_test_cmdline_panel_orientation
[08:35:07] ================ drm_test_cmdline_invalid =================
[08:35:07] [PASSED] margin_only
[08:35:07] [PASSED] interlace_only
[08:35:07] [PASSED] res_missing_x
[08:35:07] [PASSED] res_missing_y
[08:35:07] [PASSED] res_bad_y
[08:35:07] [PASSED] res_missing_y_bpp
[08:35:07] [PASSED] res_bad_bpp
[08:35:07] [PASSED] res_bad_refresh
[08:35:07] [PASSED] res_bpp_refresh_force_on_off
[08:35:07] [PASSED] res_invalid_mode
[08:35:07] [PASSED] res_bpp_wrong_place_mode
[08:35:07] [PASSED] name_bpp_refresh
[08:35:07] [PASSED] name_refresh
[08:35:07] [PASSED] name_refresh_wrong_mode
[08:35:07] [PASSED] name_refresh_invalid_mode
[08:35:07] [PASSED] rotate_multiple
[08:35:07] [PASSED] rotate_invalid_val
[08:35:07] [PASSED] rotate_truncated
[08:35:07] [PASSED] invalid_option
[08:35:07] [PASSED] invalid_tv_option
[08:35:07] [PASSED] truncated_tv_option
[08:35:07] ============ [PASSED] drm_test_cmdline_invalid =============
[08:35:07] =============== drm_test_cmdline_tv_options ===============
[08:35:07] [PASSED] NTSC
[08:35:07] [PASSED] NTSC_443
[08:35:07] [PASSED] NTSC_J
[08:35:07] [PASSED] PAL
[08:35:07] [PASSED] PAL_M
[08:35:07] [PASSED] PAL_N
[08:35:07] [PASSED] SECAM
[08:35:07] [PASSED] MONO_525
[08:35:07] [PASSED] MONO_625
[08:35:07] =========== [PASSED] drm_test_cmdline_tv_options ===========
[08:35:07] =============== [PASSED] drm_cmdline_parser ================
[08:35:07] ========== drmm_connector_hdmi_init (20 subtests) ==========
[08:35:07] [PASSED] drm_test_connector_hdmi_init_valid
[08:35:07] [PASSED] drm_test_connector_hdmi_init_bpc_8
[08:35:07] [PASSED] drm_test_connector_hdmi_init_bpc_10
[08:35:07] [PASSED] drm_test_connector_hdmi_init_bpc_12
[08:35:07] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[08:35:07] [PASSED] drm_test_connector_hdmi_init_bpc_null
[08:35:07] [PASSED] drm_test_connector_hdmi_init_formats_empty
[08:35:07] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[08:35:07] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[08:35:07] [PASSED] supported_formats=0x9 yuv420_allowed=1
[08:35:07] [PASSED] supported_formats=0x9 yuv420_allowed=0
[08:35:07] [PASSED] supported_formats=0x5 yuv420_allowed=1
[08:35:07] [PASSED] supported_formats=0x5 yuv420_allowed=0
[08:35:07] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[08:35:07] [PASSED] drm_test_connector_hdmi_init_null_ddc
[08:35:07] [PASSED] drm_test_connector_hdmi_init_null_product
[08:35:07] [PASSED] drm_test_connector_hdmi_init_null_vendor
[08:35:07] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[08:35:07] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[08:35:07] [PASSED] drm_test_connector_hdmi_init_product_valid
[08:35:07] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[08:35:07] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[08:35:07] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[08:35:07] ========= drm_test_connector_hdmi_init_type_valid =========
[08:35:07] [PASSED] HDMI-A
[08:35:07] [PASSED] HDMI-B
[08:35:07] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[08:35:07] ======== drm_test_connector_hdmi_init_type_invalid ========
[08:35:07] [PASSED] Unknown
[08:35:07] [PASSED] VGA
[08:35:07] [PASSED] DVI-I
[08:35:07] [PASSED] DVI-D
[08:35:07] [PASSED] DVI-A
[08:35:07] [PASSED] Composite
[08:35:07] [PASSED] SVIDEO
[08:35:07] [PASSED] LVDS
[08:35:07] [PASSED] Component
[08:35:07] [PASSED] DIN
[08:35:07] [PASSED] DP
[08:35:07] [PASSED] TV
[08:35:07] [PASSED] eDP
[08:35:07] [PASSED] Virtual
[08:35:07] [PASSED] DSI
[08:35:07] [PASSED] DPI
[08:35:07] [PASSED] Writeback
[08:35:07] [PASSED] SPI
[08:35:07] [PASSED] USB
[08:35:07] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[08:35:07] ============ [PASSED] drmm_connector_hdmi_init =============
[08:35:07] ============= drmm_connector_init (3 subtests) =============
[08:35:07] [PASSED] drm_test_drmm_connector_init
[08:35:07] [PASSED] drm_test_drmm_connector_init_null_ddc
[08:35:07] ========= drm_test_drmm_connector_init_type_valid =========
[08:35:07] [PASSED] Unknown
[08:35:07] [PASSED] VGA
[08:35:07] [PASSED] DVI-I
[08:35:07] [PASSED] DVI-D
[08:35:07] [PASSED] DVI-A
[08:35:07] [PASSED] Composite
[08:35:07] [PASSED] SVIDEO
[08:35:07] [PASSED] LVDS
[08:35:07] [PASSED] Component
[08:35:07] [PASSED] DIN
[08:35:07] [PASSED] DP
[08:35:07] [PASSED] HDMI-A
[08:35:07] [PASSED] HDMI-B
[08:35:07] [PASSED] TV
[08:35:07] [PASSED] eDP
[08:35:07] [PASSED] Virtual
[08:35:07] [PASSED] DSI
[08:35:07] [PASSED] DPI
[08:35:07] [PASSED] Writeback
[08:35:07] [PASSED] SPI
[08:35:07] [PASSED] USB
[08:35:07] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[08:35:07] =============== [PASSED] drmm_connector_init ===============
[08:35:07] ========= drm_connector_dynamic_init (6 subtests) ==========
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_init
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_init_properties
[08:35:07] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[08:35:07] [PASSED] Unknown
[08:35:07] [PASSED] VGA
[08:35:07] [PASSED] DVI-I
[08:35:07] [PASSED] DVI-D
[08:35:07] [PASSED] DVI-A
[08:35:07] [PASSED] Composite
[08:35:07] [PASSED] SVIDEO
[08:35:07] [PASSED] LVDS
[08:35:07] [PASSED] Component
[08:35:07] [PASSED] DIN
[08:35:07] [PASSED] DP
[08:35:07] [PASSED] HDMI-A
[08:35:07] [PASSED] HDMI-B
[08:35:07] [PASSED] TV
[08:35:07] [PASSED] eDP
[08:35:07] [PASSED] Virtual
[08:35:07] [PASSED] DSI
[08:35:07] [PASSED] DPI
[08:35:07] [PASSED] Writeback
[08:35:07] [PASSED] SPI
[08:35:07] [PASSED] USB
[08:35:07] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[08:35:07] ======== drm_test_drm_connector_dynamic_init_name =========
[08:35:07] [PASSED] Unknown
[08:35:07] [PASSED] VGA
[08:35:07] [PASSED] DVI-I
[08:35:07] [PASSED] DVI-D
[08:35:07] [PASSED] DVI-A
[08:35:07] [PASSED] Composite
[08:35:07] [PASSED] SVIDEO
[08:35:07] [PASSED] LVDS
[08:35:07] [PASSED] Component
[08:35:07] [PASSED] DIN
[08:35:07] [PASSED] DP
[08:35:07] [PASSED] HDMI-A
[08:35:07] [PASSED] HDMI-B
[08:35:07] [PASSED] TV
[08:35:07] [PASSED] eDP
[08:35:07] [PASSED] Virtual
[08:35:07] [PASSED] DSI
[08:35:07] [PASSED] DPI
[08:35:07] [PASSED] Writeback
[08:35:07] [PASSED] SPI
[08:35:07] [PASSED] USB
[08:35:07] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[08:35:07] =========== [PASSED] drm_connector_dynamic_init ============
[08:35:07] ==== drm_connector_dynamic_register_early (4 subtests) =====
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[08:35:07] ====== [PASSED] drm_connector_dynamic_register_early =======
[08:35:07] ======= drm_connector_dynamic_register (7 subtests) ========
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[08:35:07] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[08:35:07] ========= [PASSED] drm_connector_dynamic_register ==========
[08:35:07] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[08:35:07] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[08:35:07] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[08:35:07] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[08:35:07] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[08:35:07] ========== drm_test_get_tv_mode_from_name_valid ===========
[08:35:07] [PASSED] NTSC
[08:35:07] [PASSED] NTSC-443
[08:35:07] [PASSED] NTSC-J
[08:35:07] [PASSED] PAL
[08:35:07] [PASSED] PAL-M
[08:35:07] [PASSED] PAL-N
[08:35:07] [PASSED] SECAM
[08:35:07] [PASSED] Mono
[08:35:07] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[08:35:07] [PASSED] drm_test_get_tv_mode_from_name_truncated
[08:35:07] ============ [PASSED] drm_get_tv_mode_from_name ============
[08:35:07] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[08:35:07] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[08:35:07] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[08:35:07] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[08:35:07] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[08:35:07] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[08:35:07] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[08:35:07] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[08:35:07] [PASSED] VIC 96
[08:35:07] [PASSED] VIC 97
[08:35:07] [PASSED] VIC 101
[08:35:07] [PASSED] VIC 102
[08:35:07] [PASSED] VIC 106
[08:35:07] [PASSED] VIC 107
[08:35:07] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[08:35:07] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[08:35:07] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[08:35:07] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[08:35:07] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[08:35:07] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[08:35:07] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[08:35:07] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[08:35:07] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[08:35:07] [PASSED] Automatic
[08:35:07] [PASSED] Full
[08:35:07] [PASSED] Limited 16:235
[08:35:07] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[08:35:07] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[08:35:07] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[08:35:07] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[08:35:07] === drm_test_drm_hdmi_connector_get_output_format_name ====
[08:35:07] [PASSED] RGB
[08:35:07] [PASSED] YUV 4:2:0
[08:35:07] [PASSED] YUV 4:2:2
[08:35:07] [PASSED] YUV 4:4:4
[08:35:07] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[08:35:07] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[08:35:07] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[08:35:07] ============= drm_damage_helper (21 subtests) ==============
[08:35:07] [PASSED] drm_test_damage_iter_no_damage
[08:35:07] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[08:35:07] [PASSED] drm_test_damage_iter_no_damage_src_moved
[08:35:07] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[08:35:07] [PASSED] drm_test_damage_iter_no_damage_not_visible
[08:35:07] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[08:35:07] [PASSED] drm_test_damage_iter_no_damage_no_fb
[08:35:07] [PASSED] drm_test_damage_iter_simple_damage
[08:35:07] [PASSED] drm_test_damage_iter_single_damage
[08:35:07] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[08:35:07] [PASSED] drm_test_damage_iter_single_damage_outside_src
[08:35:07] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[08:35:07] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[08:35:07] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[08:35:07] [PASSED] drm_test_damage_iter_single_damage_src_moved
[08:35:07] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[08:35:07] [PASSED] drm_test_damage_iter_damage
[08:35:07] [PASSED] drm_test_damage_iter_damage_one_intersect
[08:35:07] [PASSED] drm_test_damage_iter_damage_one_outside
[08:35:07] [PASSED] drm_test_damage_iter_damage_src_moved
[08:35:07] [PASSED] drm_test_damage_iter_damage_not_visible
[08:35:07] ================ [PASSED] drm_damage_helper ================
[08:35:07] ============== drm_dp_mst_helper (3 subtests) ==============
[08:35:07] ============== drm_test_dp_mst_calc_pbn_mode ==============
[08:35:07] [PASSED] Clock 154000 BPP 30 DSC disabled
[08:35:07] [PASSED] Clock 234000 BPP 30 DSC disabled
[08:35:07] [PASSED] Clock 297000 BPP 24 DSC disabled
[08:35:07] [PASSED] Clock 332880 BPP 24 DSC enabled
[08:35:07] [PASSED] Clock 324540 BPP 24 DSC enabled
[08:35:07] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[08:35:07] ============== drm_test_dp_mst_calc_pbn_div ===============
[08:35:07] [PASSED] Link rate 2000000 lane count 4
[08:35:07] [PASSED] Link rate 2000000 lane count 2
[08:35:07] [PASSED] Link rate 2000000 lane count 1
[08:35:07] [PASSED] Link rate 1350000 lane count 4
[08:35:07] [PASSED] Link rate 1350000 lane count 2
[08:35:07] [PASSED] Link rate 1350000 lane count 1
[08:35:07] [PASSED] Link rate 1000000 lane count 4
[08:35:07] [PASSED] Link rate 1000000 lane count 2
[08:35:07] [PASSED] Link rate 1000000 lane count 1
[08:35:07] [PASSED] Link rate 810000 lane count 4
[08:35:07] [PASSED] Link rate 810000 lane count 2
[08:35:07] [PASSED] Link rate 810000 lane count 1
[08:35:07] [PASSED] Link rate 540000 lane count 4
[08:35:07] [PASSED] Link rate 540000 lane count 2
[08:35:07] [PASSED] Link rate 540000 lane count 1
[08:35:07] [PASSED] Link rate 270000 lane count 4
[08:35:07] [PASSED] Link rate 270000 lane count 2
[08:35:07] [PASSED] Link rate 270000 lane count 1
[08:35:07] [PASSED] Link rate 162000 lane count 4
[08:35:07] [PASSED] Link rate 162000 lane count 2
[08:35:07] [PASSED] Link rate 162000 lane count 1
[08:35:07] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[08:35:07] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[08:35:07] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[08:35:07] [PASSED] DP_POWER_UP_PHY with port number
[08:35:07] [PASSED] DP_POWER_DOWN_PHY with port number
[08:35:07] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[08:35:07] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[08:35:07] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[08:35:07] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[08:35:07] [PASSED] DP_QUERY_PAYLOAD with port number
[08:35:07] [PASSED] DP_QUERY_PAYLOAD with VCPI
[08:35:07] [PASSED] DP_REMOTE_DPCD_READ with port number
[08:35:07] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[08:35:07] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[08:35:07] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[08:35:07] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[08:35:07] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[08:35:07] [PASSED] DP_REMOTE_I2C_READ with port number
[08:35:07] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[08:35:07] [PASSED] DP_REMOTE_I2C_READ with transactions array
[08:35:07] [PASSED] DP_REMOTE_I2C_WRITE with port number
[08:35:07] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[08:35:07] [PASSED] DP_REMOTE_I2C_WRITE with data array
[08:35:07] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[08:35:07] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[08:35:07] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[08:35:07] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[08:35:07] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[08:35:07] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[08:35:07] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[08:35:07] ================ [PASSED] drm_dp_mst_helper ================
[08:35:07] ================== drm_exec (7 subtests) ===================
[08:35:07] [PASSED] sanitycheck
[08:35:07] [PASSED] test_lock
[08:35:07] [PASSED] test_lock_unlock
[08:35:07] [PASSED] test_duplicates
[08:35:07] [PASSED] test_prepare
[08:35:07] [PASSED] test_prepare_array
[08:35:07] [PASSED] test_multiple_loops
[08:35:07] ==================== [PASSED] drm_exec =====================
[08:35:07] =========== drm_format_helper_test (17 subtests) ===========
[08:35:07] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[08:35:07] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[08:35:07] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[08:35:07] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[08:35:07] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[08:35:07] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[08:35:07] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[08:35:07] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[08:35:07] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[08:35:07] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[08:35:07] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[08:35:07] ============== drm_test_fb_xrgb8888_to_mono ===============
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[08:35:07] ==================== drm_test_fb_swab =====================
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ================ [PASSED] drm_test_fb_swab =================
[08:35:07] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[08:35:07] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[08:35:07] [PASSED] single_pixel_source_buffer
[08:35:07] [PASSED] single_pixel_clip_rectangle
[08:35:07] [PASSED] well_known_colors
[08:35:07] [PASSED] destination_pitch
[08:35:07] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[08:35:07] ================= drm_test_fb_clip_offset =================
[08:35:07] [PASSED] pass through
[08:35:07] [PASSED] horizontal offset
[08:35:07] [PASSED] vertical offset
[08:35:07] [PASSED] horizontal and vertical offset
[08:35:07] [PASSED] horizontal offset (custom pitch)
[08:35:07] [PASSED] vertical offset (custom pitch)
[08:35:07] [PASSED] horizontal and vertical offset (custom pitch)
[08:35:07] ============= [PASSED] drm_test_fb_clip_offset =============
[08:35:07] =================== drm_test_fb_memcpy ====================
[08:35:07] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[08:35:07] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[08:35:07] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[08:35:07] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[08:35:07] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[08:35:07] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[08:35:07] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[08:35:07] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[08:35:07] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[08:35:07] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[08:35:07] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[08:35:07] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[08:35:07] =============== [PASSED] drm_test_fb_memcpy ================
[08:35:07] ============= [PASSED] drm_format_helper_test ==============
[08:35:07] ================= drm_format (18 subtests) =================
[08:35:07] [PASSED] drm_test_format_block_width_invalid
[08:35:07] [PASSED] drm_test_format_block_width_one_plane
[08:35:07] [PASSED] drm_test_format_block_width_two_plane
[08:35:07] [PASSED] drm_test_format_block_width_three_plane
[08:35:07] [PASSED] drm_test_format_block_width_tiled
[08:35:07] [PASSED] drm_test_format_block_height_invalid
[08:35:07] [PASSED] drm_test_format_block_height_one_plane
[08:35:07] [PASSED] drm_test_format_block_height_two_plane
[08:35:07] [PASSED] drm_test_format_block_height_three_plane
[08:35:07] [PASSED] drm_test_format_block_height_tiled
[08:35:07] [PASSED] drm_test_format_min_pitch_invalid
[08:35:07] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[08:35:07] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[08:35:07] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[08:35:07] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[08:35:07] [PASSED] drm_test_format_min_pitch_two_plane
[08:35:07] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[08:35:07] [PASSED] drm_test_format_min_pitch_tiled
[08:35:07] =================== [PASSED] drm_format ====================
[08:35:07] ============== drm_framebuffer (10 subtests) ===============
[08:35:07] ========== drm_test_framebuffer_check_src_coords ==========
[08:35:07] [PASSED] Success: source fits into fb
[08:35:07] [PASSED] Fail: overflowing fb with x-axis coordinate
[08:35:07] [PASSED] Fail: overflowing fb with y-axis coordinate
[08:35:07] [PASSED] Fail: overflowing fb with source width
[08:35:07] [PASSED] Fail: overflowing fb with source height
[08:35:07] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[08:35:07] [PASSED] drm_test_framebuffer_cleanup
[08:35:07] =============== drm_test_framebuffer_create ===============
[08:35:07] [PASSED] ABGR8888 normal sizes
[08:35:07] [PASSED] ABGR8888 max sizes
[08:35:07] [PASSED] ABGR8888 pitch greater than min required
[08:35:07] [PASSED] ABGR8888 pitch less than min required
[08:35:07] [PASSED] ABGR8888 Invalid width
[08:35:07] [PASSED] ABGR8888 Invalid buffer handle
[08:35:07] [PASSED] No pixel format
[08:35:07] [PASSED] ABGR8888 Width 0
[08:35:07] [PASSED] ABGR8888 Height 0
[08:35:07] [PASSED] ABGR8888 Out of bound height * pitch combination
[08:35:07] [PASSED] ABGR8888 Large buffer offset
[08:35:07] [PASSED] ABGR8888 Buffer offset for inexistent plane
[08:35:07] [PASSED] ABGR8888 Invalid flag
[08:35:07] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[08:35:07] [PASSED] ABGR8888 Valid buffer modifier
[08:35:07] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[08:35:07] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[08:35:07] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[08:35:07] [PASSED] NV12 Normal sizes
[08:35:07] [PASSED] NV12 Max sizes
[08:35:07] [PASSED] NV12 Invalid pitch
[08:35:07] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[08:35:07] [PASSED] NV12 different modifier per-plane
[08:35:07] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[08:35:07] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[08:35:07] [PASSED] NV12 Modifier for inexistent plane
[08:35:07] [PASSED] NV12 Handle for inexistent plane
[08:35:07] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[08:35:07] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[08:35:07] [PASSED] YVU420 Normal sizes
[08:35:07] [PASSED] YVU420 Max sizes
[08:35:07] [PASSED] YVU420 Invalid pitch
[08:35:07] [PASSED] YVU420 Different pitches
[08:35:07] [PASSED] YVU420 Different buffer offsets/pitches
[08:35:07] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[08:35:07] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[08:35:07] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[08:35:07] [PASSED] YVU420 Valid modifier
[08:35:07] [PASSED] YVU420 Different modifiers per plane
[08:35:07] [PASSED] YVU420 Modifier for inexistent plane
[08:35:07] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[08:35:07] [PASSED] X0L2 Normal sizes
[08:35:07] [PASSED] X0L2 Max sizes
[08:35:07] [PASSED] X0L2 Invalid pitch
[08:35:07] [PASSED] X0L2 Pitch greater than minimum required
[08:35:07] [PASSED] X0L2 Handle for inexistent plane
[08:35:07] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[08:35:07] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[08:35:07] [PASSED] X0L2 Valid modifier
[08:35:07] [PASSED] X0L2 Modifier for inexistent plane
[08:35:07] =========== [PASSED] drm_test_framebuffer_create ===========
[08:35:07] [PASSED] drm_test_framebuffer_free
[08:35:07] [PASSED] drm_test_framebuffer_init
[08:35:07] [PASSED] drm_test_framebuffer_init_bad_format
[08:35:07] [PASSED] drm_test_framebuffer_init_dev_mismatch
[08:35:07] [PASSED] drm_test_framebuffer_lookup
[08:35:07] [PASSED] drm_test_framebuffer_lookup_inexistent
[08:35:07] [PASSED] drm_test_framebuffer_modifiers_not_supported
[08:35:07] ================= [PASSED] drm_framebuffer =================
[08:35:07] ================ drm_gem_shmem (8 subtests) ================
[08:35:07] [PASSED] drm_gem_shmem_test_obj_create
[08:35:07] [PASSED] drm_gem_shmem_test_obj_create_private
[08:35:07] [PASSED] drm_gem_shmem_test_pin_pages
[08:35:07] [PASSED] drm_gem_shmem_test_vmap
[08:35:07] [PASSED] drm_gem_shmem_test_get_sg_table
[08:35:07] [PASSED] drm_gem_shmem_test_get_pages_sgt
[08:35:07] [PASSED] drm_gem_shmem_test_madvise
[08:35:07] [PASSED] drm_gem_shmem_test_purge
[08:35:07] ================== [PASSED] drm_gem_shmem ==================
[08:35:07] === drm_atomic_helper_connector_hdmi_check (29 subtests) ===
[08:35:07] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[08:35:07] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[08:35:07] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[08:35:07] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[08:35:07] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[08:35:07] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[08:35:07] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[08:35:07] [PASSED] Automatic
[08:35:07] [PASSED] Full
[08:35:07] [PASSED] Limited 16:235
[08:35:07] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[08:35:07] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[08:35:07] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[08:35:07] [PASSED] drm_test_check_disable_connector
[08:35:07] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[08:35:07] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[08:35:07] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[08:35:07] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[08:35:07] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[08:35:07] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[08:35:07] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[08:35:07] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[08:35:07] [PASSED] drm_test_check_output_bpc_dvi
[08:35:07] [PASSED] drm_test_check_output_bpc_format_vic_1
[08:35:07] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[08:35:07] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[08:35:07] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[08:35:07] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[08:35:07] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[08:35:07] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[08:35:07] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[08:35:07] ============ drm_test_check_hdmi_color_format =============
[08:35:07] [PASSED] AUTO -> RGB
[08:35:07] [PASSED] YCBCR422 -> YUV422
[08:35:07] [PASSED] YCBCR420 -> YUV420
[08:35:07] [PASSED] YCBCR444 -> YUV444
[08:35:07] [PASSED] RGB -> RGB
[08:35:07] ======== [PASSED] drm_test_check_hdmi_color_format =========
[08:35:07] ======== drm_test_check_hdmi_color_format_420_only ========
[08:35:07] [PASSED] RGB should fail
[08:35:07] [PASSED] YUV444 should fail
[08:35:07] [PASSED] YUV422 should fail
[08:35:07] [PASSED] YUV420 should work
[08:35:07] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ====
[08:35:07] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[08:35:07] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[08:35:07] [PASSED] drm_test_check_broadcast_rgb_value
[08:35:07] [PASSED] drm_test_check_bpc_8_value
[08:35:07] [PASSED] drm_test_check_bpc_10_value
[08:35:07] [PASSED] drm_test_check_bpc_12_value
[08:35:07] [PASSED] drm_test_check_format_value
[08:35:07] [PASSED] drm_test_check_tmds_char_value
[08:35:07] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[08:35:07] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) =
[08:35:07] [PASSED] drm_test_check_mode_valid
[08:35:07] [PASSED] drm_test_check_mode_valid_reject
[08:35:07] [PASSED] drm_test_check_mode_valid_reject_rate
[08:35:07] [PASSED] drm_test_check_mode_valid_reject_max_clock
[08:35:07] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock
[08:35:07] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector
[08:35:07] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb
[08:35:07] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[08:35:07] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[08:35:07] [PASSED] drm_test_check_infoframes
[08:35:07] [PASSED] drm_test_check_reject_avi_infoframe
[08:35:07] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[08:35:07] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[08:35:07] [PASSED] drm_test_check_reject_audio_infoframe
[08:35:07] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[08:35:07] ================= drm_managed (2 subtests) =================
[08:35:07] [PASSED] drm_test_managed_release_action
[08:35:07] [PASSED] drm_test_managed_run_action
[08:35:07] =================== [PASSED] drm_managed ===================
[08:35:07] =================== drm_mm (6 subtests) ====================
[08:35:07] [PASSED] drm_test_mm_init
[08:35:07] [PASSED] drm_test_mm_debug
[08:35:07] [PASSED] drm_test_mm_align32
[08:35:07] [PASSED] drm_test_mm_align64
[08:35:07] [PASSED] drm_test_mm_lowest
[08:35:07] [PASSED] drm_test_mm_highest
[08:35:07] ===================== [PASSED] drm_mm ======================
[08:35:07] ============= drm_modes_analog_tv (5 subtests) =============
[08:35:07] [PASSED] drm_test_modes_analog_tv_mono_576i
[08:35:07] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[08:35:07] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[08:35:07] [PASSED] drm_test_modes_analog_tv_pal_576i
[08:35:07] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[08:35:07] =============== [PASSED] drm_modes_analog_tv ===============
[08:35:07] ============== drm_plane_helper (2 subtests) ===============
[08:35:07] =============== drm_test_check_plane_state ================
[08:35:07] [PASSED] clipping_simple
[08:35:07] [PASSED] clipping_rotate_reflect
[08:35:07] [PASSED] positioning_simple
[08:35:07] [PASSED] upscaling
[08:35:07] [PASSED] downscaling
[08:35:07] [PASSED] rounding1
[08:35:07] [PASSED] rounding2
[08:35:07] [PASSED] rounding3
[08:35:07] [PASSED] rounding4
[08:35:07] =========== [PASSED] drm_test_check_plane_state ============
[08:35:07] =========== drm_test_check_invalid_plane_state ============
[08:35:07] [PASSED] positioning_invalid
[08:35:07] [PASSED] upscaling_invalid
[08:35:07] [PASSED] downscaling_invalid
[08:35:07] ======= [PASSED] drm_test_check_invalid_plane_state ========
[08:35:07] ================ [PASSED] drm_plane_helper =================
[08:35:07] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[08:35:07] ====== drm_test_connector_helper_tv_get_modes_check =======
[08:35:07] [PASSED] None
[08:35:07] [PASSED] PAL
[08:35:07] [PASSED] NTSC
[08:35:07] [PASSED] Both, NTSC Default
[08:35:07] [PASSED] Both, PAL Default
[08:35:07] [PASSED] Both, NTSC Default, with PAL on command-line
[08:35:07] [PASSED] Both, PAL Default, with NTSC on command-line
[08:35:07] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[08:35:07] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[08:35:07] ================== drm_rect (9 subtests) ===================
[08:35:07] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[08:35:07] [PASSED] drm_test_rect_clip_scaled_not_clipped
[08:35:07] [PASSED] drm_test_rect_clip_scaled_clipped
[08:35:07] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[08:35:07] ================= drm_test_rect_intersect =================
[08:35:07] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[08:35:07] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[08:35:07] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[08:35:07] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[08:35:07] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[08:35:07] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[08:35:07] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[08:35:07] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[08:35:07] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[08:35:07] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[08:35:07] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[08:35:07] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[08:35:07] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[08:35:07] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[08:35:07] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[08:35:07] ============= [PASSED] drm_test_rect_intersect =============
[08:35:07] ================ drm_test_rect_calc_hscale ================
[08:35:07] [PASSED] normal use
[08:35:07] [PASSED] out of max range
[08:35:07] [PASSED] out of min range
[08:35:07] [PASSED] zero dst
[08:35:07] [PASSED] negative src
[08:35:07] [PASSED] negative dst
[08:35:07] ============ [PASSED] drm_test_rect_calc_hscale ============
[08:35:07] ================ drm_test_rect_calc_vscale ================
[08:35:07] [PASSED] normal use
[08:35:07] [PASSED] out of max range
[08:35:07] [PASSED] out of min range
[08:35:07] [PASSED] zero dst
[08:35:07] [PASSED] negative src
[08:35:07] [PASSED] negative dst
[08:35:07] ============ [PASSED] drm_test_rect_calc_vscale ============
[08:35:07] ================== drm_test_rect_rotate ===================
[08:35:07] [PASSED] reflect-x
[08:35:07] [PASSED] reflect-y
[08:35:07] [PASSED] rotate-0
[08:35:07] [PASSED] rotate-90
[08:35:07] [PASSED] rotate-180
[08:35:07] [PASSED] rotate-270
[08:35:07] ============== [PASSED] drm_test_rect_rotate ===============
[08:35:07] ================ drm_test_rect_rotate_inv =================
[08:35:07] [PASSED] reflect-x
[08:35:07] [PASSED] reflect-y
[08:35:07] [PASSED] rotate-0
[08:35:07] [PASSED] rotate-90
[08:35:07] [PASSED] rotate-180
[08:35:07] [PASSED] rotate-270
[08:35:07] ============ [PASSED] drm_test_rect_rotate_inv =============
[08:35:07] ==================== [PASSED] drm_rect =====================
[08:35:07] ============ drm_sysfb_modeset_test (1 subtest) ============
[08:35:07] ============ drm_test_sysfb_build_fourcc_list =============
[08:35:07] [PASSED] no native formats
[08:35:07] [PASSED] XRGB8888 as native format
[08:35:07] [PASSED] remove duplicates
[08:35:07] [PASSED] convert alpha formats
[08:35:07] [PASSED] random formats
[08:35:07] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[08:35:07] ============= [PASSED] drm_sysfb_modeset_test ==============
[08:35:07] ================== drm_fixp (2 subtests) ===================
[08:35:07] [PASSED] drm_test_int2fixp
[08:35:07] [PASSED] drm_test_sm2fixp
[08:35:07] ==================== [PASSED] drm_fixp =====================
[08:35:07] ============================================================
[08:35:07] Testing complete. Ran 637 tests: passed: 637
[08:35:07] Elapsed time: 33.078s total, 1.710s configuring, 31.152s building, 0.206s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[08:35:07] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[08:35:09] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=25
[08:35:19] Starting KUnit Kernel (1/1)...
[08:35:19] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[08:35:20] ================= ttm_device (5 subtests) ==================
[08:35:20] [PASSED] ttm_device_init_basic
[08:35:20] [PASSED] ttm_device_init_multiple
[08:35:20] [PASSED] ttm_device_fini_basic
[08:35:20] [PASSED] ttm_device_init_no_vma_man
[08:35:20] ================== ttm_device_init_pools ==================
[08:35:20] [PASSED] No DMA allocations, no DMA32 required
[08:35:20] [PASSED] DMA allocations, DMA32 required
[08:35:20] [PASSED] No DMA allocations, DMA32 required
[08:35:20] [PASSED] DMA allocations, no DMA32 required
[08:35:20] ============== [PASSED] ttm_device_init_pools ==============
[08:35:20] =================== [PASSED] ttm_device ====================
[08:35:20] ================== ttm_pool (8 subtests) ===================
[08:35:20] ================== ttm_pool_alloc_basic ===================
[08:35:20] [PASSED] One page
[08:35:20] [PASSED] More than one page
[08:35:20] [PASSED] Above the allocation limit
[08:35:20] [PASSED] One page, with coherent DMA mappings enabled
[08:35:20] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[08:35:20] ============== [PASSED] ttm_pool_alloc_basic ===============
[08:35:20] ============== ttm_pool_alloc_basic_dma_addr ==============
[08:35:20] [PASSED] One page
[08:35:20] [PASSED] More than one page
[08:35:20] [PASSED] Above the allocation limit
[08:35:20] [PASSED] One page, with coherent DMA mappings enabled
[08:35:20] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[08:35:20] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[08:35:20] [PASSED] ttm_pool_alloc_order_caching_match
[08:35:20] [PASSED] ttm_pool_alloc_caching_mismatch
[08:35:20] [PASSED] ttm_pool_alloc_order_mismatch
[08:35:20] [PASSED] ttm_pool_free_dma_alloc
[08:35:20] [PASSED] ttm_pool_free_no_dma_alloc
[08:35:20] [PASSED] ttm_pool_fini_basic
[08:35:20] ==================== [PASSED] ttm_pool =====================
[08:35:20] ================ ttm_resource (8 subtests) =================
[08:35:20] ================= ttm_resource_init_basic =================
[08:35:20] [PASSED] Init resource in TTM_PL_SYSTEM
[08:35:20] [PASSED] Init resource in TTM_PL_VRAM
[08:35:20] [PASSED] Init resource in a private placement
[08:35:20] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[08:35:20] ============= [PASSED] ttm_resource_init_basic =============
[08:35:20] [PASSED] ttm_resource_init_pinned
[08:35:20] [PASSED] ttm_resource_fini_basic
[08:35:20] [PASSED] ttm_resource_manager_init_basic
[08:35:20] [PASSED] ttm_resource_manager_usage_basic
[08:35:20] [PASSED] ttm_resource_manager_set_used_basic
[08:35:20] [PASSED] ttm_sys_man_alloc_basic
[08:35:20] [PASSED] ttm_sys_man_free_basic
[08:35:20] ================== [PASSED] ttm_resource ===================
[08:35:20] =================== ttm_tt (15 subtests) ===================
[08:35:20] ==================== ttm_tt_init_basic ====================
[08:35:20] [PASSED] Page-aligned size
[08:35:20] [PASSED] Extra pages requested
[08:35:20] ================ [PASSED] ttm_tt_init_basic ================
[08:35:20] [PASSED] ttm_tt_init_misaligned
[08:35:20] [PASSED] ttm_tt_fini_basic
[08:35:20] [PASSED] ttm_tt_fini_sg
[08:35:20] [PASSED] ttm_tt_fini_shmem
[08:35:20] [PASSED] ttm_tt_create_basic
[08:35:20] [PASSED] ttm_tt_create_invalid_bo_type
[08:35:20] [PASSED] ttm_tt_create_ttm_exists
[08:35:20] [PASSED] ttm_tt_create_failed
[08:35:20] [PASSED] ttm_tt_destroy_basic
[08:35:20] [PASSED] ttm_tt_populate_null_ttm
[08:35:20] [PASSED] ttm_tt_populate_populated_ttm
[08:35:20] [PASSED] ttm_tt_unpopulate_basic
[08:35:20] [PASSED] ttm_tt_unpopulate_empty_ttm
[08:35:20] [PASSED] ttm_tt_swapin_basic
[08:35:20] ===================== [PASSED] ttm_tt ======================
[08:35:20] =================== ttm_bo (14 subtests) ===================
[08:35:20] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[08:35:20] [PASSED] Cannot be interrupted and sleeps
[08:35:20] [PASSED] Cannot be interrupted, locks straight away
[08:35:20] [PASSED] Can be interrupted, sleeps
[08:35:20] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[08:35:20] [PASSED] ttm_bo_reserve_locked_no_sleep
[08:35:20] [PASSED] ttm_bo_reserve_no_wait_ticket
[08:35:20] [PASSED] ttm_bo_reserve_double_resv
[08:35:20] [PASSED] ttm_bo_reserve_interrupted
[08:35:20] [PASSED] ttm_bo_reserve_deadlock
[08:35:20] [PASSED] ttm_bo_unreserve_basic
[08:35:20] [PASSED] ttm_bo_unreserve_pinned
[08:35:20] [PASSED] ttm_bo_unreserve_bulk
[08:35:20] [PASSED] ttm_bo_fini_basic
[08:35:20] [PASSED] ttm_bo_fini_shared_resv
[08:35:20] [PASSED] ttm_bo_pin_basic
[08:35:20] [PASSED] ttm_bo_pin_unpin_resource
[08:35:20] [PASSED] ttm_bo_multiple_pin_one_unpin
[08:35:20] ===================== [PASSED] ttm_bo ======================
[08:35:20] ============== ttm_bo_validate (22 subtests) ===============
[08:35:20] ============== ttm_bo_init_reserved_sys_man ===============
[08:35:20] [PASSED] Buffer object for userspace
[08:35:20] [PASSED] Kernel buffer object
[08:35:20] [PASSED] Shared buffer object
[08:35:20] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[08:35:20] ============== ttm_bo_init_reserved_mock_man ==============
[08:35:20] [PASSED] Buffer object for userspace
[08:35:20] [PASSED] Kernel buffer object
[08:35:20] [PASSED] Shared buffer object
[08:35:20] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[08:35:20] [PASSED] ttm_bo_init_reserved_resv
[08:35:20] ================== ttm_bo_validate_basic ==================
[08:35:20] [PASSED] Buffer object for userspace
[08:35:20] [PASSED] Kernel buffer object
[08:35:20] [PASSED] Shared buffer object
[08:35:20] ============== [PASSED] ttm_bo_validate_basic ==============
[08:35:20] [PASSED] ttm_bo_validate_invalid_placement
[08:35:20] ============= ttm_bo_validate_same_placement ==============
[08:35:20] [PASSED] System manager
[08:35:20] [PASSED] VRAM manager
[08:35:20] ========= [PASSED] ttm_bo_validate_same_placement ==========
[08:35:20] [PASSED] ttm_bo_validate_failed_alloc
[08:35:20] [PASSED] ttm_bo_validate_pinned
[08:35:20] [PASSED] ttm_bo_validate_busy_placement
[08:35:20] ================ ttm_bo_validate_multihop =================
[08:35:20] [PASSED] Buffer object for userspace
[08:35:20] [PASSED] Kernel buffer object
[08:35:20] [PASSED] Shared buffer object
[08:35:20] ============ [PASSED] ttm_bo_validate_multihop =============
[08:35:20] ========== ttm_bo_validate_no_placement_signaled ==========
[08:35:20] [PASSED] Buffer object in system domain, no page vector
[08:35:20] [PASSED] Buffer object in system domain with an existing page vector
[08:35:20] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[08:35:20] ======== ttm_bo_validate_no_placement_not_signaled ========
[08:35:20] [PASSED] Buffer object for userspace
[08:35:20] [PASSED] Kernel buffer object
[08:35:20] [PASSED] Shared buffer object
[08:35:20] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[08:35:20] [PASSED] ttm_bo_validate_move_fence_signaled
[08:35:20] ========= ttm_bo_validate_move_fence_not_signaled =========
[08:35:20] [PASSED] Waits for GPU
[08:35:20] [PASSED] Tries to lock straight away
[08:35:20] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[08:35:20] [PASSED] ttm_bo_validate_swapout
[08:35:20] [PASSED] ttm_bo_validate_happy_evict
[08:35:20] [PASSED] ttm_bo_validate_all_pinned_evict
[08:35:20] [PASSED] ttm_bo_validate_allowed_only_evict
[08:35:20] [PASSED] ttm_bo_validate_deleted_evict
[08:35:20] [PASSED] ttm_bo_validate_busy_domain_evict
[08:35:20] [PASSED] ttm_bo_validate_evict_gutting
[08:35:20] [PASSED] ttm_bo_validate_recrusive_evict
[08:35:20] ================= [PASSED] ttm_bo_validate =================
[08:35:20] ============================================================
[08:35:20] Testing complete. Ran 102 tests: passed: 102
[08:35:20] Elapsed time: 12.297s total, 1.804s configuring, 10.228s building, 0.214s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 0/5] Add ocode late binding support for CRI
@ 2026-07-23 8:37 Badal Nilawar
2026-07-23 8:33 ` ✗ CI.checkpatch: warning for Add ocode late binding support for CRI (rev4) Patchwork
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: Badal Nilawar @ 2026-07-23 8:37 UTC (permalink / raw)
To: intel-xe
Cc: anshuman.gupta, rodrigo.vivi, alexander.usyskin, michael.j.ruhl,
daniele.ceraolospurio, anoop.c.vijay, shamim.begum,
anthony.giardina
Ocode is the OOBMSM telemetry/manageability firmware, and on CRI it is
loaded through late binding flow.
v2: Dropped "[RFC,3/4] drm/xe/xe_late_bind_fw: Track firmware load status"
v4:
- Fixed most of the comments from Daniele
- Rearranged the patches
- Introduced new patch to fix firmware leak
- Improved "TODO: compatibility check" comments
Badal Nilawar (5):
drm/xe/xe_late_bind_fw: Fix firmware leak on missing manifest entry
drm/xe/xe_late_bind_fw: Convert late bind flag to mask
drm/xe/xe_late_bind_fw: Add support to load Ocode firmware
drm/xe/xe_late_bind_fw: Enable late binding support for CRI
drm/xe/xe_late_bind_fw: Refactor pm flow
drivers/gpu/drm/xe/xe_device.c | 2 +-
drivers/gpu/drm/xe/xe_device_types.h | 4 +-
drivers/gpu/drm/xe/xe_late_bind_fw.c | 118 ++++++++++++++++-----
drivers/gpu/drm/xe/xe_late_bind_fw.h | 4 +-
drivers/gpu/drm/xe/xe_late_bind_fw_types.h | 4 +-
drivers/gpu/drm/xe/xe_pci.c | 6 +-
drivers/gpu/drm/xe/xe_pci_types.h | 2 +-
drivers/gpu/drm/xe/xe_pm.c | 6 +-
8 files changed, 106 insertions(+), 40 deletions(-)
--
2.54.0
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v4 1/5] drm/xe/xe_late_bind_fw: Fix firmware leak on missing manifest entry
2026-07-23 8:37 [PATCH v4 0/5] Add ocode late binding support for CRI Badal Nilawar
2026-07-23 8:33 ` ✗ CI.checkpatch: warning for Add ocode late binding support for CRI (rev4) Patchwork
2026-07-23 8:35 ` ✓ CI.KUnit: success " Patchwork
@ 2026-07-23 8:37 ` Badal Nilawar
2026-07-23 8:37 ` [PATCH v4 2/5] drm/xe/xe_late_bind_fw: Convert late bind flag to mask Badal Nilawar
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Badal Nilawar @ 2026-07-23 8:37 UTC (permalink / raw)
To: intel-xe
Cc: anshuman.gupta, rodrigo.vivi, alexander.usyskin, michael.j.ruhl,
daniele.ceraolospurio, anoop.c.vijay, shamim.begum,
anthony.giardina
Release firmware when the "LTES" manifest entry is not found in the
firmware header.
Fixes: efa29317a553 ("drm/xe/xe_late_bind_fw: Extract and print version info")
Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
---
drivers/gpu/drm/xe/xe_late_bind_fw.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_late_bind_fw.c b/drivers/gpu/drm/xe/xe_late_bind_fw.c
index 768442ca7da6..1529a1de4051 100644
--- a/drivers/gpu/drm/xe/xe_late_bind_fw.c
+++ b/drivers/gpu/drm/xe/xe_late_bind_fw.c
@@ -335,19 +335,19 @@ static int __xe_late_bind_fw_init(struct xe_late_bind *late_bind, u32 fw_id)
if (fw->size > XE_LB_MAX_PAYLOAD_SIZE) {
drm_err(&xe->drm, "Firmware %s size %zu is larger than max pay load size %u\n",
lb_fw->blob_path, fw->size, XE_LB_MAX_PAYLOAD_SIZE);
- release_firmware(fw);
- return -ENODATA;
+ ret = -ENODATA;
+ goto release_fw;
}
ret = parse_lb_layout(lb_fw, fw->data, fw->size, "LTES");
if (ret)
- return ret;
+ goto release_fw;
lb_fw->payload_size = fw->size;
lb_fw->payload = drmm_kzalloc(&xe->drm, lb_fw->payload_size, GFP_KERNEL);
if (!lb_fw->payload) {
- release_firmware(fw);
- return -ENOMEM;
+ ret = -ENOMEM;
+ goto release_fw;
}
drm_info(&xe->drm, "Using %s firmware from %s version %u.%u.%u.%u\n",
@@ -359,7 +359,9 @@ static int __xe_late_bind_fw_init(struct xe_late_bind *late_bind, u32 fw_id)
release_firmware(fw);
INIT_WORK(&lb_fw->work, xe_late_bind_work);
- return 0;
+release_fw:
+ release_firmware(fw);
+ return ret;
}
static int xe_late_bind_fw_init(struct xe_late_bind *late_bind)
--
2.54.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v4 2/5] drm/xe/xe_late_bind_fw: Convert late bind flag to mask
2026-07-23 8:37 [PATCH v4 0/5] Add ocode late binding support for CRI Badal Nilawar
` (2 preceding siblings ...)
2026-07-23 8:37 ` [PATCH v4 1/5] drm/xe/xe_late_bind_fw: Fix firmware leak on missing manifest entry Badal Nilawar
@ 2026-07-23 8:37 ` Badal Nilawar
2026-07-23 8:37 ` [PATCH v4 3/5] drm/xe/xe_late_bind_fw: Add support to load Ocode firmware Badal Nilawar
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Badal Nilawar @ 2026-07-23 8:37 UTC (permalink / raw)
To: intel-xe
Cc: anshuman.gupta, rodrigo.vivi, alexander.usyskin, michael.j.ruhl,
daniele.ceraolospurio, anoop.c.vijay, shamim.begum,
anthony.giardina
Replace the has_late_bind flag with a late_bind_mask to support
multiple late bind firmware types.
No functional change intended.
Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
---
drivers/gpu/drm/xe/xe_device.c | 2 +-
drivers/gpu/drm/xe/xe_device_types.h | 4 ++--
drivers/gpu/drm/xe/xe_late_bind_fw.c | 5 ++++-
drivers/gpu/drm/xe/xe_pci.c | 4 ++--
drivers/gpu/drm/xe/xe_pci_types.h | 2 +-
5 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index 4eed9a251e65..1849e1f072b4 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -738,7 +738,7 @@ static void vf_update_device_info(struct xe_device *xe)
xe->info.has_heci_cscfi = 0;
xe->info.has_heci_gscfi = 0;
xe->info.has_i2c = 0;
- xe->info.has_late_bind = 0;
+ xe->info.late_bind_mask = 0;
xe->info.skip_guc_pc = 1;
xe->info.skip_pcode = 1;
xe->info.has_drm_ras = false;
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 860ad322237f..db56d35f453d 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -139,6 +139,8 @@ struct xe_device {
u8 vm_max_level;
/** @info.va_bits: Maximum bits of a virtual address */
u8 va_bits;
+ /** @info.late_bind_mask: Indicates supported late binding firmwares */
+ u8 late_bind_mask;
/*
* Keep all flags below alphabetically sorted
@@ -168,8 +170,6 @@ struct xe_device {
u8 has_heci_gscfi:1;
/** @info.has_i2c: Device has I2C controller */
u8 has_i2c:1;
- /** @info.has_late_bind: Device has firmware late binding support */
- u8 has_late_bind:1;
/** @info.has_llc: Device has a shared CPU+GPU last level cache */
u8 has_llc:1;
/** @info.has_mbx_power_limits: Device has support to manage power limits using
diff --git a/drivers/gpu/drm/xe/xe_late_bind_fw.c b/drivers/gpu/drm/xe/xe_late_bind_fw.c
index 1529a1de4051..8f3be55060f1 100644
--- a/drivers/gpu/drm/xe/xe_late_bind_fw.c
+++ b/drivers/gpu/drm/xe/xe_late_bind_fw.c
@@ -366,6 +366,7 @@ static int __xe_late_bind_fw_init(struct xe_late_bind *late_bind, u32 fw_id)
static int xe_late_bind_fw_init(struct xe_late_bind *late_bind)
{
+ struct xe_device *xe = late_bind_to_xe(late_bind);
int ret;
int fw_id;
@@ -374,6 +375,8 @@ static int xe_late_bind_fw_init(struct xe_late_bind *late_bind)
return -ENOMEM;
for (fw_id = 0; fw_id < XE_LB_FW_MAX_ID; fw_id++) {
+ if (!(xe->info.late_bind_mask & BIT(fw_id)))
+ continue;
ret = __xe_late_bind_fw_init(late_bind, fw_id);
if (ret)
return ret;
@@ -437,7 +440,7 @@ int xe_late_bind_init(struct xe_late_bind *late_bind)
struct xe_device *xe = late_bind_to_xe(late_bind);
int err;
- if (!xe->info.has_late_bind)
+ if (!xe->info.late_bind_mask)
return 0;
if (!IS_ENABLED(CONFIG_INTEL_MEI_LB) || !IS_ENABLED(CONFIG_INTEL_MEI_GSC)) {
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index 36d62927b969..283919fbbc04 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -421,10 +421,10 @@ static const struct xe_device_desc bmg_desc = {
.has_gsc_nvm = 1,
.has_heci_cscfi = 1,
.has_i2c = true,
- .has_late_bind = true,
.has_pre_prod_wa = 1,
.has_soc_remapper_telem = true,
.has_sriov = true,
+ .late_bind_mask = BIT(XE_LB_FW_FAN_CONTROL),
.max_gt_per_tile = 2,
MULTI_LRC_MASK,
.needs_scratch = true,
@@ -802,7 +802,6 @@ static int xe_info_init_early(struct xe_device *xe,
xe->info.has_heci_gscfi = desc->has_heci_gscfi;
xe->info.has_heci_cscfi = desc->has_heci_cscfi;
xe->info.has_i2c = desc->has_i2c;
- xe->info.has_late_bind = desc->has_late_bind;
xe->info.has_llc = desc->has_llc;
xe->info.has_mert = desc->has_mert;
xe->info.has_page_reclaim_hw_assist = desc->has_page_reclaim_hw_assist;
@@ -818,6 +817,7 @@ static int xe_info_init_early(struct xe_device *xe,
xe->info.needs_scratch = desc->needs_scratch;
xe->info.needs_shared_vf_gt_wq = desc->needs_shared_vf_gt_wq;
xe->info.multi_lrc_mask = desc->multi_lrc_mask;
+ xe->info.late_bind_mask = desc->late_bind_mask;
xe->info.probe_display = IS_ENABLED(CONFIG_DRM_XE_DISPLAY) &&
xe_modparam.probe_display &&
diff --git a/drivers/gpu/drm/xe/xe_pci_types.h b/drivers/gpu/drm/xe/xe_pci_types.h
index fed509ff601e..d1d41c65133f 100644
--- a/drivers/gpu/drm/xe/xe_pci_types.h
+++ b/drivers/gpu/drm/xe/xe_pci_types.h
@@ -28,6 +28,7 @@ struct xe_device_desc {
enum xe_platform platform;
u8 dma_mask_size;
+ u8 late_bind_mask;
u8 max_remote_tiles:2;
u8 max_gt_per_tile:2;
u8 multi_lrc_mask;
@@ -47,7 +48,6 @@ struct xe_device_desc {
u8 has_heci_gscfi:1;
u8 has_heci_cscfi:1;
u8 has_i2c:1;
- u8 has_late_bind:1;
u8 has_llc:1;
u8 has_mbx_power_limits:1;
u8 has_mbx_thermal_info:1;
--
2.54.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v4 3/5] drm/xe/xe_late_bind_fw: Add support to load Ocode firmware
2026-07-23 8:37 [PATCH v4 0/5] Add ocode late binding support for CRI Badal Nilawar
` (3 preceding siblings ...)
2026-07-23 8:37 ` [PATCH v4 2/5] drm/xe/xe_late_bind_fw: Convert late bind flag to mask Badal Nilawar
@ 2026-07-23 8:37 ` Badal Nilawar
2026-07-23 8:37 ` [PATCH v4 4/5] drm/xe/xe_late_bind_fw: Enable late binding support for CRI Badal Nilawar
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Badal Nilawar @ 2026-07-23 8:37 UTC (permalink / raw)
To: intel-xe
Cc: anshuman.gupta, rodrigo.vivi, alexander.usyskin, michael.j.ruhl,
daniele.ceraolospurio, anoop.c.vijay, shamim.begum,
anthony.giardina
Enable loading of Ocode, the legacy OOBMSM firmware, via the
late binding flow. Payload size check is not needed any more
as late binding support bigger payloads.
v2:
- Added TODO comments for Ocode compatibility version check through
sysctrl mailbox as Ocode may not remain backward compatible across
the IFWI update.
- The current firmware naming scheme uses ocode_8086_<devid>.bin.
Once compatibility version checking is implemented, the firmware name
will be extended to ocode_8086_<devid>_<comp_ver>.bin.
- Declare the Ocode firmware dependancy with MODULE_FIRMWARE (Daniele)
Assisted-by: GitHub-Copilot:GPT-5.3
Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
---
v3: Describe need for Ocode compatibility version checks (Daniele)
---
drivers/gpu/drm/xe/xe_late_bind_fw.c | 67 ++++++++++++++++++----
drivers/gpu/drm/xe/xe_late_bind_fw_types.h | 4 +-
2 files changed, 57 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_late_bind_fw.c b/drivers/gpu/drm/xe/xe_late_bind_fw.c
index 8f3be55060f1..62b779942b88 100644
--- a/drivers/gpu/drm/xe/xe_late_bind_fw.c
+++ b/drivers/gpu/drm/xe/xe_late_bind_fw.c
@@ -18,6 +18,13 @@
#include "xe_pcode_api.h"
#include "xe_pm.h"
+/*
+ * Current firmware name format: xe/ocode_8086_<devid>.bin
+ * TODO: Once System Controller support ocode compatibility version
+ * check via mailbox, add the <comp_ver> suffix to the filename.
+ */
+MODULE_FIRMWARE("xe/ocode_8086_674c.bin");
+
/*
* The component should load quite quickly in most cases, but it could take
* a bit. Using a very big timeout just to cover the worst case scenario
@@ -33,10 +40,12 @@
static const u32 fw_id_to_type[] = {
[XE_LB_FW_FAN_CONTROL] = INTEL_LB_TYPE_FAN_CONTROL,
+ [XE_LB_FW_OCODE] = INTEL_LB_TYPE_OCODE,
};
static const char * const fw_id_to_name[] = {
[XE_LB_FW_FAN_CONTROL] = "fan_control",
+ [XE_LB_FW_OCODE] = "ocode",
};
static struct xe_device *
@@ -179,6 +188,34 @@ static const char *xe_late_bind_parse_status(uint32_t status)
return "Invalid Payload";
case INTEL_LB_STATUS_TIMEOUT:
return "Timeout";
+ case INTEL_LB_STATUS_INTERNAL_ERROR:
+ return "Internal Error";
+ case INTEL_LB_STATUS_INVALID_FPT_TABLE:
+ return "Invalid FPT Table";
+ case INTEL_LB_STATUS_SIGNED_PAYLOAD_VERIFICATION_ERROR:
+ return "Signed Payload Verification Error";
+ case INTEL_LB_STATUS_SIGNED_PAYLOAD_INVALID_CPD:
+ return "Signed Payload Invalid CPD";
+ case INTEL_LB_STATUS_SIGNED_PAYLOAD_FW_VERSION_MISMATCH:
+ return "Signed Payload FW Version Mismatch";
+ case INTEL_LB_STATUS_SIGNED_PAYLOAD_INVALID_MANIFEST:
+ return "Signed Payload Invalid Manifest";
+ case INTEL_LB_STATUS_SIGNED_PAYLOAD_INVALID_HASH:
+ return "Signed Payload Invalid Hash";
+ case INTEL_LB_STATUS_SIGNED_PAYLOAD_BINDING_TYPE_MISMATCH:
+ return "Signed Payload Binding type Mismatch";
+ case INTEL_LB_STATUS_SIGNED_PAYLOAD_HANDLE_SVN_FAILED:
+ return "Signed Payload Handle SVN Failed";
+ case INTEL_LB_STATUS_DESTINATION_MBOX_FAILURE:
+ return "Destination MBOX Failure";
+ case INTEL_LB_STATUS_MISSING_LOADING_PATCH:
+ return "Missing Loading Patch";
+ case INTEL_LB_STATUS_INVALID_COMMAND:
+ return "Invalid Command";
+ case INTEL_LB_STATUS_INVALID_HECI_HEADER:
+ return "Invalid HECI Header";
+ case INTEL_LB_STATUS_IP_ERROR_START:
+ return "IP Error Start";
default:
return "Unknown error";
}
@@ -298,7 +335,7 @@ static int __xe_late_bind_fw_init(struct xe_late_bind *late_bind, u32 fw_id)
struct xe_late_bind_fw *lb_fw;
const struct firmware *fw;
u32 num_fans;
- int ret;
+ int ret = 0;
if (fw_id >= XE_LB_FW_MAX_ID)
return -EINVAL;
@@ -320,9 +357,18 @@ static int __xe_late_bind_fw_init(struct xe_late_bind *late_bind, u32 fw_id)
return 0;
}
- snprintf(lb_fw->blob_path, sizeof(lb_fw->blob_path), "xe/%s_8086_%04x_%04x_%04x.bin",
- fw_id_to_name[lb_fw->id], pdev->device,
- pdev->subsystem_vendor, pdev->subsystem_device);
+ if (lb_fw->type == INTEL_LB_TYPE_OCODE) {
+ /*
+ * TODO: Fetch ocode compatibility version via System Controller mailbox
+ * and include it in file name xe/ocode_8086_<devid>_<comp_ver>.bin.
+ */
+ snprintf(lb_fw->blob_path, sizeof(lb_fw->blob_path), "xe/%s_8086_%04x.bin",
+ fw_id_to_name[lb_fw->id], pdev->device);
+ } else {
+ snprintf(lb_fw->blob_path, sizeof(lb_fw->blob_path), "xe/%s_8086_%04x_%04x_%04x.bin",
+ fw_id_to_name[lb_fw->id], pdev->device,
+ pdev->subsystem_vendor, pdev->subsystem_device);
+ }
drm_dbg(&xe->drm, "Request late binding firmware %s\n", lb_fw->blob_path);
ret = firmware_request_nowarn(&fw, lb_fw->blob_path, xe->drm.dev);
@@ -332,13 +378,6 @@ static int __xe_late_bind_fw_init(struct xe_late_bind *late_bind, u32 fw_id)
return 0;
}
- if (fw->size > XE_LB_MAX_PAYLOAD_SIZE) {
- drm_err(&xe->drm, "Firmware %s size %zu is larger than max pay load size %u\n",
- lb_fw->blob_path, fw->size, XE_LB_MAX_PAYLOAD_SIZE);
- ret = -ENODATA;
- goto release_fw;
- }
-
ret = parse_lb_layout(lb_fw, fw->data, fw->size, "LTES");
if (ret)
goto release_fw;
@@ -355,8 +394,12 @@ static int __xe_late_bind_fw_init(struct xe_late_bind *late_bind, u32 fw_id)
lb_fw->version.major, lb_fw->version.minor,
lb_fw->version.hotfix, lb_fw->version.build);
+ /*
+ * TODO: Verify compatibility version in manifest header against the version
+ * returned by the system controller.
+ */
+
memcpy((void *)lb_fw->payload, fw->data, lb_fw->payload_size);
- release_firmware(fw);
INIT_WORK(&lb_fw->work, xe_late_bind_work);
release_fw:
diff --git a/drivers/gpu/drm/xe/xe_late_bind_fw_types.h b/drivers/gpu/drm/xe/xe_late_bind_fw_types.h
index ee5efe60774e..b7120592aaa0 100644
--- a/drivers/gpu/drm/xe/xe_late_bind_fw_types.h
+++ b/drivers/gpu/drm/xe/xe_late_bind_fw_types.h
@@ -13,14 +13,14 @@
#include "abi/uc_fw_abi.h"
-#define XE_LB_MAX_PAYLOAD_SIZE SZ_4K
-
/**
* enum xe_late_bind_fw_id - enum to determine late binding fw index
*/
enum xe_late_bind_fw_id {
/** @XE_LB_FW_FAN_CONTROL: Fan control */
XE_LB_FW_FAN_CONTROL = 0,
+ /** @XE_LB_FW_OCODE: Ocode firmware */
+ XE_LB_FW_OCODE,
/** @XE_LB_FW_MAX_ID: Number of IDs */
XE_LB_FW_MAX_ID
};
--
2.54.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v4 4/5] drm/xe/xe_late_bind_fw: Enable late binding support for CRI
2026-07-23 8:37 [PATCH v4 0/5] Add ocode late binding support for CRI Badal Nilawar
` (4 preceding siblings ...)
2026-07-23 8:37 ` [PATCH v4 3/5] drm/xe/xe_late_bind_fw: Add support to load Ocode firmware Badal Nilawar
@ 2026-07-23 8:37 ` Badal Nilawar
2026-07-23 8:37 ` [PATCH v4 5/5] drm/xe/xe_late_bind_fw: Refactor pm flow Badal Nilawar
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Badal Nilawar @ 2026-07-23 8:37 UTC (permalink / raw)
To: intel-xe
Cc: anshuman.gupta, rodrigo.vivi, alexander.usyskin, michael.j.ruhl,
daniele.ceraolospurio, anoop.c.vijay, shamim.begum,
anthony.giardina
Enable late binding support for CRI
Assisted-by: GitHub-Copilot:GPT-5.3
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
---
v2: Moved %s/has_late_bind/late_bind_mask to saperate patch
---
drivers/gpu/drm/xe/xe_pci.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/xe/xe_pci.c b/drivers/gpu/drm/xe/xe_pci.c
index 283919fbbc04..2bb547c22309 100644
--- a/drivers/gpu/drm/xe/xe_pci.c
+++ b/drivers/gpu/drm/xe/xe_pci.c
@@ -482,6 +482,8 @@ static const struct xe_device_desc cri_desc = {
.has_soc_remapper_telem = true,
.has_sriov = true,
.has_sysctrl = true,
+ .late_bind_mask = BIT(XE_LB_FW_FAN_CONTROL) |
+ BIT(XE_LB_FW_OCODE),
.max_gt_per_tile = 2,
MULTI_LRC_MASK,
.require_force_probe = true,
--
2.54.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH v4 5/5] drm/xe/xe_late_bind_fw: Refactor pm flow
2026-07-23 8:37 [PATCH v4 0/5] Add ocode late binding support for CRI Badal Nilawar
` (5 preceding siblings ...)
2026-07-23 8:37 ` [PATCH v4 4/5] drm/xe/xe_late_bind_fw: Enable late binding support for CRI Badal Nilawar
@ 2026-07-23 8:37 ` Badal Nilawar
2026-07-23 9:19 ` ✓ Xe.CI.BAT: success for Add ocode late binding support for CRI (rev4) Patchwork
2026-07-23 16:46 ` [PATCH v4 0/5] Add ocode late binding support for CRI Rodrigo Vivi
8 siblings, 0 replies; 10+ messages in thread
From: Badal Nilawar @ 2026-07-23 8:37 UTC (permalink / raw)
To: intel-xe
Cc: anshuman.gupta, rodrigo.vivi, alexander.usyskin, michael.j.ruhl,
daniele.ceraolospurio, anoop.c.vijay, shamim.begum,
anthony.giardina
Refactor late binding flow across suspend/resume by adding dedicated
pm functions.
Assisted-by: GitHub-Copilot:GPT-5.3
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
---
drivers/gpu/drm/xe/xe_late_bind_fw.c | 36 ++++++++++++++++++++--------
drivers/gpu/drm/xe/xe_late_bind_fw.h | 4 ++--
drivers/gpu/drm/xe/xe_pm.c | 6 ++---
3 files changed, 31 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_late_bind_fw.c b/drivers/gpu/drm/xe/xe_late_bind_fw.c
index 62b779942b88..f0970192a8e1 100644
--- a/drivers/gpu/drm/xe/xe_late_bind_fw.c
+++ b/drivers/gpu/drm/xe/xe_late_bind_fw.c
@@ -230,7 +230,7 @@ static int xe_late_bind_fw_num_fans(struct xe_late_bind *late_bind, u32 *num_fan
PCODE_MBOX(FAN_SPEED_CONTROL, FSC_READ_NUM_FANS, 0), num_fans, NULL);
}
-void xe_late_bind_wait_for_worker_completion(struct xe_late_bind *late_bind)
+static void wait_for_worker_completion(struct xe_late_bind *late_bind)
{
struct xe_device *xe = late_bind_to_xe(late_bind);
struct xe_late_bind_fw *lbfw;
@@ -306,18 +306,12 @@ static void xe_late_bind_work(struct work_struct *work)
xe_pm_runtime_put(xe);
}
-int xe_late_bind_fw_load(struct xe_late_bind *late_bind)
+static int xe_late_bind_fw_load(struct xe_late_bind *late_bind)
{
struct xe_device *xe = late_bind_to_xe(late_bind);
struct xe_late_bind_fw *lbfw;
int fw_id;
- if (!late_bind->component_added)
- return -ENODEV;
-
- if (late_bind->disable)
- return 0;
-
for (fw_id = 0; fw_id < XE_LB_FW_MAX_ID; fw_id++) {
lbfw = &late_bind->late_bind_fw[fw_id];
if (lbfw->payload) {
@@ -446,7 +440,7 @@ static void xe_late_bind_component_unbind(struct device *xe_kdev,
struct xe_device *xe = kdev_to_xe_device(xe_kdev);
struct xe_late_bind *late_bind = &xe->late_bind;
- xe_late_bind_wait_for_worker_completion(late_bind);
+ wait_for_worker_completion(late_bind);
late_bind->component.ops = NULL;
}
@@ -461,7 +455,7 @@ static void xe_late_bind_remove(void *arg)
struct xe_late_bind *late_bind = arg;
struct xe_device *xe = late_bind_to_xe(late_bind);
- xe_late_bind_wait_for_worker_completion(late_bind);
+ wait_for_worker_completion(late_bind);
late_bind->component_added = false;
@@ -472,6 +466,28 @@ static void xe_late_bind_remove(void *arg)
}
}
+void xe_late_bind_pm_suspend(struct xe_late_bind *late_bind)
+{
+ if (!late_bind->component_added)
+ return;
+
+ if (late_bind->disable)
+ return;
+
+ wait_for_worker_completion(late_bind);
+}
+
+void xe_late_bind_pm_resume(struct xe_late_bind *late_bind)
+{
+ if (!late_bind->component_added)
+ return;
+
+ if (late_bind->disable)
+ return;
+
+ xe_late_bind_fw_load(late_bind);
+}
+
/**
* xe_late_bind_init() - add xe mei late binding component
* @late_bind: pointer to late bind structure.
diff --git a/drivers/gpu/drm/xe/xe_late_bind_fw.h b/drivers/gpu/drm/xe/xe_late_bind_fw.h
index 07e437390539..8896fea3068e 100644
--- a/drivers/gpu/drm/xe/xe_late_bind_fw.h
+++ b/drivers/gpu/drm/xe/xe_late_bind_fw.h
@@ -11,7 +11,7 @@
struct xe_late_bind;
int xe_late_bind_init(struct xe_late_bind *late_bind);
-int xe_late_bind_fw_load(struct xe_late_bind *late_bind);
-void xe_late_bind_wait_for_worker_completion(struct xe_late_bind *late_bind);
+void xe_late_bind_pm_suspend(struct xe_late_bind *late_bind);
+void xe_late_bind_pm_resume(struct xe_late_bind *late_bind);
#endif
diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c
index a5289a9df8d2..d516f206b121 100644
--- a/drivers/gpu/drm/xe/xe_pm.c
+++ b/drivers/gpu/drm/xe/xe_pm.c
@@ -184,7 +184,7 @@ int xe_pm_suspend(struct xe_device *xe)
if (err)
goto err;
- xe_late_bind_wait_for_worker_completion(&xe->late_bind);
+ xe_late_bind_pm_suspend(&xe->late_bind);
for_each_gt(gt, xe, id)
xe_gt_suspend_prepare(gt);
@@ -288,7 +288,7 @@ int xe_pm_resume(struct xe_device *xe)
if (IS_VF_CCS_READY(xe))
xe_sriov_vf_ccs_register_context(xe);
- xe_late_bind_fw_load(&xe->late_bind);
+ xe_late_bind_pm_resume(&xe->late_bind);
drm_dbg(&xe->drm, "Device resumed\n");
xe_pm_block_end_signalling();
@@ -730,7 +730,7 @@ int xe_pm_runtime_resume(struct xe_device *xe)
xe_sriov_vf_ccs_register_context(xe);
if (xe->d3cold.allowed)
- xe_late_bind_fw_load(&xe->late_bind);
+ xe_late_bind_pm_resume(&xe->late_bind);
out:
xe_rpm_lockmap_release(xe);
--
2.54.0
^ permalink raw reply related [flat|nested] 10+ messages in thread
* ✓ Xe.CI.BAT: success for Add ocode late binding support for CRI (rev4)
2026-07-23 8:37 [PATCH v4 0/5] Add ocode late binding support for CRI Badal Nilawar
` (6 preceding siblings ...)
2026-07-23 8:37 ` [PATCH v4 5/5] drm/xe/xe_late_bind_fw: Refactor pm flow Badal Nilawar
@ 2026-07-23 9:19 ` Patchwork
2026-07-23 16:46 ` [PATCH v4 0/5] Add ocode late binding support for CRI Rodrigo Vivi
8 siblings, 0 replies; 10+ messages in thread
From: Patchwork @ 2026-07-23 9:19 UTC (permalink / raw)
To: Badal Nilawar; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 868 bytes --]
== Series Details ==
Series: Add ocode late binding support for CRI (rev4)
URL : https://patchwork.freedesktop.org/series/162657/
State : success
== Summary ==
CI Bug Log - changes from xe-5465-086341c39f439056e4aacaf5750c5ad62f110828_BAT -> xe-pw-162657v4_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (13 -> 13)
------------------------------
No changes in participating hosts
Changes
-------
No changes found
Build changes
-------------
* Linux: xe-5465-086341c39f439056e4aacaf5750c5ad62f110828 -> xe-pw-162657v4
IGT_9020: 9020
xe-5465-086341c39f439056e4aacaf5750c5ad62f110828: 086341c39f439056e4aacaf5750c5ad62f110828
xe-pw-162657v4: 162657v4
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-162657v4/index.html
[-- Attachment #2: Type: text/html, Size: 1416 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v4 0/5] Add ocode late binding support for CRI
2026-07-23 8:37 [PATCH v4 0/5] Add ocode late binding support for CRI Badal Nilawar
` (7 preceding siblings ...)
2026-07-23 9:19 ` ✓ Xe.CI.BAT: success for Add ocode late binding support for CRI (rev4) Patchwork
@ 2026-07-23 16:46 ` Rodrigo Vivi
8 siblings, 0 replies; 10+ messages in thread
From: Rodrigo Vivi @ 2026-07-23 16:46 UTC (permalink / raw)
To: Badal Nilawar
Cc: intel-xe, anshuman.gupta, alexander.usyskin, michael.j.ruhl,
daniele.ceraolospurio, anoop.c.vijay, shamim.begum,
anthony.giardina
On Thu, Jul 23, 2026 at 02:07:00PM +0530, Badal Nilawar wrote:
> Ocode is the OOBMSM telemetry/manageability firmware, and on CRI it is
> loaded through late binding flow.
>
> v2: Dropped "[RFC,3/4] drm/xe/xe_late_bind_fw: Track firmware load status"
>
> v4:
> - Fixed most of the comments from Daniele
> - Rearranged the patches
> - Introduced new patch to fix firmware leak
> - Improved "TODO: compatibility check" comments
Please check and fix:
https://sashiko.dev/#/patchset/20260723083659.716683-7-badal.nilawar%40intel.com
>
> Badal Nilawar (5):
> drm/xe/xe_late_bind_fw: Fix firmware leak on missing manifest entry
> drm/xe/xe_late_bind_fw: Convert late bind flag to mask
> drm/xe/xe_late_bind_fw: Add support to load Ocode firmware
> drm/xe/xe_late_bind_fw: Enable late binding support for CRI
> drm/xe/xe_late_bind_fw: Refactor pm flow
>
> drivers/gpu/drm/xe/xe_device.c | 2 +-
> drivers/gpu/drm/xe/xe_device_types.h | 4 +-
> drivers/gpu/drm/xe/xe_late_bind_fw.c | 118 ++++++++++++++++-----
> drivers/gpu/drm/xe/xe_late_bind_fw.h | 4 +-
> drivers/gpu/drm/xe/xe_late_bind_fw_types.h | 4 +-
> drivers/gpu/drm/xe/xe_pci.c | 6 +-
> drivers/gpu/drm/xe/xe_pci_types.h | 2 +-
> drivers/gpu/drm/xe/xe_pm.c | 6 +-
> 8 files changed, 106 insertions(+), 40 deletions(-)
>
> --
> 2.54.0
>
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-07-23 16:47 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-23 8:37 [PATCH v4 0/5] Add ocode late binding support for CRI Badal Nilawar
2026-07-23 8:33 ` ✗ CI.checkpatch: warning for Add ocode late binding support for CRI (rev4) Patchwork
2026-07-23 8:35 ` ✓ CI.KUnit: success " Patchwork
2026-07-23 8:37 ` [PATCH v4 1/5] drm/xe/xe_late_bind_fw: Fix firmware leak on missing manifest entry Badal Nilawar
2026-07-23 8:37 ` [PATCH v4 2/5] drm/xe/xe_late_bind_fw: Convert late bind flag to mask Badal Nilawar
2026-07-23 8:37 ` [PATCH v4 3/5] drm/xe/xe_late_bind_fw: Add support to load Ocode firmware Badal Nilawar
2026-07-23 8:37 ` [PATCH v4 4/5] drm/xe/xe_late_bind_fw: Enable late binding support for CRI Badal Nilawar
2026-07-23 8:37 ` [PATCH v4 5/5] drm/xe/xe_late_bind_fw: Refactor pm flow Badal Nilawar
2026-07-23 9:19 ` ✓ Xe.CI.BAT: success for Add ocode late binding support for CRI (rev4) Patchwork
2026-07-23 16:46 ` [PATCH v4 0/5] Add ocode late binding support for CRI Rodrigo Vivi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.