2023-12-20 12:12:29

by Vignesh Raman

[permalink] [raw]
Subject: [PATCH v1 0/8] drm/ci: Add support for GPU and display testing

Some ARM SOCs have a separate display controller and GPU, each with
different drivers. For mediatek mt8173, the GPU driver is powervr,
and the display driver is mediatek. In the case of mediatek mt8183,
the GPU driver is panfrost, and the display driver is mediatek.
With rockchip rk3288/rk3399, the GPU driver is panfrost, while the
display driver is rockchip. For amlogic meson, the GPU driver is
panfrost, and the display driver is meson.

IGT tests run various tests with different xfails and can test both
GPU devices and KMS/display devices. Currently, in drm-ci for MediaTek,
Rockchip, and Amlogic Meson platforms, only the GPU driver is tested.
This leads to incomplete coverage since the display is never tested on
these platforms. This commit series adds support in drm-ci to run tests
for both GPU and display drivers for MediaTek, Rockchip, and Amlogic
Meson platforms.

This series depends on,
https://lore.kernel.org/dri-devel/[email protected]/T/#t

Vignesh Raman (8):
drm/ci: arm64.config: Enable CONFIG_DRM_ANALOGIX_ANX7625
drm/ci: mediatek: Test both GPU and display drivers
drm/ci: rockchip: Test both GPU and display drivers
drm/ci: meson: Test both GPU and display drivers
drm/ci: Do not set IGT_FORCE_DRIVER based on driver name
MAINTAINERS: drm/ci: xfails: add entry for panfrost
drm/ci: Rename xfails file
drm/ci: Update xfails

MAINTAINERS | 1 +
drivers/gpu/drm/ci/arm64.config | 1 +
drivers/gpu/drm/ci/igt_runner.sh | 10 --
drivers/gpu/drm/ci/test.yml | 107 ++++++++++++++----
....txt => mediatek-mt8173-display-fails.txt} | 0
.../xfails/mediatek-mt8173-display-flakes.txt | 13 +++
.../xfails/mediatek-mt8183-display-fails.txt | 7 ++
.../xfails/mediatek-mt8183-display-flakes.txt | 8 ++
.../ci/xfails/meson-g12b-display-fails.txt | 13 +++
...-fails.txt => panfrost-g12b-gpu-fails.txt} | 0
...ails.txt => panfrost-mt8183-gpu-fails.txt} | 0
...ails.txt => panfrost-rk3288-gpu-fails.txt} | 0
...kips.txt => panfrost-rk3288-gpu-skips.txt} | 0
...ails.txt => panfrost-rk3399-gpu-fails.txt} | 0
...kes.txt => panfrost-rk3399-gpu-flakes.txt} | 0
...kips.txt => panfrost-rk3399-gpu-skips.txt} | 0
.../xfails/rockchip-rk3288-display-fails.txt | 15 +++
.../xfails/rockchip-rk3288-display-flakes.txt | 13 +++
.../xfails/rockchip-rk3288-display-skips.txt | 8 ++
.../xfails/rockchip-rk3399-display-fails.txt | 69 +++++++++++
.../xfails/rockchip-rk3399-display-flakes.txt | 20 ++++
.../xfails/rockchip-rk3399-display-skips.txt | 6 +
22 files changed, 261 insertions(+), 30 deletions(-)
rename drivers/gpu/drm/ci/xfails/{mediatek-mt8173-fails.txt => mediatek-mt8173-display-fails.txt} (100%)
create mode 100644 drivers/gpu/drm/ci/xfails/mediatek-mt8173-display-flakes.txt
create mode 100644 drivers/gpu/drm/ci/xfails/mediatek-mt8183-display-fails.txt
create mode 100644 drivers/gpu/drm/ci/xfails/mediatek-mt8183-display-flakes.txt
create mode 100644 drivers/gpu/drm/ci/xfails/meson-g12b-display-fails.txt
rename drivers/gpu/drm/ci/xfails/{meson-g12b-fails.txt => panfrost-g12b-gpu-fails.txt} (100%)
rename drivers/gpu/drm/ci/xfails/{mediatek-mt8183-fails.txt => panfrost-mt8183-gpu-fails.txt} (100%)
rename drivers/gpu/drm/ci/xfails/{rockchip-rk3288-fails.txt => panfrost-rk3288-gpu-fails.txt} (100%)
rename drivers/gpu/drm/ci/xfails/{rockchip-rk3288-skips.txt => panfrost-rk3288-gpu-skips.txt} (100%)
rename drivers/gpu/drm/ci/xfails/{rockchip-rk3399-fails.txt => panfrost-rk3399-gpu-fails.txt} (100%)
rename drivers/gpu/drm/ci/xfails/{rockchip-rk3399-flakes.txt => panfrost-rk3399-gpu-flakes.txt} (100%)
rename drivers/gpu/drm/ci/xfails/{rockchip-rk3399-skips.txt => panfrost-rk3399-gpu-skips.txt} (100%)
create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-fails.txt
create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-flakes.txt
create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-skips.txt
create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-fails.txt
create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-flakes.txt
create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-skips.txt

