Add job that runs igt on top of vkms. Acked-by: Maíra Canal <mcanal@xxxxxxxxxx> Acked-by: Helen Koike <helen.koike@xxxxxxxxxxxxx> Signed-off-by: Vignesh Raman <vignesh.raman@xxxxxxxxxxxxx> Acked-by: Jessica Zhang <quic_jesszhan@xxxxxxxxxxx> Tested-by: Jessica Zhang <quic_jesszhan@xxxxxxxxxxx> Acked-by: Maxime Ripard <mripard@xxxxxxxxxx> Signed-off-by: Helen Koike <helen.koike@xxxxxxxxxxxxx> --- MAINTAINERS | 1 + drivers/gpu/drm/ci/gitlab-ci.yml | 1 + drivers/gpu/drm/ci/igt_runner.sh | 2 +- drivers/gpu/drm/ci/image-tags.yml | 4 +- drivers/gpu/drm/ci/test.yml | 24 +++++++++- drivers/gpu/drm/ci/x86_64.config | 1 + drivers/gpu/drm/ci/xfails/vkms-none-fails.txt | 46 +++++++++++++++++++ .../gpu/drm/ci/xfails/vkms-none-flakes.txt | 21 +++++++++ drivers/gpu/drm/ci/xfails/vkms-none-skips.txt | 30 ++++++++++++ 9 files changed, 126 insertions(+), 4 deletions(-) create mode 100644 drivers/gpu/drm/ci/xfails/vkms-none-fails.txt create mode 100644 drivers/gpu/drm/ci/xfails/vkms-none-flakes.txt create mode 100644 drivers/gpu/drm/ci/xfails/vkms-none-skips.txt diff --git a/MAINTAINERS b/MAINTAINERS index c97d79d0b2b4..19ad9375d7cd 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7035,6 +7035,7 @@ L: dri-devel@xxxxxxxxxxxxxxxxxxxxx S: Maintained T: git https://gitlab.freedesktop.org/drm/misc/kernel.git F: Documentation/gpu/vkms.rst +F: drivers/gpu/drm/ci/xfails/vkms* F: drivers/gpu/drm/vkms/ DRM DRIVER FOR VIRTUALBOX VIRTUAL GPU diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml b/drivers/gpu/drm/ci/gitlab-ci.yml index 6cc94747d8d5..6dac7ae98419 100644 --- a/drivers/gpu/drm/ci/gitlab-ci.yml +++ b/drivers/gpu/drm/ci/gitlab-ci.yml @@ -112,6 +112,7 @@ stages: - msm - rockchip - virtio-gpu + - software-driver # YAML anchors for rule conditions # -------------------------------- diff --git a/drivers/gpu/drm/ci/igt_runner.sh b/drivers/gpu/drm/ci/igt_runner.sh index 0fd7d67f91e3..2538f29fcb2c 100755 --- a/drivers/gpu/drm/ci/igt_runner.sh +++ b/drivers/gpu/drm/ci/igt_runner.sh @@ -30,7 +30,7 @@ case "$DRIVER_NAME" in export IGT_FORCE_DRIVER="panfrost" fi ;; - amdgpu|virtio_gpu) + amdgpu|virtio_gpu|vkms) # Cannot use HWCI_KERNEL_MODULES as at that point we don't have the module in /lib mv /install/modules/lib/modules/* /lib/modules/. || true modprobe --first-time $DRIVER_NAME diff --git a/drivers/gpu/drm/ci/image-tags.yml b/drivers/gpu/drm/ci/image-tags.yml index fd1cb6061166..43bd871c2e60 100644 --- a/drivers/gpu/drm/ci/image-tags.yml +++ b/drivers/gpu/drm/ci/image-tags.yml @@ -4,9 +4,9 @@ variables: DEBIAN_BASE_TAG: "${CONTAINER_TAG}" DEBIAN_X86_64_BUILD_IMAGE_PATH: "debian/x86_64_build" - DEBIAN_BUILD_TAG: "2024-04-22-virtio" + DEBIAN_BUILD_TAG: "2024-04-22-vkms" - KERNEL_ROOTFS_TAG: "2024-04-22-virtio" + KERNEL_ROOTFS_TAG: "2024-04-22-vkms" PKG_REPO_REV: "3cc12a2a" DEBIAN_X86_64_TEST_BASE_IMAGE: "debian/x86_64_test-base" diff --git a/drivers/gpu/drm/ci/test.yml b/drivers/gpu/drm/ci/test.yml index 1f8cc17f2ad1..745716920ffc 100644 --- a/drivers/gpu/drm/ci/test.yml +++ b/drivers/gpu/drm/ci/test.yml @@ -333,7 +333,7 @@ meson:g12b: RUNNER_TAG: mesa-ci-x86-64-lava-meson-g12b-a311d-khadas-vim3 virtio_gpu:none: - stage: virtio-gpu + stage: software-driver variables: CROSVM_GALLIUM_DRIVER: llvmpipe DRIVER_NAME: virtio_gpu @@ -354,3 +354,25 @@ virtio_gpu:none: - debian/x86_64_test-gl - testing:x86_64 - igt:x86_64 + +vkms:none: + stage: software-driver + variables: + DRIVER_NAME: vkms + GPU_VERSION: none + extends: + - .test-gl + - .test-rules + tags: + - kvm + script: + - ln -sf $CI_PROJECT_DIR/install /install + - mv install/bzImage /lava-files/bzImage + - mkdir -p /lib/modules + - mkdir -p $CI_PROJECT_DIR/results + - ln -sf $CI_PROJECT_DIR/results /results + - ./install/crosvm-runner.sh ./install/igt_runner.sh + needs: + - debian/x86_64_test-gl + - testing:x86_64 + - igt:x86_64 diff --git a/drivers/gpu/drm/ci/x86_64.config b/drivers/gpu/drm/ci/x86_64.config index 78479f063e8e..66c6f67dfdd6 100644 --- a/drivers/gpu/drm/ci/x86_64.config +++ b/drivers/gpu/drm/ci/x86_64.config @@ -24,6 +24,7 @@ CONFIG_DRM=y CONFIG_DRM_PANEL_SIMPLE=y CONFIG_PWM_CROS_EC=y CONFIG_BACKLIGHT_PWM=y +CONFIG_DRM_VKMS=m # Strip out some stuff we don't need for graphics testing, to reduce # the build. diff --git a/drivers/gpu/drm/ci/xfails/vkms-none-fails.txt b/drivers/gpu/drm/ci/xfails/vkms-none-fails.txt new file mode 100644 index 000000000000..c015e4a96810 --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/vkms-none-fails.txt @@ -0,0 +1,46 @@ +core_hotunplug@hotrebind,Fail +core_hotunplug@hotrebind-lateclose,Fail +core_hotunplug@hotreplug,Fail +core_hotunplug@hotreplug-lateclose,Fail +core_hotunplug@hotunbind-rebind,Fail +core_hotunplug@hotunplug-rescan,Fail +core_hotunplug@unbind-rebind,Fail +core_hotunplug@unplug-rescan,Fail +device_reset@cold-reset-bound,Fail +device_reset@reset-bound,Fail +device_reset@unbind-cold-reset-rebind,Fail +device_reset@unbind-reset-rebind,Fail +dumb_buffer@invalid-bpp,Fail +kms_content_protection@atomic,Crash +kms_content_protection@atomic-dpms,Crash +kms_content_protection@content-type-change,Crash +kms_content_protection@lic-type-0,Crash +kms_content_protection@lic-type-1,Crash +kms_content_protection@srm,Crash +kms_content_protection@type1,Crash +kms_content_protection@uevent,Crash +kms_cursor_legacy@basic-flip-before-cursor-atomic,Fail +kms_cursor_legacy@basic-flip-before-cursor-legacy,Fail +kms_cursor_legacy@cursor-vs-flip-atomic,Fail +kms_cursor_legacy@cursor-vs-flip-legacy,Fail +kms_cursor_legacy@cursor-vs-flip-toggle,Fail +kms_cursor_legacy@cursor-vs-flip-varying-size,Fail +kms_cursor_legacy@flip-vs-cursor-atomic,Fail +kms_cursor_legacy@flip-vs-cursor-crc-atomic,Fail +kms_cursor_legacy@flip-vs-cursor-crc-legacy,Fail +kms_cursor_legacy@flip-vs-cursor-legacy,Fail +kms_flip@basic-flip-vs-wf_vblank,Fail +kms_flip@flip-vs-absolute-wf_vblank,Fail +kms_flip@flip-vs-blocking-wf-vblank,Fail +kms_flip@flip-vs-modeset-vs-hang,Fail +kms_flip@flip-vs-panning-vs-hang,Fail +kms_flip@flip-vs-wf_vblank-interruptible,Fail +kms_lease@lease-uevent,Fail +kms_writeback@writeback-check-output,Fail +kms_writeback@writeback-check-output-XRGB2101010,Fail +kms_writeback@writeback-fb-id,Fail +kms_writeback@writeback-fb-id-XRGB2101010,Fail +kms_writeback@writeback-invalid-parameters,Fail +kms_writeback@writeback-pixel-formats,Fail +perf@i915-ref-count,Fail +tools_test@tools_test,Fail diff --git a/drivers/gpu/drm/ci/xfails/vkms-none-flakes.txt b/drivers/gpu/drm/ci/xfails/vkms-none-flakes.txt new file mode 100644 index 000000000000..ab61e9a62d38 --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/vkms-none-flakes.txt @@ -0,0 +1,21 @@ +# Board Name: vkms +# Bug Report: https://lore.kernel.org/dri-devel/005da8f1-8050-bffd-653c-2a87ae6376f7@xxxxxxxxxxxxx/T/#u +# Failure Rate: 50 +# IGT Version: 1.28-g7d1841317 +# Linux Version: 6.9.0-rc4 +# Reported by deqp-runner +kms_flip@blocking-wf_vblank +kms_flip@flip-vs-expired-vblank +kms_flip@plain-flip-fb-recreate +kms_flip@plain-flip-fb-recreate-interruptible +kms_flip@plain-flip-ts-check +kms_flip@plain-flip-ts-check-interruptible +kms_pipe_crc_basic@nonblocking-crc +kms_pipe_crc_basic@nonblocking-crc-frame-sequence +kms_flip@flip-vs-absolute-wf_vblank + +# The below test shows inconsistency across multiple runs, giving +# results of Pass and Fail. +kms_flip@basic-flip-vs-wf_vblank +kms_flip@flip-vs-blocking-wf-vblank +kms_flip@flip-vs-wf_vblank-interruptible diff --git a/drivers/gpu/drm/ci/xfails/vkms-none-skips.txt b/drivers/gpu/drm/ci/xfails/vkms-none-skips.txt new file mode 100644 index 000000000000..4c351e332fc7 --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/vkms-none-skips.txt @@ -0,0 +1,30 @@ +# Hits: +# rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: +# rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P749/1:b..l +kms_prop_blob@invalid-get-prop + +# keeps printing vkms_vblank_simulate: vblank timer overrun and never ends +kms_invalid_mode@int-max-clock + +# Suspend seems to be broken +.*suspend.* + +# Hangs machine and timeout occurs +kms_flip@flip-vs-absolute-wf_vblank-interruptible +kms_invalid_mode@zero-hdisplay +kms_invalid_mode@bad-vtotal +kms_cursor_crc.* + +# Skip driver specific tests +^amdgpu.* +msm_.* +nouveau_.* +panfrost_.* +^v3d.* +^vc4.* +^vmwgfx* + +# Skip intel specific tests +gem_.* +i915_.* +xe_.* -- 2.40.1