[PATCH v4 09/11] drm/ci: rockchip: Refactor existing rockchip jobs

Helen Koike helen.koike at collabora.com
Thu Mar 7 06:02:38 PST 2024



On 06/03/2024 00:06, Vignesh Raman wrote:
> For rockchip rk3288 and rk3399, the display driver is rockchip.
> Currently, in drm-ci for rockchip, only the display driver is
> tested. Refactor the existing rockchip jobs so that gpu driver
> testing jobs can be added later and update xfails accordingly.
> 
> 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.
> 
> ---
>   drivers/gpu/drm/ci/test.yml                   | 36 ++++++++----
>   .../drm/ci/xfails/rockchip-rk3288-fails.txt   | 58 ++++++-------------
>   .../drm/ci/xfails/rockchip-rk3288-flakes.txt  | 20 +++++++
>   .../drm/ci/xfails/rockchip-rk3288-skips.txt   | 54 ++---------------
>   .../drm/ci/xfails/rockchip-rk3399-fails.txt   | 38 ++++++------
>   .../drm/ci/xfails/rockchip-rk3399-flakes.txt  | 28 +++++++--
>   .../drm/ci/xfails/rockchip-rk3399-skips.txt   |  5 +-
>   7 files changed, 110 insertions(+), 129 deletions(-)
>   create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3288-flakes.txt
> 
> diff --git a/drivers/gpu/drm/ci/test.yml b/drivers/gpu/drm/ci/test.yml
> index 6ae6398b3d88..831e580e6dfd 100644
> --- a/drivers/gpu/drm/ci/test.yml
> +++ b/drivers/gpu/drm/ci/test.yml
> @@ -153,33 +153,45 @@ msm:sdm845:
>     script:
>       - ./install/bare-metal/cros-servo.sh
>   
> -rockchip:rk3288:
> -  extends:
> -    - .lava-igt:arm32
> +.rockchip:
>     stage: rockchip
>     variables:
> -    DRIVER_NAME: rockchip

Looks like it make sense to keep DRIVER_NAME here, no?

> -    DEVICE_TYPE: rk3288-veyron-jaq
>       DTB: ${DEVICE_TYPE}
>       BOOT_METHOD: depthcharge
> +
> +.rk3288:
> +  extends:
> +    - .lava-igt:arm32
> +    - .rockchip

Maybe, instead of extending .rockchip here, make .rockchip tied to the 
DRIVER_NAME and .rk3288 tied to the GPU_VERSION, and on rockchip:rk3288 
you can extend both .rockchip and .rk3288, what do you think?
So rockchip:rk3399 you can extend .rockchip and .rk3399.

and in the panfrost one you can have a .panfrost (that can extend 
.rockchip if they are the same definition).

I feel it becomes less confusing, what do you think?

I would even add some prefix or suffix to make it less confusing, like 
.driver-rockchip and .gpu-rk3288 for instance, making it a bit more 
intuitive and helping our future selves :)

> +  variables:
> +    DEVICE_TYPE: rk3288-veyron-jaq
>       KERNEL_IMAGE_TYPE: "zimage"
> -    GPU_VERSION: rk3288

Looks like it make sense to keep GPU_VERSION here, no? Same comment for 
.rk3399.

Regards,
Helen