--
2.40.1



2023-12-20 12:12:37

by Vignesh Raman

[permalink] [raw]
Subject: [PATCH v1 3/8] drm/ci: rockchip: Test both GPU and display drivers

Rockchip rk3288 and rk3399 SOCs have a separate display controller
and GPU, with different drivers for each. Add support in drm-ci
to test both these drivers.

Signed-off-by: Vignesh Raman <[email protected]>
---
drivers/gpu/drm/ci/test.yml | 50 ++++++++++++++++++++++++++++---------
1 file changed, 38 insertions(+), 12 deletions(-)

diff --git a/drivers/gpu/drm/ci/test.yml b/drivers/gpu/drm/ci/test.yml
index 1945c0a70e76..8081925303f5 100644
--- a/drivers/gpu/drm/ci/test.yml
+++ b/drivers/gpu/drm/ci/test.yml
@@ -135,33 +135,59 @@ msm:sdm845:
script:
- ./install/bare-metal/cros-servo.sh

-rockchip:rk3288:
- extends:
- - .lava-igt:arm32
+.rockchip:
stage: rockchip
variables:
- DRIVER_NAME: rockchip
- DEVICE_TYPE: rk3288-veyron-jaq
DTB: ${DEVICE_TYPE}
BOOT_METHOD: depthcharge
+
+.rk3288:
+ extends:
+ - .lava-igt:arm32
+ - .rockchip
+ variables:
+ DEVICE_TYPE: rk3288-veyron-jaq
KERNEL_IMAGE_TYPE: "zimage"
- GPU_VERSION: rk3288
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-gpu:
+ extends:
+ - .rk3288
+ variables:
+ GPU_VERSION: rk3288-gpu
+ DRIVER_NAME: panfrost
+
+rockchip:rk3288-display:
+ extends:
+ - .rk3288
+ variables:
+ GPU_VERSION: rk3288-display
+ DRIVER_NAME: rockchip
+
+rockchip:rk3399-gpu:
+ extends:
+ - .rk3399
+ variables:
+ GPU_VERSION: rk3399-gpu
+ DRIVER_NAME: panfrost
+
+rockchip:rk3399-display:
+ extends:
+ - .rk3399
+ variables:
+ GPU_VERSION: rk3399-display
+ DRIVER_NAME: rockchip
+
.i915:
extends:
- .lava-igt:x86_64
--
2.40.1


2023-12-20 12:12:52

by Vignesh Raman

[permalink] [raw]
Subject: [PATCH v1 4/8] drm/ci: meson: Test both GPU and display drivers

Meson SOC have a separate display controller and GPU,
with different drivers for each. Add support in drm-ci
to test both these drivers.

Signed-off-by: Vignesh Raman <[email protected]>
---
drivers/gpu/drm/ci/test.yml | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/ci/test.yml b/drivers/gpu/drm/ci/test.yml
index 8081925303f5..159eb7ba3588 100644
--- a/drivers/gpu/drm/ci/test.yml
+++ b/drivers/gpu/drm/ci/test.yml
@@ -357,20 +357,32 @@ mediatek:mt8183-display:
- .lava-igt:arm64
stage: meson
variables:
- DRIVER_NAME: meson
DTB: ${DEVICE_TYPE}
BOOT_METHOD: u-boot
KERNEL_IMAGE_TYPE: "image"

-meson:g12b:
+.g12b:
extends:
- .meson
parallel: 3
variables:
DEVICE_TYPE: meson-g12b-a311d-khadas-vim3
- GPU_VERSION: g12b
RUNNER_TAG: mesa-ci-x86-64-lava-meson-g12b-a311d-khadas-vim3

+meson:g12b-gpu:
+ extends:
+ - .g12b
+ variables:
+ GPU_VERSION: g12b-gpu
+ DRIVER_NAME: panfrost
+
+meson:g12b-display:
+ extends:
+ - .g12b
+ variables:
+ GPU_VERSION: g12b-display
+ DRIVER_NAME: meson
+
virtio_gpu:none:
stage: virtio-gpu
variables:
--
2.40.1


2023-12-20 12:13:06

by Vignesh Raman

[permalink] [raw]
Subject: [PATCH v1 5/8] drm/ci: Do not set IGT_FORCE_DRIVER based on driver name

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.

Signed-off-by: Vignesh Raman <[email protected]>
---
drivers/gpu/drm/ci/igt_runner.sh | 10 ----------
1 file changed, 10 deletions(-)

