[PATCH v6 7/8] drm/ci: rockchip: add tests for rockchip display driver

Vignesh Raman vignesh.raman at collabora.com
Tue Apr 9 01:13:28 PDT 2024


For rockchip rk3288 and rk3399, the display driver is rockchip
and gpu driver is panfrost. Currently, in drm-ci for rockchip
rk3288 and rk3399, only the gpu driver is tested. Refactor
the existing rockchip jobs to test both display and gpu driver
and update xfails.

Since the correct driver name is passed from the job to test gpu
and display driver, remove the check to set IGT_FORCE_DRIVER
based on driver name for rockchip jobs.

Skip kms tests for panfrost driver since it is not a kms driver and
skip driver-specific tests.

Signed-off-by: Vignesh Raman <vignesh.raman at collabora.com>
---

v2:
  - Refactor the patch to rename job to indicate display driver testing,
    rename the existing xfail files.

v3:
  - Add the job name in GPU_VERSION and use it for xfail file names
    instead of using DRIVER_NAME. Also update xfails.

v4:
  - Remove the display suffix in job and rename xfails accordingly.
    Remove the change adding job name in GPU_VERSION.

v5:
  - Add rockchip-display job and skip driver-specfic tests.

v6:
  - Squash commits for display and gpu driver testing. Reword the commit message.

---
 drivers/gpu/drm/ci/igt_runner.sh              |  3 --
 drivers/gpu/drm/ci/test.yml                   | 48 ++++++++++++++-----
 .../drm/ci/xfails/panfrost-rk3288-fails.txt   |  1 +
 .../drm/ci/xfails/panfrost-rk3288-skips.txt   |  8 ++++
 .../drm/ci/xfails/panfrost-rk3399-fails.txt   |  1 +
 .../drm/ci/xfails/panfrost-rk3399-skips.txt   |  8 ++++
 .../drm/ci/xfails/rockchip-rk3288-fails.txt   | 35 --------------
 .../drm/ci/xfails/rockchip-rk3288-flakes.txt  | 21 ++++++++
 .../drm/ci/xfails/rockchip-rk3288-skips.txt   |  7 +++
 .../drm/ci/xfails/rockchip-rk3399-fails.txt   | 30 ++----------
 .../drm/ci/xfails/rockchip-rk3399-flakes.txt  | 28 +++++++++--
 .../drm/ci/xfails/rockchip-rk3399-skips.txt   |  5 ++
 12 files changed, 115 insertions(+), 80 deletions(-)
 create mode 100644 drivers/gpu/drm/ci/xfails/panfrost-rk3288-fails.txt
 create mode 100644 drivers/gpu/drm/ci/xfails/panfrost-rk3288-skips.txt
 create mode 100644 drivers/gpu/drm/ci/xfails/panfrost-rk3399-fails.txt
 create mode 100644 drivers/gpu/drm/ci/xfails/panfrost-rk3399-skips.txt
 create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3288-flakes.txt

