* ✗ CI.checkpatch: warning for drm/intel/display: Use drmm for intel_mode_config_cleanup
2026-04-08 11:47 [PATCH] drm/intel/display: Use drmm for intel_mode_config_cleanup Maarten Lankhorst
@ 2026-04-08 11:54 ` Patchwork
2026-04-08 11:55 ` ✗ CI.KUnit: failure " Patchwork
2026-04-10 9:17 ` [PATCH] " Ville Syrjälä
2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2026-04-08 11:54 UTC (permalink / raw)
To: Maarten Lankhorst; +Cc: intel-xe
== Series Details ==
Series: drm/intel/display: Use drmm for intel_mode_config_cleanup
URL : https://patchwork.freedesktop.org/series/164527/
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
1f57ba1afceae32108bd24770069f764d940a0e4
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 9db602dbf01cfa6907d5e988b12d70a66c35246a
Author: Maarten Lankhorst <dev@lankhorst.se>
Date: Wed Apr 8 13:47:56 2026 +0200
drm/intel/display: Use drmm for intel_mode_config_cleanup
When force unbinding the driver on xe, xe unloads cleanly except for
framebuffers and user blobs.
This happens because intel_mode_config_cleanup is called during driver
unbind, but it should be called only after all drm files are closed,
during drmm cleanup.
Related warnings for framebuffers on the subtest:
[ 739.713076] ------------[ cut here ]------------
WARN_ON(!list_empty(&dev->mode_config.fb_list))
[ 739.713079] WARNING: drivers/gpu/drm/drm_mode_config.c:584 at drm_mode_config_cleanup+0x30b/0x320 [drm], CPU#12: xe_module_load/13145
....
[ 739.713328] Call Trace:
[ 739.713330] <TASK>
[ 739.713335] ? intel_pmdemand_destroy_state+0x11/0x20 [xe]
[ 739.713574] ? intel_atomic_global_obj_cleanup+0xe4/0x1a0 [xe]
[ 739.713794] intel_display_driver_remove_noirq+0x51/0xb0 [xe]
[ 739.714041] xe_display_fini_early+0x33/0x50 [xe]
[ 739.714284] devm_action_release+0xf/0x20
[ 739.714294] devres_release_all+0xad/0xf0
[ 739.714301] device_unbind_cleanup+0x12/0xa0
[ 739.714305] device_release_driver_internal+0x1b7/0x210
[ 739.714311] device_driver_detach+0x14/0x20
[ 739.714315] unbind_store+0xa6/0xb0
[ 739.714319] drv_attr_store+0x21/0x30
[ 739.714322] sysfs_kf_write+0x48/0x60
[ 739.714328] kernfs_fop_write_iter+0x16b/0x240
[ 739.714333] vfs_write+0x266/0x520
[ 739.714341] ksys_write+0x72/0xe0
[ 739.714345] __x64_sys_write+0x19/0x20
[ 739.714347] x64_sys_call+0xa15/0xa30
[ 739.714355] do_syscall_64+0xd8/0xab0
[ 739.714361] entry_SYSCALL_64_after_hwframe+0x4b/0x53
and
[ 739.714459] ------------[ cut here ]------------
[ 739.714461] xe 0000:67:00.0: [drm] drm_WARN_ON(!list_empty(&fb->filp_head))
[ 739.714464] WARNING: drivers/gpu/drm/drm_framebuffer.c:833 at drm_framebuffer_free+0x6c/0x90 [drm], CPU#12: xe_module_load/13145
[ 739.714715] RIP: 0010:drm_framebuffer_free+0x7a/0x90 [drm]
...
[ 739.714869] Call Trace:
[ 739.714871] <TASK>
[ 739.714876] drm_mode_config_cleanup+0x26a/0x320 [drm]
[ 739.714998] ? __drm_printfn_seq_file+0x20/0x20 [drm]
[ 739.715115] ? drm_mode_config_cleanup+0x207/0x320 [drm]
[ 739.715235] intel_display_driver_remove_noirq+0x51/0xb0 [xe]
[ 739.715576] xe_display_fini_early+0x33/0x50 [xe]
[ 739.715821] devm_action_release+0xf/0x20
[ 739.715828] devres_release_all+0xad/0xf0
[ 739.715843] device_unbind_cleanup+0x12/0xa0
[ 739.715850] device_release_driver_internal+0x1b7/0x210
[ 739.715856] device_driver_detach+0x14/0x20
[ 739.715860] unbind_store+0xa6/0xb0
[ 739.715865] drv_attr_store+0x21/0x30
[ 739.715868] sysfs_kf_write+0x48/0x60
[ 739.715873] kernfs_fop_write_iter+0x16b/0x240
[ 739.715878] vfs_write+0x266/0x520
[ 739.715886] ksys_write+0x72/0xe0
[ 739.715890] __x64_sys_write+0x19/0x20
[ 739.715893] x64_sys_call+0xa15/0xa30
[ 739.715900] do_syscall_64+0xd8/0xab0
[ 739.715905] entry_SYSCALL_64_after_hwframe+0x4b/0x53
and then finally file close blows up:
[ 743.186530] Oops: general protection fault, probably for non-canonical address 0xdead000000000122: 0000 [#1] SMP
[ 743.186535] CPU: 3 UID: 1000 PID: 3453 Comm: kwin_wayland Tainted: G W 7.0.0-rc1-valkyria+ #110 PREEMPT_{RT,(lazy)}
[ 743.186537] Tainted: [W]=WARN
[ 743.186538] Hardware name: Gigabyte Technology Co., Ltd. X299 AORUS Gaming 3/X299 AORUS Gaming 3-CF, BIOS F8n 12/06/2021
[ 743.186539] RIP: 0010:drm_framebuffer_cleanup+0x55/0xc0 [drm]
[ 743.186588] Code: d8 72 73 0f b6 42 05 ff c3 39 c3 72 e8 49 8d bd 50 07 00 00 31 f6 e8 3a 80 d3 e1 49 8b 44 24 10 49 8d 7c 24 08 49 8b 54 24 08 <48> 3b 38 0f 85 95 7f 02 00 48 3b 7a 08 0f 85 8b 7f 02 00 48 89 42
[ 743.186589] RSP: 0018:ffffc900085e3cf8 EFLAGS: 00010202
[ 743.186591] RAX: dead000000000122 RBX: 0000000000000001 RCX: ffffffff8217ed03
[ 743.186592] RDX: dead000000000100 RSI: 0000000000000000 RDI: ffff88814675ba08
[ 743.186593] RBP: ffffc900085e3d10 R08: 0000000000000000 R09: 0000000000000000
[ 743.186593] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88814675ba00
[ 743.186594] R13: ffff88810d778000 R14: ffff888119f6dca0 R15: ffff88810c660bb0
[ 743.186595] FS: 00007ff377d21280(0000) GS:ffff888cec3f8000(0000) knlGS:0000000000000000
[ 743.186596] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 743.186596] CR2: 000055690b55e000 CR3: 0000000113586003 CR4: 00000000003706f0
[ 743.186597] Call Trace:
[ 743.186598] <TASK>
[ 743.186603] intel_user_framebuffer_destroy+0x12/0x90 [xe]
[ 743.186722] drm_framebuffer_free+0x3a/0x90 [drm]
[ 743.186750] ? trace_hardirqs_on+0x5f/0x120
[ 743.186754] drm_mode_object_put+0x51/0x70 [drm]
[ 743.186786] drm_fb_release+0x105/0x190 [drm]
[ 743.186812] ? rt_mutex_slowunlock+0x3aa/0x410
[ 743.186817] ? rt_spin_lock+0xea/0x1b0
[ 743.186819] drm_file_free+0x1e0/0x2c0 [drm]
[ 743.186843] drm_release_noglobal+0x91/0xf0 [drm]
[ 743.186865] __fput+0x100/0x2e0
[ 743.186869] fput_close_sync+0x40/0xa0
[ 743.186870] __x64_sys_close+0x3e/0x80
[ 743.186873] x64_sys_call+0xa07/0xa30
[ 743.186879] do_syscall_64+0xd8/0xab0
[ 743.186881] entry_SYSCALL_64_after_hwframe+0x4b/0x53
[ 743.186882] RIP: 0033:0x7ff37e567732
[ 743.186884] Code: 08 0f 85 a1 38 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
[ 743.186885] RSP: 002b:00007ffc818169a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
[ 743.186886] RAX: ffffffffffffffda RBX: 00007ffc81816a30 RCX: 00007ff37e567732
[ 743.186887] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000012
[ 743.186888] RBP: 00007ffc818169d0 R08: 0000000000000000 R09: 0000000000000000
[ 743.186889] R10: 0000000000000000 R11: 0000000000000246 R12: 000055d60a7996e0
[ 743.186889] R13: 00007ffc81816a90 R14: 00007ffc81816a90 R15: 000055d60a782a30
[ 743.186892] </TASK>
[ 743.186893] Modules linked in: rfcomm snd_hrtimer xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 xt_tcpudp xt_addrtype nft_compat x_tables nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables overlay cfg80211 bnep mtd_intel_dg snd_hda_codec_intelhdmi mtd snd_hda_codec_hdmi nls_utf8 mxm_wmi intel_wmi_thunderbolt gigabyte_wmi wmi_bmof xe drm_gpuvm drm_gpusvm_helper i2c_algo_bit drm_buddy drm_ttm_helper ttm video drm_suballoc_helper gpu_sched drm_client_lib drm_exec drm_display_helper cec drm_kunit_helpers drm_kms_helper kunit x86_pkg_temp_thermal intel_powerclamp coretemp snd_hda_codec_alc882 snd_hda_codec_realtek_lib snd_hda_codec_generic snd_hda_intel snd_soc_avs snd_soc_hda_codec snd_hda_ext_core snd_hda_codec snd_hwdep snd_hda_core snd_intel_dspcfg snd_soc_core snd_compress ac97_bus snd_pcm snd_seq snd_seq_device snd_timer i2c_i801 i2c_mux snd i2c_smbus btusb btrtl btbcm btmtk btintel bluetooth ecdh_generic rfkill ecc mei_me mei ioatdma dca wmi nfsd drm i2c_dev fuse nfnetlink
[ 743.186938] ---[ end trace 0000000000000000 ]---
And for property blobs:
[ 371.072940] BUG: unable to handle page fault for address: 000001ffffffffff
[ 371.072944] #PF: supervisor read access in kernel mode
[ 371.072945] #PF: error_code(0x0000) - not-present page
[ 371.072947] PGD 0 P4D 0
[ 371.072950] Oops: Oops: 0000 [#1] SMP
[ 371.072953] CPU: 0 UID: 1000 PID: 3693 Comm: kwin_wayland Not tainted 7.0.0-rc1-valkyria+ #111 PREEMPT_{RT,(lazy)}
[ 371.072956] Hardware name: Gigabyte Technology Co., Ltd. X299 AORUS Gaming 3/X299 AORUS Gaming 3-CF, BIOS F8n 12/06/2021
[ 371.072957] RIP: 0010:drm_property_destroy_user_blobs+0x3b/0x90 [drm]
[ 371.073019] Code: 00 00 48 83 ec 10 48 8b 86 30 01 00 00 48 39 c3 74 59 48 89 c2 48 8d 48 c8 48 8b 00 4c 8d 60 c8 eb 04 4c 8d 60 c8 48 8b 71 40 <48> 39 16 0f 85 39 32 01 00 48 3b 50 08 0f 85 2f 32 01 00 48 89 70
[ 371.073021] RSP: 0018:ffffc90006a73de8 EFLAGS: 00010293
[ 371.073022] RAX: 000001ffffffffff RBX: ffff888118a1a930 RCX: ffff8881b92355c0
[ 371.073024] RDX: ffff8881b92355f8 RSI: 000001ffffffffff RDI: ffff888118be4000
[ 371.073025] RBP: ffffc90006a73e08 R08: ffff8881009b7300 R09: ffff888cecc5b000
[ 371.073026] R10: ffffc90006a73e90 R11: 0000000000000002 R12: 000001ffffffffc7
[ 371.073027] R13: ffff888118a1a980 R14: ffff88810b366d20 R15: ffff888118a1a970
[ 371.073028] FS: 00007f1faccbb280(0000) GS:ffff888cec2db000(0000) knlGS:0000000000000000
[ 371.073029] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 371.073030] CR2: 000001ffffffffff CR3: 000000010655c001 CR4: 00000000003706f0
[ 371.073031] Call Trace:
[ 371.073033] <TASK>
[ 371.073036] drm_file_free+0x1df/0x2a0 [drm]
[ 371.073077] drm_release_noglobal+0x7a/0xe0 [drm]
[ 371.073113] __fput+0xe2/0x2b0
[ 371.073118] fput_close_sync+0x40/0xa0
[ 371.073119] __x64_sys_close+0x3e/0x80
[ 371.073122] x64_sys_call+0xa07/0xa30
[ 371.073126] do_syscall_64+0xc0/0x840
[ 371.073130] entry_SYSCALL_64_after_hwframe+0x4b/0x53
[ 371.073132] RIP: 0033:0x7f1fb3501732
[ 371.073133] Code: 08 0f 85 a1 38 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
[ 371.073135] RSP: 002b:00007ffe8e6f0278 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
[ 371.073136] RAX: ffffffffffffffda RBX: 00007ffe8e6f0300 RCX: 00007f1fb3501732
[ 371.073137] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000012
[ 371.073138] RBP: 00007ffe8e6f02a0 R08: 0000000000000000 R09: 0000000000000000
[ 371.073139] R10: 0000000000000000 R11: 0000000000000246 R12: 00005585ba46eea0
[ 371.073140] R13: 00007ffe8e6f0360 R14: 00007ffe8e6f0360 R15: 00005585ba458a30
[ 371.073143] </TASK>
[ 371.073144] Modules linked in: rfcomm snd_hrtimer xt_addrtype xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 xt_tcpudp nft_compat x_tables nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables overlay cfg80211 bnep snd_hda_codec_intelhdmi snd_hda_codec_hdmi mtd_intel_dg mtd nls_utf8 wmi_bmof mxm_wmi gigabyte_wmi intel_wmi_thunderbolt xe drm_gpuvm drm_gpusvm_helper i2c_algo_bit drm_buddy drm_ttm_helper ttm video drm_suballoc_helper gpu_sched drm_client_lib drm_exec drm_display_helper cec drm_kunit_helpers drm_kms_helper kunit x86_pkg_temp_thermal intel_powerclamp coretemp snd_hda_codec_alc882 snd_hda_codec_realtek_lib snd_hda_codec_generic snd_hda_intel snd_soc_avs snd_soc_hda_codec snd_hda_ext_core snd_hda_codec snd_hwdep snd_hda_core snd_intel_dspcfg snd_soc_core snd_compress ac97_bus snd_pcm snd_seq snd_seq_device snd_timer i2c_i801 btusb i2c_mux i2c_smbus btrtl snd btbcm btmtk btintel bluetooth ecdh_generic rfkill ecc mei_me mei ioatdma dca wmi nfsd drm i2c_dev fuse nfnetlink
[ 371.073198] CR2: 000001ffffffffff
[ 371.073199] ---[ end trace 0000000000000000 ]---
Signed-off-by: Maarten Lankhorst <dev@lankhorst.se>
+ /mt/dim checkpatch 7d7e9076131a6b5cf7ec7f17ab2f8c0c338a25dd drm-intel
9db602dbf01c drm/intel/display: Use drmm for intel_mode_config_cleanup
-:242: WARNING:MISSING_FIXES_TAG: The commit message has 'Call Trace:', perhaps it also needs a 'Fixes:' tag?
total: 0 errors, 1 warnings, 0 checks, 71 lines checked
^ permalink raw reply [flat|nested] 5+ messages in thread* ✗ CI.KUnit: failure for drm/intel/display: Use drmm for intel_mode_config_cleanup
2026-04-08 11:47 [PATCH] drm/intel/display: Use drmm for intel_mode_config_cleanup Maarten Lankhorst
2026-04-08 11:54 ` ✗ CI.checkpatch: warning for " Patchwork
@ 2026-04-08 11:55 ` Patchwork
2026-04-10 9:17 ` [PATCH] " Ville Syrjälä
2 siblings, 0 replies; 5+ messages in thread
From: Patchwork @ 2026-04-08 11:55 UTC (permalink / raw)
To: Maarten Lankhorst; +Cc: intel-xe
== Series Details ==
Series: drm/intel/display: Use drmm for intel_mode_config_cleanup
URL : https://patchwork.freedesktop.org/series/164527/
State : failure
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[11:54:02] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[11:54:06] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[11:54:37] Starting KUnit Kernel (1/1)...
[11:54:37] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[11:54:38] ================== guc_buf (11 subtests) ===================
[11:54:38] [PASSED] test_smallest
[11:54:38] [PASSED] test_largest
[11:54:38] [PASSED] test_granular
[11:54:38] [PASSED] test_unique
[11:54:38] [PASSED] test_overlap
[11:54:38] [PASSED] test_reusable
[11:54:38] [PASSED] test_too_big
[11:54:38] [PASSED] test_flush
[11:54:38] [PASSED] test_lookup
[11:54:38] [PASSED] test_data
[11:54:38] [PASSED] test_class
[11:54:38] ===================== [PASSED] guc_buf =====================
[11:54:38] =================== guc_dbm (7 subtests) ===================
[11:54:38] [PASSED] test_empty
[11:54:38] [PASSED] test_default
[11:54:38] ======================== test_size ========================
[11:54:38] [PASSED] 4
[11:54:38] [PASSED] 8
[11:54:38] [PASSED] 32
[11:54:38] [PASSED] 256
[11:54:38] ==================== [PASSED] test_size ====================
[11:54:38] ======================= test_reuse ========================
[11:54:38] [PASSED] 4
[11:54:38] [PASSED] 8
[11:54:38] [PASSED] 32
[11:54:38] [PASSED] 256
[11:54:38] =================== [PASSED] test_reuse ====================
[11:54:38] =================== test_range_overlap ====================
[11:54:38] [PASSED] 4
[11:54:38] [PASSED] 8
[11:54:38] [PASSED] 32
[11:54:38] [PASSED] 256
[11:54:38] =============== [PASSED] test_range_overlap ================
[11:54:38] =================== test_range_compact ====================
[11:54:38] [PASSED] 4
[11:54:38] [PASSED] 8
[11:54:38] [PASSED] 32
[11:54:38] [PASSED] 256
[11:54:38] =============== [PASSED] test_range_compact ================
[11:54:38] ==================== test_range_spare =====================
[11:54:38] [PASSED] 4
[11:54:38] [PASSED] 8
[11:54:38] [PASSED] 32
[11:54:38] [PASSED] 256
[11:54:38] ================ [PASSED] test_range_spare =================
[11:54:38] ===================== [PASSED] guc_dbm =====================
[11:54:38] =================== guc_idm (6 subtests) ===================
[11:54:38] [PASSED] bad_init
[11:54:38] [PASSED] no_init
[11:54:38] [PASSED] init_fini
[11:54:38] [PASSED] check_used
[11:54:38] [PASSED] check_quota
[11:54:38] [PASSED] check_all
[11:54:38] ===================== [PASSED] guc_idm =====================
[11:54:38] ================== no_relay (3 subtests) ===================
[11:54:38] [PASSED] xe_drops_guc2pf_if_not_ready
[11:54:38] [PASSED] xe_drops_guc2vf_if_not_ready
[11:54:38] [PASSED] xe_rejects_send_if_not_ready
[11:54:38] ==================== [PASSED] no_relay =====================
[11:54:38] ================== pf_relay (14 subtests) ==================
[11:54:38] [PASSED] pf_rejects_guc2pf_too_short
[11:54:38] [PASSED] pf_rejects_guc2pf_too_long
[11:54:38] [PASSED] pf_rejects_guc2pf_no_payload
[11:54:38] [PASSED] pf_fails_no_payload
[11:54:38] [PASSED] pf_fails_bad_origin
[11:54:38] [PASSED] pf_fails_bad_type
[11:54:38] [PASSED] pf_txn_reports_error
[11:54:38] [PASSED] pf_txn_sends_pf2guc
[11:54:38] [PASSED] pf_sends_pf2guc
[11:54:38] [SKIPPED] pf_loopback_nop
[11:54:38] [SKIPPED] pf_loopback_echo
[11:54:38] [SKIPPED] pf_loopback_fail
[11:54:38] [SKIPPED] pf_loopback_busy
[11:54:38] [SKIPPED] pf_loopback_retry
[11:54:38] ==================== [PASSED] pf_relay =====================
[11:54:38] ================== vf_relay (3 subtests) ===================
[11:54:38] [PASSED] vf_rejects_guc2vf_too_short
[11:54:38] [PASSED] vf_rejects_guc2vf_too_long
[11:54:38] [PASSED] vf_rejects_guc2vf_no_payload
[11:54:38] ==================== [PASSED] vf_relay =====================
[11:54:38] ================ pf_gt_config (9 subtests) =================
[11:54:38] [PASSED] fair_contexts_1vf
[11:54:38] [PASSED] fair_doorbells_1vf
[11:54:38] [PASSED] fair_ggtt_1vf
[11:54:38] ====================== fair_vram_1vf ======================
[11:54:38] [PASSED] 3.50 GiB
[11:54:38] [PASSED] 11.5 GiB
[11:54:38] [PASSED] 15.5 GiB
[11:54:38] [PASSED] 31.5 GiB
[11:54:38] [PASSED] 63.5 GiB
[11:54:38] [PASSED] 1.91 GiB
[11:54:38] ================== [PASSED] fair_vram_1vf ==================
[11:54:38] ================ fair_vram_1vf_admin_only =================
[11:54:38] [PASSED] 3.50 GiB
[11:54:38] [PASSED] 11.5 GiB
[11:54:38] [PASSED] 15.5 GiB
[11:54:38] [PASSED] 31.5 GiB
[11:54:38] [PASSED] 63.5 GiB
[11:54:38] [PASSED] 1.91 GiB
[11:54:38] ============ [PASSED] fair_vram_1vf_admin_only =============
[11:54:38] ====================== fair_contexts ======================
[11:54:38] [PASSED] 1 VF
[11:54:38] [PASSED] 2 VFs
[11:54:38] [PASSED] 3 VFs
[11:54:38] [PASSED] 4 VFs
[11:54:38] [PASSED] 5 VFs
[11:54:38] [PASSED] 6 VFs
[11:54:38] [PASSED] 7 VFs
[11:54:38] [PASSED] 8 VFs
[11:54:38] [PASSED] 9 VFs
[11:54:38] [PASSED] 10 VFs
[11:54:38] [PASSED] 11 VFs
[11:54:38] [PASSED] 12 VFs
[11:54:38] [PASSED] 13 VFs
[11:54:38] [PASSED] 14 VFs
[11:54:38] [PASSED] 15 VFs
[11:54:38] [PASSED] 16 VFs
[11:54:38] [PASSED] 17 VFs
[11:54:38] [PASSED] 18 VFs
[11:54:38] [PASSED] 19 VFs
[11:54:38] [PASSED] 20 VFs
[11:54:38] [PASSED] 21 VFs
[11:54:38] [PASSED] 22 VFs
[11:54:38] [PASSED] 23 VFs
[11:54:38] [PASSED] 24 VFs
[11:54:38] [PASSED] 25 VFs
[11:54:38] [PASSED] 26 VFs
[11:54:38] [PASSED] 27 VFs
[11:54:38] [PASSED] 28 VFs
[11:54:38] [PASSED] 29 VFs
[11:54:38] [PASSED] 30 VFs
[11:54:38] [PASSED] 31 VFs
[11:54:38] [PASSED] 32 VFs
[11:54:38] [PASSED] 33 VFs
[11:54:38] [PASSED] 34 VFs
[11:54:38] [PASSED] 35 VFs
[11:54:38] [PASSED] 36 VFs
[11:54:38] [PASSED] 37 VFs
[11:54:38] [PASSED] 38 VFs
[11:54:38] [PASSED] 39 VFs
[11:54:38] [PASSED] 40 VFs
[11:54:38] [PASSED] 41 VFs
[11:54:38] [PASSED] 42 VFs
[11:54:38] [PASSED] 43 VFs
[11:54:38] [PASSED] 44 VFs
[11:54:38] [PASSED] 45 VFs
[11:54:38] [PASSED] 46 VFs
[11:54:38] [PASSED] 47 VFs
[11:54:38] [PASSED] 48 VFs
[11:54:38] [PASSED] 49 VFs
[11:54:38] [PASSED] 50 VFs
[11:54:38] [PASSED] 51 VFs
[11:54:38] [PASSED] 52 VFs
[11:54:38] [PASSED] 53 VFs
[11:54:38] [PASSED] 54 VFs
[11:54:38] [PASSED] 55 VFs
[11:54:38] [PASSED] 56 VFs
[11:54:38] [PASSED] 57 VFs
[11:54:38] [PASSED] 58 VFs
[11:54:38] [PASSED] 59 VFs
[11:54:38] [PASSED] 60 VFs
[11:54:38] [PASSED] 61 VFs
[11:54:38] [PASSED] 62 VFs
[11:54:38] [PASSED] 63 VFs
[11:54:38] ================== [PASSED] fair_contexts ==================
[11:54:38] ===================== fair_doorbells ======================
[11:54:38] [PASSED] 1 VF
[11:54:38] [PASSED] 2 VFs
[11:54:38] [PASSED] 3 VFs
[11:54:38] [PASSED] 4 VFs
[11:54:38] [PASSED] 5 VFs
[11:54:38] [PASSED] 6 VFs
[11:54:38] [PASSED] 7 VFs
[11:54:38] [PASSED] 8 VFs
[11:54:38] [PASSED] 9 VFs
[11:54:38] [PASSED] 10 VFs
[11:54:38] [PASSED] 11 VFs
[11:54:38] [PASSED] 12 VFs
[11:54:38] [PASSED] 13 VFs
[11:54:38] [PASSED] 14 VFs
[11:54:38] [PASSED] 15 VFs
[11:54:38] [PASSED] 16 VFs
[11:54:38] [PASSED] 17 VFs
[11:54:38] [PASSED] 18 VFs
[11:54:38] [PASSED] 19 VFs
[11:54:38] [PASSED] 20 VFs
[11:54:38] [PASSED] 21 VFs
[11:54:38] [PASSED] 22 VFs
[11:54:38] [PASSED] 23 VFs
[11:54:38] [PASSED] 24 VFs
[11:54:38] [PASSED] 25 VFs
[11:54:38] [PASSED] 26 VFs
[11:54:38] [PASSED] 27 VFs
[11:54:38] [PASSED] 28 VFs
[11:54:38] [PASSED] 29 VFs
[11:54:38] [PASSED] 30 VFs
[11:54:38] [PASSED] 31 VFs
[11:54:38] [PASSED] 32 VFs
[11:54:38] [PASSED] 33 VFs
[11:54:38] [PASSED] 34 VFs
[11:54:38] [PASSED] 35 VFs
[11:54:38] [PASSED] 36 VFs
[11:54:38] [PASSED] 37 VFs
[11:54:38] [PASSED] 38 VFs
[11:54:38] [PASSED] 39 VFs
[11:54:38] [PASSED] 40 VFs
[11:54:38] [PASSED] 41 VFs
[11:54:38] [PASSED] 42 VFs
[11:54:38] [PASSED] 43 VFs
[11:54:38] [PASSED] 44 VFs
[11:54:38] [PASSED] 45 VFs
[11:54:38] [PASSED] 46 VFs
[11:54:38] [PASSED] 47 VFs
[11:54:38] [PASSED] 48 VFs
[11:54:38] [PASSED] 49 VFs
[11:54:38] [PASSED] 50 VFs
[11:54:38] [PASSED] 51 VFs
[11:54:38] [PASSED] 52 VFs
[11:54:38] [PASSED] 53 VFs
[11:54:38] [PASSED] 54 VFs
[11:54:38] [PASSED] 55 VFs
[11:54:38] [PASSED] 56 VFs
[11:54:38] [PASSED] 57 VFs
[11:54:38] [PASSED] 58 VFs
[11:54:38] [PASSED] 59 VFs
[11:54:38] [PASSED] 60 VFs
[11:54:38] [PASSED] 61 VFs
[11:54:38] [PASSED] 62 VFs
[11:54:38] [PASSED] 63 VFs
[11:54:38] ================= [PASSED] fair_doorbells ==================
[11:54:38] ======================== fair_ggtt ========================
[11:54:38] [PASSED] 1 VF
[11:54:38] [PASSED] 2 VFs
[11:54:38] [PASSED] 3 VFs
[11:54:38] [PASSED] 4 VFs
[11:54:38] [PASSED] 5 VFs
[11:54:38] [PASSED] 6 VFs
[11:54:38] [PASSED] 7 VFs
[11:54:38] [PASSED] 8 VFs
[11:54:38] [PASSED] 9 VFs
[11:54:38] [PASSED] 10 VFs
[11:54:38] [PASSED] 11 VFs
[11:54:38] [PASSED] 12 VFs
[11:54:38] [PASSED] 13 VFs
[11:54:38] [PASSED] 14 VFs
[11:54:38] [PASSED] 15 VFs
[11:54:38] [PASSED] 16 VFs
[11:54:38] [PASSED] 17 VFs
[11:54:38] [PASSED] 18 VFs
[11:54:38] [PASSED] 19 VFs
[11:54:38] [PASSED] 20 VFs
[11:54:38] [PASSED] 21 VFs
[11:54:38] [PASSED] 22 VFs
[11:54:38] [PASSED] 23 VFs
[11:54:38] [PASSED] 24 VFs
[11:54:38] [PASSED] 25 VFs
[11:54:38] [PASSED] 26 VFs
[11:54:38] [PASSED] 27 VFs
[11:54:38] [PASSED] 28 VFs
[11:54:38] [PASSED] 29 VFs
[11:54:38] [PASSED] 30 VFs
[11:54:38] [PASSED] 31 VFs
[11:54:38] [PASSED] 32 VFs
[11:54:38] [PASSED] 33 VFs
[11:54:38] [PASSED] 34 VFs
[11:54:38] [PASSED] 35 VFs
[11:54:38] [PASSED] 36 VFs
[11:54:38] [PASSED] 37 VFs
[11:54:38] [PASSED] 38 VFs
[11:54:38] [PASSED] 39 VFs
[11:54:38] [PASSED] 40 VFs
[11:54:38] [PASSED] 41 VFs
[11:54:38] [PASSED] 42 VFs
[11:54:38] [PASSED] 43 VFs
[11:54:38] [PASSED] 44 VFs
[11:54:38] [PASSED] 45 VFs
[11:54:38] [PASSED] 46 VFs
[11:54:38] [PASSED] 47 VFs
[11:54:38] [PASSED] 48 VFs
[11:54:38] [PASSED] 49 VFs
[11:54:38] [PASSED] 50 VFs
[11:54:38] [PASSED] 51 VFs
[11:54:38] [PASSED] 52 VFs
[11:54:38] [PASSED] 53 VFs
[11:54:38] [PASSED] 54 VFs
[11:54:38] [PASSED] 55 VFs
[11:54:38] [PASSED] 56 VFs
[11:54:38] [PASSED] 57 VFs
[11:54:38] [PASSED] 58 VFs
[11:54:38] [PASSED] 59 VFs
[11:54:38] [PASSED] 60 VFs
[11:54:38] [PASSED] 61 VFs
[11:54:38] [PASSED] 62 VFs
[11:54:38] [PASSED] 63 VFs
[11:54:38] ==================== [PASSED] fair_ggtt ====================
[11:54:38] ======================== fair_vram ========================
[11:54:38] [PASSED] 1 VF
[11:54:38] [PASSED] 2 VFs
[11:54:38] [PASSED] 3 VFs
[11:54:38] [PASSED] 4 VFs
[11:54:38] [PASSED] 5 VFs
[11:54:38] [PASSED] 6 VFs
[11:54:38] [PASSED] 7 VFs
[11:54:38] [PASSED] 8 VFs
[11:54:38] [PASSED] 9 VFs
[11:54:38] [PASSED] 10 VFs
[11:54:38] [PASSED] 11 VFs
[11:54:38] [PASSED] 12 VFs
[11:54:38] [PASSED] 13 VFs
[11:54:38] [PASSED] 14 VFs
[11:54:38] [PASSED] 15 VFs
[11:54:38] [PASSED] 16 VFs
[11:54:38] [PASSED] 17 VFs
[11:54:38] [PASSED] 18 VFs
[11:54:38] [PASSED] 19 VFs
[11:54:38] [PASSED] 20 VFs
[11:54:38] [PASSED] 21 VFs
[11:54:38] [PASSED] 22 VFs
[11:54:38] [PASSED] 23 VFs
[11:54:38] [PASSED] 24 VFs
[11:54:38] [PASSED] 25 VFs
[11:54:38] [PASSED] 26 VFs
[11:54:38] [PASSED] 27 VFs
[11:54:38] [PASSED] 28 VFs
[11:54:38] [PASSED] 29 VFs
[11:54:38] [PASSED] 30 VFs
[11:54:38] [PASSED] 31 VFs
[11:54:38] [PASSED] 32 VFs
[11:54:38] [PASSED] 33 VFs
[11:54:38] [PASSED] 34 VFs
[11:54:38] [PASSED] 35 VFs
[11:54:38] [PASSED] 36 VFs
[11:54:38] [PASSED] 37 VFs
[11:54:38] [PASSED] 38 VFs
[11:54:38] [PASSED] 39 VFs
[11:54:38] [PASSED] 40 VFs
[11:54:38] [PASSED] 41 VFs
[11:54:38] [PASSED] 42 VFs
[11:54:38] [PASSED] 43 VFs
[11:54:38] [PASSED] 44 VFs
[11:54:38] [PASSED] 45 VFs
[11:54:38] [PASSED] 46 VFs
[11:54:38] [PASSED] 47 VFs
[11:54:38] [PASSED] 48 VFs
[11:54:38] [PASSED] 49 VFs
[11:54:38] [PASSED] 50 VFs
[11:54:38] [PASSED] 51 VFs
[11:54:38] [PASSED] 52 VFs
[11:54:38] [PASSED] 53 VFs
[11:54:38] [PASSED] 54 VFs
[11:54:38] [PASSED] 55 VFs
[11:54:38] [PASSED] 56 VFs
[11:54:38] [PASSED] 57 VFs
[11:54:38] [PASSED] 58 VFs
[11:54:38] [PASSED] 59 VFs
[11:54:38] [PASSED] 60 VFs
[11:54:38] [PASSED] 61 VFs
[11:54:38] [PASSED] 62 VFs
[11:54:38] [PASSED] 63 VFs
[11:54:38] ==================== [PASSED] fair_vram ====================
[11:54:38] ================== [PASSED] pf_gt_config ===================
[11:54:38] ===================== lmtt (1 subtest) =====================
[11:54:38] ======================== test_ops =========================
[11:54:38] [PASSED] 2-level
[11:54:38] [PASSED] multi-level
[11:54:38] ==================== [PASSED] test_ops =====================
[11:54:38] ====================== [PASSED] lmtt =======================
[11:54:38] ================= pf_service (11 subtests) =================
[11:54:38] [PASSED] pf_negotiate_any
[11:54:38] [PASSED] pf_negotiate_base_match
[11:54:38] [PASSED] pf_negotiate_base_newer
[11:54:38] [PASSED] pf_negotiate_base_next
[11:54:38] [SKIPPED] pf_negotiate_base_older
[11:54:38] [PASSED] pf_negotiate_base_prev
[11:54:38] [PASSED] pf_negotiate_latest_match
[11:54:38] [PASSED] pf_negotiate_latest_newer
[11:54:38] [PASSED] pf_negotiate_latest_next
[11:54:38] [SKIPPED] pf_negotiate_latest_older
[11:54:38] [SKIPPED] pf_negotiate_latest_prev
[11:54:38] =================== [PASSED] pf_service ====================
[11:54:38] ================= xe_guc_g2g (2 subtests) ==================
[11:54:38] ============== xe_live_guc_g2g_kunit_default ==============
[11:54:38] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[11:54:38] ============== xe_live_guc_g2g_kunit_allmem ===============
[11:54:38] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[11:54:38] =================== [SKIPPED] xe_guc_g2g ===================
[11:54:38] =================== xe_mocs (2 subtests) ===================
[11:54:38] ================ xe_live_mocs_kernel_kunit ================
[11:54:38] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[11:54:38] ================ xe_live_mocs_reset_kunit =================
[11:54:38] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[11:54:38] ==================== [SKIPPED] xe_mocs =====================
[11:54:38] ================= xe_migrate (2 subtests) ==================
[11:54:38] ================= xe_migrate_sanity_kunit =================
[11:54:38] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[11:54:38] ================== xe_validate_ccs_kunit ==================
[11:54:38] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[11:54:38] =================== [SKIPPED] xe_migrate ===================
[11:54:38] ================== xe_dma_buf (1 subtest) ==================
[11:54:38] ==================== xe_dma_buf_kunit =====================
[11:54:38] ================ [SKIPPED] xe_dma_buf_kunit ================
[11:54:38] =================== [SKIPPED] xe_dma_buf ===================
[11:54:38] ================= xe_bo_shrink (1 subtest) =================
[11:54:38] =================== xe_bo_shrink_kunit ====================
[11:54:38] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[11:54:38] ================== [SKIPPED] xe_bo_shrink ==================
[11:54:38] ==================== xe_bo (2 subtests) ====================
[11:54:38] ================== xe_ccs_migrate_kunit ===================
[11:54:38] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[11:54:38] ==================== xe_bo_evict_kunit ====================
[11:54:38] =============== [SKIPPED] xe_bo_evict_kunit ================
[11:54:38] ===================== [SKIPPED] xe_bo ======================
[11:54:38] ==================== args (13 subtests) ====================
[11:54:38] [PASSED] count_args_test
[11:54:38] [PASSED] call_args_example
[11:54:38] [PASSED] call_args_test
[11:54:38] [PASSED] drop_first_arg_example
[11:54:38] [PASSED] drop_first_arg_test
[11:54:38] [PASSED] first_arg_example
[11:54:38] [PASSED] first_arg_test
[11:54:38] [PASSED] last_arg_example
[11:54:38] [PASSED] last_arg_test
[11:54:38] [PASSED] pick_arg_example
[11:54:38] [PASSED] if_args_example
[11:54:38] [PASSED] if_args_test
[11:54:38] [PASSED] sep_comma_example
[11:54:38] ====================== [PASSED] args =======================
[11:54:38] =================== xe_pci (3 subtests) ====================
[11:54:38] ==================== check_graphics_ip ====================
[11:54:38] [PASSED] 12.00 Xe_LP
[11:54:38] [PASSED] 12.10 Xe_LP+
[11:54:38] [PASSED] 12.55 Xe_HPG
[11:54:38] [PASSED] 12.60 Xe_HPC
[11:54:38] [PASSED] 12.70 Xe_LPG
[11:54:38] [PASSED] 12.71 Xe_LPG
[11:54:38] [PASSED] 12.74 Xe_LPG+
[11:54:38] [PASSED] 20.01 Xe2_HPG
[11:54:38] [PASSED] 20.02 Xe2_HPG
[11:54:38] [PASSED] 20.04 Xe2_LPG
[11:54:38] [PASSED] 30.00 Xe3_LPG
[11:54:38] [PASSED] 30.01 Xe3_LPG
[11:54:38] [PASSED] 30.03 Xe3_LPG
[11:54:38] [PASSED] 30.04 Xe3_LPG
[11:54:38] [PASSED] 30.05 Xe3_LPG
[11:54:38] [PASSED] 35.10 Xe3p_LPG
[11:54:38] [PASSED] 35.11 Xe3p_XPC
[11:54:38] ================ [PASSED] check_graphics_ip ================
[11:54:38] ===================== check_media_ip ======================
[11:54:38] [PASSED] 12.00 Xe_M
[11:54:38] [PASSED] 12.55 Xe_HPM
[11:54:38] [PASSED] 13.00 Xe_LPM+
[11:54:38] [PASSED] 13.01 Xe2_HPM
[11:54:38] [PASSED] 20.00 Xe2_LPM
[11:54:38] [PASSED] 30.00 Xe3_LPM
[11:54:38] [PASSED] 30.02 Xe3_LPM
[11:54:38] [PASSED] 35.00 Xe3p_LPM
[11:54:38] [PASSED] 35.03 Xe3p_HPM
[11:54:38] ================= [PASSED] check_media_ip ==================
[11:54:38] =================== check_platform_desc ===================
[11:54:38] [PASSED] 0x9A60 (TIGERLAKE)
[11:54:38] [PASSED] 0x9A68 (TIGERLAKE)
[11:54:38] [PASSED] 0x9A70 (TIGERLAKE)
[11:54:38] [PASSED] 0x9A40 (TIGERLAKE)
[11:54:38] [PASSED] 0x9A49 (TIGERLAKE)
[11:54:38] [PASSED] 0x9A59 (TIGERLAKE)
[11:54:38] [PASSED] 0x9A78 (TIGERLAKE)
[11:54:38] [PASSED] 0x9AC0 (TIGERLAKE)
[11:54:38] [PASSED] 0x9AC9 (TIGERLAKE)
[11:54:38] [PASSED] 0x9AD9 (TIGERLAKE)
[11:54:38] [PASSED] 0x9AF8 (TIGERLAKE)
[11:54:38] [PASSED] 0x4C80 (ROCKETLAKE)
[11:54:38] [PASSED] 0x4C8A (ROCKETLAKE)
[11:54:38] [PASSED] 0x4C8B (ROCKETLAKE)
[11:54:38] [PASSED] 0x4C8C (ROCKETLAKE)
[11:54:38] [PASSED] 0x4C90 (ROCKETLAKE)
[11:54:38] [PASSED] 0x4C9A (ROCKETLAKE)
[11:54:38] [PASSED] 0x4680 (ALDERLAKE_S)
[11:54:38] [PASSED] 0x4682 (ALDERLAKE_S)
[11:54:38] [PASSED] 0x4688 (ALDERLAKE_S)
[11:54:38] [PASSED] 0x468A (ALDERLAKE_S)
[11:54:38] [PASSED] 0x468B (ALDERLAKE_S)
[11:54:38] [PASSED] 0x4690 (ALDERLAKE_S)
[11:54:38] [PASSED] 0x4692 (ALDERLAKE_S)
[11:54:38] [PASSED] 0x4693 (ALDERLAKE_S)
[11:54:38] [PASSED] 0x46A0 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46A1 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46A2 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46A3 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46A6 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46A8 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46AA (ALDERLAKE_P)
[11:54:38] [PASSED] 0x462A (ALDERLAKE_P)
[11:54:38] [PASSED] 0x4626 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x4628 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46B0 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46B1 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46B2 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46B3 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46C0 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46C1 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46C2 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46C3 (ALDERLAKE_P)
[11:54:38] [PASSED] 0x46D0 (ALDERLAKE_N)
[11:54:38] [PASSED] 0x46D1 (ALDERLAKE_N)
[11:54:38] [PASSED] 0x46D2 (ALDERLAKE_N)
[11:54:38] [PASSED] 0x46D3 (ALDERLAKE_N)
[11:54:38] [PASSED] 0x46D4 (ALDERLAKE_N)
[11:54:38] [PASSED] 0xA721 (ALDERLAKE_P)
[11:54:38] [PASSED] 0xA7A1 (ALDERLAKE_P)
[11:54:38] [PASSED] 0xA7A9 (ALDERLAKE_P)
[11:54:38] [PASSED] 0xA7AC (ALDERLAKE_P)
[11:54:38] [PASSED] 0xA7AD (ALDERLAKE_P)
[11:54:38] [PASSED] 0xA720 (ALDERLAKE_P)
[11:54:38] [PASSED] 0xA7A0 (ALDERLAKE_P)
[11:54:38] [PASSED] 0xA7A8 (ALDERLAKE_P)
[11:54:38] [PASSED] 0xA7AA (ALDERLAKE_P)
[11:54:38] [PASSED] 0xA7AB (ALDERLAKE_P)
[11:54:38] [PASSED] 0xA780 (ALDERLAKE_S)
[11:54:38] [PASSED] 0xA781 (ALDERLAKE_S)
[11:54:38] [PASSED] 0xA782 (ALDERLAKE_S)
[11:54:38] [PASSED] 0xA783 (ALDERLAKE_S)
[11:54:38] [PASSED] 0xA788 (ALDERLAKE_S)
[11:54:38] [PASSED] 0xA789 (ALDERLAKE_S)
[11:54:38] [PASSED] 0xA78A (ALDERLAKE_S)
[11:54:38] [PASSED] 0xA78B (ALDERLAKE_S)
[11:54:38] [PASSED] 0x4905 (DG1)
[11:54:38] [PASSED] 0x4906 (DG1)
[11:54:38] [PASSED] 0x4907 (DG1)
[11:54:38] [PASSED] 0x4908 (DG1)
[11:54:38] [PASSED] 0x4909 (DG1)
[11:54:38] [PASSED] 0x56C0 (DG2)
[11:54:38] [PASSED] 0x56C2 (DG2)
[11:54:38] [PASSED] 0x56C1 (DG2)
[11:54:38] [PASSED] 0x7D51 (METEORLAKE)
[11:54:38] [PASSED] 0x7DD1 (METEORLAKE)
[11:54:38] [PASSED] 0x7D41 (METEORLAKE)
[11:54:38] [PASSED] 0x7D67 (METEORLAKE)
[11:54:38] [PASSED] 0xB640 (METEORLAKE)
[11:54:38] [PASSED] 0x56A0 (DG2)
[11:54:38] [PASSED] 0x56A1 (DG2)
[11:54:38] [PASSED] 0x56A2 (DG2)
[11:54:38] [PASSED] 0x56BE (DG2)
[11:54:38] [PASSED] 0x56BF (DG2)
[11:54:38] [PASSED] 0x5690 (DG2)
[11:54:38] [PASSED] 0x5691 (DG2)
[11:54:38] [PASSED] 0x5692 (DG2)
[11:54:38] [PASSED] 0x56A5 (DG2)
[11:54:38] [PASSED] 0x56A6 (DG2)
[11:54:38] [PASSED] 0x56B0 (DG2)
[11:54:38] [PASSED] 0x56B1 (DG2)
[11:54:38] [PASSED] 0x56BA (DG2)
[11:54:38] [PASSED] 0x56BB (DG2)
[11:54:38] [PASSED] 0x56BC (DG2)
[11:54:38] [PASSED] 0x56BD (DG2)
[11:54:38] [PASSED] 0x5693 (DG2)
[11:54:38] [PASSED] 0x5694 (DG2)
[11:54:38] [PASSED] 0x5695 (DG2)
[11:54:38] [PASSED] 0x56A3 (DG2)
[11:54:38] [PASSED] 0x56A4 (DG2)
[11:54:38] [PASSED] 0x56B2 (DG2)
[11:54:38] [PASSED] 0x56B3 (DG2)
[11:54:38] [PASSED] 0x5696 (DG2)
[11:54:38] [PASSED] 0x5697 (DG2)
[11:54:38] [PASSED] 0xB69 (PVC)
[11:54:38] [PASSED] 0xB6E (PVC)
[11:54:38] [PASSED] 0xBD4 (PVC)
[11:54:38] [PASSED] 0xBD5 (PVC)
[11:54:38] [PASSED] 0xBD6 (PVC)
[11:54:38] [PASSED] 0xBD7 (PVC)
[11:54:38] [PASSED] 0xBD8 (PVC)
[11:54:38] [PASSED] 0xBD9 (PVC)
[11:54:38] [PASSED] 0xBDA (PVC)
[11:54:38] [PASSED] 0xBDB (PVC)
[11:54:38] [PASSED] 0xBE0 (PVC)
[11:54:38] [PASSED] 0xBE1 (PVC)
[11:54:38] [PASSED] 0xBE5 (PVC)
[11:54:38] [PASSED] 0x7D40 (METEORLAKE)
[11:54:38] [PASSED] 0x7D45 (METEORLAKE)
[11:54:38] [PASSED] 0x7D55 (METEORLAKE)
[11:54:38] [PASSED] 0x7D60 (METEORLAKE)
[11:54:38] [PASSED] 0x7DD5 (METEORLAKE)
[11:54:38] [PASSED] 0x6420 (LUNARLAKE)
[11:54:38] [PASSED] 0x64A0 (LUNARLAKE)
[11:54:38] [PASSED] 0x64B0 (LUNARLAKE)
[11:54:38] [PASSED] 0xE202 (BATTLEMAGE)
[11:54:38] [PASSED] 0xE209 (BATTLEMAGE)
[11:54:38] [PASSED] 0xE20B (BATTLEMAGE)
[11:54:38] [PASSED] 0xE20C (BATTLEMAGE)
[11:54:38] [PASSED] 0xE20D (BATTLEMAGE)
[11:54:38] [PASSED] 0xE210 (BATTLEMAGE)
[11:54:38] [PASSED] 0xE211 (BATTLEMAGE)
[11:54:38] [PASSED] 0xE212 (BATTLEMAGE)
[11:54:38] [PASSED] 0xE216 (BATTLEMAGE)
[11:54:38] [PASSED] 0xE220 (BATTLEMAGE)
[11:54:38] [PASSED] 0xE221 (BATTLEMAGE)
[11:54:38] [PASSED] 0xE222 (BATTLEMAGE)
[11:54:38] [PASSED] 0xE223 (BATTLEMAGE)
[11:54:38] [PASSED] 0xB080 (PANTHERLAKE)
[11:54:38] [PASSED] 0xB081 (PANTHERLAKE)
[11:54:38] [PASSED] 0xB082 (PANTHERLAKE)
[11:54:38] [PASSED] 0xB083 (PANTHERLAKE)
[11:54:38] [PASSED] 0xB084 (PANTHERLAKE)
[11:54:38] [PASSED] 0xB085 (PANTHERLAKE)
[11:54:38] [PASSED] 0xB086 (PANTHERLAKE)
[11:54:38] [PASSED] 0xB087 (PANTHERLAKE)
[11:54:38] [PASSED] 0xB08F (PANTHERLAKE)
[11:54:38] [PASSED] 0xB090 (PANTHERLAKE)
[11:54:38] [PASSED] 0xB0A0 (PANTHERLAKE)
[11:54:38] [PASSED] 0xB0B0 (PANTHERLAKE)
[11:54:38] [PASSED] 0xFD80 (PANTHERLAKE)
[11:54:38] [PASSED] 0xFD81 (PANTHERLAKE)
[11:54:38] [PASSED] 0xD740 (NOVALAKE_S)
[11:54:38] [PASSED] 0xD741 (NOVALAKE_S)
[11:54:38] [PASSED] 0xD742 (NOVALAKE_S)
[11:54:38] [PASSED] 0xD743 (NOVALAKE_S)
[11:54:38] [PASSED] 0xD744 (NOVALAKE_S)
[11:54:38] [PASSED] 0xD745 (NOVALAKE_S)
[11:54:38] [PASSED] 0x674C (CRESCENTISLAND)
[11:54:38] [PASSED] 0xD750 (NOVALAKE_P)
[11:54:38] [PASSED] 0xD751 (NOVALAKE_P)
[11:54:38] [PASSED] 0xD752 (NOVALAKE_P)
[11:54:38] [PASSED] 0xD753 (NOVALAKE_P)
[11:54:38] [PASSED] 0xD754 (NOVALAKE_P)
[11:54:38] [PASSED] 0xD755 (NOVALAKE_P)
[11:54:38] [PASSED] 0xD756 (NOVALAKE_P)
[11:54:38] [PASSED] 0xD757 (NOVALAKE_P)
[11:54:38] [PASSED] 0xD75F (NOVALAKE_P)
[11:54:38] =============== [PASSED] check_platform_desc ===============
[11:54:38] ===================== [PASSED] xe_pci ======================
[11:54:38] =================== xe_rtp (2 subtests) ====================
[11:54:38] =============== xe_rtp_process_to_sr_tests ================
[11:54:38] [PASSED] coalesce-same-reg
[11:54:38] [PASSED] no-match-no-add
[11:54:38] [PASSED] match-or
[11:54:38] [PASSED] match-or-xfail
[11:54:38] [PASSED] no-match-no-add-multiple-rules
[11:54:38] [PASSED] two-regs-two-entries
[11:54:38] [PASSED] clr-one-set-other
[11:54:38] [PASSED] set-field
[11:54:38] [PASSED] conflict-duplicate
stty: 'standard input': Inappropriate ioctl for device
[11:54:38] [PASSED] conflict-not-disjoint
[11:54:38] [PASSED] conflict-reg-type
[11:54:38] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[11:54:38] ================== xe_rtp_process_tests ===================
[11:54:38] [PASSED] active1
[11:54:38] [PASSED] active2
[11:54:38] [PASSED] active-inactive
[11:54:38] [PASSED] inactive-active
[11:54:38] [PASSED] inactive-1st_or_active-inactive
[11:54:38] [PASSED] inactive-2nd_or_active-inactive
[11:54:38] [PASSED] inactive-last_or_active-inactive
[11:54:38] [PASSED] inactive-no_or_active-inactive
[11:54:38] ============== [PASSED] xe_rtp_process_tests ===============
[11:54:38] ===================== [PASSED] xe_rtp ======================
[11:54:38] ==================== xe_wa (1 subtest) =====================
[11:54:38] ======================== xe_wa_gt =========================
[11:54:38] [PASSED] TIGERLAKE B0
[11:54:38] [PASSED] DG1 A0
[11:54:38] [PASSED] DG1 B0
[11:54:38] [PASSED] ALDERLAKE_S A0
[11:54:38] [PASSED] ALDERLAKE_S B0
[11:54:38] [PASSED] ALDERLAKE_S C0
[11:54:38] [PASSED] ALDERLAKE_S D0
[11:54:38] [PASSED] ALDERLAKE_P A0
[11:54:38] [PASSED] ALDERLAKE_P B0
[11:54:38] [PASSED] ALDERLAKE_P C0
[11:54:38] [PASSED] ALDERLAKE_S RPLS D0
[11:54:38] [PASSED] ALDERLAKE_P RPLU E0
[11:54:38] [PASSED] DG2 G10 C0
[11:54:38] [PASSED] DG2 G11 B1
[11:54:38] [PASSED] DG2 G12 A1
[11:54:38] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[11:54:38] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[11:54:38] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[11:54:38] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[11:54:38] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[11:54:38] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[11:54:38] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[11:54:38] ==================== [PASSED] xe_wa_gt =====================
[11:54:38] ====================== [PASSED] xe_wa ======================
[11:54:38] ============================================================
[11:54:38] Testing complete. Ran 597 tests: passed: 579, skipped: 18
[11:54:38] Elapsed time: 36.408s total, 4.285s configuring, 31.506s building, 0.602s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[11:54:38] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[11:54:40] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[11:55:04] Starting KUnit Kernel (1/1)...
[11:55:04] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[11:55:04] ============ drm_test_pick_cmdline (2 subtests) ============
[11:55:04] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[11:55:04] =============== drm_test_pick_cmdline_named ===============
[11:55:04] [PASSED] NTSC
[11:55:04] [PASSED] NTSC-J
[11:55:04] [PASSED] PAL
[11:55:04] [PASSED] PAL-M
[11:55:04] =========== [PASSED] drm_test_pick_cmdline_named ===========
[11:55:04] ============== [PASSED] drm_test_pick_cmdline ==============
[11:55:04] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[11:55:04] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[11:55:04] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[11:55:04] =========== drm_validate_clone_mode (2 subtests) ===========
[11:55:04] ============== drm_test_check_in_clone_mode ===============
[11:55:04] [PASSED] in_clone_mode
[11:55:04] [PASSED] not_in_clone_mode
[11:55:04] ========== [PASSED] drm_test_check_in_clone_mode ===========
[11:55:04] =============== drm_test_check_valid_clones ===============
[11:55:04] [PASSED] not_in_clone_mode
[11:55:04] [PASSED] valid_clone
[11:55:04] [PASSED] invalid_clone
[11:55:04] =========== [PASSED] drm_test_check_valid_clones ===========
[11:55:04] ============= [PASSED] drm_validate_clone_mode =============
[11:55:04] ============= drm_validate_modeset (1 subtest) =============
[11:55:04] [PASSED] drm_test_check_connector_changed_modeset
[11:55:04] ============== [PASSED] drm_validate_modeset ===============
[11:55:04] ====== drm_test_bridge_get_current_state (2 subtests) ======
[11:55:04] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[11:55:04] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[11:55:04] ======== [PASSED] drm_test_bridge_get_current_state ========
[11:55:04] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[11:55:04] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[11:55:04] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[11:55:04] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[11:55:04] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[11:55:04] ============== drm_bridge_alloc (2 subtests) ===============
[11:55:04] [PASSED] drm_test_drm_bridge_alloc_basic
[11:55:04] [PASSED] drm_test_drm_bridge_alloc_get_put
[11:55:04] ================ [PASSED] drm_bridge_alloc =================
[11:55:04] ============= drm_cmdline_parser (40 subtests) =============
[11:55:04] [PASSED] drm_test_cmdline_force_d_only
[11:55:04] [PASSED] drm_test_cmdline_force_D_only_dvi
[11:55:04] [PASSED] drm_test_cmdline_force_D_only_hdmi
[11:55:04] [PASSED] drm_test_cmdline_force_D_only_not_digital
[11:55:04] [PASSED] drm_test_cmdline_force_e_only
[11:55:04] [PASSED] drm_test_cmdline_res
[11:55:04] [PASSED] drm_test_cmdline_res_vesa
[11:55:04] [PASSED] drm_test_cmdline_res_vesa_rblank
[11:55:04] [PASSED] drm_test_cmdline_res_rblank
[11:55:04] [PASSED] drm_test_cmdline_res_bpp
[11:55:04] [PASSED] drm_test_cmdline_res_refresh
[11:55:04] [PASSED] drm_test_cmdline_res_bpp_refresh
[11:55:04] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[11:55:04] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[11:55:04] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[11:55:04] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[11:55:04] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[11:55:04] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[11:55:04] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[11:55:04] [PASSED] drm_test_cmdline_res_margins_force_on
[11:55:04] [PASSED] drm_test_cmdline_res_vesa_margins
[11:55:04] [PASSED] drm_test_cmdline_name
[11:55:04] [PASSED] drm_test_cmdline_name_bpp
[11:55:04] [PASSED] drm_test_cmdline_name_option
[11:55:04] [PASSED] drm_test_cmdline_name_bpp_option
[11:55:04] [PASSED] drm_test_cmdline_rotate_0
[11:55:04] [PASSED] drm_test_cmdline_rotate_90
[11:55:04] [PASSED] drm_test_cmdline_rotate_180
[11:55:04] [PASSED] drm_test_cmdline_rotate_270
[11:55:04] [PASSED] drm_test_cmdline_hmirror
[11:55:04] [PASSED] drm_test_cmdline_vmirror
[11:55:04] [PASSED] drm_test_cmdline_margin_options
[11:55:04] [PASSED] drm_test_cmdline_multiple_options
[11:55:04] [PASSED] drm_test_cmdline_bpp_extra_and_option
[11:55:04] [PASSED] drm_test_cmdline_extra_and_option
[11:55:04] [PASSED] drm_test_cmdline_freestanding_options
[11:55:04] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[11:55:04] [PASSED] drm_test_cmdline_panel_orientation
[11:55:04] ================ drm_test_cmdline_invalid =================
[11:55:04] [PASSED] margin_only
[11:55:04] [PASSED] interlace_only
[11:55:04] [PASSED] res_missing_x
[11:55:04] [PASSED] res_missing_y
[11:55:04] [PASSED] res_bad_y
[11:55:04] [PASSED] res_missing_y_bpp
[11:55:04] [PASSED] res_bad_bpp
[11:55:04] [PASSED] res_bad_refresh
[11:55:04] [PASSED] res_bpp_refresh_force_on_off
[11:55:04] [PASSED] res_invalid_mode
[11:55:04] [PASSED] res_bpp_wrong_place_mode
[11:55:04] [PASSED] name_bpp_refresh
[11:55:04] [PASSED] name_refresh
[11:55:04] [PASSED] name_refresh_wrong_mode
[11:55:04] [PASSED] name_refresh_invalid_mode
[11:55:04] [PASSED] rotate_multiple
[11:55:04] [PASSED] rotate_invalid_val
[11:55:04] [PASSED] rotate_truncated
[11:55:04] [PASSED] invalid_option
[11:55:04] [PASSED] invalid_tv_option
[11:55:04] [PASSED] truncated_tv_option
[11:55:04] ============ [PASSED] drm_test_cmdline_invalid =============
[11:55:04] =============== drm_test_cmdline_tv_options ===============
[11:55:04] [PASSED] NTSC
[11:55:04] [PASSED] NTSC_443
[11:55:04] [PASSED] NTSC_J
[11:55:04] [PASSED] PAL
[11:55:04] [PASSED] PAL_M
[11:55:04] [PASSED] PAL_N
[11:55:04] [PASSED] SECAM
[11:55:04] [PASSED] MONO_525
[11:55:04] [PASSED] MONO_625
[11:55:04] =========== [PASSED] drm_test_cmdline_tv_options ===========
[11:55:04] =============== [PASSED] drm_cmdline_parser ================
[11:55:04] ========== drmm_connector_hdmi_init (20 subtests) ==========
[11:55:04] [PASSED] drm_test_connector_hdmi_init_valid
[11:55:04] [PASSED] drm_test_connector_hdmi_init_bpc_8
[11:55:04] [PASSED] drm_test_connector_hdmi_init_bpc_10
[11:55:04] [PASSED] drm_test_connector_hdmi_init_bpc_12
[11:55:04] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[11:55:04] [PASSED] drm_test_connector_hdmi_init_bpc_null
[11:55:04] [PASSED] drm_test_connector_hdmi_init_formats_empty
[11:55:04] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[11:55:04] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[11:55:04] [PASSED] supported_formats=0x9 yuv420_allowed=1
[11:55:04] [PASSED] supported_formats=0x9 yuv420_allowed=0
[11:55:04] [PASSED] supported_formats=0x5 yuv420_allowed=1
[11:55:04] [PASSED] supported_formats=0x5 yuv420_allowed=0
[11:55:04] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[11:55:04] [PASSED] drm_test_connector_hdmi_init_null_ddc
[11:55:04] [PASSED] drm_test_connector_hdmi_init_null_product
[11:55:04] [PASSED] drm_test_connector_hdmi_init_null_vendor
[11:55:04] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[11:55:04] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[11:55:04] [PASSED] drm_test_connector_hdmi_init_product_valid
[11:55:04] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[11:55:04] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[11:55:04] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[11:55:04] ========= drm_test_connector_hdmi_init_type_valid =========
[11:55:04] [PASSED] HDMI-A
[11:55:04] [PASSED] HDMI-B
[11:55:04] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[11:55:04] ======== drm_test_connector_hdmi_init_type_invalid ========
[11:55:04] [PASSED] Unknown
[11:55:04] [PASSED] VGA
[11:55:04] [PASSED] DVI-I
[11:55:04] [PASSED] DVI-D
[11:55:04] [PASSED] DVI-A
[11:55:04] [PASSED] Composite
[11:55:04] [PASSED] SVIDEO
[11:55:04] [PASSED] LVDS
[11:55:04] [PASSED] Component
[11:55:04] [PASSED] DIN
[11:55:04] [PASSED] DP
[11:55:04] [PASSED] TV
[11:55:04] [PASSED] eDP
[11:55:04] [PASSED] Virtual
[11:55:04] [PASSED] DSI
[11:55:04] [PASSED] DPI
[11:55:04] [PASSED] Writeback
[11:55:04] [PASSED] SPI
[11:55:04] [PASSED] USB
[11:55:04] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[11:55:04] ============ [PASSED] drmm_connector_hdmi_init =============
[11:55:04] ============= drmm_connector_init (3 subtests) =============
[11:55:04] [PASSED] drm_test_drmm_connector_init
[11:55:04] [PASSED] drm_test_drmm_connector_init_null_ddc
[11:55:04] ========= drm_test_drmm_connector_init_type_valid =========
[11:55:04] [PASSED] Unknown
[11:55:04] [PASSED] VGA
[11:55:04] [PASSED] DVI-I
[11:55:04] [PASSED] DVI-D
[11:55:04] [PASSED] DVI-A
[11:55:04] [PASSED] Composite
[11:55:04] [PASSED] SVIDEO
[11:55:04] [PASSED] LVDS
[11:55:04] [PASSED] Component
[11:55:04] [PASSED] DIN
[11:55:04] [PASSED] DP
[11:55:04] [PASSED] HDMI-A
[11:55:04] [PASSED] HDMI-B
[11:55:04] [PASSED] TV
[11:55:04] [PASSED] eDP
[11:55:04] [PASSED] Virtual
[11:55:04] [PASSED] DSI
[11:55:04] [PASSED] DPI
[11:55:04] [PASSED] Writeback
[11:55:04] [PASSED] SPI
[11:55:04] [PASSED] USB
[11:55:04] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[11:55:04] =============== [PASSED] drmm_connector_init ===============
[11:55:04] ========= drm_connector_dynamic_init (6 subtests) ==========
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_init
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_init_properties
[11:55:04] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[11:55:04] [PASSED] Unknown
[11:55:04] [PASSED] VGA
[11:55:04] [PASSED] DVI-I
[11:55:04] [PASSED] DVI-D
[11:55:04] [PASSED] DVI-A
[11:55:04] [PASSED] Composite
[11:55:04] [PASSED] SVIDEO
[11:55:04] [PASSED] LVDS
[11:55:04] [PASSED] Component
[11:55:04] [PASSED] DIN
[11:55:04] [PASSED] DP
[11:55:04] [PASSED] HDMI-A
[11:55:04] [PASSED] HDMI-B
[11:55:04] [PASSED] TV
[11:55:04] [PASSED] eDP
[11:55:04] [PASSED] Virtual
[11:55:04] [PASSED] DSI
[11:55:04] [PASSED] DPI
[11:55:04] [PASSED] Writeback
[11:55:04] [PASSED] SPI
[11:55:04] [PASSED] USB
[11:55:04] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[11:55:04] ======== drm_test_drm_connector_dynamic_init_name =========
[11:55:04] [PASSED] Unknown
[11:55:04] [PASSED] VGA
[11:55:04] [PASSED] DVI-I
[11:55:04] [PASSED] DVI-D
[11:55:04] [PASSED] DVI-A
[11:55:04] [PASSED] Composite
[11:55:04] [PASSED] SVIDEO
[11:55:04] [PASSED] LVDS
[11:55:04] [PASSED] Component
[11:55:04] [PASSED] DIN
[11:55:04] [PASSED] DP
[11:55:04] [PASSED] HDMI-A
[11:55:04] [PASSED] HDMI-B
[11:55:04] [PASSED] TV
[11:55:04] [PASSED] eDP
[11:55:04] [PASSED] Virtual
[11:55:04] [PASSED] DSI
[11:55:04] [PASSED] DPI
[11:55:04] [PASSED] Writeback
[11:55:04] [PASSED] SPI
[11:55:04] [PASSED] USB
[11:55:04] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[11:55:04] =========== [PASSED] drm_connector_dynamic_init ============
[11:55:04] ==== drm_connector_dynamic_register_early (4 subtests) =====
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[11:55:04] ====== [PASSED] drm_connector_dynamic_register_early =======
[11:55:04] ======= drm_connector_dynamic_register (7 subtests) ========
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[11:55:04] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[11:55:04] ========= [PASSED] drm_connector_dynamic_register ==========
[11:55:04] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[11:55:04] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[11:55:04] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[11:55:04] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[11:55:04] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[11:55:04] ========== drm_test_get_tv_mode_from_name_valid ===========
[11:55:04] [PASSED] NTSC
[11:55:04] [PASSED] NTSC-443
[11:55:04] [PASSED] NTSC-J
[11:55:04] [PASSED] PAL
[11:55:04] [PASSED] PAL-M
[11:55:04] [PASSED] PAL-N
[11:55:04] [PASSED] SECAM
[11:55:04] [PASSED] Mono
[11:55:04] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[11:55:04] [PASSED] drm_test_get_tv_mode_from_name_truncated
[11:55:04] ============ [PASSED] drm_get_tv_mode_from_name ============
[11:55:04] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[11:55:04] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[11:55:04] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[11:55:04] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[11:55:04] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[11:55:04] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[11:55:04] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[11:55:04] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[11:55:04] [PASSED] VIC 96
[11:55:04] [PASSED] VIC 97
[11:55:04] [PASSED] VIC 101
[11:55:04] [PASSED] VIC 102
[11:55:04] [PASSED] VIC 106
[11:55:04] [PASSED] VIC 107
[11:55:04] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[11:55:04] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[11:55:04] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[11:55:04] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[11:55:04] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[11:55:04] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[11:55:04] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[11:55:04] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[11:55:04] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[11:55:04] [PASSED] Automatic
[11:55:04] [PASSED] Full
[11:55:04] [PASSED] Limited 16:235
[11:55:04] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[11:55:04] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[11:55:04] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[11:55:04] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[11:55:04] === drm_test_drm_hdmi_connector_get_output_format_name ====
[11:55:04] [PASSED] RGB
[11:55:04] [PASSED] YUV 4:2:0
[11:55:04] [PASSED] YUV 4:2:2
[11:55:04] [PASSED] YUV 4:4:4
[11:55:04] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[11:55:04] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[11:55:04] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[11:55:04] ============= drm_damage_helper (21 subtests) ==============
[11:55:04] [PASSED] drm_test_damage_iter_no_damage
[11:55:04] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[11:55:04] [PASSED] drm_test_damage_iter_no_damage_src_moved
[11:55:04] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[11:55:04] [PASSED] drm_test_damage_iter_no_damage_not_visible
[11:55:04] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[11:55:04] [PASSED] drm_test_damage_iter_no_damage_no_fb
[11:55:04] [PASSED] drm_test_damage_iter_simple_damage
[11:55:04] [PASSED] drm_test_damage_iter_single_damage
[11:55:04] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[11:55:04] [PASSED] drm_test_damage_iter_single_damage_outside_src
[11:55:04] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[11:55:04] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[11:55:04] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[11:55:04] [PASSED] drm_test_damage_iter_single_damage_src_moved
[11:55:04] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[11:55:04] [PASSED] drm_test_damage_iter_damage
[11:55:04] [PASSED] drm_test_damage_iter_damage_one_intersect
[11:55:04] [PASSED] drm_test_damage_iter_damage_one_outside
[11:55:04] [PASSED] drm_test_damage_iter_damage_src_moved
[11:55:04] [PASSED] drm_test_damage_iter_damage_not_visible
[11:55:04] ================ [PASSED] drm_damage_helper ================
[11:55:04] ============== drm_dp_mst_helper (3 subtests) ==============
[11:55:04] ============== drm_test_dp_mst_calc_pbn_mode ==============
[11:55:04] [PASSED] Clock 154000 BPP 30 DSC disabled
[11:55:04] [PASSED] Clock 234000 BPP 30 DSC disabled
[11:55:04] [PASSED] Clock 297000 BPP 24 DSC disabled
[11:55:04] [PASSED] Clock 332880 BPP 24 DSC enabled
[11:55:04] [PASSED] Clock 324540 BPP 24 DSC enabled
[11:55:04] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[11:55:04] ============== drm_test_dp_mst_calc_pbn_div ===============
[11:55:04] [PASSED] Link rate 2000000 lane count 4
[11:55:04] [PASSED] Link rate 2000000 lane count 2
[11:55:04] [PASSED] Link rate 2000000 lane count 1
[11:55:04] [PASSED] Link rate 1350000 lane count 4
[11:55:04] [PASSED] Link rate 1350000 lane count 2
[11:55:04] [PASSED] Link rate 1350000 lane count 1
[11:55:04] [PASSED] Link rate 1000000 lane count 4
[11:55:04] [PASSED] Link rate 1000000 lane count 2
[11:55:04] [PASSED] Link rate 1000000 lane count 1
[11:55:04] [PASSED] Link rate 810000 lane count 4
[11:55:04] [PASSED] Link rate 810000 lane count 2
[11:55:04] [PASSED] Link rate 810000 lane count 1
[11:55:04] [PASSED] Link rate 540000 lane count 4
[11:55:04] [PASSED] Link rate 540000 lane count 2
[11:55:04] [PASSED] Link rate 540000 lane count 1
[11:55:04] [PASSED] Link rate 270000 lane count 4
[11:55:04] [PASSED] Link rate 270000 lane count 2
[11:55:04] [PASSED] Link rate 270000 lane count 1
[11:55:04] [PASSED] Link rate 162000 lane count 4
[11:55:04] [PASSED] Link rate 162000 lane count 2
[11:55:04] [PASSED] Link rate 162000 lane count 1
[11:55:04] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[11:55:04] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[11:55:04] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[11:55:04] [PASSED] DP_POWER_UP_PHY with port number
[11:55:04] [PASSED] DP_POWER_DOWN_PHY with port number
[11:55:04] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[11:55:04] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[11:55:04] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[11:55:04] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[11:55:04] [PASSED] DP_QUERY_PAYLOAD with port number
[11:55:04] [PASSED] DP_QUERY_PAYLOAD with VCPI
[11:55:04] [PASSED] DP_REMOTE_DPCD_READ with port number
[11:55:04] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[11:55:04] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[11:55:04] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[11:55:04] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[11:55:04] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[11:55:04] [PASSED] DP_REMOTE_I2C_READ with port number
[11:55:04] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[11:55:04] [PASSED] DP_REMOTE_I2C_READ with transactions array
[11:55:04] [PASSED] DP_REMOTE_I2C_WRITE with port number
[11:55:04] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[11:55:04] [PASSED] DP_REMOTE_I2C_WRITE with data array
[11:55:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[11:55:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[11:55:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[11:55:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[11:55:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[11:55:04] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[11:55:04] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[11:55:04] ================ [PASSED] drm_dp_mst_helper ================
[11:55:04] ================== drm_exec (7 subtests) ===================
[11:55:04] [PASSED] sanitycheck
[11:55:04] [PASSED] test_lock
[11:55:04] [PASSED] test_lock_unlock
[11:55:04] [PASSED] test_duplicates
[11:55:04] [PASSED] test_prepare
[11:55:04] [PASSED] test_prepare_array
[11:55:04] [PASSED] test_multiple_loops
[11:55:04] ==================== [PASSED] drm_exec =====================
[11:55:04] =========== drm_format_helper_test (17 subtests) ===========
[11:55:04] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[11:55:04] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[11:55:04] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[11:55:04] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[11:55:04] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[11:55:04] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[11:55:04] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[11:55:04] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[11:55:04] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[11:55:04] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[11:55:04] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[11:55:04] ============== drm_test_fb_xrgb8888_to_mono ===============
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[11:55:04] ==================== drm_test_fb_swab =====================
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ================ [PASSED] drm_test_fb_swab =================
[11:55:04] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[11:55:04] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[11:55:04] [PASSED] single_pixel_source_buffer
[11:55:04] [PASSED] single_pixel_clip_rectangle
[11:55:04] [PASSED] well_known_colors
[11:55:04] [PASSED] destination_pitch
[11:55:04] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[11:55:04] ================= drm_test_fb_clip_offset =================
[11:55:04] [PASSED] pass through
[11:55:04] [PASSED] horizontal offset
[11:55:04] [PASSED] vertical offset
[11:55:04] [PASSED] horizontal and vertical offset
[11:55:04] [PASSED] horizontal offset (custom pitch)
[11:55:04] [PASSED] vertical offset (custom pitch)
[11:55:04] [PASSED] horizontal and vertical offset (custom pitch)
[11:55:04] ============= [PASSED] drm_test_fb_clip_offset =============
[11:55:04] =================== drm_test_fb_memcpy ====================
[11:55:04] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[11:55:04] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[11:55:04] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[11:55:04] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[11:55:04] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[11:55:04] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[11:55:04] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[11:55:04] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[11:55:04] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[11:55:04] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[11:55:04] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[11:55:04] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[11:55:04] =============== [PASSED] drm_test_fb_memcpy ================
[11:55:04] ============= [PASSED] drm_format_helper_test ==============
[11:55:04] ================= drm_format (18 subtests) =================
[11:55:04] [PASSED] drm_test_format_block_width_invalid
[11:55:04] [PASSED] drm_test_format_block_width_one_plane
[11:55:04] [PASSED] drm_test_format_block_width_two_plane
[11:55:04] [PASSED] drm_test_format_block_width_three_plane
[11:55:04] [PASSED] drm_test_format_block_width_tiled
[11:55:04] [PASSED] drm_test_format_block_height_invalid
[11:55:04] [PASSED] drm_test_format_block_height_one_plane
[11:55:04] [PASSED] drm_test_format_block_height_two_plane
[11:55:04] [PASSED] drm_test_format_block_height_three_plane
[11:55:04] [PASSED] drm_test_format_block_height_tiled
[11:55:04] [PASSED] drm_test_format_min_pitch_invalid
[11:55:04] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[11:55:04] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[11:55:04] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[11:55:04] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[11:55:04] [PASSED] drm_test_format_min_pitch_two_plane
[11:55:04] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[11:55:04] [PASSED] drm_test_format_min_pitch_tiled
[11:55:04] =================== [PASSED] drm_format ====================
[11:55:04] ============== drm_framebuffer (10 subtests) ===============
[11:55:04] ========== drm_test_framebuffer_check_src_coords ==========
[11:55:04] [PASSED] Success: source fits into fb
[11:55:04] [PASSED] Fail: overflowing fb with x-axis coordinate
[11:55:04] [PASSED] Fail: overflowing fb with y-axis coordinate
[11:55:04] [PASSED] Fail: overflowing fb with source width
[11:55:04] [PASSED] Fail: overflowing fb with source height
[11:55:04] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[11:55:04] [PASSED] drm_test_framebuffer_cleanup
[11:55:04] =============== drm_test_framebuffer_create ===============
[11:55:04] [PASSED] ABGR8888 normal sizes
[11:55:04] [PASSED] ABGR8888 max sizes
[11:55:04] [PASSED] ABGR8888 pitch greater than min required
[11:55:04] [PASSED] ABGR8888 pitch less than min required
[11:55:04] [PASSED] ABGR8888 Invalid width
[11:55:04] [PASSED] ABGR8888 Invalid buffer handle
[11:55:04] [PASSED] No pixel format
[11:55:04] [PASSED] ABGR8888 Width 0
[11:55:04] [PASSED] ABGR8888 Height 0
[11:55:04] [PASSED] ABGR8888 Out of bound height * pitch combination
[11:55:04] [PASSED] ABGR8888 Large buffer offset
[11:55:04] [PASSED] ABGR8888 Buffer offset for inexistent plane
[11:55:04] [PASSED] ABGR8888 Invalid flag
[11:55:04] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[11:55:04] [PASSED] ABGR8888 Valid buffer modifier
[11:55:04] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[11:55:04] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[11:55:04] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[11:55:04] [PASSED] NV12 Normal sizes
[11:55:04] [PASSED] NV12 Max sizes
[11:55:04] [PASSED] NV12 Invalid pitch
[11:55:04] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[11:55:04] [PASSED] NV12 different modifier per-plane
[11:55:04] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[11:55:04] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[11:55:04] [PASSED] NV12 Modifier for inexistent plane
[11:55:04] [PASSED] NV12 Handle for inexistent plane
[11:55:04] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[11:55:04] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[11:55:04] [PASSED] YVU420 Normal sizes
[11:55:04] [PASSED] YVU420 Max sizes
[11:55:04] [PASSED] YVU420 Invalid pitch
[11:55:04] [PASSED] YVU420 Different pitches
[11:55:04] [PASSED] YVU420 Different buffer offsets/pitches
[11:55:04] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[11:55:04] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[11:55:04] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[11:55:04] [PASSED] YVU420 Valid modifier
[11:55:04] [PASSED] YVU420 Different modifiers per plane
[11:55:04] [PASSED] YVU420 Modifier for inexistent plane
[11:55:04] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[11:55:04] [PASSED] X0L2 Normal sizes
[11:55:04] [PASSED] X0L2 Max sizes
[11:55:04] [PASSED] X0L2 Invalid pitch
[11:55:04] [PASSED] X0L2 Pitch greater than minimum required
[11:55:04] [PASSED] X0L2 Handle for inexistent plane
[11:55:04] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[11:55:04] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[11:55:04] [PASSED] X0L2 Valid modifier
[11:55:04] [PASSED] X0L2 Modifier for inexistent plane
[11:55:04] =========== [PASSED] drm_test_framebuffer_create ===========
[11:55:04] [PASSED] drm_test_framebuffer_free
[11:55:04] [PASSED] drm_test_framebuffer_init
[11:55:04] [PASSED] drm_test_framebuffer_init_bad_format
[11:55:04] [PASSED] drm_test_framebuffer_init_dev_mismatch
[11:55:04] [PASSED] drm_test_framebuffer_lookup
[11:55:04] [PASSED] drm_test_framebuffer_lookup_inexistent
[11:55:04] [PASSED] drm_test_framebuffer_modifiers_not_supported
[11:55:04] ================= [PASSED] drm_framebuffer =================
[11:55:04] ================ drm_gem_shmem (8 subtests) ================
[11:55:04] [PASSED] drm_gem_shmem_test_obj_create
[11:55:04] [PASSED] drm_gem_shmem_test_obj_create_private
[11:55:04] [PASSED] drm_gem_shmem_test_pin_pages
[11:55:04] [PASSED] drm_gem_shmem_test_vmap
[11:55:04] [PASSED] drm_gem_shmem_test_get_sg_table
[11:55:04] [PASSED] drm_gem_shmem_test_get_pages_sgt
[11:55:04] [PASSED] drm_gem_shmem_test_madvise
[11:55:04] [PASSED] drm_gem_shmem_test_purge
[11:55:04] ================== [PASSED] drm_gem_shmem ==================
[11:55:04] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[11:55:04] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[11:55:04] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[11:55:04] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[11:55:04] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[11:55:04] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[11:55:04] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[11:55:04] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[11:55:04] [PASSED] Automatic
[11:55:04] [PASSED] Full
[11:55:04] [PASSED] Limited 16:235
[11:55:04] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[11:55:04] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[11:55:04] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[11:55:04] [PASSED] drm_test_check_disable_connector
[11:55:04] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[11:55:04] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[11:55:04] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[11:55:04] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[11:55:04] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[11:55:04] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[11:55:04] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[11:55:04] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[11:55:04] [PASSED] drm_test_check_output_bpc_dvi
[11:55:04] [PASSED] drm_test_check_output_bpc_format_vic_1
[11:55:04] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[11:55:04] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[11:55:04] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[11:55:04] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[11:55:04] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[11:55:04] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[11:55:04] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[11:55:04] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[11:55:04] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[11:55:04] [PASSED] drm_test_check_broadcast_rgb_value
[11:55:04] [PASSED] drm_test_check_bpc_8_value
[11:55:04] [PASSED] drm_test_check_bpc_10_value
[11:55:04] [PASSED] drm_test_check_bpc_12_value
[11:55:04] [PASSED] drm_test_check_format_value
[11:55:04] [PASSED] drm_test_check_tmds_char_value
[11:55:04] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[11:55:04] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[11:55:04] [PASSED] drm_test_check_mode_valid
[11:55:04] [PASSED] drm_test_check_mode_valid_reject
[11:55:04] [PASSED] drm_test_check_mode_valid_reject_rate
[11:55:04] [PASSED] drm_test_check_mode_valid_reject_max_clock
[11:55:04] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[11:55:04] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[11:55:04] [PASSED] drm_test_check_infoframes
[11:55:04] [PASSED] drm_test_check_reject_avi_infoframe
[11:55:04] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[11:55:04] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[11:55:04] [PASSED] drm_test_check_reject_audio_infoframe
[11:55:04] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[11:55:04] ================= drm_managed (2 subtests) =================
[11:55:04] [PASSED] drm_test_managed_release_action
[11:55:04] [PASSED] drm_test_managed_run_action
[11:55:04] =================== [PASSED] drm_managed ===================
[11:55:04] =================== drm_mm (6 subtests) ====================
[11:55:04] [PASSED] drm_test_mm_init
[11:55:04] [PASSED] drm_test_mm_debug
[11:55:04] [PASSED] drm_test_mm_align32
[11:55:04] [PASSED] drm_test_mm_align64
[11:55:04] [PASSED] drm_test_mm_lowest
[11:55:04] [PASSED] drm_test_mm_highest
[11:55:04] ===================== [PASSED] drm_mm ======================
[11:55:04] ============= drm_modes_analog_tv (5 subtests) =============
[11:55:04] [PASSED] drm_test_modes_analog_tv_mono_576i
[11:55:04] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[11:55:04] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[11:55:04] [PASSED] drm_test_modes_analog_tv_pal_576i
[11:55:04] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[11:55:04] =============== [PASSED] drm_modes_analog_tv ===============
[11:55:04] ============== drm_plane_helper (2 subtests) ===============
[11:55:04] =============== drm_test_check_plane_state ================
[11:55:04] [PASSED] clipping_simple
[11:55:04] [PASSED] clipping_rotate_reflect
[11:55:04] [PASSED] positioning_simple
[11:55:04] [PASSED] upscaling
[11:55:04] [PASSED] downscaling
[11:55:04] [PASSED] rounding1
[11:55:04] [PASSED] rounding2
[11:55:04] [PASSED] rounding3
[11:55:04] [PASSED] rounding4
[11:55:04] =========== [PASSED] drm_test_check_plane_state ============
[11:55:04] =========== drm_test_check_invalid_plane_state ============
[11:55:04] [PASSED] positioning_invalid
[11:55:04] [PASSED] upscaling_invalid
[11:55:04] [PASSED] downscaling_invalid
[11:55:04] ======= [PASSED] drm_test_check_invalid_plane_state ========
[11:55:04] ================ [PASSED] drm_plane_helper =================
[11:55:04] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[11:55:04] ====== drm_test_connector_helper_tv_get_modes_check =======
[11:55:04] [PASSED] None
[11:55:04] [PASSED] PAL
[11:55:04] [PASSED] NTSC
[11:55:04] [PASSED] Both, NTSC Default
[11:55:04] [PASSED] Both, PAL Default
[11:55:04] [PASSED] Both, NTSC Default, with PAL on command-line
[11:55:04] [PASSED] Both, PAL Default, with NTSC on command-line
[11:55:04] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[11:55:04] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[11:55:04] ================== drm_rect (9 subtests) ===================
[11:55:04] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[11:55:04] [PASSED] drm_test_rect_clip_scaled_not_clipped
[11:55:04] [PASSED] drm_test_rect_clip_scaled_clipped
[11:55:04] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[11:55:04] ================= drm_test_rect_intersect =================
[11:55:04] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[11:55:04] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[11:55:04] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[11:55:04] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[11:55:04] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[11:55:04] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[11:55:04] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[11:55:04] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[11:55:04] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[11:55:04] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[11:55:04] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[11:55:04] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[11:55:04] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[11:55:04] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[11:55:04] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[11:55:04] ============= [PASSED] drm_test_rect_intersect =============
[11:55:04] ================ drm_test_rect_calc_hscale ================
[11:55:04] [PASSED] normal use
[11:55:04] [PASSED] out of max range
[11:55:04] [PASSED] out of min range
[11:55:04] [PASSED] zero dst
[11:55:04] [PASSED] negative src
[11:55:04] [PASSED] negative dst
[11:55:04] ============ [PASSED] drm_test_rect_calc_hscale ============
[11:55:04] ================ drm_test_rect_calc_vscale ================
[11:55:04] [PASSED] normal use
[11:55:04] [PASSED] out of max range
[11:55:04] [PASSED] out of min range
[11:55:04] [PASSED] zero dst
[11:55:04] [PASSED] negative src
[11:55:04] [PASSED] negative dst
stty: 'standard input': Inappropriate ioctl for device
[11:55:04] ============ [PASSED] drm_test_rect_calc_vscale ============
[11:55:04] ================== drm_test_rect_rotate ===================
[11:55:04] [PASSED] reflect-x
[11:55:04] [PASSED] reflect-y
[11:55:04] [PASSED] rotate-0
[11:55:04] [PASSED] rotate-90
[11:55:04] [PASSED] rotate-180
[11:55:04] [PASSED] rotate-270
[11:55:04] ============== [PASSED] drm_test_rect_rotate ===============
[11:55:04] ================ drm_test_rect_rotate_inv =================
[11:55:04] [PASSED] reflect-x
[11:55:04] [PASSED] reflect-y
[11:55:04] [PASSED] rotate-0
[11:55:04] [PASSED] rotate-90
[11:55:04] [PASSED] rotate-180
[11:55:04] [PASSED] rotate-270
[11:55:04] ============ [PASSED] drm_test_rect_rotate_inv =============
[11:55:04] ==================== [PASSED] drm_rect =====================
[11:55:04] ============ drm_sysfb_modeset_test (1 subtest) ============
[11:55:04] ============ drm_test_sysfb_build_fourcc_list =============
[11:55:04] [PASSED] no native formats
[11:55:04] [PASSED] XRGB8888 as native format
[11:55:04] [PASSED] remove duplicates
[11:55:04] [PASSED] convert alpha formats
[11:55:04] [PASSED] random formats
[11:55:04] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[11:55:04] ============= [PASSED] drm_sysfb_modeset_test ==============
[11:55:04] ================== drm_fixp (2 subtests) ===================
[11:55:04] [PASSED] drm_test_int2fixp
[11:55:04] [PASSED] drm_test_sm2fixp
[11:55:04] ==================== [PASSED] drm_fixp =====================
[11:55:04] ============================================================
[11:55:04] Testing complete. Ran 621 tests: passed: 621
[11:55:04] Elapsed time: 26.262s total, 1.735s configuring, 24.356s building, 0.129s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
stty: 'standard input': Inappropriate ioctl for device
[11:55:05] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[11:55:06] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[11:55:16] Starting KUnit Kernel (1/1)...
[11:55:16] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[11:55:16] ================= ttm_device (5 subtests) ==================
[11:55:16] [PASSED] ttm_device_init_basic
[11:55:16] [PASSED] ttm_device_init_multiple
[11:55:16] [PASSED] ttm_device_fini_basic
[11:55:16] [PASSED] ttm_device_init_no_vma_man
[11:55:16] ================== ttm_device_init_pools ==================
[11:55:16] [PASSED] No DMA allocations, no DMA32 required
[11:55:16] # ttm_device_init_pools: ASSERTION FAILED at drivers/gpu/drm/ttm/tests/ttm_device_test.c:178
[11:55:16] Expected !list_lru_count(&pt.pages) to be false, but is true
[11:55:16] [FAILED] DMA allocations, DMA32 required
[11:55:16] [PASSED] No DMA allocations, DMA32 required
[11:55:16] # ttm_device_init_pools: ASSERTION FAILED at drivers/gpu/drm/ttm/tests/ttm_device_test.c:178
[11:55:16] Expected !list_lru_count(&pt.pages) to be false, but is true
[11:55:16] ------------[ cut here ]------------
[11:55:16] WARNING: lib/refcount.c:28 at devres_release_all+0xaa/0x100, CPU#0: kunit_try_catch/46
[11:55:16] refcount_t: underflow; use-after-free.
[11:55:16] CPU: 0 UID: 0 PID: 46 Comm: kunit_try_catch Tainted: G W N 7.0.0-rc7-g9db602dbf01c #3 VOLUNTARY
[11:55:16] Tainted: [W]=WARN, [N]=TEST
[11:55:16] Stack:
[11:55:16] 6044ed8b 00000000 00000000 00000001
[11:55:16] ffffff00 6044ed8b 6032367a 00000009
[11:55:16] 0000001c 60043e88 6002381c b20cbd40
[11:55:16] Call Trace:
[11:55:16] [<6032367a>] ? devres_release_all+0xaa/0x100
[11:55:16] [<60043e88>] ? dump_stack_lvl+0x5e/0x7a
[11:55:16] [<6002381c>] ? _printk+0x0/0x65
[11:55:16] [<6001f09f>] ? __warn.cold+0x79/0x11f
[11:55:16] [<6001f1d9>] ? warn_slowpath_fmt+0x94/0xa1
[11:55:16] [<601ef1a0>] ? kernfs_free_rcu+0x0/0x70
[11:55:16] [<60052e36>] ? um_set_signals+0x36/0x60
[11:55:16] [<600c5a42>] ? call_rcu+0x52/0x90
[11:55:16] [<6001f145>] ? warn_slowpath_fmt+0x0/0xa1
[11:55:16] [<60147f50>] ? kfree+0x0/0x250
[11:55:16] [<6032367a>] ? devres_release_all+0xaa/0x100
[11:55:16] [<60396bb0>] ? mutex_unlock+0x0/0x30
[11:55:16] [<6031c3c0>] ? bus_notify+0x0/0x60
[11:55:16] [<60396bb0>] ? mutex_unlock+0x0/0x30
[11:55:16] [<60398620>] ? mutex_lock+0x0/0x40
[11:55:16] [<6031ca24>] ? device_unbind_cleanup+0x14/0xb0
[11:55:16] [<6031e1f6>] ? device_release_driver_internal+0x256/0x2b0
[11:55:16] [<60372210>] ? kobject_put+0x0/0x150
[11:55:16] [<601f3d40>] ? sysfs_remove_file_ns+0x0/0x20
[11:55:16] [<6031c00f>] ? bus_remove_device+0x10f/0x1a0
[11:55:16] [<601f3d40>] ? sysfs_remove_file_ns+0x0/0x20
[11:55:16] [<601f17b8>] ? kernfs_remove_by_name_ns+0x98/0x130
[11:55:16] [<60315a8c>] ? device_del+0x1bc/0x600
[11:55:16] [<60052e00>] ? um_set_signals+0x0/0x60
[11:55:16] [<6025b2a0>] ? device_unregister_wrapper+0x0/0x10
[11:55:16] [<60052e00>] ? um_set_signals+0x0/0x60
[11:55:16] [<60315ee4>] ? device_unregister+0x14/0x40
[11:55:16] [<60257e66>] ? kunit_release_action+0xf6/0x170
[11:55:16] [<60257d70>] ? kunit_release_action+0x0/0x170
[11:55:16] [<6025b2e2>] ? kunit_device_unregister+0x32/0x80
[11:55:16] [<60259890>] ? kunit_generic_run_threadfn_adapter+0x0/0x30
[11:55:16] [<6025748e>] ? kunit_try_run_case_cleanup+0x2e/0x40
[11:55:16] [<602598a6>] ? kunit_generic_run_threadfn_adapter+0x16/0x30
[11:55:16] [<60081e36>] ? kthread+0xe6/0x150
[11:55:16] [<60046435>] ? new_thread_handler+0x45/0x60
[11:55:16] ---[ end trace 0000000000000000 ]---
[11:55:16] [FAILED] DMA allocations, no DMA32 required
[11:55:16] # ttm_device_init_pools: pass:2 fail:2 skip:0 total:4
[11:55:16] ============== [FAILED] ttm_device_init_pools ==============
[11:55:16] # module: ttm_device_test
[11:55:16] # ttm_device: pass:4 fail:1 skip:0 total:5
[11:55:16] # Totals: pass:6 fail:2 skip:0 total:8
[11:55:16] =================== [FAILED] ttm_device ====================
[11:55:16] ================== ttm_pool (8 subtests) ===================
[11:55:16] ================== ttm_pool_alloc_basic ===================
[11:55:16] [PASSED] One page
[11:55:16] [PASSED] More than one page
[11:55:16] [PASSED] Above the allocation limit
[11:55:16] [PASSED] One page, with coherent DMA mappings enabled
[11:55:16] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[11:55:16] ============== [PASSED] ttm_pool_alloc_basic ===============
[11:55:16] ============== ttm_pool_alloc_basic_dma_addr ==============
[11:55:16] [PASSED] One page
[11:55:16] [PASSED] More than one page
[11:55:16] [PASSED] Above the allocation limit
[11:55:16] [PASSED] One page, with coherent DMA mappings enabled
[11:55:16] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[11:55:16] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[11:55:16] [PASSED] ttm_pool_alloc_order_caching_match
[11:55:16] [PASSED] ttm_pool_alloc_caching_mismatch
[11:55:16] [PASSED] ttm_pool_alloc_order_mismatch
[11:55:16] [PASSED] ttm_pool_free_dma_alloc
[11:55:16] [ERROR] Test: ttm_pool: missing expected subtest!
[11:55:16]
[11:55:16] Pid: 75, comm: kunit_try_catch Tainted: G W N 7.0.0-rc7-g9db602dbf01c
[11:55:16] RIP: 0033:list_lru_count_node+0xe/0x20
[11:55:16] RSP: 00000000b20cbed8 EFLAGS: 00010246
[11:55:16] RAX: 0000000000000000 RBX: 00000000b2003c90 RCX: 000000007224c7d8
[11:55:16] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000072086880
[11:55:16] RBP: 0000000072086800 R08: 00000000b0b79c28 R09: 0000000072050c80
[11:55:16] R10: 0000000000000000 R11: 0000000000000000 R12: 0000000072050c80
[11:55:16] R13: 0000000060440770 R14: 000000006010eb50 R15: 0000000072086880
[11:55:16] Kernel panic - not syncing: Segfault with no mm
[11:55:16] [CRASHED]
[11:55:16] [ERROR] Test: ttm_pool: missing expected subtest!
[11:55:16] [CRASHED]
[11:55:16] [ERROR] Test: ttm_pool: missing subtest result line!
[11:55:16] # module: ttm_pool_test
[11:55:16] ==================== [CRASHED] ttm_pool ====================
[11:55:16] [ERROR] Test: main: missing expected subtest!
[11:55:16] [CRASHED]
[11:55:16] [ERROR] Test: main: missing expected subtest!
[11:55:16] [CRASHED]
[11:55:16] [ERROR] Test: main: missing expected subtest!
[11:55:16] [CRASHED]
[11:55:16] [ERROR] Test: main: missing expected subtest!
[11:55:16] [CRASHED]
[11:55:16] ============================================================
[11:55:16] Testing complete. Ran 28 tests: passed: 20, failed: 2, crashed: 6, errors: 7
The kernel seems to have crashed; you can decode the stack traces with:
$ scripts/decode_stacktrace.sh .kunit/vmlinux .kunit < .kunit/test.log | tee .kunit/decoded.log | /kernel/tools/testing/kunit/kunit.py parse
[11:55:16] Elapsed time: 11.625s total, 1.726s configuring, 9.632s building, 0.266s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/intel/display: Use drmm for intel_mode_config_cleanup
2026-04-08 11:47 [PATCH] drm/intel/display: Use drmm for intel_mode_config_cleanup Maarten Lankhorst
2026-04-08 11:54 ` ✗ CI.checkpatch: warning for " Patchwork
2026-04-08 11:55 ` ✗ CI.KUnit: failure " Patchwork
@ 2026-04-10 9:17 ` Ville Syrjälä
2026-04-10 18:25 ` Maarten Lankhorst
2 siblings, 1 reply; 5+ messages in thread
From: Ville Syrjälä @ 2026-04-10 9:17 UTC (permalink / raw)
To: Maarten Lankhorst; +Cc: intel-gfx, intel-xe
On Wed, Apr 08, 2026 at 01:47:56PM +0200, Maarten Lankhorst wrote:
> When force unbinding the driver on xe, xe unloads cleanly except for
> framebuffers and user blobs.
>
> This happens because intel_mode_config_cleanup is called during driver
> unbind, but it should be called only after all drm files are closed,
> during drmm cleanup.
>
> Related warnings for framebuffers on the subtest:
> [ 739.713076] ------------[ cut here ]------------
> WARN_ON(!list_empty(&dev->mode_config.fb_list))
> [ 739.713079] WARNING: drivers/gpu/drm/drm_mode_config.c:584 at drm_mode_config_cleanup+0x30b/0x320 [drm], CPU#12: xe_module_load/13145
> ....
> [ 739.713328] Call Trace:
> [ 739.713330] <TASK>
> [ 739.713335] ? intel_pmdemand_destroy_state+0x11/0x20 [xe]
> [ 739.713574] ? intel_atomic_global_obj_cleanup+0xe4/0x1a0 [xe]
> [ 739.713794] intel_display_driver_remove_noirq+0x51/0xb0 [xe]
> [ 739.714041] xe_display_fini_early+0x33/0x50 [xe]
> [ 739.714284] devm_action_release+0xf/0x20
> [ 739.714294] devres_release_all+0xad/0xf0
> [ 739.714301] device_unbind_cleanup+0x12/0xa0
> [ 739.714305] device_release_driver_internal+0x1b7/0x210
> [ 739.714311] device_driver_detach+0x14/0x20
> [ 739.714315] unbind_store+0xa6/0xb0
> [ 739.714319] drv_attr_store+0x21/0x30
> [ 739.714322] sysfs_kf_write+0x48/0x60
> [ 739.714328] kernfs_fop_write_iter+0x16b/0x240
> [ 739.714333] vfs_write+0x266/0x520
> [ 739.714341] ksys_write+0x72/0xe0
> [ 739.714345] __x64_sys_write+0x19/0x20
> [ 739.714347] x64_sys_call+0xa15/0xa30
> [ 739.714355] do_syscall_64+0xd8/0xab0
> [ 739.714361] entry_SYSCALL_64_after_hwframe+0x4b/0x53
>
> and
>
> [ 739.714459] ------------[ cut here ]------------
> [ 739.714461] xe 0000:67:00.0: [drm] drm_WARN_ON(!list_empty(&fb->filp_head))
> [ 739.714464] WARNING: drivers/gpu/drm/drm_framebuffer.c:833 at drm_framebuffer_free+0x6c/0x90 [drm], CPU#12: xe_module_load/13145
> [ 739.714715] RIP: 0010:drm_framebuffer_free+0x7a/0x90 [drm]
> ...
> [ 739.714869] Call Trace:
> [ 739.714871] <TASK>
> [ 739.714876] drm_mode_config_cleanup+0x26a/0x320 [drm]
> [ 739.714998] ? __drm_printfn_seq_file+0x20/0x20 [drm]
> [ 739.715115] ? drm_mode_config_cleanup+0x207/0x320 [drm]
> [ 739.715235] intel_display_driver_remove_noirq+0x51/0xb0 [xe]
> [ 739.715576] xe_display_fini_early+0x33/0x50 [xe]
> [ 739.715821] devm_action_release+0xf/0x20
> [ 739.715828] devres_release_all+0xad/0xf0
> [ 739.715843] device_unbind_cleanup+0x12/0xa0
> [ 739.715850] device_release_driver_internal+0x1b7/0x210
> [ 739.715856] device_driver_detach+0x14/0x20
> [ 739.715860] unbind_store+0xa6/0xb0
> [ 739.715865] drv_attr_store+0x21/0x30
> [ 739.715868] sysfs_kf_write+0x48/0x60
> [ 739.715873] kernfs_fop_write_iter+0x16b/0x240
> [ 739.715878] vfs_write+0x266/0x520
> [ 739.715886] ksys_write+0x72/0xe0
> [ 739.715890] __x64_sys_write+0x19/0x20
> [ 739.715893] x64_sys_call+0xa15/0xa30
> [ 739.715900] do_syscall_64+0xd8/0xab0
> [ 739.715905] entry_SYSCALL_64_after_hwframe+0x4b/0x53
>
> and then finally file close blows up:
>
> [ 743.186530] Oops: general protection fault, probably for non-canonical address 0xdead000000000122: 0000 [#1] SMP
> [ 743.186535] CPU: 3 UID: 1000 PID: 3453 Comm: kwin_wayland Tainted: G W 7.0.0-rc1-valkyria+ #110 PREEMPT_{RT,(lazy)}
> [ 743.186537] Tainted: [W]=WARN
> [ 743.186538] Hardware name: Gigabyte Technology Co., Ltd. X299 AORUS Gaming 3/X299 AORUS Gaming 3-CF, BIOS F8n 12/06/2021
> [ 743.186539] RIP: 0010:drm_framebuffer_cleanup+0x55/0xc0 [drm]
> [ 743.186588] Code: d8 72 73 0f b6 42 05 ff c3 39 c3 72 e8 49 8d bd 50 07 00 00 31 f6 e8 3a 80 d3 e1 49 8b 44 24 10 49 8d 7c 24 08 49 8b 54 24 08 <48> 3b 38 0f 85 95 7f 02 00 48 3b 7a 08 0f 85 8b 7f 02 00 48 89 42
> [ 743.186589] RSP: 0018:ffffc900085e3cf8 EFLAGS: 00010202
> [ 743.186591] RAX: dead000000000122 RBX: 0000000000000001 RCX: ffffffff8217ed03
> [ 743.186592] RDX: dead000000000100 RSI: 0000000000000000 RDI: ffff88814675ba08
> [ 743.186593] RBP: ffffc900085e3d10 R08: 0000000000000000 R09: 0000000000000000
> [ 743.186593] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88814675ba00
> [ 743.186594] R13: ffff88810d778000 R14: ffff888119f6dca0 R15: ffff88810c660bb0
> [ 743.186595] FS: 00007ff377d21280(0000) GS:ffff888cec3f8000(0000) knlGS:0000000000000000
> [ 743.186596] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 743.186596] CR2: 000055690b55e000 CR3: 0000000113586003 CR4: 00000000003706f0
> [ 743.186597] Call Trace:
> [ 743.186598] <TASK>
> [ 743.186603] intel_user_framebuffer_destroy+0x12/0x90 [xe]
> [ 743.186722] drm_framebuffer_free+0x3a/0x90 [drm]
> [ 743.186750] ? trace_hardirqs_on+0x5f/0x120
> [ 743.186754] drm_mode_object_put+0x51/0x70 [drm]
> [ 743.186786] drm_fb_release+0x105/0x190 [drm]
> [ 743.186812] ? rt_mutex_slowunlock+0x3aa/0x410
> [ 743.186817] ? rt_spin_lock+0xea/0x1b0
> [ 743.186819] drm_file_free+0x1e0/0x2c0 [drm]
> [ 743.186843] drm_release_noglobal+0x91/0xf0 [drm]
> [ 743.186865] __fput+0x100/0x2e0
> [ 743.186869] fput_close_sync+0x40/0xa0
> [ 743.186870] __x64_sys_close+0x3e/0x80
> [ 743.186873] x64_sys_call+0xa07/0xa30
> [ 743.186879] do_syscall_64+0xd8/0xab0
> [ 743.186881] entry_SYSCALL_64_after_hwframe+0x4b/0x53
> [ 743.186882] RIP: 0033:0x7ff37e567732
> [ 743.186884] Code: 08 0f 85 a1 38 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
> [ 743.186885] RSP: 002b:00007ffc818169a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
> [ 743.186886] RAX: ffffffffffffffda RBX: 00007ffc81816a30 RCX: 00007ff37e567732
> [ 743.186887] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000012
> [ 743.186888] RBP: 00007ffc818169d0 R08: 0000000000000000 R09: 0000000000000000
> [ 743.186889] R10: 0000000000000000 R11: 0000000000000246 R12: 000055d60a7996e0
> [ 743.186889] R13: 00007ffc81816a90 R14: 00007ffc81816a90 R15: 000055d60a782a30
> [ 743.186892] </TASK>
> [ 743.186893] Modules linked in: rfcomm snd_hrtimer xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 xt_tcpudp xt_addrtype nft_compat x_tables nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables overlay cfg80211 bnep mtd_intel_dg snd_hda_codec_intelhdmi mtd snd_hda_codec_hdmi nls_utf8 mxm_wmi intel_wmi_thunderbolt gigabyte_wmi wmi_bmof xe drm_gpuvm drm_gpusvm_helper i2c_algo_bit drm_buddy drm_ttm_helper ttm video drm_suballoc_helper gpu_sched drm_client_lib drm_exec drm_display_helper cec drm_kunit_helpers drm_kms_helper kunit x86_pkg_temp_thermal intel_powerclamp coretemp snd_hda_codec_alc882 snd_hda_codec_realtek_lib snd_hda_codec_generic snd_hda_intel snd_soc_avs snd_soc_hda_codec snd_hda_ext_core snd_hda_codec snd_hwdep snd_hda_core snd_intel_dspcfg snd_soc_core snd_compress ac97_bus snd_pcm snd_seq snd_seq_device snd_timer i2c_i801 i2c_mux snd i2c_smbus btusb btrtl btbcm btmtk btintel bluetooth ecdh_generic rfkill ecc mei_me mei ioatdma dca wmi nfsd drm i2c_dev fuse nfnetlink
> [ 743.186938] ---[ end trace 0000000000000000 ]---
>
> And for property blobs:
>
> [ 371.072940] BUG: unable to handle page fault for address: 000001ffffffffff
> [ 371.072944] #PF: supervisor read access in kernel mode
> [ 371.072945] #PF: error_code(0x0000) - not-present page
> [ 371.072947] PGD 0 P4D 0
> [ 371.072950] Oops: Oops: 0000 [#1] SMP
> [ 371.072953] CPU: 0 UID: 1000 PID: 3693 Comm: kwin_wayland Not tainted 7.0.0-rc1-valkyria+ #111 PREEMPT_{RT,(lazy)}
> [ 371.072956] Hardware name: Gigabyte Technology Co., Ltd. X299 AORUS Gaming 3/X299 AORUS Gaming 3-CF, BIOS F8n 12/06/2021
> [ 371.072957] RIP: 0010:drm_property_destroy_user_blobs+0x3b/0x90 [drm]
> [ 371.073019] Code: 00 00 48 83 ec 10 48 8b 86 30 01 00 00 48 39 c3 74 59 48 89 c2 48 8d 48 c8 48 8b 00 4c 8d 60 c8 eb 04 4c 8d 60 c8 48 8b 71 40 <48> 39 16 0f 85 39 32 01 00 48 3b 50 08 0f 85 2f 32 01 00 48 89 70
> [ 371.073021] RSP: 0018:ffffc90006a73de8 EFLAGS: 00010293
> [ 371.073022] RAX: 000001ffffffffff RBX: ffff888118a1a930 RCX: ffff8881b92355c0
> [ 371.073024] RDX: ffff8881b92355f8 RSI: 000001ffffffffff RDI: ffff888118be4000
> [ 371.073025] RBP: ffffc90006a73e08 R08: ffff8881009b7300 R09: ffff888cecc5b000
> [ 371.073026] R10: ffffc90006a73e90 R11: 0000000000000002 R12: 000001ffffffffc7
> [ 371.073027] R13: ffff888118a1a980 R14: ffff88810b366d20 R15: ffff888118a1a970
> [ 371.073028] FS: 00007f1faccbb280(0000) GS:ffff888cec2db000(0000) knlGS:0000000000000000
> [ 371.073029] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 371.073030] CR2: 000001ffffffffff CR3: 000000010655c001 CR4: 00000000003706f0
> [ 371.073031] Call Trace:
> [ 371.073033] <TASK>
> [ 371.073036] drm_file_free+0x1df/0x2a0 [drm]
> [ 371.073077] drm_release_noglobal+0x7a/0xe0 [drm]
> [ 371.073113] __fput+0xe2/0x2b0
> [ 371.073118] fput_close_sync+0x40/0xa0
> [ 371.073119] __x64_sys_close+0x3e/0x80
> [ 371.073122] x64_sys_call+0xa07/0xa30
> [ 371.073126] do_syscall_64+0xc0/0x840
> [ 371.073130] entry_SYSCALL_64_after_hwframe+0x4b/0x53
> [ 371.073132] RIP: 0033:0x7f1fb3501732
> [ 371.073133] Code: 08 0f 85 a1 38 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
> [ 371.073135] RSP: 002b:00007ffe8e6f0278 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
> [ 371.073136] RAX: ffffffffffffffda RBX: 00007ffe8e6f0300 RCX: 00007f1fb3501732
> [ 371.073137] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000012
> [ 371.073138] RBP: 00007ffe8e6f02a0 R08: 0000000000000000 R09: 0000000000000000
> [ 371.073139] R10: 0000000000000000 R11: 0000000000000246 R12: 00005585ba46eea0
> [ 371.073140] R13: 00007ffe8e6f0360 R14: 00007ffe8e6f0360 R15: 00005585ba458a30
> [ 371.073143] </TASK>
> [ 371.073144] Modules linked in: rfcomm snd_hrtimer xt_addrtype xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 xt_tcpudp nft_compat x_tables nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables overlay cfg80211 bnep snd_hda_codec_intelhdmi snd_hda_codec_hdmi mtd_intel_dg mtd nls_utf8 wmi_bmof mxm_wmi gigabyte_wmi intel_wmi_thunderbolt xe drm_gpuvm drm_gpusvm_helper i2c_algo_bit drm_buddy drm_ttm_helper ttm video drm_suballoc_helper gpu_sched drm_client_lib drm_exec drm_display_helper cec drm_kunit_helpers drm_kms_helper kunit x86_pkg_temp_thermal intel_powerclamp coretemp snd_hda_codec_alc882 snd_hda_codec_realtek_lib snd_hda_codec_generic snd_hda_intel snd_soc_avs snd_soc_hda_codec snd_hda_ext_core snd_hda_codec snd_hwdep snd_hda_core snd_intel_dspcfg snd_soc_core snd_compress ac97_bus snd_pcm snd_seq snd_seq_device snd_timer i2c_i801 btusb i2c_mux i2c_smbus btrtl snd btbcm btmtk btintel bluetooth ecdh_generic rfkill ecc mei_me mei ioatdma dca wmi nfsd drm i2c_dev fuse nfnetlink
> [ 371.073198] CR2: 000001ffffffffff
> [ 371.073199] ---[ end trace 0000000000000000 ]---
>
> Signed-off-by: Maarten Lankhorst <dev@lankhorst.se>
> ---
> .../drm/i915/display/intel_display_driver.c | 28 ++++++++++---------
> 1 file changed, 15 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
> index 23bfecc983e8d..c073f7c1c0805 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_driver.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
> @@ -12,6 +12,7 @@
> #include <drm/display/drm_dp_mst_helper.h>
> #include <drm/drm_atomic_helper.h>
> #include <drm/drm_client_event.h>
> +#include <drm/drm_managed.h>
> #include <drm/drm_mode_config.h>
> #include <drm/drm_privacy_screen_consumer.h>
> #include <drm/drm_print.h>
> @@ -111,7 +112,15 @@ static const struct drm_mode_config_helper_funcs intel_mode_config_funcs = {
> .atomic_commit_setup = drm_dp_mst_atomic_setup_commit,
> };
>
> -static void intel_mode_config_init(struct intel_display *display)
> +static void intel_mode_config_cleanup(struct drm_device *dev, void *arg)
> +{
> + struct intel_display *display = arg;
> +
> + intel_atomic_global_obj_cleanup(display);
> + drm_mode_config_cleanup(display->drm);
> +}
> +
> +static int intel_mode_config_init(struct intel_display *display)
> {
> struct drm_mode_config *mode_config = &display->drm->mode_config;
>
> @@ -148,12 +157,8 @@ static void intel_mode_config_init(struct intel_display *display)
> }
>
> intel_cursor_mode_config_init(display);
> -}
>
> -static void intel_mode_config_cleanup(struct intel_display *display)
> -{
> - intel_atomic_global_obj_cleanup(display);
> - drm_mode_config_cleanup(display->drm);
> + return drmm_add_action_or_reset(display->drm, intel_mode_config_cleanup, display);
> }
>
> static void intel_plane_possible_crtcs_init(struct intel_display *display)
> @@ -255,7 +260,9 @@ int intel_display_driver_probe_noirq(struct intel_display *display)
>
> intel_dmc_init(display);
>
> - intel_mode_config_init(display);
> + ret = intel_mode_config_init(display);
> + if (ret)
> + goto cleanup_wq_unordered;
>
> ret = intel_cdclk_init(display);
> if (ret)
> @@ -456,7 +463,7 @@ int intel_display_driver_probe_nogem(struct intel_display *display)
>
> ret = intel_crtc_init(display);
> if (ret)
> - goto err_mode_config;
> + return ret;
>
> intel_plane_possible_crtcs_init(display);
> intel_dpll_init(display);
> @@ -497,9 +504,6 @@ int intel_display_driver_probe_nogem(struct intel_display *display)
>
> err_hdcp:
> intel_hdcp_component_fini(display);
> -err_mode_config:
> - intel_mode_config_cleanup(display);
> -
> return ret;
> }
>
> @@ -618,8 +622,6 @@ void intel_display_driver_remove_noirq(struct intel_display *display)
>
> intel_hdcp_component_fini(display);
>
> - intel_mode_config_cleanup(display);
> -
I don't much like this piecemeal random reordering of things.
The goal should be to have a handful of well defines display
driver functions that can be called by i915/xe in the appropriate
places.
I'm wondering what are all the other display things
that need to deal with the unbind vs. last close situation...
Do we have actual tests that keep the various kinds of user
interfaces open after unbind and tries to poke them?
> intel_dp_tunnel_mgr_cleanup(display);
>
> intel_overlay_cleanup(display);
> --
> 2.53.0
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] drm/intel/display: Use drmm for intel_mode_config_cleanup
2026-04-10 9:17 ` [PATCH] " Ville Syrjälä
@ 2026-04-10 18:25 ` Maarten Lankhorst
0 siblings, 0 replies; 5+ messages in thread
From: Maarten Lankhorst @ 2026-04-10 18:25 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx, intel-xe
Hey,
Den 2026-04-10 kl. 11:17, skrev Ville Syrjälä:
> On Wed, Apr 08, 2026 at 01:47:56PM +0200, Maarten Lankhorst wrote:
>> When force unbinding the driver on xe, xe unloads cleanly except for
>> framebuffers and user blobs.
>>
>> This happens because intel_mode_config_cleanup is called during driver
>> unbind, but it should be called only after all drm files are closed,
>> during drmm cleanup.
>>
>> Related warnings for framebuffers on the subtest:
>> [ 739.713076] ------------[ cut here ]------------
>> WARN_ON(!list_empty(&dev->mode_config.fb_list))
>> [ 739.713079] WARNING: drivers/gpu/drm/drm_mode_config.c:584 at drm_mode_config_cleanup+0x30b/0x320 [drm], CPU#12: xe_module_load/13145
>> ....
>> [ 739.713328] Call Trace:
>> [ 739.713330] <TASK>
>> [ 739.713335] ? intel_pmdemand_destroy_state+0x11/0x20 [xe]
>> [ 739.713574] ? intel_atomic_global_obj_cleanup+0xe4/0x1a0 [xe]
>> [ 739.713794] intel_display_driver_remove_noirq+0x51/0xb0 [xe]
>> [ 739.714041] xe_display_fini_early+0x33/0x50 [xe]
>> [ 739.714284] devm_action_release+0xf/0x20
>> [ 739.714294] devres_release_all+0xad/0xf0
>> [ 739.714301] device_unbind_cleanup+0x12/0xa0
>> [ 739.714305] device_release_driver_internal+0x1b7/0x210
>> [ 739.714311] device_driver_detach+0x14/0x20
>> [ 739.714315] unbind_store+0xa6/0xb0
>> [ 739.714319] drv_attr_store+0x21/0x30
>> [ 739.714322] sysfs_kf_write+0x48/0x60
>> [ 739.714328] kernfs_fop_write_iter+0x16b/0x240
>> [ 739.714333] vfs_write+0x266/0x520
>> [ 739.714341] ksys_write+0x72/0xe0
>> [ 739.714345] __x64_sys_write+0x19/0x20
>> [ 739.714347] x64_sys_call+0xa15/0xa30
>> [ 739.714355] do_syscall_64+0xd8/0xab0
>> [ 739.714361] entry_SYSCALL_64_after_hwframe+0x4b/0x53
>>
>> and
>>
>> [ 739.714459] ------------[ cut here ]------------
>> [ 739.714461] xe 0000:67:00.0: [drm] drm_WARN_ON(!list_empty(&fb->filp_head))
>> [ 739.714464] WARNING: drivers/gpu/drm/drm_framebuffer.c:833 at drm_framebuffer_free+0x6c/0x90 [drm], CPU#12: xe_module_load/13145
>> [ 739.714715] RIP: 0010:drm_framebuffer_free+0x7a/0x90 [drm]
>> ...
>> [ 739.714869] Call Trace:
>> [ 739.714871] <TASK>
>> [ 739.714876] drm_mode_config_cleanup+0x26a/0x320 [drm]
>> [ 739.714998] ? __drm_printfn_seq_file+0x20/0x20 [drm]
>> [ 739.715115] ? drm_mode_config_cleanup+0x207/0x320 [drm]
>> [ 739.715235] intel_display_driver_remove_noirq+0x51/0xb0 [xe]
>> [ 739.715576] xe_display_fini_early+0x33/0x50 [xe]
>> [ 739.715821] devm_action_release+0xf/0x20
>> [ 739.715828] devres_release_all+0xad/0xf0
>> [ 739.715843] device_unbind_cleanup+0x12/0xa0
>> [ 739.715850] device_release_driver_internal+0x1b7/0x210
>> [ 739.715856] device_driver_detach+0x14/0x20
>> [ 739.715860] unbind_store+0xa6/0xb0
>> [ 739.715865] drv_attr_store+0x21/0x30
>> [ 739.715868] sysfs_kf_write+0x48/0x60
>> [ 739.715873] kernfs_fop_write_iter+0x16b/0x240
>> [ 739.715878] vfs_write+0x266/0x520
>> [ 739.715886] ksys_write+0x72/0xe0
>> [ 739.715890] __x64_sys_write+0x19/0x20
>> [ 739.715893] x64_sys_call+0xa15/0xa30
>> [ 739.715900] do_syscall_64+0xd8/0xab0
>> [ 739.715905] entry_SYSCALL_64_after_hwframe+0x4b/0x53
>>
>> and then finally file close blows up:
>>
>> [ 743.186530] Oops: general protection fault, probably for non-canonical address 0xdead000000000122: 0000 [#1] SMP
>> [ 743.186535] CPU: 3 UID: 1000 PID: 3453 Comm: kwin_wayland Tainted: G W 7.0.0-rc1-valkyria+ #110 PREEMPT_{RT,(lazy)}
>> [ 743.186537] Tainted: [W]=WARN
>> [ 743.186538] Hardware name: Gigabyte Technology Co., Ltd. X299 AORUS Gaming 3/X299 AORUS Gaming 3-CF, BIOS F8n 12/06/2021
>> [ 743.186539] RIP: 0010:drm_framebuffer_cleanup+0x55/0xc0 [drm]
>> [ 743.186588] Code: d8 72 73 0f b6 42 05 ff c3 39 c3 72 e8 49 8d bd 50 07 00 00 31 f6 e8 3a 80 d3 e1 49 8b 44 24 10 49 8d 7c 24 08 49 8b 54 24 08 <48> 3b 38 0f 85 95 7f 02 00 48 3b 7a 08 0f 85 8b 7f 02 00 48 89 42
>> [ 743.186589] RSP: 0018:ffffc900085e3cf8 EFLAGS: 00010202
>> [ 743.186591] RAX: dead000000000122 RBX: 0000000000000001 RCX: ffffffff8217ed03
>> [ 743.186592] RDX: dead000000000100 RSI: 0000000000000000 RDI: ffff88814675ba08
>> [ 743.186593] RBP: ffffc900085e3d10 R08: 0000000000000000 R09: 0000000000000000
>> [ 743.186593] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88814675ba00
>> [ 743.186594] R13: ffff88810d778000 R14: ffff888119f6dca0 R15: ffff88810c660bb0
>> [ 743.186595] FS: 00007ff377d21280(0000) GS:ffff888cec3f8000(0000) knlGS:0000000000000000
>> [ 743.186596] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>> [ 743.186596] CR2: 000055690b55e000 CR3: 0000000113586003 CR4: 00000000003706f0
>> [ 743.186597] Call Trace:
>> [ 743.186598] <TASK>
>> [ 743.186603] intel_user_framebuffer_destroy+0x12/0x90 [xe]
>> [ 743.186722] drm_framebuffer_free+0x3a/0x90 [drm]
>> [ 743.186750] ? trace_hardirqs_on+0x5f/0x120
>> [ 743.186754] drm_mode_object_put+0x51/0x70 [drm]
>> [ 743.186786] drm_fb_release+0x105/0x190 [drm]
>> [ 743.186812] ? rt_mutex_slowunlock+0x3aa/0x410
>> [ 743.186817] ? rt_spin_lock+0xea/0x1b0
>> [ 743.186819] drm_file_free+0x1e0/0x2c0 [drm]
>> [ 743.186843] drm_release_noglobal+0x91/0xf0 [drm]
>> [ 743.186865] __fput+0x100/0x2e0
>> [ 743.186869] fput_close_sync+0x40/0xa0
>> [ 743.186870] __x64_sys_close+0x3e/0x80
>> [ 743.186873] x64_sys_call+0xa07/0xa30
>> [ 743.186879] do_syscall_64+0xd8/0xab0
>> [ 743.186881] entry_SYSCALL_64_after_hwframe+0x4b/0x53
>> [ 743.186882] RIP: 0033:0x7ff37e567732
>> [ 743.186884] Code: 08 0f 85 a1 38 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
>> [ 743.186885] RSP: 002b:00007ffc818169a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
>> [ 743.186886] RAX: ffffffffffffffda RBX: 00007ffc81816a30 RCX: 00007ff37e567732
>> [ 743.186887] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000012
>> [ 743.186888] RBP: 00007ffc818169d0 R08: 0000000000000000 R09: 0000000000000000
>> [ 743.186889] R10: 0000000000000000 R11: 0000000000000246 R12: 000055d60a7996e0
>> [ 743.186889] R13: 00007ffc81816a90 R14: 00007ffc81816a90 R15: 000055d60a782a30
>> [ 743.186892] </TASK>
>> [ 743.186893] Modules linked in: rfcomm snd_hrtimer xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 xt_tcpudp xt_addrtype nft_compat x_tables nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables overlay cfg80211 bnep mtd_intel_dg snd_hda_codec_intelhdmi mtd snd_hda_codec_hdmi nls_utf8 mxm_wmi intel_wmi_thunderbolt gigabyte_wmi wmi_bmof xe drm_gpuvm drm_gpusvm_helper i2c_algo_bit drm_buddy drm_ttm_helper ttm video drm_suballoc_helper gpu_sched drm_client_lib drm_exec drm_display_helper cec drm_kunit_helpers drm_kms_helper kunit x86_pkg_temp_thermal intel_powerclamp coretemp snd_hda_codec_alc882 snd_hda_codec_realtek_lib snd_hda_codec_generic snd_hda_intel snd_soc_avs snd_soc_hda_codec snd_hda_ext_core snd_hda_codec snd_hwdep snd_hda_core snd_intel_dspcfg snd_soc_core snd_compress ac97_bus snd_pcm snd_seq snd_seq_device snd_timer i2c_i801 i2c_mux snd i2c_smbus btusb btrtl btbcm btmtk btintel bluetooth ecdh_generic rfkill ecc mei_me mei ioatdma dca wmi nfsd drm i2c_dev fuse nfnetlink
>> [ 743.186938] ---[ end trace 0000000000000000 ]---
>>
>> And for property blobs:
>>
>> [ 371.072940] BUG: unable to handle page fault for address: 000001ffffffffff
>> [ 371.072944] #PF: supervisor read access in kernel mode
>> [ 371.072945] #PF: error_code(0x0000) - not-present page
>> [ 371.072947] PGD 0 P4D 0
>> [ 371.072950] Oops: Oops: 0000 [#1] SMP
>> [ 371.072953] CPU: 0 UID: 1000 PID: 3693 Comm: kwin_wayland Not tainted 7.0.0-rc1-valkyria+ #111 PREEMPT_{RT,(lazy)}
>> [ 371.072956] Hardware name: Gigabyte Technology Co., Ltd. X299 AORUS Gaming 3/X299 AORUS Gaming 3-CF, BIOS F8n 12/06/2021
>> [ 371.072957] RIP: 0010:drm_property_destroy_user_blobs+0x3b/0x90 [drm]
>> [ 371.073019] Code: 00 00 48 83 ec 10 48 8b 86 30 01 00 00 48 39 c3 74 59 48 89 c2 48 8d 48 c8 48 8b 00 4c 8d 60 c8 eb 04 4c 8d 60 c8 48 8b 71 40 <48> 39 16 0f 85 39 32 01 00 48 3b 50 08 0f 85 2f 32 01 00 48 89 70
>> [ 371.073021] RSP: 0018:ffffc90006a73de8 EFLAGS: 00010293
>> [ 371.073022] RAX: 000001ffffffffff RBX: ffff888118a1a930 RCX: ffff8881b92355c0
>> [ 371.073024] RDX: ffff8881b92355f8 RSI: 000001ffffffffff RDI: ffff888118be4000
>> [ 371.073025] RBP: ffffc90006a73e08 R08: ffff8881009b7300 R09: ffff888cecc5b000
>> [ 371.073026] R10: ffffc90006a73e90 R11: 0000000000000002 R12: 000001ffffffffc7
>> [ 371.073027] R13: ffff888118a1a980 R14: ffff88810b366d20 R15: ffff888118a1a970
>> [ 371.073028] FS: 00007f1faccbb280(0000) GS:ffff888cec2db000(0000) knlGS:0000000000000000
>> [ 371.073029] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>> [ 371.073030] CR2: 000001ffffffffff CR3: 000000010655c001 CR4: 00000000003706f0
>> [ 371.073031] Call Trace:
>> [ 371.073033] <TASK>
>> [ 371.073036] drm_file_free+0x1df/0x2a0 [drm]
>> [ 371.073077] drm_release_noglobal+0x7a/0xe0 [drm]
>> [ 371.073113] __fput+0xe2/0x2b0
>> [ 371.073118] fput_close_sync+0x40/0xa0
>> [ 371.073119] __x64_sys_close+0x3e/0x80
>> [ 371.073122] x64_sys_call+0xa07/0xa30
>> [ 371.073126] do_syscall_64+0xc0/0x840
>> [ 371.073130] entry_SYSCALL_64_after_hwframe+0x4b/0x53
>> [ 371.073132] RIP: 0033:0x7f1fb3501732
>> [ 371.073133] Code: 08 0f 85 a1 38 ff ff 49 89 fb 48 89 f0 48 89 d7 48 89 ce 4c 89 c2 4d 89 ca 4c 8b 44 24 08 4c 8b 4c 24 10 4c 89 5c 24 08 0f 05 <c3> 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 f3 0f 1e fa 55 bf 01 00
>> [ 371.073135] RSP: 002b:00007ffe8e6f0278 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
>> [ 371.073136] RAX: ffffffffffffffda RBX: 00007ffe8e6f0300 RCX: 00007f1fb3501732
>> [ 371.073137] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000012
>> [ 371.073138] RBP: 00007ffe8e6f02a0 R08: 0000000000000000 R09: 0000000000000000
>> [ 371.073139] R10: 0000000000000000 R11: 0000000000000246 R12: 00005585ba46eea0
>> [ 371.073140] R13: 00007ffe8e6f0360 R14: 00007ffe8e6f0360 R15: 00005585ba458a30
>> [ 371.073143] </TASK>
>> [ 371.073144] Modules linked in: rfcomm snd_hrtimer xt_addrtype xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 xt_tcpudp nft_compat x_tables nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nf_tables overlay cfg80211 bnep snd_hda_codec_intelhdmi snd_hda_codec_hdmi mtd_intel_dg mtd nls_utf8 wmi_bmof mxm_wmi gigabyte_wmi intel_wmi_thunderbolt xe drm_gpuvm drm_gpusvm_helper i2c_algo_bit drm_buddy drm_ttm_helper ttm video drm_suballoc_helper gpu_sched drm_client_lib drm_exec drm_display_helper cec drm_kunit_helpers drm_kms_helper kunit x86_pkg_temp_thermal intel_powerclamp coretemp snd_hda_codec_alc882 snd_hda_codec_realtek_lib snd_hda_codec_generic snd_hda_intel snd_soc_avs snd_soc_hda_codec snd_hda_ext_core snd_hda_codec snd_hwdep snd_hda_core snd_intel_dspcfg snd_soc_core snd_compress ac97_bus snd_pcm snd_seq snd_seq_device snd_timer i2c_i801 btusb i2c_mux i2c_smbus btrtl snd btbcm btmtk btintel bluetooth ecdh_generic rfkill ecc mei_me mei ioatdma dca wmi nfsd drm i2c_dev fuse nfnetlink
>> [ 371.073198] CR2: 000001ffffffffff
>> [ 371.073199] ---[ end trace 0000000000000000 ]---
>>
>> Signed-off-by: Maarten Lankhorst <dev@lankhorst.se>
>> ---
>> .../drm/i915/display/intel_display_driver.c | 28 ++++++++++---------
>> 1 file changed, 15 insertions(+), 13 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
>> index 23bfecc983e8d..c073f7c1c0805 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display_driver.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
>> @@ -12,6 +12,7 @@
>> #include <drm/display/drm_dp_mst_helper.h>
>> #include <drm/drm_atomic_helper.h>
>> #include <drm/drm_client_event.h>
>> +#include <drm/drm_managed.h>
>> #include <drm/drm_mode_config.h>
>> #include <drm/drm_privacy_screen_consumer.h>
>> #include <drm/drm_print.h>
>> @@ -111,7 +112,15 @@ static const struct drm_mode_config_helper_funcs intel_mode_config_funcs = {
>> .atomic_commit_setup = drm_dp_mst_atomic_setup_commit,
>> };
>>
>> -static void intel_mode_config_init(struct intel_display *display)
>> +static void intel_mode_config_cleanup(struct drm_device *dev, void *arg)
>> +{
>> + struct intel_display *display = arg;
>> +
>> + intel_atomic_global_obj_cleanup(display);
>> + drm_mode_config_cleanup(display->drm);
>> +}
>> +
>> +static int intel_mode_config_init(struct intel_display *display)
>> {
>> struct drm_mode_config *mode_config = &display->drm->mode_config;
>>
>> @@ -148,12 +157,8 @@ static void intel_mode_config_init(struct intel_display *display)
>> }
>>
>> intel_cursor_mode_config_init(display);
>> -}
>>
>> -static void intel_mode_config_cleanup(struct intel_display *display)
>> -{
>> - intel_atomic_global_obj_cleanup(display);
>> - drm_mode_config_cleanup(display->drm);
>> + return drmm_add_action_or_reset(display->drm, intel_mode_config_cleanup, display);
>> }
>>
>> static void intel_plane_possible_crtcs_init(struct intel_display *display)
>> @@ -255,7 +260,9 @@ int intel_display_driver_probe_noirq(struct intel_display *display)
>>
>> intel_dmc_init(display);
>>
>> - intel_mode_config_init(display);
>> + ret = intel_mode_config_init(display);
>> + if (ret)
>> + goto cleanup_wq_unordered;
>>
>> ret = intel_cdclk_init(display);
>> if (ret)
>> @@ -456,7 +463,7 @@ int intel_display_driver_probe_nogem(struct intel_display *display)
>>
>> ret = intel_crtc_init(display);
>> if (ret)
>> - goto err_mode_config;
>> + return ret;
>>
>> intel_plane_possible_crtcs_init(display);
>> intel_dpll_init(display);
>> @@ -497,9 +504,6 @@ int intel_display_driver_probe_nogem(struct intel_display *display)
>>
>> err_hdcp:
>> intel_hdcp_component_fini(display);
>> -err_mode_config:
>> - intel_mode_config_cleanup(display);
>> -
>> return ret;
>> }
>>
>> @@ -618,8 +622,6 @@ void intel_display_driver_remove_noirq(struct intel_display *display)
>>
>> intel_hdcp_component_fini(display);
>>
>> - intel_mode_config_cleanup(display);
>> -
>
> I don't much like this piecemeal random reordering of things.
> The goal should be to have a handful of well defines display
> driver functions that can be called by i915/xe in the appropriate
> places.
>
> I'm wondering what are all the other display things
> that need to deal with the unbind vs. last close situation...
>
> Do we have actual tests that keep the various kinds of user
> interfaces open after unbind and tries to poke them?
>
>> intel_dp_tunnel_mgr_cleanup(display);
>>
>> intel_overlay_cleanup(display);
>> --
>> 2.53.0
>
I did create one specifically for this test.
https://patchwork.freedesktop.org/patch/706994/?series=162133&rev=2
Kind regards,
~Maarten Lankhorst
^ permalink raw reply [flat|nested] 5+ messages in thread