>       RUNNER_TAG: mesa-ci-x86-64-lava-rk3288-veyron-jaq
>   
> -rockchip:rk3399:
> +.rk3399:
>     extends:
>       - .lava-igt:arm64
> -  stage: rockchip
> +    - .rockchip
>     parallel: 2
>     variables:
> -    DRIVER_NAME: rockchip
>       DEVICE_TYPE: rk3399-gru-kevin
> -    DTB: ${DEVICE_TYPE}
> -    BOOT_METHOD: depthcharge
>       KERNEL_IMAGE_TYPE: ""
> -    GPU_VERSION: rk3399
>       RUNNER_TAG: mesa-ci-x86-64-lava-rk3399-gru-kevin
>   
> +rockchip:rk3288:
> +  extends:
> +    - .rk3288
> +  variables:
> +    GPU_VERSION: rk3288
> +    DRIVER_NAME: rockchip
> +
> +rockchip:rk3399:
> +  extends:
> +    - .rk3399
> +  variables:
> +    GPU_VERSION: rk3399
> +    DRIVER_NAME: rockchip
> +
>   .i915:
>     extends:
>       - .lava-igt:x86_64
> diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt
> index 90c63f519e9e..c16e0a06cc8f 100644
> --- a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt
> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt
> @@ -1,54 +1,30 @@
> -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_cursor_crc at cursor-onscreen-32x10,Crash
> +kms_cursor_crc at cursor-onscreen-64x21,Crash
> +kms_cursor_crc at cursor-onscreen-64x64,Crash
> +kms_cursor_crc at cursor-random-32x10,Crash
> +kms_cursor_crc at cursor-random-64x21,Crash
> +kms_cursor_crc at cursor-random-64x64,Crash
> +kms_cursor_crc at cursor-sliding-32x10,Crash
> +kms_cursor_crc at cursor-sliding-32x32,Crash
> +kms_cursor_crc at cursor-sliding-64x64,Crash
> +kms_cursor_legacy at basic-flip-before-cursor-atomic,Fail
> +kms_cursor_legacy at basic-flip-before-cursor-legacy,Fail
> +kms_cursor_legacy at cursor-vs-flip-atomic,Fail
> +kms_cursor_legacy at cursor-vs-flip-atomic-transitions,Fail
> +kms_cursor_legacy at cursor-vs-flip-toggle,Fail
> +kms_cursor_legacy at flip-vs-cursor-crc-atomic,Crash
> +kms_cursor_legacy at flip-vs-cursor-crc-legacy,Crash
>   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_prop_blob at invalid-set-prop,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
> 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..de13bac3a5bc
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-flakes.txt
> @@ -0,0 +1,20 @@
> +# 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_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 f20c3574b75a..627bf03f3c78 100644
> --- a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-skips.txt
> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-skips.txt
> @@ -1,52 +1,8 @@
>   # Suspend to RAM seems to be broken on this machine
>   .*suspend.*
>   
> -# Too unstable, machine ends up hanging after lots of Oopses
> -kms_cursor_legacy.*
> -
> -# Started hanging the machine on Linux 5.19-rc2:
> -#
> -# [IGT] kms_plane_lowres: executing
> -# [IGT] kms_plane_lowres: starting subtest pipe-F-tiling-y
> -# [IGT] kms_plane_lowres: exiting, ret=77
> -# Console: switching to colour frame buffer device 170x48
> -# rockchip-drm display-subsystem: [drm] *ERROR* flip_done timed out
> -# rockchip-drm display-subsystem: [drm] *ERROR* [CRTC:35:crtc-0] commit wait timed out
> -# BUG: spinlock bad magic on CPU#3, kms_plane_lowre/482
> -# 8<--- cut here ---
> -# Unable to handle kernel paging request at virtual address 7812078e
> -# [7812078e] *pgd=00000000
> -# Internal error: Oops: 5 [#1] SMP ARM
> -# Modules linked in:
> -# CPU: 3 PID: 482 Comm: kms_plane_lowre Tainted: G        W         5.19.0-rc2-323596-g00535de92171 #1
> -# Hardware name: Rockchip (Device Tree)
> -# Process kms_plane_lowre (pid: 482, stack limit = 0x1193ac2b)
> -#  spin_dump from do_raw_spin_lock+0xa4/0xe8
> -#  do_raw_spin_lock from wait_for_completion_timeout+0x2c/0x120
> -#  wait_for_completion_timeout from drm_crtc_commit_wait+0x18/0x7c
> -#  drm_crtc_commit_wait from drm_atomic_helper_wait_for_dependencies+0x44/0x168
> -#  drm_atomic_helper_wait_for_dependencies from commit_tail+0x34/0x180
> -#  commit_tail from drm_atomic_helper_commit+0x164/0x18c
> -#  drm_atomic_helper_commit from drm_atomic_commit+0xac/0xe4
> -#  drm_atomic_commit from drm_client_modeset_commit_atomic+0x23c/0x284
> -#  drm_client_modeset_commit_atomic from drm_client_modeset_commit_locked+0x60/0x1c8
> -#  drm_client_modeset_commit_locked from drm_client_modeset_commit+0x24/0x40
> -#  drm_client_modeset_commit from drm_fbdev_client_restore+0x58/0x94
> -#  drm_fbdev_client_restore from drm_client_dev_restore+0x70/0xbc
> -#  drm_client_dev_restore from drm_release+0xf4/0x114
> -#  drm_release from __fput+0x74/0x240
> -#  __fput from task_work_run+0x84/0xb4
> -#  task_work_run from do_exit+0x34c/0xa20
> -#  do_exit from do_group_exit+0x34/0x98
> -#  do_group_exit from __wake_up_parent+0x0/0x18
> -# Code: e595c008 12843d19 03e00000 03093168 (15940508)
> -# ---[ end trace 0000000000000000 ]---
> -# note: kms_plane_lowre[482] exited with preempt_count 1
> -# Fixing recursive fault but reboot is needed!
> -kms_plane_lowres at pipe-F-tiling-y
> -
> -# Take too long, we have only two machines, and these are very flaky
> -kms_cursor_crc.*
> -
> -# Machine is hanging in this test, so skip it
> -kms_pipe_crc_basic at disable-crc-after-crtc
> \ No newline at end of file
> +# 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 d516d9c1d546..ace0d6ed6f2f 100644
> --- a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt
> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt
> @@ -1,12 +1,13 @@
> -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
> @@ -16,6 +17,7 @@ kms_cursor_crc at cursor-random-32x10,Fail
>   kms_cursor_crc at cursor-random-32x32,Fail
>   kms_cursor_crc at cursor-random-64x21,Fail
>   kms_cursor_crc at cursor-random-64x64,Fail
> +kms_cursor_crc at cursor-rapid-movement-32x10,Fail
>   kms_cursor_crc at cursor-rapid-movement-32x32,Fail
>   kms_cursor_crc at cursor-rapid-movement-64x21,Fail
>   kms_cursor_crc at cursor-rapid-movement-64x64,Fail
> @@ -24,23 +26,33 @@ kms_cursor_crc at cursor-sliding-32x10,Fail
>   kms_cursor_crc at cursor-sliding-32x32,Fail
>   kms_cursor_crc at cursor-sliding-64x21,Fail
>   kms_cursor_crc at cursor-sliding-64x64,Fail
> +kms_cursor_legacy at basic-flip-before-cursor-atomic,Fail
> +kms_cursor_legacy at basic-flip-before-cursor-legacy,Fail
> +kms_cursor_legacy at cursor-vs-flip-atomic,Fail
> +kms_cursor_legacy at cursor-vs-flip-legacy,Fail
> +kms_cursor_legacy at cursor-vs-flip-toggle,Fail
> +kms_cursor_legacy at flip-vs-cursor-atomic,Fail
> +kms_cursor_legacy at flip-vs-cursor-crc-atomic,Fail
> +kms_cursor_legacy at flip-vs-cursor-crc-legacy,Fail
> +kms_cursor_legacy at flip-vs-cursor-legacy,Fail
> +kms_cursor_legacy at long-nonblocking-modeset-vs-cursor-atomic,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 dpms-vs-vblank-race-interruptible,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
>   kms_flip at flip-vs-panning-interruptible,Fail
>   kms_flip at flip-vs-panning-vs-hang,Fail
>   kms_flip at modeset-vs-vblank-race,Fail
> +kms_flip at modeset-vs-vblank-race-interruptible,Fail
>   kms_flip at plain-flip-fb-recreate,Fail
>   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
> @@ -56,20 +68,6 @@ 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
> +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 10c3d81a919a..cf5577b7720c 100644
> --- a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-skips.txt
> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-skips.txt
> @@ -1,5 +1,6 @@
>   # Suspend to RAM seems to be broken on this machine
>   .*suspend.*
>   
> -# Too unstable, machine ends up hanging after lots of Oopses
> -kms_cursor_legacy.*
> +# 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.*



More information about the Linux-rockchip mailing list