diff --git a/drivers/gpu/drm/ci/igt_runner.sh b/drivers/gpu/drm/ci/igt_runner.sh
index 1762b8870948..ce6e22369d4d 100755
--- a/drivers/gpu/drm/ci/igt_runner.sh
+++ b/drivers/gpu/drm/ci/igt_runner.sh
@@ -20,9 +20,6 @@ cat /sys/kernel/debug/dri/*/state
 set -e
 
 case "$DRIVER_NAME" in
-    rockchip)
-        export IGT_FORCE_DRIVER="panfrost"
-        ;;
     amdgpu)
         # Cannot use HWCI_KERNEL_MODULES as at that point we don't have the module in /lib
         mv /install/modules/lib/modules/* /lib/modules/.
diff --git a/drivers/gpu/drm/ci/test.yml b/drivers/gpu/drm/ci/test.yml
index a453876509e9..02d6779c456d 100644
--- a/drivers/gpu/drm/ci/test.yml
+++ b/drivers/gpu/drm/ci/test.yml
@@ -155,33 +155,57 @@ msm:sdm845:
   script:
     - ./install/bare-metal/cros-servo.sh
 
-rockchip:rk3288:
-  extends:
-    - .lava-igt:arm32
+.rockchip-device:
+  variables:
+    DTB: ${DEVICE_TYPE}
+    BOOT_METHOD: depthcharge
+
+.rockchip-display:
   stage: rockchip
   variables:
     DRIVER_NAME: rockchip
+
+.rk3288:
+  extends:
+    - .lava-igt:arm32
+    - .rockchip-device
+  variables:
     DEVICE_TYPE: rk3288-veyron-jaq
-    DTB: ${DEVICE_TYPE}
-    BOOT_METHOD: depthcharge
-    KERNEL_IMAGE_TYPE: "zimage"
     GPU_VERSION: rk3288
+    KERNEL_IMAGE_TYPE: "zimage"
     RUNNER_TAG: mesa-ci-x86-64-lava-rk3288-veyron-jaq
 
-rockchip:rk3399:
+.rk3399:
   extends:
     - .lava-igt:arm64
-  stage: rockchip
+    - .rockchip-device
   parallel: 2
   variables:
-    DRIVER_NAME: rockchip
     DEVICE_TYPE: rk3399-gru-kevin
-    DTB: ${DEVICE_TYPE}
-    BOOT_METHOD: depthcharge
-    KERNEL_IMAGE_TYPE: ""
     GPU_VERSION: rk3399
+    KERNEL_IMAGE_TYPE: ""
     RUNNER_TAG: mesa-ci-x86-64-lava-rk3399-gru-kevin
 
+rockchip:rk3288:
+  extends:
+    - .rk3288
+    - .rockchip-display
+
+panfrost:rk3288:
+  extends:
+    - .rk3288
+    - .panfrost-gpu
+
+rockchip:rk3399:
+  extends:
+    - .rk3399
+    - .rockchip-display
+
+panfrost:rk3399:
+  extends:
+    - .rk3399
+    - .panfrost-gpu
+
 .i915:
   extends:
     - .lava-igt:x86_64
diff --git a/drivers/gpu/drm/ci/xfails/panfrost-rk3288-fails.txt b/drivers/gpu/drm/ci/xfails/panfrost-rk3288-fails.txt
new file mode 100644
index 000000000000..abd35a8ef6f4
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/panfrost-rk3288-fails.txt
@@ -0,0 +1 @@
+panfrost_prime at gem-prime-import,Crash
diff --git a/drivers/gpu/drm/ci/xfails/panfrost-rk3288-skips.txt b/drivers/gpu/drm/ci/xfails/panfrost-rk3288-skips.txt
new file mode 100644
index 000000000000..41a846a59644
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/panfrost-rk3288-skips.txt
@@ -0,0 +1,8 @@
+# Panfrost is not a KMS driver, so skip the KMS tests
+kms_.*
+
+# Skip driver specific tests
+msm_.*
+^amdgpu.*
+v3d_.*
+vc4_.*
diff --git a/drivers/gpu/drm/ci/xfails/panfrost-rk3399-fails.txt b/drivers/gpu/drm/ci/xfails/panfrost-rk3399-fails.txt
new file mode 100644
index 000000000000..6f5e760d5ec0
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/panfrost-rk3399-fails.txt
@@ -0,0 +1 @@
+panfrost_prime at gem-prime-import,Fail
diff --git a/drivers/gpu/drm/ci/xfails/panfrost-rk3399-skips.txt b/drivers/gpu/drm/ci/xfails/panfrost-rk3399-skips.txt
new file mode 100644
index 000000000000..41a846a59644
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/panfrost-rk3399-skips.txt
@@ -0,0 +1,8 @@
+# Panfrost is not a KMS driver, so skip the KMS tests
+kms_.*
+
+# Skip driver specific tests
+msm_.*
+^amdgpu.*
+v3d_.*
+vc4_.*
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt
index 282817a22cf8..80c23ca3d79d 100644
--- a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt
+++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt
@@ -1,55 +1,20 @@
 kms_3d,Crash
 kms_bw at linear-tiling-2-displays-1920x1080p,Fail
 kms_bw at linear-tiling-2-displays-2560x1440p,Fail
-kms_bw at linear-tiling-2-displays-3840x2160p,Fail
 kms_bw at linear-tiling-3-displays-1920x1080p,Fail
-kms_bw at linear-tiling-3-displays-2560x1440p,Fail
-kms_bw at linear-tiling-3-displays-3840x2160p,Fail
 kms_flip at flip-vs-modeset-vs-hang,Crash
 kms_flip at flip-vs-panning-vs-hang,Crash
-kms_force_connector_basic at force-load-detect,Fail
 kms_invalid_mode at int-max-clock,Crash
 kms_pipe_crc_basic at compare-crc-sanitycheck-nv12,Crash
 kms_pipe_crc_basic at nonblocking-crc-frame-sequence,Crash
 kms_pipe_crc_basic at read-crc-frame-sequence,Crash
 kms_plane at pixel-format,Crash
 kms_plane at pixel-format-source-clamping,Crash
-kms_plane at plane-position-hole,Crash
-kms_plane at plane-position-hole-dpms,Crash
 kms_plane_cursor at overlay,Crash
-kms_plane_cursor at pipe-A-overlay-size-128,Fail
-kms_plane_cursor at pipe-A-overlay-size-256,Fail
-kms_plane_cursor at pipe-A-overlay-size-64,Fail
-kms_plane_cursor at pipe-A-primary-size-128,Fail
-kms_plane_cursor at pipe-A-primary-size-256,Fail
-kms_plane_cursor at pipe-A-primary-size-64,Fail
-kms_plane_cursor at pipe-A-viewport-size-128,Fail
-kms_plane_cursor at pipe-A-viewport-size-256,Fail
-kms_plane_cursor at pipe-A-viewport-size-64,Fail
-kms_plane_cursor at pipe-B-overlay-size-128,Fail
-kms_plane_cursor at pipe-B-overlay-size-256,Fail
-kms_plane_cursor at pipe-B-overlay-size-64,Fail
-kms_plane_cursor at pipe-B-primary-size-128,Fail
-kms_plane_cursor at pipe-B-primary-size-256,Fail
-kms_plane_cursor at pipe-B-primary-size-64,Fail
-kms_plane_cursor at pipe-B-viewport-size-128,Fail
-kms_plane_cursor at pipe-B-viewport-size-256,Fail
-kms_plane_cursor at pipe-B-viewport-size-64,Fail
 kms_plane_cursor at primary,Crash
 kms_plane_cursor at viewport,Crash
-kms_plane_lowres at tiling-none,Fail
-kms_plane_scaling at downscale-with-modifier-factor-0-25,Fail
-kms_plane_scaling at downscale-with-rotation-factor-0-25,Fail
-kms_plane_scaling at upscale-with-modifier-20x20,Fail
-kms_plane_scaling at upscale-with-modifier-factor-0-25,Fail
-kms_plane_scaling at upscale-with-pixel-format-20x20,Fail
-kms_plane_scaling at upscale-with-pixel-format-factor-0-25,Fail
-kms_plane_scaling at upscale-with-rotation-20x20,Fail
-kms_prime at basic-crc,Fail
 kms_properties at connector-properties-atomic,Crash
 kms_properties at connector-properties-legacy,Crash
 kms_properties at get_properties-sanity-atomic,Crash
 kms_properties at get_properties-sanity-non-atomic,Crash
 kms_rmfb at close-fd,Crash
-kms_setmode at invalid-clone-single-crtc,Crash
-panfrost_prime at gem-prime-import,Crash
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-flakes.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-flakes.txt
new file mode 100644
index 000000000000..f1f22e8aecd3
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-flakes.txt
@@ -0,0 +1,21 @@
+# Board Name: rk3288-veyron-jaq.dtb
+# Bug Report: https://lore.kernel.org/dri-devel/bdb53650-1888-30b8-93ee-2290d020af4a@collabora.com/T/#u
+# Failure Rate: 50
+# IGT Version: 1.28-gd2af13d9f
+# Linux Version: 6.7.0-rc3
+
+# Reported by deqp-runner
+kms_cursor_crc at cursor-offscreen-64x21
+kms_cursor_legacy at flip-vs-cursor-legacy
+kms_cursor_legacy at flip-vs-cursor-atomic
+kms_plane at plane-panning-top-left
+kms_cursor_crc at cursor-alpha-opaque
+kms_flip at dpms-vs-vblank-race-interruptible
+kms_flip at plain-flip-ts-check-interruptible
+kms_universal_plane at universal-plane-functional
+
+# The below test shows inconsistency across multiple runs, giving
+# results of Pass and Crash alternately.
+kms_cursor_crc at cursor-size-change
+core_setmaster_vs_auth
+kms_flip at modeset-vs-vblank-race
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-skips.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-skips.txt
index 3e99106e50e0..0866028d095c 100644
--- a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-skips.txt
+++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-skips.txt
@@ -54,5 +54,12 @@ kms_pipe_crc_basic at disable-crc-after-crtc
 # Skip driver specific tests
 msm_.*
 ^amdgpu.*
+panfrost_.*
 v3d_.*
 vc4_.*
+
+# Machine is hanging in this test with linux kernel version 6.7.0-rc4, so skip it
+kms_cursor_crc at cursor-onscreen-32x32
+kms_pipe_crc_basic at disable-crc-after-crtc
+kms_pipe_crc_basic at pipe-A-eDP-1
+kms_bw at linear-tiling-3-displays-2560x1440
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt
index 32ca7f29472e..cbb5d4a88cba 100644
--- a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt
+++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt
@@ -1,12 +1,12 @@
-kms_color at gamma,Fail
+kms_atomic_transition at modeset-transition,Fail
+kms_atomic_transition at modeset-transition-fencing,Fail
+kms_atomic_transition at plane-toggle-modeset-transition,Fail
 kms_color at legacy-gamma,Fail
-kms_color at pipe-A-legacy-gamma,Fail
-kms_color at pipe-B-legacy-gamma,Fail
 kms_cursor_crc at cursor-alpha-opaque,Fail
 kms_cursor_crc at cursor-alpha-transparent,Fail
 kms_cursor_crc at cursor-dpms,Fail
 kms_cursor_crc at cursor-offscreen-32x10,Fail
-kms_cursor_crc at cursor-offscreen-32x32,Fail
+kms_cursor_crc at cursor-offscreen-64x21,Fail
 kms_cursor_crc at cursor-offscreen-64x64,Fail
 kms_cursor_crc at cursor-onscreen-32x10,Fail
 kms_cursor_crc at cursor-onscreen-32x32,Fail
@@ -26,9 +26,7 @@ kms_cursor_crc at cursor-sliding-64x21,Fail
 kms_cursor_crc at cursor-sliding-64x64,Fail
 kms_flip at basic-flip-vs-wf_vblank,Fail
 kms_flip at blocking-wf_vblank,Fail
-kms_flip at dpms-vs-vblank-race,Fail
 kms_flip at flip-vs-absolute-wf_vblank,Fail
-kms_flip at flip-vs-absolute-wf_vblank-interruptible,Fail
 kms_flip at flip-vs-blocking-wf-vblank,Fail
 kms_flip at flip-vs-modeset-vs-hang,Fail
 kms_flip at flip-vs-panning,Fail
@@ -40,10 +38,8 @@ kms_flip at plain-flip-fb-recreate-interruptible,Fail
 kms_flip at plain-flip-ts-check,Fail
 kms_flip at plain-flip-ts-check-interruptible,Fail
 kms_flip at wf_vblank-ts-check,Fail
-kms_flip at wf_vblank-ts-check-interruptible,Fail
 kms_invalid_mode at int-max-clock,Fail
 kms_pipe_crc_basic at compare-crc-sanitycheck-nv12,Fail
-kms_pipe_crc_basic at compare-crc-sanitycheck-xr24,Fail
 kms_pipe_crc_basic at disable-crc-after-crtc,Fail
 kms_pipe_crc_basic at nonblocking-crc,Fail
 kms_pipe_crc_basic at nonblocking-crc-frame-sequence,Fail
@@ -56,21 +52,5 @@ kms_plane at plane-panning-top-left,Fail
 kms_plane at plane-position-covered,Fail
 kms_plane at plane-position-hole,Fail
 kms_plane at plane-position-hole-dpms,Fail
-kms_plane_cursor at overlay,Fail
-kms_plane_cursor at pipe-B-overlay-size-128,Fail
-kms_plane_cursor at pipe-B-overlay-size-256,Fail
-kms_plane_cursor at pipe-B-overlay-size-64,Fail
-kms_plane_cursor at pipe-B-primary-size-128,Fail
-kms_plane_cursor at pipe-B-primary-size-256,Fail
-kms_plane_cursor at pipe-B-primary-size-64,Fail
-kms_plane_cursor at pipe-B-viewport-size-128,Fail
-kms_plane_cursor at pipe-B-viewport-size-256,Fail
-kms_plane_cursor at pipe-B-viewport-size-64,Fail
-kms_plane_cursor at primary,Fail
-kms_plane_cursor at viewport,Fail
-kms_plane_multiple at atomic-pipe-B-tiling-none,Fail
-kms_plane_multiple at tiling-none,Fail
-kms_prime at basic-crc,Fail
 kms_rmfb at close-fd,Fail
-kms_universal_plane at universal-plane-pipe-B-functional,Fail
-panfrost_prime at gem-prime-import,Fail
+kms_universal_plane at universal-plane-functional,Fail
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-flakes.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-flakes.txt
index c9fdc623ab91..5126a849bf4a 100644
--- a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-flakes.txt
+++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-flakes.txt
@@ -1,7 +1,25 @@
-kms_bw at linear-tiling-2-displays-1920x1080p
-kms_cursor_crc at cursor-offscreen-64x21
+# Board Name: rk3399-gru-kevin.dtb
+# Bug Report: https://lore.kernel.org/dri-devel/bdb53650-1888-30b8-93ee-2290d020af4a@collabora.com/T/#u
+# IGT Version: 1.28-gd2af13d9f
+# Failure Rate: 50
+# Linux Version: 6.7.0-rc3
+
+# Reported by deqp-runner
+kms_bw at linear-tiling-1-displays-1920x1080p
+kms_color at gamma
+kms_cursor_legacy at cursorA-vs-flipA-toggle
+kms_cursor_legacy at nonblocking-modeset-vs-cursor-atomic
+kms_flip at dpms-vs-vblank-race
 kms_flip at dpms-vs-vblank-race-interruptible
+kms_flip at flip-vs-absolute-wf_vblank-interruptible
 kms_flip at flip-vs-wf_vblank-interruptible
-kms_plane_cursor at overlay
-kms_plane_cursor at primary
-kms_plane_cursor at viewport
+kms_flip at modeset-vs-vblank-race-interruptible
+kms_pipe_crc_basic at compare-crc-sanitycheck-xr24
+kms_setmode at basic
+
+# The below test shows inconsistency across multiple runs, giving
+# results of Pass and Crash alternately.
+kms_bw at linear-tiling-2-displays-1920x1080p
+kms_bw at linear-tiling-3-displays-2560x1440p
+kms_cursor_crc at cursor-rapid-movement-32x10
+kms_flip at wf_vblank-ts-check-interruptible
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-skips.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-skips.txt
index bd0bba0d8477..f309aeca857a 100644
--- a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-skips.txt
+++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-skips.txt
@@ -7,5 +7,10 @@ kms_cursor_legacy.*
 # Skip driver specific tests
 msm_.*
 ^amdgpu.*
+panfrost_.*
 v3d_.*
 vc4_.*
+
+# Machine ends up hanging after lots of Oopses with linux version 6.7.0-rc4
+# rockchip-dp ff970000.dp: AUX CH error happened: 0x2
+kms_plane_multiple.*
-- 
2.40.1




More information about the Linux-rockchip mailing list