Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/ci: add tests on vkms

Add job that runs igt on top of vkms.

Acked-by: Maíra Canal <mcanal@igalia.com>
Acked-by: Helen Koike <helen.koike@collabora.com>
Signed-off-by: Vignesh Raman <vignesh.raman@collabora.com>
Acked-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Tested-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Acked-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Helen Koike <helen.koike@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240614161835.55553-1-vignesh.raman@collabora.com

authored by

Vignesh Raman and committed by
Helen Koike
d2e02153 af197bef

+275 -6
+1
MAINTAINERS
··· 7197 7197 S: Maintained 7198 7198 T: git https://gitlab.freedesktop.org/drm/misc/kernel.git 7199 7199 F: Documentation/gpu/vkms.rst 7200 + F: drivers/gpu/drm/ci/xfails/vkms* 7200 7201 F: drivers/gpu/drm/vkms/ 7201 7202 7202 7203 DRM DRIVER FOR VIRTUALBOX VIRTUAL GPU
-1
drivers/gpu/drm/ci/build.sh
··· 160 160 161 161 mkdir -p artifacts/install/lib 162 162 mv install/* artifacts/install/. 163 - rm -rf artifacts/install/modules 164 163 ln -s common artifacts/install/ci-common 165 164 cp .config artifacts/${CI_JOB_NAME}_config 166 165
+1
drivers/gpu/drm/ci/gitlab-ci.yml
··· 123 123 - msm 124 124 - rockchip 125 125 - virtio-gpu 126 + - software-driver 126 127 127 128 # YAML anchors for rule conditions 128 129 # --------------------------------
+3 -3
drivers/gpu/drm/ci/igt_runner.sh
··· 30 30 export IGT_FORCE_DRIVER="panfrost" 31 31 fi 32 32 ;; 33 - amdgpu) 33 + amdgpu|vkms) 34 34 # Cannot use HWCI_KERNEL_MODULES as at that point we don't have the module in /lib 35 - mv /install/modules/lib/modules/* /lib/modules/. 36 - modprobe amdgpu 35 + mv /install/modules/lib/modules/* /lib/modules/. || true 36 + modprobe --first-time $DRIVER_NAME 37 37 ;; 38 38 esac 39 39
+1 -1
drivers/gpu/drm/ci/image-tags.yml
··· 4 4 DEBIAN_BASE_TAG: "${CONTAINER_TAG}" 5 5 6 6 DEBIAN_X86_64_BUILD_IMAGE_PATH: "debian/x86_64_build" 7 - DEBIAN_BUILD_TAG: "2023-10-08-config" 7 + DEBIAN_BUILD_TAG: "2024-06-10-vkms" 8 8 9 9 KERNEL_ROOTFS_TAG: "2023-10-06-amd" 10 10
+23 -1
drivers/gpu/drm/ci/test.yml
··· 338 338 RUNNER_TAG: mesa-ci-x86-64-lava-meson-g12b-a311d-khadas-vim3 339 339 340 340 virtio_gpu:none: 341 - stage: virtio-gpu 341 + stage: software-driver 342 342 variables: 343 343 CROSVM_GALLIUM_DRIVER: llvmpipe 344 344 DRIVER_NAME: virtio_gpu ··· 354 354 - mkdir -p $CI_PROJECT_DIR/results 355 355 - ln -sf $CI_PROJECT_DIR/results /results 356 356 - install/crosvm-runner.sh install/igt_runner.sh 357 + needs: 358 + - debian/x86_64_test-gl 359 + - testing:x86_64 360 + - igt:x86_64 361 + 362 + vkms:none: 363 + stage: software-driver 364 + variables: 365 + DRIVER_NAME: vkms 366 + GPU_VERSION: none 367 + extends: 368 + - .test-gl 369 + - .test-rules 370 + tags: 371 + - kvm 372 + script: 373 + - ln -sf $CI_PROJECT_DIR/install /install 374 + - mv install/bzImage /lava-files/bzImage 375 + - mkdir -p /lib/modules 376 + - mkdir -p $CI_PROJECT_DIR/results 377 + - ln -sf $CI_PROJECT_DIR/results /results 378 + - ./install/crosvm-runner.sh ./install/igt_runner.sh 357 379 needs: 358 380 - debian/x86_64_test-gl 359 381 - testing:x86_64
+1
drivers/gpu/drm/ci/x86_64.config
··· 24 24 CONFIG_DRM_PANEL_SIMPLE=y 25 25 CONFIG_PWM_CROS_EC=y 26 26 CONFIG_BACKLIGHT_PWM=y 27 + CONFIG_DRM_VKMS=m 27 28 28 29 # Strip out some stuff we don't need for graphics testing, to reduce 29 30 # the build.
+57
drivers/gpu/drm/ci/xfails/vkms-none-fails.txt
··· 1 + core_hotunplug@hotrebind,Fail 2 + core_hotunplug@hotrebind-lateclose,Fail 3 + core_hotunplug@hotreplug,Fail 4 + core_hotunplug@hotreplug-lateclose,Fail 5 + core_hotunplug@hotunbind-rebind,Fail 6 + core_hotunplug@hotunplug-rescan,Fail 7 + core_hotunplug@unbind-rebind,Fail 8 + core_hotunplug@unplug-rescan,Fail 9 + device_reset@cold-reset-bound,Fail 10 + device_reset@reset-bound,Fail 11 + device_reset@unbind-cold-reset-rebind,Fail 12 + device_reset@unbind-reset-rebind,Fail 13 + dumb_buffer@invalid-bpp,Fail 14 + kms_content_protection@atomic,Crash 15 + kms_content_protection@atomic-dpms,Crash 16 + kms_content_protection@content-type-change,Crash 17 + kms_content_protection@lic-type-0,Crash 18 + kms_content_protection@lic-type-1,Crash 19 + kms_content_protection@srm,Crash 20 + kms_content_protection@type1,Crash 21 + kms_content_protection@uevent,Crash 22 + kms_cursor_crc@cursor-rapid-movement-128x128,Fail 23 + kms_cursor_crc@cursor-rapid-movement-128x42,Fail 24 + kms_cursor_crc@cursor-rapid-movement-256x256,Fail 25 + kms_cursor_crc@cursor-rapid-movement-256x85,Fail 26 + kms_cursor_crc@cursor-rapid-movement-32x10,Fail 27 + kms_cursor_crc@cursor-rapid-movement-32x32,Fail 28 + kms_cursor_crc@cursor-rapid-movement-512x170,Fail 29 + kms_cursor_crc@cursor-rapid-movement-512x512,Fail 30 + kms_cursor_crc@cursor-rapid-movement-64x21,Fail 31 + kms_cursor_crc@cursor-rapid-movement-64x64,Fail 32 + kms_cursor_legacy@basic-flip-before-cursor-atomic,Fail 33 + kms_cursor_legacy@basic-flip-before-cursor-legacy,Fail 34 + kms_cursor_legacy@cursor-vs-flip-atomic,Fail 35 + kms_cursor_legacy@cursor-vs-flip-legacy,Fail 36 + kms_cursor_legacy@cursor-vs-flip-toggle,Fail 37 + kms_cursor_legacy@cursor-vs-flip-varying-size,Fail 38 + kms_cursor_legacy@flip-vs-cursor-atomic,Fail 39 + kms_cursor_legacy@flip-vs-cursor-crc-atomic,Fail 40 + kms_cursor_legacy@flip-vs-cursor-crc-legacy,Fail 41 + kms_cursor_legacy@flip-vs-cursor-legacy,Fail 42 + kms_flip@flip-vs-modeset-vs-hang,Fail 43 + kms_flip@flip-vs-panning-vs-hang,Fail 44 + kms_flip@flip-vs-suspend,Timeout 45 + kms_flip@flip-vs-suspend-interruptible,Timeout 46 + kms_flip@plain-flip-fb-recreate,Fail 47 + kms_lease@lease-uevent,Fail 48 + kms_pipe_crc_basic@nonblocking-crc,Fail 49 + kms_pipe_crc_basic@nonblocking-crc-frame-sequence,Fail 50 + kms_writeback@writeback-check-output,Fail 51 + kms_writeback@writeback-check-output-XRGB2101010,Fail 52 + kms_writeback@writeback-fb-id,Fail 53 + kms_writeback@writeback-fb-id-XRGB2101010,Fail 54 + kms_writeback@writeback-invalid-parameters,Fail 55 + kms_writeback@writeback-pixel-formats,Fail 56 + perf@i915-ref-count,Fail 57 + tools_test@tools_test,Fail
+69
drivers/gpu/drm/ci/xfails/vkms-none-flakes.txt
··· 1 + # Board Name: vkms 2 + # Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u 3 + # Failure Rate: 50 4 + # IGT Version: 1.28-g0df7b9b97 5 + # Linux Version: 6.9.0-rc7 6 + kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic 7 + 8 + # Board Name: vkms 9 + # Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u 10 + # Failure Rate: 50 11 + # IGT Version: 1.28-g0df7b9b97 12 + # Linux Version: 6.9.0-rc7 13 + kms_flip@basic-flip-vs-wf_vblank 14 + 15 + # Board Name: vkms 16 + # Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u 17 + # Failure Rate: 50 18 + # IGT Version: 1.28-g0df7b9b97 19 + # Linux Version: 6.9.0-rc7 20 + kms_flip@flip-vs-expired-vblank-interruptible 21 + 22 + # Board Name: vkms 23 + # Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u 24 + # Failure Rate: 50 25 + # IGT Version: 1.28-g0df7b9b97 26 + # Linux Version: 6.9.0-rc7 27 + kms_flip@flip-vs-wf_vblank-interruptible 28 + 29 + # Board Name: vkms 30 + # Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u 31 + # Failure Rate: 50 32 + # IGT Version: 1.28-g0df7b9b97 33 + # Linux Version: 6.9.0-rc7 34 + kms_flip@plain-flip-fb-recreate-interruptible 35 + 36 + # Board Name: vkms 37 + # Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u 38 + # Failure Rate: 50 39 + # IGT Version: 1.28-g0df7b9b97 40 + # Linux Version: 6.9.0-rc7 41 + kms_flip@plain-flip-ts-check 42 + 43 + # Board Name: vkms 44 + # Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u 45 + # Failure Rate: 50 46 + # IGT Version: 1.28-g0df7b9b97 47 + # Linux Version: 6.9.0-rc7 48 + kms_flip@plain-flip-ts-check-interruptible 49 + 50 + # Board Name: vkms 51 + # Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u 52 + # Failure Rate: 50 53 + # IGT Version: 1.28-g0df7b9b97 54 + # Linux Version: 6.9.0-rc7 55 + kms_flip@flip-vs-absolute-wf_vblank 56 + 57 + # Board Name: vkms 58 + # Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u 59 + # Failure Rate: 50 60 + # IGT Version: 1.28-g0df7b9b97 61 + # Linux Version: 6.9.0-rc7 62 + kms_flip@flip-vs-absolute-wf_vblank-interruptible 63 + 64 + # Board Name: vkms 65 + # Bug Report: https://lore.kernel.org/dri-devel/61ed26af-062c-443c-9df2-d1ee319f3fb0@collabora.com/T/#u 66 + # Failure Rate: 50 67 + # IGT Version: 1.28-g0df7b9b97 68 + # Linux Version: 6.9.0-rc7 69 + kms_flip@flip-vs-blocking-wf-vblank
+119
drivers/gpu/drm/ci/xfails/vkms-none-skips.txt
··· 1 + # keeps printing vkms_vblank_simulate: vblank timer overrun and never ends 2 + kms_invalid_mode@int-max-clock 3 + 4 + # Kernel panic 5 + kms_cursor_crc@cursor-rapid-movement-32x10 6 + # Oops: 0000 [#1] PREEMPT SMP NOPTI 7 + # CPU: 0 PID: 2635 Comm: kworker/u8:13 Not tainted 6.9.0-rc7-g40935263a1fd #1 8 + # Hardware name: ChromiumOS crosvm, BIOS 0 9 + # Workqueue: vkms_composer vkms_composer_worker [vkms] 10 + # RIP: 0010:compose_active_planes+0x1c7/0x4e0 [vkms] 11 + # Code: c9 0f 84 6a 01 00 00 8b 42 30 2b 42 28 41 39 c5 0f 8c 6f 01 00 00 49 83 c7 01 49 39 df 74 3b 4b 8b 34 fc 48 8b 96 48 01 00 00 <8b> 42 78 89 c1 83 e1 0a a8 20 74 b1 45 89 f5 41 f7 d5 44 03 6a 34 12 + # RSP: 0018:ffffbb4700c17d58 EFLAGS: 00010246 13 + # RAX: 0000000000000400 RBX: 0000000000000002 RCX: 0000000000000002 14 + # RDX: 0000000000000000 RSI: ffffa2ad0788c000 RDI: 00000000fff479a8 15 + # RBP: 0000000000000004 R08: 0000000000000000 R09: 0000000000000000 16 + # R10: ffffa2ad0bb14000 R11: 0000000000000000 R12: ffffa2ad03e21700 17 + # R13: 0000000000000003 R14: 0000000000000004 R15: 0000000000000000 18 + # FS: 0000000000000000(0000) GS:ffffa2ad2bc00000(0000) knlGS:0000000000000000 19 + # CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 20 + # CR2: 0000000000000078 CR3: 000000010bd30000 CR4: 0000000000350ef0 21 + # Call Trace: 22 + # <TASK> 23 + # ? __die+0x1e/0x60 24 + # ? page_fault_oops+0x17b/0x490 25 + # ? exc_page_fault+0x6d/0x230 26 + # ? asm_exc_page_fault+0x26/0x30 27 + # ? compose_active_planes+0x1c7/0x4e0 [vkms] 28 + # ? compose_active_planes+0x2a3/0x4e0 [vkms] 29 + # ? srso_return_thunk+0x5/0x5f 30 + # vkms_composer_worker+0x205/0x240 [vkms] 31 + # process_one_work+0x1f4/0x6b0 32 + # ? lock_is_held_type+0x9e/0x110 33 + # worker_thread+0x17e/0x350 34 + # ? __pfx_worker_thread+0x10/0x10 35 + # kthread+0xce/0x100 36 + # ? __pfx_kthread+0x10/0x10 37 + # ret_from_fork+0x2f/0x50 38 + # ? __pfx_kthread+0x10/0x10 39 + # ret_from_fork_asm+0x1a/0x30 40 + # </TASK> 41 + # Modules linked in: vkms 42 + # CR2: 0000000000000078 43 + # ---[ end trace 0000000000000000 ]--- 44 + # RIP: 0010:compose_active_planes+0x1c7/0x4e0 [vkms] 45 + # Code: c9 0f 84 6a 01 00 00 8b 42 30 2b 42 28 41 39 c5 0f 8c 6f 01 00 00 49 83 c7 01 49 39 df 74 3b 4b 8b 34 fc 48 8b 96 48 01 00 00 <8b> 42 78 89 c1 83 e1 0a a8 20 74 b1 45 89 f5 41 f7 d5 44 03 6a 34 46 + # RSP: 0018:ffffbb4700c17d58 EFLAGS: 00010246 47 + # RAX: 0000000000000400 RBX: 0000000000000002 RCX: 0000000000000002 48 + # RDX: 0000000000000000 RSI: ffffa2ad0788c000 RDI: 00000000fff479a8 49 + # RBP: 0000000000000004 R08: 0000000000000000 R09: 0000000000000000 50 + # R10: ffffa2ad0bb14000 R11: 0000000000000000 R12: ffffa2ad03e21700 51 + # R13: 0000000000000003 R14: 0000000000000004 R15: 0000000000000000 52 + # FS: 0000000000000000(0000) GS:ffffa2ad2bc00000(0000) knlGS:0000000000000000 53 + # CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 54 + 55 + kms_cursor_crc@cursor-rapid-movement-256x85 56 + # [drm:drm_crtc_add_crc_entry] *ERROR* Overflow of CRC buffer, userspace reads too slow. 57 + # Oops: 0000 [#1] PREEMPT SMP NOPTI 58 + # CPU: 1 PID: 10 Comm: kworker/u8:0 Not tainted 6.9.0-rc7-g646381cde463 #1 59 + # Hardware name: ChromiumOS crosvm, BIOS 0 60 + # Workqueue: vkms_composer vkms_composer_worker [vkms] 61 + # RIP: 0010:compose_active_planes+0x1c7/0x4e0 [vkms] 62 + # Code: c9 0f 84 6a 01 00 00 8b 42 30 2b 42 28 41 39 c5 0f 8c 6f 01 00 00 49 83 c7 01 49 39 df 74 3b 4b 8b 34 fc 48 8b 96 48 01 00 00 <8b> 42 78 89 c1 83 e1 0a a8 20 74 b1 45 89 f5 41 f7 d5 44 03 6a 34 63 + # RSP: 0018:ffffa7e980057d58 EFLAGS: 00010246 64 + # RAX: 0000000000000400 RBX: 0000000000000002 RCX: 0000000000000002 65 + # RDX: 0000000000000000 RSI: ffff977987aa5c00 RDI: 000000001b43a85f 66 + # RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 67 + # R10: ffff977981bf0000 R11: 0000000000000000 R12: ffff977989622590 68 + # R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000000 69 + # FS: 0000000000000000(0000) GS:ffff9779abd00000(0000) knlGS:0000000000000000 70 + # CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 71 + # CR2: 0000000000000078 CR3: 0000000109b38000 CR4: 0000000000350ef0 72 + # Call Trace: 73 + # <TASK> 74 + # ? __die+0x1e/0x60 75 + # ? page_fault_oops+0x17b/0x490 76 + # ? exc_page_fault+0x6d/0x230 77 + # ? asm_exc_page_fault+0x26/0x30 78 + # ? compose_active_planes+0x1c7/0x4e0 [vkms] 79 + # ? compose_active_planes+0x2a3/0x4e0 [vkms] 80 + # ? srso_return_thunk+0x5/0x5f 81 + # vkms_composer_worker+0x205/0x240 [vkms] 82 + # process_one_work+0x1f4/0x6b0 83 + # ? lock_is_held_type+0x9e/0x110 84 + # worker_thread+0x17e/0x350 85 + # ? __pfx_worker_thread+0x10/0x10 86 + # kthread+0xce/0x100 87 + # ? __pfx_kthread+0x10/0x10 88 + # ret_from_fork+0x2f/0x50 89 + # ? __pfx_kthread+0x10/0x10 90 + # ret_from_fork_asm+0x1a/0x30 91 + # </TASK> 92 + # Modules linked in: vkms 93 + # CR2: 0000000000000078 94 + # ---[ end trace 0000000000000000 ]--- 95 + # RIP: 0010:compose_active_planes+0x1c7/0x4e0 [vkms] 96 + # Code: c9 0f 84 6a 01 00 00 8b 42 30 2b 42 28 41 39 c5 0f 8c 6f 01 00 00 49 83 c7 01 49 39 df 74 3b 4b 8b 34 fc 48 8b 96 48 01 00 00 <8b> 42 78 89 c1 83 e1 0a a8 20 74 b1 45 89 f5 41 f7 d5 44 03 6a 34 97 + # RSP: 0018:ffffa7e980057d58 EFLAGS: 00010246 98 + # RAX: 0000000000000400 RBX: 0000000000000002 RCX: 0000000000000002 99 + # RDX: 0000000000000000 RSI: ffff977987aa5c00 RDI: 000000001b43a85f 100 + # RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000000000 101 + # R10: ffff977981bf0000 R11: 0000000000000000 R12: ffff977989622590 102 + # R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000000000 103 + # FS: 0000000000000000(0000) GS:ffff9779abd00000(0000) knlGS:0000000000000000 104 + # CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 105 + # CR2: 0000000000000078 CR3: 0000000109b38000 CR4: 0000000000350ef0 106 + 107 + # Skip driver specific tests 108 + ^amdgpu.* 109 + msm_.* 110 + nouveau_.* 111 + panfrost_.* 112 + ^v3d.* 113 + ^vc4.* 114 + ^vmwgfx* 115 + 116 + # Skip intel specific tests 117 + gem_.* 118 + i915_.* 119 + xe_.*