diff --git a/drivers/gpu/drm/ci/igt_runner.sh b/drivers/gpu/drm/ci/igt_runner.sh
index f1a08b9b146f..ce6e22369d4d 100755
--- a/drivers/gpu/drm/ci/igt_runner.sh
+++ b/drivers/gpu/drm/ci/igt_runner.sh
@@ -20,16 +20,6 @@ cat /sys/kernel/debug/dri/*/state
set -e

case "$DRIVER_NAME" in
- rockchip|meson)
- export IGT_FORCE_DRIVER="panfrost"
- ;;
- mediatek)
- if [ "$GPU_VERSION" = "mt8173" ]; then
- export IGT_FORCE_DRIVER=${DRIVER_NAME}
- elif [ "$GPU_VERSION" = "mt8183" ]; then
- export IGT_FORCE_DRIVER="panfrost"
- fi
- ;;
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/.
--
2.40.1


2023-12-20 12:13:34

by Vignesh Raman

[permalink] [raw]
Subject: [PATCH v1 7/8] drm/ci: Rename xfails file

Rename the names of xfail files for Mediatek (mt8173 and mt8183),
Rockchip (rk3288 and rk3399), and Meson (g12b) to include
information about the tested driver and whether it is related
to display or GPU testing.

Signed-off-by: Vignesh Raman <[email protected]>
---
...ediatek-mt8173-fails.txt => mediatek-mt8173-display-fails.txt} | 0
.../xfails/{meson-g12b-fails.txt => panfrost-g12b-gpu-fails.txt} | 0
.../{mediatek-mt8183-fails.txt => panfrost-mt8183-gpu-fails.txt} | 0
.../{rockchip-rk3288-fails.txt => panfrost-rk3288-gpu-fails.txt} | 0
.../{rockchip-rk3288-skips.txt => panfrost-rk3288-gpu-skips.txt} | 0
.../{rockchip-rk3399-fails.txt => panfrost-rk3399-gpu-fails.txt} | 0
...{rockchip-rk3399-flakes.txt => panfrost-rk3399-gpu-flakes.txt} | 0
.../{rockchip-rk3399-skips.txt => panfrost-rk3399-gpu-skips.txt} | 0
8 files changed, 0 insertions(+), 0 deletions(-)
rename drivers/gpu/drm/ci/xfails/{mediatek-mt8173-fails.txt => mediatek-mt8173-display-fails.txt} (100%)
rename drivers/gpu/drm/ci/xfails/{meson-g12b-fails.txt => panfrost-g12b-gpu-fails.txt} (100%)
rename drivers/gpu/drm/ci/xfails/{mediatek-mt8183-fails.txt => panfrost-mt8183-gpu-fails.txt} (100%)
rename drivers/gpu/drm/ci/xfails/{rockchip-rk3288-fails.txt => panfrost-rk3288-gpu-fails.txt} (100%)
rename drivers/gpu/drm/ci/xfails/{rockchip-rk3288-skips.txt => panfrost-rk3288-gpu-skips.txt} (100%)
rename drivers/gpu/drm/ci/xfails/{rockchip-rk3399-fails.txt => panfrost-rk3399-gpu-fails.txt} (100%)
rename drivers/gpu/drm/ci/xfails/{rockchip-rk3399-flakes.txt => panfrost-rk3399-gpu-flakes.txt} (100%)
rename drivers/gpu/drm/ci/xfails/{rockchip-rk3399-skips.txt => panfrost-rk3399-gpu-skips.txt} (100%)

diff --git a/drivers/gpu/drm/ci/xfails/mediatek-mt8173-fails.txt b/drivers/gpu/drm/ci/xfails/mediatek-mt8173-display-fails.txt
similarity index 100%
rename from drivers/gpu/drm/ci/xfails/mediatek-mt8173-fails.txt
rename to drivers/gpu/drm/ci/xfails/mediatek-mt8173-display-fails.txt
diff --git a/drivers/gpu/drm/ci/xfails/meson-g12b-fails.txt b/drivers/gpu/drm/ci/xfails/panfrost-g12b-gpu-fails.txt
similarity index 100%
rename from drivers/gpu/drm/ci/xfails/meson-g12b-fails.txt
rename to drivers/gpu/drm/ci/xfails/panfrost-g12b-gpu-fails.txt
diff --git a/drivers/gpu/drm/ci/xfails/mediatek-mt8183-fails.txt b/drivers/gpu/drm/ci/xfails/panfrost-mt8183-gpu-fails.txt
similarity index 100%
rename from drivers/gpu/drm/ci/xfails/mediatek-mt8183-fails.txt
rename to drivers/gpu/drm/ci/xfails/panfrost-mt8183-gpu-fails.txt
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt b/drivers/gpu/drm/ci/xfails/panfrost-rk3288-gpu-fails.txt
similarity index 100%
rename from drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt
rename to drivers/gpu/drm/ci/xfails/panfrost-rk3288-gpu-fails.txt
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-skips.txt b/drivers/gpu/drm/ci/xfails/panfrost-rk3288-gpu-skips.txt
similarity index 100%
rename from drivers/gpu/drm/ci/xfails/rockchip-rk3288-skips.txt
rename to drivers/gpu/drm/ci/xfails/panfrost-rk3288-gpu-skips.txt
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt b/drivers/gpu/drm/ci/xfails/panfrost-rk3399-gpu-fails.txt
similarity index 100%
rename from drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt
rename to drivers/gpu/drm/ci/xfails/panfrost-rk3399-gpu-fails.txt
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-flakes.txt b/drivers/gpu/drm/ci/xfails/panfrost-rk3399-gpu-flakes.txt
similarity index 100%
rename from drivers/gpu/drm/ci/xfails/rockchip-rk3399-flakes.txt
rename to drivers/gpu/drm/ci/xfails/panfrost-rk3399-gpu-flakes.txt
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-skips.txt b/drivers/gpu/drm/ci/xfails/panfrost-rk3399-gpu-skips.txt
similarity index 100%
rename from drivers/gpu/drm/ci/xfails/rockchip-rk3399-skips.txt
rename to drivers/gpu/drm/ci/xfails/panfrost-rk3399-gpu-skips.txt
--
2.40.1


2023-12-20 12:14:36

by Vignesh Raman

[permalink] [raw]
Subject: [PATCH v1 6/8] MAINTAINERS: drm/ci: xfails: add entry for panfrost

DRM CI tests panfrost drivers, and track of which tests
are failing, flaking or being skipped by the ci in the
expectations files. So add entry for these files, so
that the corresponding driver maintainer can be notified
when they change.

Signed-off-by: Vignesh Raman <[email protected]>
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 9d959a6881f7..bcdc17d1aa26 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1645,6 +1645,7 @@ L: [email protected]
S: Supported
T: git git://anongit.freedesktop.org/drm/drm-misc
F: Documentation/gpu/panfrost.rst
+F: drivers/gpu/drm/ci/xfails/panfrost*
F: drivers/gpu/drm/panfrost/
F: include/uapi/drm/panfrost_drm.h

--
2.40.1


2023-12-20 12:15:20

by Vignesh Raman

[permalink] [raw]
Subject: [PATCH v1 8/8] drm/ci: Update xfails

Add fails and flakes files for mt8173 and mt8183 mediatek-drm
driver tests. Add fails, skips and flakes files for rk3288 and
rk3399 rockchip-drm driver tests. Add fails file for meson-drm
display driver tests.

Signed-off-by: Vignesh Raman <[email protected]>
---
.../xfails/mediatek-mt8173-display-flakes.txt | 13 ++++
.../xfails/mediatek-mt8183-display-fails.txt | 7 ++
.../xfails/mediatek-mt8183-display-flakes.txt | 8 +++
.../ci/xfails/meson-g12b-display-fails.txt | 13 ++++
.../xfails/rockchip-rk3288-display-fails.txt | 15 ++++
.../xfails/rockchip-rk3288-display-flakes.txt | 13 ++++
.../xfails/rockchip-rk3288-display-skips.txt | 8 +++
.../xfails/rockchip-rk3399-display-fails.txt | 69 +++++++++++++++++++
.../xfails/rockchip-rk3399-display-flakes.txt | 20 ++++++
.../xfails/rockchip-rk3399-display-skips.txt | 6 ++
10 files changed, 172 insertions(+)
create mode 100644 drivers/gpu/drm/ci/xfails/mediatek-mt8173-display-flakes.txt
create mode 100644 drivers/gpu/drm/ci/xfails/mediatek-mt8183-display-fails.txt
create mode 100644 drivers/gpu/drm/ci/xfails/mediatek-mt8183-display-flakes.txt
create mode 100644 drivers/gpu/drm/ci/xfails/meson-g12b-display-fails.txt
create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-fails.txt
create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-flakes.txt
create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-skips.txt
create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-fails.txt
create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-flakes.txt
create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-skips.txt

diff --git a/drivers/gpu/drm/ci/xfails/mediatek-mt8173-display-flakes.txt b/drivers/gpu/drm/ci/xfails/mediatek-mt8173-display-flakes.txt
new file mode 100644
index 000000000000..64b30c092c85
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/mediatek-mt8173-display-flakes.txt
@@ -0,0 +1,13 @@
+# Board Name: mt8173-elm-hana.dtb
+# Bug Report: https://lore.kernel.org/dri-devel/[email protected]/T/#u
+# IGT Version: 1.28-gd2af13d9f
+# Failure Rate: 50
+# Linux Version: 6.7.0-rc3
+
+# Reported by deqp-runner
+kms_cursor_legacy@cursor-vs-flip-atomic-transitions
+
+# Below test shows inconsistency across multiple runs,
+# giving results of Pass and Timeout/Fail alternately
+kms_prop_blob@invalid-set-prop
+kms_prop_blob@invalid-set-prop-any
diff --git a/drivers/gpu/drm/ci/xfails/mediatek-mt8183-display-fails.txt b/drivers/gpu/drm/ci/xfails/mediatek-mt8183-display-fails.txt
new file mode 100644
index 000000000000..bfa2f92c907a
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/mediatek-mt8183-display-fails.txt
@@ -0,0 +1,7 @@
+kms_bw@linear-tiling-2-displays-3840x2160p,Fail
+kms_cursor_legacy@cursor-vs-flip-atomic,Fail
+kms_flip@flip-vs-panning-vs-hang,Fail
+kms_flip@flip-vs-suspend,Fail
+kms_prop_blob@invalid-set-prop,Fail
+kms_prop_blob@invalid-set-prop-any,Fail
+kms_properties@get_properties-sanity-atomic,Fail
diff --git a/drivers/gpu/drm/ci/xfails/mediatek-mt8183-display-flakes.txt b/drivers/gpu/drm/ci/xfails/mediatek-mt8183-display-flakes.txt
new file mode 100644
index 000000000000..5885a950fa72
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/mediatek-mt8183-display-flakes.txt
@@ -0,0 +1,8 @@
+# Board Name: mt8183-kukui-jacuzzi-juniper-sku16.dtb
+# Bug Report: https://lore.kernel.org/dri-devel/[email protected]/T/#u
+# IGT Version: 1.28-gd2af13d9f
+# Failure Rate: 100
+# Linux Version: 6.7.0-rc3
+
+# Reported by deqp-runner
+kms_cursor_legacy@cursor-vs-flip-atomic-transitions
diff --git a/drivers/gpu/drm/ci/xfails/meson-g12b-display-fails.txt b/drivers/gpu/drm/ci/xfails/meson-g12b-display-fails.txt
new file mode 100644
index 000000000000..f123fb0cb820
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/meson-g12b-display-fails.txt
@@ -0,0 +1,13 @@
+kms_3d,Fail
+kms_cursor_legacy@forked-bo,Fail
+kms_cursor_legacy@forked-move,Fail
+kms_cursor_legacy@single-bo,Fail
+kms_cursor_legacy@single-move,Fail
+kms_cursor_legacy@torture-bo,Fail
+kms_cursor_legacy@torture-move,Fail
+kms_force_connector_basic@force-edid,Fail
+kms_hdmi_inject@inject-4k,Fail
+kms_properties@connector-properties-atomic,Fail
+kms_properties@connector-properties-legacy,Fail
+kms_properties@get_properties-sanity-atomic,Fail
+kms_properties@get_properties-sanity-non-atomic,Fail
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-fails.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-fails.txt
new file mode 100644
index 000000000000..8e763195defc
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-fails.txt
@@ -0,0 +1,15 @@
+kms_bw@linear-tiling-3-displays-2560x1440p,Fail
+kms_cursor_crc@cursor-dpms,Crash
+kms_cursor_crc@cursor-onscreen-64x21,Crash
+kms_cursor_crc@cursor-random-64x64,Crash
+kms_cursor_crc@cursor-sliding-32x10,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-toggle,Fail
+kms_cursor_legacy@flip-vs-cursor-crc-atomic,Crash
+kms_flip@flip-vs-panning-vs-hang,Crash
+kms_pipe_crc_basic@read-crc-frame-sequence,Crash
+kms_prop_blob@invalid-set-prop,Crash
+kms_prop_blob@invalid-set-prop-any,Crash
+kms_properties@get_properties-sanity-atomic,Crash
+kms_properties@get_properties-sanity-non-atomic,Crash
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-flakes.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-flakes.txt
new file mode 100644
index 000000000000..2ee69be541c4
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-flakes.txt
@@ -0,0 +1,13 @@
+# Board Name: rk3288-veyron-jaq.dtb
+# Bug Report: https://lore.kernel.org/dri-devel/[email protected]/T/#u
+# Failure Rate: 50
+# IGT Version: 1.28-gd2af13d9f
+# Linux Version: 6.7.0-rc3
+
+# Reported by deqp-runner
+kms_cursor_crc@cursor-offscreen-64x21
+kms_cursor_legacy@flip-vs-cursor-legacy
+
+# The below test shows inconsistency across multiple runs, giving
+# results of Pass and Crash alternately.
+kms_cursor_crc@cursor-size-change
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-skips.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-skips.txt
new file mode 100644
index 000000000000..627bf03f3c78
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-display-skips.txt
@@ -0,0 +1,8 @@
+# Suspend to RAM seems to be broken on this machine
+.*suspend.*
+
+# Machine is hanging in this test with linux kernel version 6.7.0-rc4, so skip it
+kms_cursor_crc@cursor-onscreen-32x32
+kms_pipe_crc_basic@disable-crc-after-crtc
+kms_pipe_crc_basic@pipe-A-eDP-1
+kms_bw@linear-tiling-3-displays-2560x1440
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-fails.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-fails.txt
new file mode 100644
index 000000000000..e7c1a7e5b1db
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-fails.txt
@@ -0,0 +1,69 @@
+kms_color@legacy-gamma,Fail
+kms_cursor_crc@cursor-alpha-opaque,Fail
+kms_cursor_crc@cursor-alpha-transparent,Fail
+kms_cursor_crc@cursor-dpms,Fail
+kms_cursor_crc@cursor-offscreen-32x10,Fail
+kms_cursor_crc@cursor-offscreen-64x21,Fail
+kms_cursor_crc@cursor-offscreen-64x64,Fail
+kms_cursor_crc@cursor-onscreen-32x10,Fail
+kms_cursor_crc@cursor-onscreen-32x32,Fail
+kms_cursor_crc@cursor-onscreen-64x21,Fail
+kms_cursor_crc@cursor-onscreen-64x64,Fail
+kms_cursor_crc@cursor-random-32x10,Fail
+kms_cursor_crc@cursor-random-32x32,Fail
+kms_cursor_crc@cursor-random-64x21,Fail
+kms_cursor_crc@cursor-random-64x64,Fail
+kms_cursor_crc@cursor-rapid-movement-32x32,Fail
+kms_cursor_crc@cursor-rapid-movement-64x21,Fail
+kms_cursor_crc@cursor-rapid-movement-64x64,Fail
+kms_cursor_crc@cursor-size-change,Fail
+kms_cursor_crc@cursor-sliding-32x10,Fail
+kms_cursor_crc@cursor-sliding-32x32,Fail
+kms_cursor_crc@cursor-sliding-64x21,Fail
+kms_cursor_crc@cursor-sliding-64x64,Fail
+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@cursorA-vs-flipA-legacy,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@blocking-wf_vblank,Fail
+kms_flip@dpms-vs-vblank-race,Fail
+kms_flip@dpms-vs-vblank-race-interruptible,Fail
+kms_flip@flip-vs-absolute-wf_vblank,Fail
+kms_flip@flip-vs-absolute-wf_vblank-interruptible,Fail
+kms_flip@flip-vs-blocking-wf-vblank,Fail
+kms_flip@flip-vs-modeset-vs-hang,Fail
+kms_flip@flip-vs-panning,Fail
+kms_flip@flip-vs-panning-interruptible,Fail
+kms_flip@flip-vs-panning-vs-hang,Fail
+kms_flip@flip-vs-wf_vblank-interruptible,Fail
+kms_flip@modeset-vs-vblank-race,Fail
+kms_flip@modeset-vs-vblank-race-interruptible,Fail
+kms_flip@plain-flip-fb-recreate,Fail
+kms_flip@plain-flip-fb-recreate-interruptible,Fail
+kms_flip@plain-flip-ts-check,Fail
+kms_flip@plain-flip-ts-check-interruptible,Fail
+kms_flip@wf_vblank-ts-check,Fail
+kms_flip@wf_vblank-ts-check-interruptible,Fail
+kms_invalid_mode@int-max-clock,Fail
+kms_pipe_crc_basic@compare-crc-sanitycheck-nv12,Fail
+kms_pipe_crc_basic@compare-crc-sanitycheck-xr24,Fail
+kms_pipe_crc_basic@nonblocking-crc,Fail
+kms_pipe_crc_basic@nonblocking-crc-frame-sequence,Fail
+kms_pipe_crc_basic@read-crc,Fail
+kms_pipe_crc_basic@read-crc-frame-sequence,Fail
+kms_plane@pixel-format,Fail
+kms_plane@pixel-format-source-clamping,Fail
+kms_plane@plane-panning-bottom-right,Fail
+kms_plane@plane-panning-top-left,Fail
+kms_plane@plane-position-covered,Fail
+kms_plane@plane-position-hole,Fail
+kms_plane@plane-position-hole-dpms,Fail
+kms_rmfb@close-fd,Fail
+kms_setmode@basic,Fail
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-flakes.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-flakes.txt
new file mode 100644
index 000000000000..ac8badcb6e07
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-flakes.txt
@@ -0,0 +1,20 @@
+# Board Name: rk3399-gru-kevin.dtb
+# Bug Report: https://lore.kernel.org/dri-devel/[email protected]/T/#u
+# IGT Version: 1.28-gd2af13d9f
+# Failure Rate: 50
+# Linux Version: 6.7.0-rc3
+
+# Reported by deqp-runner
+kms_color@gamma
+kms_cursor_legacy@cursorA-vs-flipA-toggle
+kms_flip@dpms-vs-vblank-race
+kms_flip@dpms-vs-vblank-race-interruptible
+kms_flip@flip-vs-absolute-wf_vblank-interruptible
+kms_flip@flip-vs-wf_vblank-interruptible
+kms_flip@modeset-vs-vblank-race-interruptible
+kms_pipe_crc_basic@compare-crc-sanitycheck-xr24
+kms_setmode@basic
+
+# The below test shows inconsistency across multiple runs, giving
+# results of Pass and Crash alternately.
+kms_cursor_crc@cursor-rapid-movement-32x10
diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-skips.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-skips.txt
new file mode 100644
index 000000000000..cf5577b7720c
--- /dev/null
+++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-display-skips.txt
@@ -0,0 +1,6 @@
+# Suspend to RAM seems to be broken on this machine
+.*suspend.*
+
+# 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


2024-01-09 13:38:30

by Daniel Stone

[permalink] [raw]
Subject: Re: [PATCH v1 0/8] drm/ci: Add support for GPU and display testing

Hi,

On Wed, 20 Dec 2023 at 12:11, Vignesh Raman <[email protected]> wrote:
> Some ARM SOCs have a separate display controller and GPU, each with
> different drivers. For mediatek mt8173, the GPU driver is powervr,
> and the display driver is mediatek. In the case of mediatek mt8183,
> the GPU driver is panfrost, and the display driver is mediatek.
> With rockchip rk3288/rk3399, the GPU driver is panfrost, while the
> display driver is rockchip. For amlogic meson, the GPU driver is
> panfrost, and the display driver is meson.
>
> IGT tests run various tests with different xfails and can test both
> GPU devices and KMS/display devices. Currently, in drm-ci for MediaTek,
> Rockchip, and Amlogic Meson platforms, only the GPU driver is tested.
> This leads to incomplete coverage since the display is never tested on
> these platforms. This commit series adds support in drm-ci to run tests
> for both GPU and display drivers for MediaTek, Rockchip, and Amlogic
> Meson platforms.

Thanks a lot for these. The patches need to be squashed to be
bisectable though. For example, patch #2 changes the MTK job names and
adds more jobs, but the corresponding xfail updates only come in #7
and #8. This means we have a span of a few patches where we don't have
useful test results.

A better sequencing would be something like:
1. add ANX7625 config
2. refactor _existing_ MTK display jobs to use YAML includes, change
the existing job name, and rename the existing xfail set, remove
IGT_FORCE_DRIVER from the script since it's now set by the job
3. add MTK Panfrost+PVR GPU jobs with new xfails, add xfail entry to
MAINTAINERS
4+5: same as 2+3 but for Amlogic
6+7: same as 2+3 but for Rockchip

Then the separate rename/update xfail commits just disappear, as does
the removal of IGT_FORCE_DRIVER, because it's just done incrementally
as part of the commits which change the related functionality. It's
extremely important that every change can work standalone, instead of
introducing intermediate breakage which is only fixed in later commits
in the series.

Cheers,
Daniel

2024-01-10 10:47:54

by Vignesh Raman

[permalink] [raw]
Subject: Re: [PATCH v1 0/8] drm/ci: Add support for GPU and display testing

Hi Daniel,

On 09/01/24 19:08, Daniel Stone wrote:
> Hi,
>
> On Wed, 20 Dec 2023 at 12:11, Vignesh Raman <[email protected]> wrote:
>> Some ARM SOCs have a separate display controller and GPU, each with
>> different drivers. For mediatek mt8173, the GPU driver is powervr,
>> and the display driver is mediatek. In the case of mediatek mt8183,
>> the GPU driver is panfrost, and the display driver is mediatek.
>> With rockchip rk3288/rk3399, the GPU driver is panfrost, while the
>> display driver is rockchip. For amlogic meson, the GPU driver is
>> panfrost, and the display driver is meson.
>>
>> IGT tests run various tests with different xfails and can test both
>> GPU devices and KMS/display devices. Currently, in drm-ci for MediaTek,
>> Rockchip, and Amlogic Meson platforms, only the GPU driver is tested.
>> This leads to incomplete coverage since the display is never tested on
>> these platforms. This commit series adds support in drm-ci to run tests
>> for both GPU and display drivers for MediaTek, Rockchip, and Amlogic
>> Meson platforms.
>
> Thanks a lot for these. The patches need to be squashed to be
> bisectable though. For example, patch #2 changes the MTK job names and
> adds more jobs, but the corresponding xfail updates only come in #7
> and #8. This means we have a span of a few patches where we don't have
> useful test results.
>
> A better sequencing would be something like:
> 1. add ANX7625 config
> 2. refactor _existing_ MTK display jobs to use YAML includes, change
> the existing job name, and rename the existing xfail set, remove
> IGT_FORCE_DRIVER from the script since it's now set by the job
> 3. add MTK Panfrost+PVR GPU jobs with new xfails, add xfail entry to
> MAINTAINERS
> 4+5: same as 2+3 but for Amlogic
> 6+7: same as 2+3 but for Rockchip
>
> Then the separate rename/update xfail commits just disappear, as does
> the removal of IGT_FORCE_DRIVER, because it's just done incrementally
> as part of the commits which change the related functionality. It's
> extremely important that every change can work standalone, instead of
> introducing intermediate breakage which is only fixed in later commits
> in the series.

Thank you for reviewing the patches. I agree, will follow this sequence
and send a v2 version.

Regards,
Vignesh

2024-01-11 18:11:46

by Daniel Stone

[permalink] [raw]
Subject: Re: [PATCH v1 0/8] drm/ci: Add support for GPU and display testing

Hi Vignesh,

On Wed, 10 Jan 2024 at 10:47, Vignesh Raman <[email protected]> wrote:
> On 09/01/24 19:08, Daniel Stone wrote:
> > A better sequencing would be something like:
> > 1. add ANX7625 config
> > 2. refactor _existing_ MTK display jobs to use YAML includes, change
> > the existing job name, and rename the existing xfail set, remove
> > IGT_FORCE_DRIVER from the script since it's now set by the job
> > 3. add MTK Panfrost+PVR GPU jobs with new xfails, add xfail entry to
> > MAINTAINERS
> > 4+5: same as 2+3 but for Amlogic
> > 6+7: same as 2+3 but for Rockchip
> >
> > Then the separate rename/update xfail commits just disappear, as does
> > the removal of IGT_FORCE_DRIVER, because it's just done incrementally
> > as part of the commits which change the related functionality. It's
> > extremely important that every change can work standalone, instead of
> > introducing intermediate breakage which is only fixed in later commits
> > in the series.
>
> Thank you for reviewing the patches. I agree, will follow this sequence
> and send a v2 version.

Alongside Rob's patch to add msm-specific tests to the runlist, we'd
need to add the Panfrost-specific tests. Whilst we're here, we might
as well add the vc4/v3d/etnaviv/lima tests so they can use it in
future.

Panfrost should also skip kms_.* tests - since it's not a KMS driver,
it can't run the KMS tests, so there's no point in trying.

Cheers,
Daniel

2024-01-17 10:58:33

by Vignesh Raman

[permalink] [raw]
Subject: Re: [PATCH v1 0/8] drm/ci: Add support for GPU and display testing

Hi Daniel,

On 11/01/24 23:41, Daniel Stone wrote:
> Hi Vignesh,
>
> On Wed, 10 Jan 2024 at 10:47, Vignesh Raman <[email protected]> wrote:
>> On 09/01/24 19:08, Daniel Stone wrote:
>>> A better sequencing would be something like:
>>> 1. add ANX7625 config
>>> 2. refactor _existing_ MTK display jobs to use YAML includes, change
>>> the existing job name, and rename the existing xfail set, remove
>>> IGT_FORCE_DRIVER from the script since it's now set by the job
>>> 3. add MTK Panfrost+PVR GPU jobs with new xfails, add xfail entry to
>>> MAINTAINERS
>>> 4+5: same as 2+3 but for Amlogic
>>> 6+7: same as 2+3 but for Rockchip
>>>
>>> Then the separate rename/update xfail commits just disappear, as does
>>> the removal of IGT_FORCE_DRIVER, because it's just done incrementally
>>> as part of the commits which change the related functionality. It's
>>> extremely important that every change can work standalone, instead of
>>> introducing intermediate breakage which is only fixed in later commits
>>> in the series.
>>
>> Thank you for reviewing the patches. I agree, will follow this sequence
>> and send a v2 version.
>
> Alongside Rob's patch to add msm-specific tests to the runlist, we'd
> need to add the Panfrost-specific tests. Whilst we're here, we might
> as well add the vc4/v3d/etnaviv/lima tests so they can use it in
> future.
>
> Panfrost should also skip kms_.* tests - since it's not a KMS driver,
> it can't run the KMS tests, so there's no point in trying.

I will add these tests and update skips file. Sorry missed this before
sending v2. I'm rechecking the xfails for the v2 series and will send
v3 with these changes. Thanks.

Regards,
Vignesh