Re: [PATCH v11] drm: Add initial ci/ subdirectory

From: Daniel Vetter
Date: Tue Aug 22 2023 - 10:26:23 EST


On Fri, Aug 11, 2023 at 02:19:53PM -0300, Helen Koike wrote:
> From: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
>
> Developers can easily execute several tests on different devices
> by just pushing their branch to their fork in a repository hosted
> on gitlab.freedesktop.org which has an infrastructure to run jobs
> in several runners and farms with different devices.
>
> There are also other automated tools that uprev dependencies,
> monitor the infra, and so on that are already used by the Mesa
> project, and we can reuse them too.
>
> Also, store expectations about what the DRM drivers are supposed
> to pass in the IGT test suite. By storing the test expectations
> along with the code, we can make sure both stay in sync with each
> other so we can know when a code change breaks those expectations.
>
> Also, include a configuration file that points to the out-of-tree
> CI scripts.
>
> This will allow all contributors to drm to reuse the infrastructure
> already in gitlab.freedesktop.org to test the driver on several
> generations of the hardware.
>
> Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx>
> Signed-off-by: Helen Koike <helen.koike@xxxxxxxxxxxxx>
> Acked-by: Daniel Stone <daniels@xxxxxxxxxxxxx>
> Acked-by: Rob Clark <robdclark@xxxxxxxxx>
> Tested-by: Rob Clark <robdclark@xxxxxxxxx>

Ok I pushed this into a topic/drm-ci branch in drm.git and asked sfr to
include that branch in linux-next.

But also I'd like to see a lot more acks here, we should be able to at
least pile up a bunch of (driver) maintainers from drm-misc in support of
this. Also maybe media, at least I've heard noises that they're maybe
interested too? Plus anyone else, the more the better.

Cheers, Sima

> ---
>
> You can also see this patch on
> https://gitlab.freedesktop.org/helen.fornazier/linux/-/tree/drm-ci-tests
>
> Thanks!
>
> v2:
> - Fix names of result expectation files to match SoC
> - Don't execute tests that are going to skip on all boards
>
> v3:
> - Remove tracking of dmesg output during test execution
>
> v4:
> - Move up to drivers/gpu/drm
> - Add support for a bunch of other drivers
> - Explain how to incorporate fixes for CI from a
> ${TARGET_BRANCH}-external-fixes branch
> - Remove tests that pass from expected results file, to reduce the
> size of in-tree files
> - Add docs about how to deal with outages in automated testing labs
> - Specify the exact SHA of the CI scripts to be used
>
> v5:
> - Remove unneeded skips from Meson expectations file
> - Use a more advanced runner that detects flakes automatically
> - Use a more succint format for the expectations
> - Run many more tests (and use sharding to finish in time)
> - Use skip lists to avoid hanging machines
> - Add some build testing
> - Build IGT in each pipeline for faster uprevs
> - List failures in the GitLab UI
>
> v6:
> - Rebase on top of latest drm-next
> - Lower priority of LAVA jobs to not impact Mesa CI as much
> - Update docs
>
> v7:
> - Rebase on top of latest drm-next
>
> v8:
> - Move all files specific to testing the kernel into the kernel tree
> (thus I have dropped the r-bs I had collected so far)
> - Uprev Gitlab CI infrastructure scripts to the latest from Mesa
> - Add MAINTAINERS entry
> - Fix boot on MT8173 by adding some Kconfigs that are now needed
> - Link to the docs from index.rst and hard-wrap the file
>
> v9:
> - Only automatically run the pipelines for merge requests
> - Switch to zstd for the build artifacts to align with Mesa
> - Add Qcom USB PHYs to config as they are now =m in the defconfig
>
> v10:
> - Include ci yml files from mesa/mesa (where the development is
> current active) instead of a spin off project.
> - Uprev Gitlab CI infrastructure scripts to the latest from Mesa
> - Update MAINTAINERS entry
> - Uprev igt tool
> - add LAVA_JOB_PRIORITY: 30
> - pipeline example:
> https://gitlab.freedesktop.org/helen.fornazier/linux/-/pipelines/940506
>
> v11:
> - Fix dts paths
> - Update xfails
> - Remove meanless comment
> - Disable clang-format job
>
> ---
> Documentation/gpu/automated_testing.rst | 144 +
> Documentation/gpu/index.rst | 1 +
> MAINTAINERS | 8 +
> drivers/gpu/drm/ci/arm.config | 69 +
> drivers/gpu/drm/ci/arm64.config | 199 ++
> drivers/gpu/drm/ci/build-igt.sh | 35 +
> drivers/gpu/drm/ci/build.sh | 157 +
> drivers/gpu/drm/ci/build.yml | 110 +
> drivers/gpu/drm/ci/check-patch.py | 57 +
> drivers/gpu/drm/ci/container.yml | 65 +
> drivers/gpu/drm/ci/gitlab-ci.yml | 251 ++
> drivers/gpu/drm/ci/igt_runner.sh | 77 +
> drivers/gpu/drm/ci/image-tags.yml | 15 +
> drivers/gpu/drm/ci/lava-submit.sh | 57 +
> drivers/gpu/drm/ci/static-checks.yml | 12 +
> drivers/gpu/drm/ci/test.yml | 335 ++
> drivers/gpu/drm/ci/testlist.txt | 2912 +++++++++++++++++
> drivers/gpu/drm/ci/x86_64.config | 111 +
> .../gpu/drm/ci/xfails/amdgpu-stoney-fails.txt | 19 +
> .../drm/ci/xfails/amdgpu-stoney-flakes.txt | 21 +
> .../gpu/drm/ci/xfails/amdgpu-stoney-skips.txt | 2 +
> drivers/gpu/drm/ci/xfails/i915-amly-fails.txt | 17 +
> .../gpu/drm/ci/xfails/i915-amly-flakes.txt | 32 +
> drivers/gpu/drm/ci/xfails/i915-amly-skips.txt | 4 +
> drivers/gpu/drm/ci/xfails/i915-apl-fails.txt | 58 +
> drivers/gpu/drm/ci/xfails/i915-apl-flakes.txt | 1 +
> drivers/gpu/drm/ci/xfails/i915-apl-skips.txt | 6 +
> drivers/gpu/drm/ci/xfails/i915-cml-fails.txt | 18 +
> drivers/gpu/drm/ci/xfails/i915-cml-flakes.txt | 38 +
> drivers/gpu/drm/ci/xfails/i915-cml-skips.txt | 2 +
> drivers/gpu/drm/ci/xfails/i915-glk-fails.txt | 19 +
> drivers/gpu/drm/ci/xfails/i915-glk-flakes.txt | 41 +
> drivers/gpu/drm/ci/xfails/i915-glk-skips.txt | 5 +
> drivers/gpu/drm/ci/xfails/i915-kbl-fails.txt | 25 +
> drivers/gpu/drm/ci/xfails/i915-kbl-flakes.txt | 26 +
> drivers/gpu/drm/ci/xfails/i915-kbl-skips.txt | 5 +
> drivers/gpu/drm/ci/xfails/i915-tgl-fails.txt | 37 +
> drivers/gpu/drm/ci/xfails/i915-tgl-flakes.txt | 5 +
> drivers/gpu/drm/ci/xfails/i915-tgl-skips.txt | 11 +
> drivers/gpu/drm/ci/xfails/i915-whl-fails.txt | 48 +
> drivers/gpu/drm/ci/xfails/i915-whl-flakes.txt | 1 +
> drivers/gpu/drm/ci/xfails/i915-whl-skips.txt | 2 +
> .../drm/ci/xfails/mediatek-mt8173-fails.txt | 29 +
> .../drm/ci/xfails/mediatek-mt8173-flakes.txt | 0
> .../drm/ci/xfails/mediatek-mt8183-fails.txt | 10 +
> .../drm/ci/xfails/mediatek-mt8183-flakes.txt | 14 +
> .../gpu/drm/ci/xfails/meson-g12b-fails.txt | 12 +
> .../gpu/drm/ci/xfails/meson-g12b-flakes.txt | 4 +
> .../gpu/drm/ci/xfails/msm-apq8016-fails.txt | 15 +
> .../gpu/drm/ci/xfails/msm-apq8016-flakes.txt | 4 +
> .../gpu/drm/ci/xfails/msm-apq8096-fails.txt | 2 +
> .../gpu/drm/ci/xfails/msm-apq8096-flakes.txt | 4 +
> .../gpu/drm/ci/xfails/msm-apq8096-skips.txt | 2 +
> .../gpu/drm/ci/xfails/msm-sc7180-fails.txt | 25 +
> .../gpu/drm/ci/xfails/msm-sc7180-flakes.txt | 7 +
> .../gpu/drm/ci/xfails/msm-sc7180-skips.txt | 23 +
> .../gpu/drm/ci/xfails/msm-sdm845-fails.txt | 68 +
> .../gpu/drm/ci/xfails/msm-sdm845-flakes.txt | 11 +
> .../gpu/drm/ci/xfails/msm-sdm845-skips.txt | 2 +
> .../drm/ci/xfails/rockchip-rk3288-fails.txt | 48 +
> .../drm/ci/xfails/rockchip-rk3288-flakes.txt | 9 +
> .../drm/ci/xfails/rockchip-rk3288-skips.txt | 52 +
> .../drm/ci/xfails/rockchip-rk3399-fails.txt | 37 +
> .../drm/ci/xfails/rockchip-rk3399-flakes.txt | 23 +
> .../drm/ci/xfails/rockchip-rk3399-skips.txt | 5 +
> .../drm/ci/xfails/virtio_gpu-none-fails.txt | 38 +
> .../drm/ci/xfails/virtio_gpu-none-flakes.txt | 0
> .../drm/ci/xfails/virtio_gpu-none-skips.txt | 6 +
> test | 0
> 69 files changed, 5508 insertions(+)
> create mode 100644 Documentation/gpu/automated_testing.rst
> create mode 100644 drivers/gpu/drm/ci/arm.config
> create mode 100644 drivers/gpu/drm/ci/arm64.config
> create mode 100644 drivers/gpu/drm/ci/build-igt.sh
> create mode 100644 drivers/gpu/drm/ci/build.sh
> create mode 100644 drivers/gpu/drm/ci/build.yml
> create mode 100755 drivers/gpu/drm/ci/check-patch.py
> create mode 100644 drivers/gpu/drm/ci/container.yml
> create mode 100644 drivers/gpu/drm/ci/gitlab-ci.yml
> create mode 100755 drivers/gpu/drm/ci/igt_runner.sh
> create mode 100644 drivers/gpu/drm/ci/image-tags.yml
> create mode 100755 drivers/gpu/drm/ci/lava-submit.sh
> create mode 100644 drivers/gpu/drm/ci/static-checks.yml
> create mode 100644 drivers/gpu/drm/ci/test.yml
> create mode 100644 drivers/gpu/drm/ci/testlist.txt
> create mode 100644 drivers/gpu/drm/ci/x86_64.config
> create mode 100644 drivers/gpu/drm/ci/xfails/amdgpu-stoney-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/amdgpu-stoney-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/amdgpu-stoney-skips.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-amly-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-amly-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-amly-skips.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-apl-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-apl-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-apl-skips.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-cml-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-cml-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-cml-skips.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-glk-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-glk-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-glk-skips.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-kbl-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-kbl-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-kbl-skips.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-tgl-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-tgl-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-tgl-skips.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-whl-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-whl-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/i915-whl-skips.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/mediatek-mt8173-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/mediatek-mt8173-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/mediatek-mt8183-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/mediatek-mt8183-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/meson-g12b-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/meson-g12b-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/msm-apq8016-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/msm-apq8016-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/msm-apq8096-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/msm-apq8096-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/msm-apq8096-skips.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/msm-sc7180-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/msm-sc7180-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/msm-sc7180-skips.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/msm-sdm845-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/msm-sdm845-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/msm-sdm845-skips.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3288-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3288-skips.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3399-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/rockchip-rk3399-skips.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/virtio_gpu-none-fails.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/virtio_gpu-none-flakes.txt
> create mode 100644 drivers/gpu/drm/ci/xfails/virtio_gpu-none-skips.txt
> create mode 100644 test
>
> diff --git a/Documentation/gpu/automated_testing.rst b/Documentation/gpu/automated_testing.rst
> new file mode 100644
> index 000000000000..1b87b802ac7f
> --- /dev/null
> +++ b/Documentation/gpu/automated_testing.rst
> @@ -0,0 +1,144 @@
> +.. SPDX-License-Identifier: GPL-2.0+
> +
> +=========================================
> +Automated testing of the DRM subsystem
> +=========================================
> +
> +Introduction
> +============
> +
> +Making sure that changes to the core or drivers don't introduce regressions can
> +be very time-consuming when lots of different hardware configurations need to
> +be tested. Moreover, it isn't practical for each person interested in this
> +testing to have to acquire and maintain what can be a considerable amount of
> +hardware.
> +
> +Also, it is desirable for developers to check for regressions in their code by
> +themselves, instead of relying on the maintainers to find them and then
> +reporting back.
> +
> +There are facilities in gitlab.freedesktop.org to automatically test Mesa that
> +can be used as well for testing the DRM subsystem. This document explains how
> +people interested in testing it can use this shared infrastructure to save
> +quite some time and effort.
> +
> +
> +Relevant files
> +==============
> +
> +drivers/gpu/drm/ci/gitlab-ci.yml
> +--------------------------------
> +
> +This is the root configuration file for GitLab CI. Among other less interesting
> +bits, it specifies the specific version of the scripts to be used. There are
> +some variables that can be modified to change the behavior of the pipeline:
> +
> +DRM_CI_PROJECT_PATH
> + Repository that contains the Mesa software infrastructure for CI
> +
> +DRM_CI_COMMIT_SHA
> + A particular revision to use from that repository
> +
> +UPSTREAM_REPO
> + URL to git repository containing the target branch
> +
> +TARGET_BRANCH
> + Branch to which this branch is to be merged into
> +
> +IGT_VERSION
> + Revision of igt-gpu-tools being used, from
> + https://gitlab.freedesktop.org/drm/igt-gpu-tools
> +
> +drivers/gpu/drm/ci/testlist.txt
> +-------------------------------
> +
> +IGT tests to be run on all drivers (unless mentioned in a driver's *-skips.txt
> +file, see below).
> +
> +drivers/gpu/drm/ci/${DRIVER_NAME}-${HW_REVISION}-fails.txt
> +----------------------------------------------------------
> +
> +Lists the known failures for a given driver on a specific hardware revision.
> +
> +drivers/gpu/drm/ci/${DRIVER_NAME}-${HW_REVISION}-flakes.txt
> +-----------------------------------------------------------
> +
> +Lists the tests that for a given driver on a specific hardware revision are
> +known to behave unreliably. These tests won't cause a job to fail regardless of
> +the result. They will still be run.
> +
> +drivers/gpu/drm/ci/${DRIVER_NAME}-${HW_REVISION}-skips.txt
> +-----------------------------------------------------------
> +
> +Lists the tests that won't be run for a given driver on a specific hardware
> +revision. These are usually tests that interfere with the running of the test
> +list due to hanging the machine, causing OOM, taking too long, etc.
> +
> +
> +How to enable automated testing on your tree
> +============================================
> +
> +1. Create a Linux tree in https://gitlab.freedesktop.org/ if you don't have one
> +yet
> +
> +2. In your kernel repo's configuration (eg.
> +https://gitlab.freedesktop.org/janedoe/linux/-/settings/ci_cd), change the
> +CI/CD configuration file from .gitlab-ci.yml to
> +drivers/gpu/drm/ci/gitlab-ci.yml.
> +
> +3. Next time you push to this repository, you will see a CI pipeline being
> +created (eg. https://gitlab.freedesktop.org/janedoe/linux/-/pipelines)
> +
> +4. The various jobs will be run and when the pipeline is finished, all jobs
> +should be green unless a regression has been found.
> +
> +
> +How to update test expectations
> +===============================
> +
> +If your changes to the code fix any tests, you will have to remove one or more
> +lines from one or more of the files in
> +drivers/gpu/drm/ci/${DRIVER_NAME}_*_fails.txt, for each of the test platforms
> +affected by the change.
> +
> +
> +How to expand coverage
> +======================
> +
> +If your code changes make it possible to run more tests (by solving reliability
> +issues, for example), you can remove tests from the flakes and/or skips lists,
> +and then the expected results if there are any known failures.
> +
> +If there is a need for updating the version of IGT being used (maybe you have
> +added more tests to it), update the IGT_VERSION variable at the top of the
> +gitlab-ci.yml file.
> +
> +
> +How to test your changes to the scripts
> +=======================================
> +
> +For testing changes to the scripts in the drm-ci repo, change the
> +DRM_CI_PROJECT_PATH and DRM_CI_COMMIT_SHA variables in
> +drivers/gpu/drm/ci/gitlab-ci.yml to match your fork of the project (eg.
> +janedoe/drm-ci). This fork needs to be in https://gitlab.freedesktop.org/.
> +
> +
> +How to incorporate external fixes in your testing
> +=================================================
> +
> +Often, regressions in other trees will prevent testing changes local to the
> +tree under test. These fixes will be automatically merged in during the build
> +jobs from a branch in the target tree that is named as
> +${TARGET_BRANCH}-external-fixes.
> +
> +If the pipeline is not in a merge request and a branch with the same name
> +exists in the local tree, commits from that branch will be merged in as well.
> +
> +
> +How to deal with automated testing labs that may be down
> +========================================================
> +
> +If a hardware farm is down and thus causing pipelines to fail that would
> +otherwise pass, one can disable all jobs that would be submitted to that farm
> +by editing the file at
> +https://gitlab.freedesktop.org/gfx-ci/lab-status/-/blob/main/lab-status.yml.
> diff --git a/Documentation/gpu/index.rst b/Documentation/gpu/index.rst
> index eee5996acf2c..e45ff0915246 100644
> --- a/Documentation/gpu/index.rst
> +++ b/Documentation/gpu/index.rst
> @@ -17,6 +17,7 @@ GPU Driver Developer's Guide
> backlight
> vga-switcheroo
> vgaarbiter
> + automated_testing
> todo
> rfc/index
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index cd882b87a3c6..d6f163ec7b31 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -7131,6 +7131,14 @@ T: git git://anongit.freedesktop.org/drm/drm-misc
> F: drivers/gpu/drm/ttm/
> F: include/drm/ttm/
>
> +DRM AUTOMATED TESTING
> +M: Helen Koike <helen.koike@xxxxxxxxxxxxx>
> +L: dri-devel@xxxxxxxxxxxxxxxxxxxxx
> +S: Maintained
> +T: git git://anongit.freedesktop.org/drm/drm-misc
> +F: Documentation/gpu/automated_testing.rst
> +F: drivers/gpu/drm/ci/
> +
> DSBR100 USB FM RADIO DRIVER
> M: Alexey Klimov <klimov.linux@xxxxxxxxx>
> L: linux-media@xxxxxxxxxxxxxxx
> diff --git a/drivers/gpu/drm/ci/arm.config b/drivers/gpu/drm/ci/arm.config
> new file mode 100644
> index 000000000000..871f4de063ad
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/arm.config
> @@ -0,0 +1,69 @@
> +CONFIG_LOCALVERSION_AUTO=y
> +CONFIG_DEBUG_KERNEL=y
> +
> +CONFIG_CRYPTO_ZSTD=y
> +CONFIG_ZRAM_MEMORY_TRACKING=y
> +CONFIG_ZRAM_WRITEBACK=y
> +CONFIG_ZRAM=y
> +CONFIG_ZSMALLOC_STAT=y
> +
> +# abootimg with a 'dummy' rootfs fails with root=/dev/nfs
> +CONFIG_BLK_DEV_INITRD=n
> +
> +CONFIG_DEVFREQ_GOV_PERFORMANCE=y
> +CONFIG_DEVFREQ_GOV_POWERSAVE=y
> +CONFIG_DEVFREQ_GOV_USERSPACE=y
> +CONFIG_DEVFREQ_GOV_PASSIVE=y
> +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
> +
> +CONFIG_DRM=y
> +CONFIG_DRM_ETNAVIV=y
> +CONFIG_DRM_ROCKCHIP=y
> +CONFIG_DRM_PANFROST=y
> +CONFIG_DRM_LIMA=y
> +CONFIG_DRM_PANEL_SIMPLE=y
> +CONFIG_PWM_CROS_EC=y
> +CONFIG_BACKLIGHT_PWM=y
> +
> +CONFIG_ROCKCHIP_CDN_DP=n
> +
> +CONFIG_SPI_ROCKCHIP=y
> +CONFIG_PWM_ROCKCHIP=y
> +CONFIG_PHY_ROCKCHIP_DP=y
> +CONFIG_DWMAC_ROCKCHIP=y
> +
> +CONFIG_MFD_RK808=y
> +CONFIG_REGULATOR_RK808=y
> +CONFIG_RTC_DRV_RK808=y
> +CONFIG_COMMON_CLK_RK808=y
> +
> +CONFIG_REGULATOR_FAN53555=y
> +CONFIG_REGULATOR=y
> +
> +CONFIG_REGULATOR_VCTRL=y
> +
> +CONFIG_KASAN=n
> +CONFIG_KASAN_INLINE=n
> +CONFIG_STACKTRACE=n
> +
> +CONFIG_TMPFS=y
> +
> +CONFIG_PROVE_LOCKING=n
> +CONFIG_DEBUG_LOCKDEP=n
> +CONFIG_SOFTLOCKUP_DETECTOR=n
> +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=n
> +
> +CONFIG_FW_LOADER_COMPRESS=y
> +
> +CONFIG_USB_USBNET=y
> +CONFIG_NETDEVICES=y
> +CONFIG_USB_NET_DRIVERS=y
> +CONFIG_USB_RTL8152=y
> +CONFIG_USB_NET_AX8817X=y
> +CONFIG_USB_NET_SMSC95XX=y
> +
> +# TK1
> +CONFIG_ARM_TEGRA_DEVFREQ=y
> +
> +# 32-bit build failure
> +CONFIG_DRM_MSM=n
> diff --git a/drivers/gpu/drm/ci/arm64.config b/drivers/gpu/drm/ci/arm64.config
> new file mode 100644
> index 000000000000..817e18ddfd4f
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/arm64.config
> @@ -0,0 +1,199 @@
> +CONFIG_LOCALVERSION_AUTO=y
> +CONFIG_DEBUG_KERNEL=y
> +
> +CONFIG_CRYPTO_ZSTD=y
> +CONFIG_ZRAM_MEMORY_TRACKING=y
> +CONFIG_ZRAM_WRITEBACK=y
> +CONFIG_ZRAM=y
> +CONFIG_ZSMALLOC_STAT=y
> +
> +# abootimg with a 'dummy' rootfs fails with root=/dev/nfs
> +CONFIG_BLK_DEV_INITRD=n
> +
> +CONFIG_DEVFREQ_GOV_PERFORMANCE=y
> +CONFIG_DEVFREQ_GOV_POWERSAVE=y
> +CONFIG_DEVFREQ_GOV_USERSPACE=y
> +CONFIG_DEVFREQ_GOV_PASSIVE=y
> +
> +CONFIG_DRM=y
> +CONFIG_DRM_ROCKCHIP=y
> +CONFIG_DRM_PANFROST=y
> +CONFIG_DRM_LIMA=y
> +CONFIG_DRM_PANEL_SIMPLE=y
> +CONFIG_DRM_PANEL_EDP=y
> +CONFIG_DRM_MSM=y
> +CONFIG_DRM_ETNAVIV=y
> +CONFIG_DRM_I2C_ADV7511=y
> +CONFIG_PWM_CROS_EC=y
> +CONFIG_BACKLIGHT_PWM=y
> +
> +CONFIG_ROCKCHIP_CDN_DP=n
> +
> +CONFIG_SPI_ROCKCHIP=y
> +CONFIG_PWM_ROCKCHIP=y
> +CONFIG_PHY_ROCKCHIP_DP=y
> +CONFIG_DWMAC_ROCKCHIP=y
> +CONFIG_STMMAC_ETH=y
> +CONFIG_TYPEC_FUSB302=y
> +CONFIG_TYPEC=y
> +CONFIG_TYPEC_TCPM=y
> +
> +# MSM platform bits
> +
> +# For CONFIG_QCOM_LMH
> +CONFIG_OF=y
> +
> +CONFIG_ARM_SMMU_QCOM=y
> +CONFIG_QCOM_COMMAND_DB=y
> +CONFIG_QCOM_RPMHPD=y
> +CONFIG_QCOM_RPMPD=y
> +CONFIG_QCOM_OCMEM=y
> +CONFIG_SDM_GPUCC_845=y
> +CONFIG_SDM_VIDEOCC_845=y
> +CONFIG_SDM_DISPCC_845=y
> +CONFIG_SDM_LPASSCC_845=y
> +CONFIG_SDM_CAMCC_845=y
> +CONFIG_RESET_QCOM_PDC=y
> +CONFIG_DRM_TI_SN65DSI86=y
> +CONFIG_I2C_QCOM_GENI=y
> +CONFIG_SPI_QCOM_GENI=y
> +CONFIG_PHY_QCOM_QUSB2=y
> +CONFIG_PHY_QCOM_QMP=y
> +CONFIG_MSM_GCC_8996=y
> +CONFIG_QCOM_CLK_APCC_MSM8996=y
> +CONFIG_QCOM_LLCC=y
> +CONFIG_QCOM_LMH=y
> +CONFIG_QCOM_SPMI_TEMP_ALARM=y
> +CONFIG_QCOM_WDT=y
> +CONFIG_POWER_RESET_QCOM_PON=y
> +CONFIG_RTC_DRV_PM8XXX=y
> +CONFIG_INTERCONNECT=y
> +CONFIG_INTERCONNECT_QCOM=y
> +CONFIG_INTERCONNECT_QCOM_MSM8996=y
> +CONFIG_INTERCONNECT_QCOM_SDM845=y
> +CONFIG_INTERCONNECT_QCOM_MSM8916=y
> +CONFIG_INTERCONNECT_QCOM_MSM8996=y
> +CONFIG_INTERCONNECT_QCOM_OSM_L3=y
> +CONFIG_INTERCONNECT_QCOM_SC7180=y
> +CONFIG_INTERCONNECT_QCOM_SM8350=y
> +CONFIG_CRYPTO_DEV_QCOM_RNG=y
> +CONFIG_SC_DISPCC_7180=y
> +CONFIG_SC_GPUCC_7180=y
> +CONFIG_SM_GPUCC_8350=y
> +CONFIG_QCOM_SPMI_ADC5=y
> +CONFIG_DRM_PARADE_PS8640=y
> +CONFIG_DRM_LONTIUM_LT9611UXC=y
> +CONFIG_PHY_QCOM_USB_HS=y
> +CONFIG_QCOM_GPI_DMA=y
> +CONFIG_USB_ONBOARD_HUB=y
> +CONFIG_NVMEM_QCOM_QFPROM=y
> +CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=y
> +
> +
> +# db410c ethernet
> +CONFIG_USB_RTL8152=y
> +# db820c ethernet
> +CONFIG_ATL1C=y
> +# Chromebooks ethernet
> +CONFIG_USB_ONBOARD_HUB=y
> +# 888 HDK ethernet
> +CONFIG_USB_LAN78XX=y
> +
> +CONFIG_ARCH_ALPINE=n
> +CONFIG_ARCH_BCM2835=y
> +CONFIG_ARCH_BCM_IPROC=n
> +CONFIG_ARCH_BERLIN=n
> +CONFIG_ARCH_BRCMSTB=n
> +CONFIG_ARCH_EXYNOS=n
> +CONFIG_ARCH_K3=n
> +CONFIG_ARCH_LAYERSCAPE=n
> +CONFIG_ARCH_LG1K=n
> +CONFIG_ARCH_HISI=n
> +CONFIG_ARCH_MVEBU=n
> +CONFIG_ARCH_SEATTLE=n
> +CONFIG_ARCH_SYNQUACER=n
> +CONFIG_ARCH_RENESAS=n
> +CONFIG_ARCH_R8A774A1=n
> +CONFIG_ARCH_R8A774C0=n
> +CONFIG_ARCH_R8A7795=n
> +CONFIG_ARCH_R8A7796=n
> +CONFIG_ARCH_R8A77965=n
> +CONFIG_ARCH_R8A77970=n
> +CONFIG_ARCH_R8A77980=n
> +CONFIG_ARCH_R8A77990=n
> +CONFIG_ARCH_R8A77995=n
> +CONFIG_ARCH_STRATIX10=n
> +CONFIG_ARCH_TEGRA=n
> +CONFIG_ARCH_SPRD=n
> +CONFIG_ARCH_THUNDER=n
> +CONFIG_ARCH_THUNDER2=n
> +CONFIG_ARCH_UNIPHIER=n
> +CONFIG_ARCH_VEXPRESS=n
> +CONFIG_ARCH_XGENE=n
> +CONFIG_ARCH_ZX=n
> +CONFIG_ARCH_ZYNQMP=n
> +
> +# Strip out some stuff we don't need for graphics testing, to reduce
> +# the build.
> +CONFIG_CAN=n
> +CONFIG_WIRELESS=n
> +CONFIG_RFKILL=n
> +CONFIG_WLAN=n
> +
> +CONFIG_REGULATOR_FAN53555=y
> +CONFIG_REGULATOR=y
> +
> +CONFIG_REGULATOR_VCTRL=y
> +
> +CONFIG_KASAN=n
> +CONFIG_KASAN_INLINE=n
> +CONFIG_STACKTRACE=n
> +
> +CONFIG_TMPFS=y
> +
> +CONFIG_PROVE_LOCKING=n
> +CONFIG_DEBUG_LOCKDEP=n
> +CONFIG_SOFTLOCKUP_DETECTOR=y
> +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
> +
> +CONFIG_DETECT_HUNG_TASK=y
> +
> +CONFIG_FW_LOADER_COMPRESS=y
> +CONFIG_FW_LOADER_USER_HELPER=n
> +
> +CONFIG_USB_USBNET=y
> +CONFIG_NETDEVICES=y
> +CONFIG_USB_NET_DRIVERS=y
> +CONFIG_USB_RTL8152=y
> +CONFIG_USB_NET_AX8817X=y
> +CONFIG_USB_NET_SMSC95XX=y
> +
> +# For amlogic
> +CONFIG_MESON_GXL_PHY=y
> +CONFIG_MDIO_BUS_MUX_MESON_G12A=y
> +CONFIG_DRM_MESON=y
> +
> +# For Mediatek
> +CONFIG_DRM_MEDIATEK=y
> +CONFIG_PWM_MEDIATEK=y
> +CONFIG_DRM_MEDIATEK_HDMI=y
> +CONFIG_GNSS=y
> +CONFIG_GNSS_MTK_SERIAL=y
> +CONFIG_HW_RANDOM=y
> +CONFIG_HW_RANDOM_MTK=y
> +CONFIG_MTK_DEVAPC=y
> +CONFIG_PWM_MTK_DISP=y
> +CONFIG_MTK_CMDQ=y
> +
> +# For nouveau. Note that DRM must be a module so that it's loaded after NFS is up to provide the firmware.
> +CONFIG_ARCH_TEGRA=y
> +CONFIG_DRM_NOUVEAU=m
> +CONFIG_DRM_TEGRA=m
> +CONFIG_R8169=y
> +CONFIG_STAGING=y
> +CONFIG_DRM_TEGRA_STAGING=y
> +CONFIG_TEGRA_HOST1X=y
> +CONFIG_ARM_TEGRA_DEVFREQ=y
> +CONFIG_TEGRA_SOCTHERM=y
> +CONFIG_DRM_TEGRA_DEBUG=y
> +CONFIG_PWM_TEGRA=y
> diff --git a/drivers/gpu/drm/ci/build-igt.sh b/drivers/gpu/drm/ci/build-igt.sh
> new file mode 100644
> index 000000000000..500fa4f5c30a
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/build-igt.sh
> @@ -0,0 +1,35 @@
> +#!/bin/bash
> +# SPDX-License-Identifier: MIT
> +
> +set -ex
> +
> +git clone https://gitlab.freedesktop.org/drm/igt-gpu-tools.git --single-branch --no-checkout
> +cd igt-gpu-tools
> +git checkout $IGT_VERSION
> +
> +if [[ "$KERNEL_ARCH" = "arm" ]]; then
> + . ../.gitlab-ci/container/create-cross-file.sh armhf
> + EXTRA_MESON_ARGS="--cross-file /cross_file-armhf.txt"
> +fi
> +
> +MESON_OPTIONS="-Doverlay=disabled \
> + -Dchamelium=disabled \
> + -Dvalgrind=disabled \
> + -Dman=enabled \
> + -Dtests=enabled \
> + -Drunner=enabled \
> + -Dlibunwind=enabled \
> + -Dprefix=/igt"
> +
> +mkdir -p /igt
> +meson build $MESON_OPTIONS $EXTRA_MESON_ARGS
> +ninja -C build -j${FDO_CI_CONCURRENT:-4} || ninja -C build -j 1
> +ninja -C build install
> +
> +mkdir -p artifacts/
> +tar -cf artifacts/igt.tar /igt
> +
> +# Pass needed files to the test stage
> +S3_ARTIFACT_NAME="igt.tar.gz"
> +gzip -c artifacts/igt.tar > ${S3_ARTIFACT_NAME}
> +ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" ${S3_ARTIFACT_NAME} https://${PIPELINE_ARTIFACTS_BASE}/${KERNEL_ARCH}/${S3_ARTIFACT_NAME}
> diff --git a/drivers/gpu/drm/ci/build.sh b/drivers/gpu/drm/ci/build.sh
> new file mode 100644
> index 000000000000..7b014287a041
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/build.sh
> @@ -0,0 +1,157 @@
> +#!/bin/bash
> +# SPDX-License-Identifier: MIT
> +
> +set -ex
> +
> +# Clean up stale rebases that GitLab might not have removed when reusing a checkout dir
> +rm -rf .git/rebase-apply
> +
> +. .gitlab-ci/container/container_pre_build.sh
> +
> +# libssl-dev was uninstalled because it was considered an ephemeral package
> +apt-get update
> +apt-get install -y libssl-dev
> +
> +if [[ "$KERNEL_ARCH" = "arm64" ]]; then
> + GCC_ARCH="aarch64-linux-gnu"
> + DEBIAN_ARCH="arm64"
> + DEVICE_TREES="arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dtb"
> + DEVICE_TREES+=" arch/arm64/boot/dts/amlogic/meson-gxl-s805x-libretech-ac.dtb"
> + DEVICE_TREES+=" arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dtb"
> + DEVICE_TREES+=" arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dtb"
> + DEVICE_TREES+=" arch/arm64/boot/dts/qcom/apq8016-sbc.dtb"
> + DEVICE_TREES+=" arch/arm64/boot/dts/qcom/apq8096-db820c.dtb"
> + DEVICE_TREES+=" arch/arm64/boot/dts/amlogic/meson-g12b-a311d-khadas-vim3.dtb"
> + DEVICE_TREES+=" arch/arm64/boot/dts/mediatek/mt8173-elm-hana.dtb"
> + DEVICE_TREES+=" arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-juniper-sku16.dtb"
> + DEVICE_TREES+=" arch/arm64/boot/dts/mediatek/mt8192-asurada-spherion-r0.dtb"
> + DEVICE_TREES+=" arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor-limozeen-nots-r5.dtb"
> +elif [[ "$KERNEL_ARCH" = "arm" ]]; then
> + GCC_ARCH="arm-linux-gnueabihf"
> + DEBIAN_ARCH="armhf"
> + DEVICE_TREES="arch/arm/boot/dts/rockchip/rk3288-veyron-jaq.dtb"
> + DEVICE_TREES+=" arch/arm/boot/dts/allwinner/sun8i-h3-libretech-all-h3-cc.dtb"
> + DEVICE_TREES+=" arch/arm/boot/dts/nxp/imx/imx6q-cubox-i.dtb"
> + apt-get install -y libssl-dev:armhf
> +else
> + GCC_ARCH="x86_64-linux-gnu"
> + DEBIAN_ARCH="x86_64"
> + DEVICE_TREES=""
> +fi
> +
> +export ARCH=${KERNEL_ARCH}
> +export CROSS_COMPILE="${GCC_ARCH}-"
> +
> +# The kernel doesn't like the gold linker (or the old lld in our debians).
> +# Sneak in some override symlinks during kernel build until we can update
> +# debian.
> +mkdir -p ld-links
> +for i in /usr/bin/*-ld /usr/bin/ld; do
> + i=$(basename $i)
> + ln -sf /usr/bin/$i.bfd ld-links/$i
> +done
> +
> +NEWPATH=$(pwd)/ld-links
> +export PATH=$NEWPATH:$PATH
> +
> +git config --global user.email "fdo@xxxxxxxxxxx"
> +git config --global user.name "freedesktop.org CI"
> +git config --global pull.rebase true
> +
> +# Try to merge fixes from target repo
> +if [ "$(git ls-remote --exit-code --heads ${UPSTREAM_REPO} ${TARGET_BRANCH}-external-fixes)" ]; then
> + git pull ${UPSTREAM_REPO} ${TARGET_BRANCH}-external-fixes
> +fi
> +
> +# Try to merge fixes from local repo if this isn't a merge request
> +if [ -z "$CI_MERGE_REQUEST_PROJECT_PATH" ]; then
> + if [ "$(git ls-remote --exit-code --heads origin ${TARGET_BRANCH}-external-fixes)" ]; then
> + git pull origin ${TARGET_BRANCH}-external-fixes
> + fi
> +fi
> +
> +for opt in $ENABLE_KCONFIGS; do
> + echo CONFIG_$opt=y >> drivers/gpu/drm/ci/${KERNEL_ARCH}.config
> +done
> +for opt in $DISABLE_KCONFIGS; do
> + echo CONFIG_$opt=n >> drivers/gpu/drm/ci/${KERNEL_ARCH}.config
> +done
> +
> +if [[ -n "${MERGE_FRAGMENT}" ]]; then
> + ./scripts/kconfig/merge_config.sh ${DEFCONFIG} drivers/gpu/drm/ci/${MERGE_FRAGMENT}
> +else
> + make `basename ${DEFCONFIG}`
> +fi
> +
> +make ${KERNEL_IMAGE_NAME}
> +
> +mkdir -p /lava-files/
> +for image in ${KERNEL_IMAGE_NAME}; do
> + cp arch/${KERNEL_ARCH}/boot/${image} /lava-files/.
> +done
> +
> +if [[ -n ${DEVICE_TREES} ]]; then
> + make dtbs
> + cp ${DEVICE_TREES} /lava-files/.
> +fi
> +
> +make modules
> +mkdir -p install/modules/
> +INSTALL_MOD_PATH=install/modules/ make modules_install
> +
> +if [[ ${DEBIAN_ARCH} = "arm64" ]]; then
> + make Image.lzma
> + mkimage \
> + -f auto \
> + -A arm \
> + -O linux \
> + -d arch/arm64/boot/Image.lzma \
> + -C lzma\
> + -b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \
> + /lava-files/cheza-kernel
> + KERNEL_IMAGE_NAME+=" cheza-kernel"
> +
> + # Make a gzipped copy of the Image for db410c.
> + gzip -k /lava-files/Image
> + KERNEL_IMAGE_NAME+=" Image.gz"
> +fi
> +
> +# Pass needed files to the test stage
> +mkdir -p install
> +cp -rfv .gitlab-ci/* install/.
> +cp -rfv install/common install/ci-common
> +cp -rfv drivers/gpu/drm/ci/* install/.
> +
> +. .gitlab-ci/container/container_post_build.sh
> +
> +if [[ "$UPLOAD_TO_MINIO" = "1" ]]; then
> + xz -7 -c -T${FDO_CI_CONCURRENT:-4} vmlinux > /lava-files/vmlinux.xz
> + FILES_TO_UPLOAD="$KERNEL_IMAGE_NAME vmlinux.xz"
> +
> + if [[ -n $DEVICE_TREES ]]; then
> + FILES_TO_UPLOAD="$FILES_TO_UPLOAD $(basename -a $DEVICE_TREES)"
> + fi
> +
> + for f in $FILES_TO_UPLOAD; do
> + ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" /lava-files/$f \
> + https://${PIPELINE_ARTIFACTS_BASE}/${DEBIAN_ARCH}/$f
> + done
> +
> + S3_ARTIFACT_NAME="kernel-files.tar.zst"
> + tar --zstd -cf $S3_ARTIFACT_NAME install
> + ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" ${S3_ARTIFACT_NAME} https://${PIPELINE_ARTIFACTS_BASE}/${DEBIAN_ARCH}/${S3_ARTIFACT_NAME}
> +
> + echo "Download vmlinux.xz from https://${PIPELINE_ARTIFACTS_BASE}/${DEBIAN_ARCH}/vmlinux.xz";
> +fi
> +
> +mkdir -p artifacts/install/lib
> +mv install/* artifacts/install/.
> +rm -rf artifacts/install/modules
> +ln -s common artifacts/install/ci-common
> +
> +for image in ${KERNEL_IMAGE_NAME}; do
> + cp /lava-files/$image artifacts/install/.
> +done
> +
> +tar -C artifacts -cf artifacts/install.tar install
> +rm -rf artifacts/install
> diff --git a/drivers/gpu/drm/ci/build.yml b/drivers/gpu/drm/ci/build.yml
> new file mode 100644
> index 000000000000..e6503f1c5927
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/build.yml
> @@ -0,0 +1,110 @@
> +.build:
> + extends:
> + - .build-rules
> + stage: build
> + artifacts:
> + paths:
> + - artifacts
> + script:
> + - FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash drivers/gpu/drm/ci/build.sh
> +
> +.build:arm32:
> + extends:
> + - .build
> + - .use-debian/arm64_build
> + tags:
> + - aarch64
> + variables:
> + DEFCONFIG: "arch/arm/configs/multi_v7_defconfig"
> + KERNEL_IMAGE_NAME: "zImage"
> + KERNEL_ARCH: "arm"
> +
> +.build:arm64:
> + extends:
> + - .build
> + - .use-debian/arm64_build
> + tags:
> + - aarch64
> + variables:
> + DEFCONFIG: "arch/arm64/configs/defconfig"
> + KERNEL_IMAGE_NAME: "Image"
> + KERNEL_ARCH: "arm64"
> +
> +.build:x86_64:
> + extends:
> + - .build
> + - .use-debian/x86_64_build
> + variables:
> + DEFCONFIG: "arch/x86/configs/x86_64_defconfig"
> + KERNEL_IMAGE_NAME: "bzImage"
> + KERNEL_ARCH: "x86_64"
> +
> +
> +# Build IGT for testing on devices
> +
> +igt:arm32:
> + extends: .build:arm32
> + script:
> + - FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash drivers/gpu/drm/ci/build-igt.sh
> +
> +igt:arm64:
> + extends: .build:arm64
> + script:
> + - FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash drivers/gpu/drm/ci/build-igt.sh
> +
> +igt:x86_64:
> + extends: .build:x86_64
> + script:
> + - FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash drivers/gpu/drm/ci/build-igt.sh
> +
> +# Build kernels for testing on devices
> +
> +testing:arm32:
> + extends: .build:arm32
> + variables:
> + # Would be good to have DEBUG_KMEMLEAK, but it doesn't work well with any of
> + # PROVE_LOCKING and KASAN as of 5.17.
> + #
> + # db410c and db820c don't boot with KASAN_INLINE, probably due to the kernel
> + # becoming too big for their bootloaders.
> + ENABLE_KCONFIGS: "PROVE_LOCKING DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT"
> + UPLOAD_TO_MINIO: 1
> + MERGE_FRAGMENT: arm.config
> +
> +testing:arm64:
> + extends: .build:arm64
> + variables:
> + # Would be good to have DEBUG_KMEMLEAK, but it doesn't work well with any of
> + # PROVE_LOCKING and KASAN as of 5.17.
> + #
> + # db410c and db820c don't boot with KASAN_INLINE, probably due to the kernel
> + # becoming too big for their bootloaders.
> + ENABLE_KCONFIGS: "PROVE_LOCKING DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT"
> + UPLOAD_TO_MINIO: 1
> + MERGE_FRAGMENT: arm64.config
> +
> +testing:x86_64:
> + extends: .build:x86_64
> + variables:
> + # Would be good to have DEBUG_KMEMLEAK, but it doesn't work well with any of
> + # PROVE_LOCKING and KASAN as of 5.17.
> + #
> + # db410c and db820c don't boot with KASAN_INLINE, probably due to the kernel
> + # becoming too big for their bootloaders.
> + ENABLE_KCONFIGS: "PROVE_LOCKING DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT"
> + UPLOAD_TO_MINIO: 1
> + MERGE_FRAGMENT: x86_64.config
> +
> +
> +# Jobs for build-testing different configurations
> +
> +build:arm32:
> + extends: .build:arm32
> +
> +build-nodebugfs:arm64:
> + extends: .build:arm64
> + variables:
> + DISABLE_KCONFIGS: "DEBUG_FS"
> +
> +build:x86_64:
> + extends: .build:x86_64
> diff --git a/drivers/gpu/drm/ci/check-patch.py b/drivers/gpu/drm/ci/check-patch.py
> new file mode 100755
> index 000000000000..a5f399a20e25
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/check-patch.py
> @@ -0,0 +1,57 @@
> +#!/usr/bin/env python3
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +#
> +# check-patch.py: run checkpatch.pl across all commits in a branch
> +#
> +# Based on qemu/.gitlab-ci.d/check-patch.py
> +#
> +# Copyright (C) 2020 Red Hat, Inc.
> +# Copyright (C) 2022 Collabora Ltd.
> +
> +import os
> +import os.path
> +import sys
> +import subprocess
> +
> +repourl = "https://gitlab.freedesktop.org/%s.git"; % os.environ["CI_MERGE_REQUEST_PROJECT_PATH"]
> +
> +# GitLab CI environment does not give us any direct info about the
> +# base for the user's branch. We thus need to figure out a common
> +# ancestor between the user's branch and current git master.
> +os.environ["GIT_DEPTH"] = "1000"
> +subprocess.call(["git", "remote", "remove", "check-patch"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
> +subprocess.check_call(["git", "remote", "add", "check-patch", repourl])
> +subprocess.check_call(["git", "fetch", "check-patch", os.environ["CI_MERGE_REQUEST_TARGET_BRANCH_NAME"]],
> + stdout=subprocess.DEVNULL,
> + stderr=subprocess.DEVNULL)
> +
> +ancestor = subprocess.check_output(["git", "merge-base",
> + "check-patch/%s" % os.environ["CI_MERGE_REQUEST_TARGET_BRANCH_NAME"], "HEAD"],
> + universal_newlines=True)
> +
> +ancestor = ancestor.strip()
> +
> +log = subprocess.check_output(["git", "log", "--format=%H %s",
> + ancestor + "..."],
> + universal_newlines=True)
> +
> +subprocess.check_call(["git", "remote", "rm", "check-patch"])
> +
> +if log == "":
> + print("\nNo commits since %s, skipping checks\n" % ancestor)
> + sys.exit(0)
> +
> +errors = False
> +
> +print("\nChecking all commits since %s...\n" % ancestor, flush=True)
> +
> +ret = subprocess.run(["scripts/checkpatch.pl",
> + "--terse",
> + "--types", os.environ["CHECKPATCH_TYPES"],
> + "--git", ancestor + "..."])
> +
> +if ret.returncode != 0:
> + print(" ❌ FAIL one or more commits failed scripts/checkpatch.pl")
> + sys.exit(1)
> +
> +sys.exit(0)
> diff --git a/drivers/gpu/drm/ci/container.yml b/drivers/gpu/drm/ci/container.yml
> new file mode 100644
> index 000000000000..9764e7921a4f
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/container.yml
> @@ -0,0 +1,65 @@
> +.container:
> + variables:
> + CI_REPOSITORY_URL: ${DRM_CI_PROJECT_URL}.git # So ci-templates clones drm-ci instead of the repo to test
> + CI_COMMIT_SHA: ${DRM_CI_COMMIT_SHA}
> +
> +debian/x86_64_build-base:
> + variables:
> + EXTRA_LOCAL_PACKAGES: "libcairo-dev libdw-dev libjson-c-dev libkmod2 libkmod-dev libpciaccess-dev libproc2-dev libudev-dev libunwind-dev python3-docutils bc python3-ply libssl-dev bc"
> +
> +debian/x86_64_test-gl:
> + variables:
> + EXTRA_LOCAL_PACKAGES: "jq libasound2 libcairo2 libdw1 libglib2.0-0 libjson-c5 libkmod-dev libkmod2 libgles2 libproc2-dev"
> +
> +debian/arm64_build:
> + variables:
> + EXTRA_LOCAL_PACKAGES: "libcairo-dev libdw-dev libjson-c-dev libproc2-dev libkmod2 libkmod-dev libpciaccess-dev libudev-dev libunwind-dev python3-docutils libssl-dev crossbuild-essential-armhf libkmod-dev:armhf libproc2-dev:armhf libunwind-dev:armhf libdw-dev:armhf libpixman-1-dev:armhf libcairo-dev:armhf libudev-dev:armhf libjson-c-dev:armhf"
> +
> +.kernel+rootfs:
> + variables:
> + EXTRA_LOCAL_PACKAGES: "jq libasound2 libcairo2 libdw1 libglib2.0-0 libjson-c5"
> +
> +# Disable container jobs that we won't use
> +alpine/x86_64_build:
> + rules:
> + - when: never
> +
> +debian/x86_64_test-vk:
> + rules:
> + - when: never
> +
> +fedora/x86_64_build:
> + rules:
> + - when: never
> +
> +debian/android_build:
> + rules:
> + - when: never
> +
> +debian/x86_64_test-android:
> + rules:
> + - when: never
> +
> +windows_build_vs2019:
> + rules:
> + - when: never
> +
> +windows_test_vs2019:
> + rules:
> + - when: never
> +
> +.debian/x86_64_build-mingw:
> + rules:
> + - when: never
> +
> +rustfmt:
> + rules:
> + - when: never
> +
> +windows_vs2019:
> + rules:
> + - when: never
> +
> +clang-format:
> + rules:
> + - when: never
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml b/drivers/gpu/drm/ci/gitlab-ci.yml
> new file mode 100644
> index 000000000000..2c4df53f5dfe
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/gitlab-ci.yml
> @@ -0,0 +1,251 @@
> +variables:
> + DRM_CI_PROJECT_PATH: &drm-ci-project-path mesa/mesa
> + DRM_CI_COMMIT_SHA: &drm-ci-commit-sha 0dc961645c4f0241f8512cb0ec3ad59635842072
> +
> + UPSTREAM_REPO: git://anongit.freedesktop.org/drm/drm
> + TARGET_BRANCH: drm-next
> +
> + IGT_VERSION: 471bfababd070e1dac0ebb87470ac4f2ae85e663
> +
> + DEQP_RUNNER_GIT_URL: https://gitlab.freedesktop.org/anholt/deqp-runner.git
> + DEQP_RUNNER_GIT_TAG: v0.15.0
> +
> + FDO_UPSTREAM_REPO: helen.fornazier/linux # The repo where the git-archive daily runs
> + MESA_TEMPLATES_COMMIT: &ci-templates-commit d5aa3941aa03c2f716595116354fb81eb8012acb
> + DRM_CI_PROJECT_URL: https://gitlab.freedesktop.org/${DRM_CI_PROJECT_PATH}
> + CI_PRE_CLONE_SCRIPT: |-
> + set -o xtrace
> + curl -L --retry 4 -f --retry-all-errors --retry-delay 60 -s ${DRM_CI_PROJECT_URL}/-/raw/${DRM_CI_COMMIT_SHA}/.gitlab-ci/download-git-cache.sh -o download-git-cache.sh
> + bash download-git-cache.sh
> + rm download-git-cache.sh
> + set +o xtrace
> + S3_HOST: s3.freedesktop.org
> + # per-pipeline artifact storage on MinIO
> + PIPELINE_ARTIFACTS_BASE: ${S3_HOST}/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}
> + # per-job artifact storage on MinIO
> + JOB_ARTIFACTS_BASE: ${PIPELINE_ARTIFACTS_BASE}/${CI_JOB_ID}
> +
> + LAVA_JOB_PRIORITY: 30
> +
> +default:
> + before_script:
> + - export SCRIPTS_DIR=$(mktemp -d)
> + - curl -L -s --retry 4 -f --retry-all-errors --retry-delay 60 -O --output-dir "${SCRIPTS_DIR}" "${DRM_CI_PROJECT_URL}/-/raw/${DRM_CI_COMMIT_SHA}/.gitlab-ci/setup-test-env.sh"
> + - source ${SCRIPTS_DIR}/setup-test-env.sh
> + - echo -e "\e[0Ksection_start:$(date +%s):unset_env_vars_section[collapsed=true]\r\e[0KUnsetting vulnerable environment variables"
> + - export CI_JOB_JWT_FILE="${CI_JOB_JWT_FILE:-$(mktemp)}"
> + - echo -n "${CI_JOB_JWT}" > "${CI_JOB_JWT_FILE}"
> + - unset CI_JOB_JWT
> + - echo -e "\e[0Ksection_end:$(date +%s):unset_env_vars_section\r\e[0K"
> +
> + - echo -e "\e[0Ksection_start:$(date +%s):drm_ci_download_section[collapsed=true]\r\e[0KDownloading mesa from $DRM_CI_PROJECT_URL/-/archive/$DRM_CI_COMMIT_SHA/mesa-$DRM_CI_COMMIT_SHA.tar.gz"
> + - cd $CI_PROJECT_DIR
> + - curl --output - $DRM_CI_PROJECT_URL/-/archive/$DRM_CI_COMMIT_SHA/mesa-$DRM_CI_COMMIT_SHA.tar.gz | tar -xz
> + - mv mesa-$DRM_CI_COMMIT_SHA/.gitlab-ci* .
> + - rm -rf mesa-$DRM_CI_COMMIT_SHA/
> + - echo -e "\e[0Ksection_end:$(date +%s):drm_ci_download_section\r\e[0K"
> +
> + after_script:
> + - >
> + set +x
> +
> + test -e "${CI_JOB_JWT_FILE}" &&
> + export CI_JOB_JWT="$(<${CI_JOB_JWT_FILE})" &&
> + rm "${CI_JOB_JWT_FILE}"
> +
> + # Retry when job fails.
> + retry:
> + max: 1
> + # Ignore runner_unsupported, stale_schedule, archived_failure, or
> + # unmet_prerequisites
> + when:
> + - api_failure
> + - runner_system_failure
> + - script_failure
> + - job_execution_timeout
> + - scheduler_failure
> + - data_integrity_failure
> + - unknown_failure
> +
> +include:
> + - project: 'freedesktop/ci-templates'
> + ref: 16bc29078de5e0a067ff84a1a199a3760d3b3811
> + file:
> + - '/templates/ci-fairy.yml'
> + - project: 'freedesktop/ci-templates'
> + ref: *ci-templates-commit
> + file:
> + - '/templates/alpine.yml'
> + - '/templates/debian.yml'
> + - '/templates/fedora.yml'
> + - project: *drm-ci-project-path
> + ref: *drm-ci-commit-sha
> + file:
> + - '/.gitlab-ci/farm-rules.yml'
> + - '/.gitlab-ci/test-source-dep.yml'
> + - '/.gitlab-ci/container/gitlab-ci.yml'
> + - '/.gitlab-ci/test/gitlab-ci.yml'
> + - '/.gitlab-ci/lava/lava-gitlab-ci.yml'
> + - drivers/gpu/drm/ci/image-tags.yml
> + - drivers/gpu/drm/ci/container.yml
> + - drivers/gpu/drm/ci/static-checks.yml
> + - drivers/gpu/drm/ci/build.yml
> + - drivers/gpu/drm/ci/test.yml
> + - 'https://gitlab.freedesktop.org/gfx-ci/lab-status/-/raw/main/lab-status.yml'
> +
> +
> +stages:
> + - sanity
> + - container
> + - git-archive
> + - build
> + - amdgpu
> + - i915
> + - mediatek
> + - meson
> + - msm
> + - rockchip
> + - virtio-gpu
> + - lint
> +
> +# YAML anchors for rule conditions
> +# --------------------------------
> +.rules-anchors:
> + rules:
> + # Pipeline for forked project branch
> + - if: &is-forked-branch '$CI_COMMIT_BRANCH && $CI_PROJECT_NAMESPACE != "mesa"'
> + when: manual
> + # Forked project branch / pre-merge pipeline not for Marge bot
> + - if: &is-forked-branch-or-pre-merge-not-for-marge '$CI_PROJECT_NAMESPACE != "mesa" || ($GITLAB_USER_LOGIN != "marge-bot" && $CI_PIPELINE_SOURCE == "merge_request_event")'
> + when: manual
> + # Pipeline runs for the main branch of the upstream Mesa project
> + - if: &is-mesa-main '$CI_PROJECT_NAMESPACE == "mesa" && $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH && $CI_COMMIT_BRANCH'
> + when: always
> + # Post-merge pipeline
> + - if: &is-post-merge '$CI_PROJECT_NAMESPACE == "mesa" && $CI_COMMIT_BRANCH'
> + when: on_success
> + # Post-merge pipeline, not for Marge Bot
> + - if: &is-post-merge-not-for-marge '$CI_PROJECT_NAMESPACE == "mesa" && $GITLAB_USER_LOGIN != "marge-bot" && $CI_COMMIT_BRANCH'
> + when: on_success
> + # Pre-merge pipeline
> + - if: &is-pre-merge '$CI_PIPELINE_SOURCE == "merge_request_event"'
> + when: on_success
> + # Pre-merge pipeline for Marge Bot
> + - if: &is-pre-merge-for-marge '$GITLAB_USER_LOGIN == "marge-bot" && $CI_PIPELINE_SOURCE == "merge_request_event"'
> + when: on_success
> +
> +# Rule to filter for only scheduled pipelines.
> +.scheduled_pipeline-rules:
> + rules:
> + - if: &is-scheduled-pipeline '$CI_PIPELINE_SOURCE == "schedule"'
> + when: on_success
> +
> +# Generic rule to not run the job during scheduled pipelines. Jobs that aren't
> +# something like a nightly run should include this rule.
> +.no_scheduled_pipelines-rules:
> + rules:
> + - if: *is-scheduled-pipeline
> + when: never
> +
> +# When to automatically run the CI for build jobs
> +.build-rules:
> + rules:
> + - !reference [.no_scheduled_pipelines-rules, rules]
> + # Run automatically once all dependency jobs have passed
> + - when: on_success
> +
> +
> +.ci-deqp-artifacts:
> + artifacts:
> + name: "mesa_${CI_JOB_NAME}"
> + when: always
> + untracked: false
> + paths:
> + # Watch out! Artifacts are relative to the build dir.
> + # https://gitlab.com/gitlab-org/gitlab-ce/commit/8788fb925706cad594adf6917a6c5f6587dd1521
> + - artifacts
> + - _build/meson-logs/*.txt
> + - _build/meson-logs/strace
> +
> +
> +.container-rules:
> + rules:
> + - !reference [.no_scheduled_pipelines-rules, rules]
> + # Run pipeline by default in the main project if any CI pipeline
> + # configuration files were changed, to ensure docker images are up to date
> + - if: *is-post-merge
> + changes:
> + - drivers/gpu/drm/ci/**/*
> + when: on_success
> + # Run pipeline by default if it was triggered by Marge Bot, is for a
> + # merge request, and any files affecting the pipeline were changed
> + - if: *is-pre-merge-for-marge
> + when: on_success
> + # Run pipeline by default in the main project if it was not triggered by
> + # Marge Bot, and any files affecting the pipeline were changed
> + - if: *is-post-merge-not-for-marge
> + when: on_success
> + # Allow triggering jobs manually in other cases
> + - when: manual
> +
> +
> +
> +# Git archive
> +
> +make git archive:
> + extends:
> + - .fdo.ci-fairy
> + stage: git-archive
> + rules:
> + - !reference [.scheduled_pipeline-rules, rules]
> + # ensure we are running on packet
> + tags:
> + - packet.net
> + script:
> + # Remove drm-ci files we just added
> + - rm -rf .gitlab-ci.*
> +
> + # Compactify the .git directory
> + - git gc --aggressive
> + # compress the current folder
> + - tar -cvzf ../$CI_PROJECT_NAME.tar.gz .
> +
> + # login with the JWT token file
> + - ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" ../$CI_PROJECT_NAME.tar.gz https://$S3_HOST/git-cache/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME/$CI_PROJECT_NAME.tar.gz
> +
> +
> +# Sanity checks of MR settings and commit logs
> +sanity:
> + extends:
> + - .fdo.ci-fairy
> + stage: sanity
> + rules:
> + - if: *is-pre-merge
> + when: on_success
> + # Other cases default to never
> + variables:
> + GIT_STRATEGY: none
> + script:
> + # ci-fairy check-commits --junit-xml=check-commits.xml
> + - ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-merge-request.xml
> + artifacts:
> + when: on_failure
> + reports:
> + junit: check-*.xml
> +
> +# Rules for tests that should not block merging, but should be available to
> +# optionally run with the "play" button in the UI in pre-merge non-marge
> +# pipelines. This should appear in "extends:" after any includes of
> +# test-source-dep.yml rules, so that these rules replace those.
> +.test-manual-mr:
> + rules:
> + - !reference [.no_scheduled_pipelines-rules, rules]
> + - if: *is-forked-branch-or-pre-merge-not-for-marge
> + when: manual
> + variables:
> + JOB_TIMEOUT: 80
> +
> +
> +# Jobs that need to pass before spending hardware resources on further testing
> +.required-for-hardware-jobs:
> + needs: []
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/igt_runner.sh b/drivers/gpu/drm/ci/igt_runner.sh
> new file mode 100755
> index 000000000000..2bb759165063
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/igt_runner.sh
> @@ -0,0 +1,77 @@
> +#!/bin/sh
> +# SPDX-License-Identifier: MIT
> +
> +set -ex
> +
> +export IGT_FORCE_DRIVER=${DRIVER_NAME}
> +export PATH=$PATH:/igt/bin/
> +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/igt/lib/aarch64-linux-gnu/:/igt/lib/x86_64-linux-gnu:/igt/lib:/igt/lib64
> +
> +# Uncomment the below to debug problems with driver probing
> +: '
> +ls -l /dev/dri/
> +cat /sys/kernel/debug/devices_deferred
> +cat /sys/kernel/debug/device_component/*
> +'
> +
> +# Dump drm state to confirm that kernel was able to find a connected display:
> +# TODO this path might not exist for all drivers.. maybe run modetest instead?
> +set +e
> +cat /sys/kernel/debug/dri/*/state
> +set -e
> +
> +# Cannot use HWCI_KERNEL_MODULES as at that point we don't have the module in /lib
> +if [ "$IGT_FORCE_DRIVER" = "amdgpu" ]; then
> + mv /install/modules/lib/modules/* /lib/modules/.
> + modprobe amdgpu
> +fi
> +
> +if [ -e "/install/xfails/$DRIVER_NAME-$GPU_VERSION-skips.txt" ]; then
> + IGT_SKIPS="--skips /install/xfails/$DRIVER_NAME-$GPU_VERSION-skips.txt"
> +fi
> +
> +if [ -e "/install/xfails/$DRIVER_NAME-$GPU_VERSION-flakes.txt" ]; then
> + IGT_FLAKES="--flakes /install/xfails/$DRIVER_NAME-$GPU_VERSION-flakes.txt"
> +fi
> +
> +if [ -e "/install/xfails/$DRIVER_NAME-$GPU_VERSION-fails.txt" ]; then
> + IGT_FAILS="--baseline /install/xfails/$DRIVER_NAME-$GPU_VERSION-fails.txt"
> +fi
> +
> +if [ "`uname -m`" = "aarch64" ]; then
> + ARCH="arm64"
> +elif [ "`uname -m`" = "armv7l" ]; then
> + ARCH="arm"
> +else
> + ARCH="x86_64"
> +fi
> +
> +curl -L --retry 4 -f --retry-all-errors --retry-delay 60 -s ${FDO_HTTP_CACHE_URI:-}$PIPELINE_ARTIFACTS_BASE/$ARCH/igt.tar.gz | tar --zstd -v -x -C /
> +
> +set +e
> +igt-runner \
> + run \
> + --igt-folder /igt/libexec/igt-gpu-tools \
> + --caselist /install/testlist.txt \
> + --output /results \
> + $IGT_SKIPS \
> + $IGT_FLAKES \
> + $IGT_FAILS \
> + --fraction-start $CI_NODE_INDEX \
> + --fraction $CI_NODE_TOTAL \
> + --jobs 1
> +ret=$?
> +set -e
> +
> +deqp-runner junit \
> + --testsuite IGT \
> + --results /results/failures.csv \
> + --output /results/junit.xml \
> + --limit 50 \
> + --template "See https://$CI_PROJECT_ROOT_NAMESPACE.pages.freedesktop.org/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/results/{{testcase}}.xml";
> +
> +# Store the results also in the simpler format used by the runner in ChromeOS CI
> +#sed -r 's/(dmesg-warn|pass)/success/g' /results/results.txt > /results/results_simple.txt
> +
> +cd $oldpath
> +exit $ret
> diff --git a/drivers/gpu/drm/ci/image-tags.yml b/drivers/gpu/drm/ci/image-tags.yml
> new file mode 100644
> index 000000000000..f051b6c547c5
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/image-tags.yml
> @@ -0,0 +1,15 @@
> +variables:
> + CONTAINER_TAG: "2023-08-10-mesa-uprev"
> + DEBIAN_X86_64_BUILD_BASE_IMAGE: "debian/x86_64_build-base"
> + DEBIAN_BASE_TAG: "${CONTAINER_TAG}"
> +
> + DEBIAN_X86_64_BUILD_IMAGE_PATH: "debian/x86_64_build"
> + DEBIAN_BUILD_TAG: "${CONTAINER_TAG}"
> +
> + KERNEL_ROOTFS_TAG: "${CONTAINER_TAG}"
> +
> + DEBIAN_X86_64_TEST_BASE_IMAGE: "debian/x86_64_test-base"
> + DEBIAN_X86_64_TEST_IMAGE_GL_PATH: "debian/x86_64_test-gl"
> + DEBIAN_X86_64_TEST_GL_TAG: "${CONTAINER_TAG}"
> +
> + ALPINE_X86_64_LAVA_SSH_TAG: "${CONTAINER_TAG}"
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/lava-submit.sh b/drivers/gpu/drm/ci/lava-submit.sh
> new file mode 100755
> index 000000000000..0c4456b21b0f
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/lava-submit.sh
> @@ -0,0 +1,57 @@
> +#!/bin/bash
> +# SPDX-License-Identifier: MIT
> +
> +set -e
> +set -x
> +
> +# Try to use the kernel and rootfs built in mainline first, so we're more
> +# likely to hit cache
> +if curl -L --retry 4 -f --retry-all-errors --retry-delay 60 -s "https://${BASE_SYSTEM_MAINLINE_HOST_PATH}/done";; then
> + BASE_SYSTEM_HOST_PATH="${BASE_SYSTEM_MAINLINE_HOST_PATH}"
> +else
> + BASE_SYSTEM_HOST_PATH="${BASE_SYSTEM_FORK_HOST_PATH}"
> +fi
> +
> +rm -rf results
> +mkdir -p results/job-rootfs-overlay/
> +
> +cp artifacts/ci-common/capture-devcoredump.sh results/job-rootfs-overlay/
> +cp artifacts/ci-common/init-*.sh results/job-rootfs-overlay/
> +cp artifacts/ci-common/intel-gpu-freq.sh results/job-rootfs-overlay/
> +cp "$SCRIPTS_DIR"/setup-test-env.sh results/job-rootfs-overlay/
> +
> +# Prepare env vars for upload.
> +section_start variables "Variables passed through:"
> +KERNEL_IMAGE_BASE_URL="https://${BASE_SYSTEM_HOST_PATH}"; \
> + artifacts/ci-common/generate-env.sh | tee results/job-rootfs-overlay/set-job-env-vars.sh
> +section_end variables
> +
> +tar zcf job-rootfs-overlay.tar.gz -C results/job-rootfs-overlay/ .
> +ci-fairy s3cp --token-file "${CI_JOB_JWT_FILE}" job-rootfs-overlay.tar.gz "https://${JOB_ROOTFS_OVERLAY_PATH}";
> +
> +touch results/lava.log
> +tail -f results/lava.log &
> +
> +PYTHONPATH=artifacts/ artifacts/lava/lava_job_submitter.py \
> + submit \
> + --dump-yaml \
> + --pipeline-info "$CI_JOB_NAME: $CI_PIPELINE_URL on $CI_COMMIT_REF_NAME ${CI_NODE_INDEX}/${CI_NODE_TOTAL}" \
> + --rootfs-url-prefix "https://${BASE_SYSTEM_HOST_PATH}"; \
> + --kernel-url-prefix "https://${PIPELINE_ARTIFACTS_BASE}/${ARCH}"; \
> + --build-url "${FDO_HTTP_CACHE_URI:-}https://${PIPELINE_ARTIFACTS_BASE}/${ARCH}/kernel-files.tar.zst"; \
> + --job-rootfs-overlay-url "${FDO_HTTP_CACHE_URI:-}https://${JOB_ROOTFS_OVERLAY_PATH}"; \
> + --job-timeout-min ${JOB_TIMEOUT:-80} \
> + --first-stage-init artifacts/ci-common/init-stage1.sh \
> + --ci-project-dir "${CI_PROJECT_DIR}" \
> + --device-type "${DEVICE_TYPE}" \
> + --dtb-filename "${DTB}" \
> + --jwt-file "${CI_JOB_JWT_FILE}" \
> + --kernel-image-name "${KERNEL_IMAGE_NAME}" \
> + --kernel-image-type "${KERNEL_IMAGE_TYPE}" \
> + --boot-method "${BOOT_METHOD}" \
> + --visibility-group "${VISIBILITY_GROUP}" \
> + --lava-tags "${LAVA_TAGS}" \
> + --mesa-job-name "$CI_JOB_NAME" \
> + --structured-log-file "results/lava_job_detail.json" \
> + --ssh-client-image "${LAVA_SSH_CLIENT_IMAGE}" \
> + >> results/lava.log
> diff --git a/drivers/gpu/drm/ci/static-checks.yml b/drivers/gpu/drm/ci/static-checks.yml
> new file mode 100644
> index 000000000000..13ffa827b7fa
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/static-checks.yml
> @@ -0,0 +1,12 @@
> +check-patch:
> + extends:
> + - .build
> + - .use-debian/x86_64_build
> + script:
> + - drivers/gpu/drm/ci/check-patch.py
> + variables:
> + CHECKPATCH_TYPES: "BAD_SIGN_OFF,BAD_STABLE_ADDRESS_STYLE,COMMIT_COMMENT_SYMBOL,COMMIT_MESSAGE,EMAIL_SUBJECT,FROM_SIGN_OFF_MISMATCH,MISSING_SIGN_OFF,NO_AUTHOR_SIGN_OFF,DIFF_IN_COMMIT_MSG,GERRIT_CHANGE_ID,GIT_COMMIT_ID,UNKNOWN_COMMIT_ID,CODE_INDENT,BIT_MACRO,DOS_LINE_ENDINGS"
> + rules:
> + - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
> + when: on_success
> + # Other cases default to never
> diff --git a/drivers/gpu/drm/ci/test.yml b/drivers/gpu/drm/ci/test.yml
> new file mode 100644
> index 000000000000..6473cddaa7a9
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/test.yml
> @@ -0,0 +1,335 @@
> +.test-rules:
> + rules:
> + - if: '$FD_FARM == "offline" && $RUNNER_TAG =~ /^google-freedreno-/'
> + when: never
> + - if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
> + when: never
> + - !reference [.no_scheduled_pipelines-rules, rules]
> + - when: on_success
> +
> +.lava-test:
> + extends:
> + - .test-rules
> + script:
> + # Note: Build dir (and thus install) may be dirty due to GIT_STRATEGY
> + - rm -rf install
> + - tar -xf artifacts/install.tar
> + - mv install/* artifacts/.
> + # Override it with our lava-submit.sh script
> + - ./artifacts/lava-submit.sh
> +
> +.lava-igt:arm32:
> + extends:
> + - .lava-test:arm32
> + variables:
> + HWCI_TEST_SCRIPT: "/install/igt_runner.sh"
> + ARCH: "armhf"
> + dependencies:
> + - testing:arm32
> + needs:
> + - alpine/x86_64_lava_ssh_client
> + - kernel+rootfs_arm32
> + - debian/x86_64_build
> + - testing:arm32
> + - igt:arm32
> +
> +.lava-igt:arm64:
> + extends:
> + - .lava-test:arm64
> + variables:
> + HWCI_TEST_SCRIPT: "/install/igt_runner.sh"
> + ARCH: "arm64"
> + dependencies:
> + - testing:arm64
> + needs:
> + - alpine/x86_64_lava_ssh_client
> + - kernel+rootfs_arm64
> + - debian/x86_64_build
> + - testing:arm64
> + - igt:arm64
> +
> +.lava-igt:x86_64:
> + extends:
> + - .lava-test:x86_64
> + variables:
> + HWCI_TEST_SCRIPT: "/install/igt_runner.sh"
> + ARCH: "x86_64"
> + dependencies:
> + - testing:x86_64
> + needs:
> + - alpine/x86_64_lava_ssh_client
> + - kernel+rootfs_x86_64
> + - debian/x86_64_build
> + - testing:x86_64
> + - igt:x86_64
> +
> +.baremetal-igt-arm64:
> + extends:
> + - .baremetal-test-arm64
> + - .use-debian/arm64_test
> + - .test-rules
> + variables:
> + FDO_CI_CONCURRENT: 10
> + HWCI_TEST_SCRIPT: "/install/igt_runner.sh"
> + S3_ARTIFACT_NAME: "arm64/kernel-files"
> + BM_KERNEL: https://${PIPELINE_ARTIFACTS_BASE}/arm64/Image.gz
> + BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8 $BM_KERNEL_EXTRA_ARGS root=/dev/nfs rw nfsrootdebug nfsroot=,tcp,nfsvers=4.2 init=/init $BM_KERNELARGS"
> + needs:
> + - debian/arm64_test
> + - job: testing:arm64
> + artifacts: false
> + - igt:arm64
> + tags:
> + - $RUNNER_TAG
> +
> +msm:sc7180:
> + extends:
> + - .lava-igt:arm64
> + stage: msm
> + parallel: 2
> + variables:
> + DRIVER_NAME: msm
> + DEVICE_TYPE: sc7180-trogdor-lazor-limozeen
> + DTB: sc7180-trogdor-lazor-limozeen-nots-r5
> + BOOT_METHOD: depthcharge
> + KERNEL_IMAGE_TYPE: ""
> + GPU_VERSION: sc7180
> + RUNNER_TAG: mesa-ci-x86-64-lava-sc7180-trogdor-lazor-limozeen
> +
> +msm:apq8016:
> + extends:
> + - .baremetal-igt-arm64
> + stage: msm
> + variables:
> + DRIVER_NAME: msm
> + BM_DTB: https://${PIPELINE_ARTIFACTS_BASE}/arm64/apq8016-sbc.dtb
> + GPU_VERSION: apq8016
> + BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8 $BM_KERNEL_EXTRA_ARGS root=/dev/nfs rw nfsrootdebug nfsroot=,tcp,nfsvers=4.2 init=/init $BM_KERNELARGS"
> + RUNNER_TAG: google-freedreno-db410c
> + script:
> + - ./install/bare-metal/fastboot.sh
> + rules:
> + # TODO: current issue: it is not fiding the NFS root. Fix and remove this rule.
> + - when: never
> +
> +msm:apq8096:
> + extends:
> + - .baremetal-igt-arm64
> + stage: msm
> + variables:
> + DRIVER_NAME: msm
> + BM_KERNEL_EXTRA_ARGS: maxcpus=2
> + BM_DTB: https://${PIPELINE_ARTIFACTS_BASE}/arm64/apq8096-db820c.dtb
> + GPU_VERSION: apq8096
> + RUNNER_TAG: google-freedreno-db820c
> + script:
> + - ./install/bare-metal/fastboot.sh
> +
> +msm:sdm845:
> + extends:
> + - .baremetal-igt-arm64
> + stage: msm
> + parallel: 6
> + variables:
> + DRIVER_NAME: msm
> + BM_KERNEL: https://${PIPELINE_ARTIFACTS_BASE}/arm64/cheza-kernel
> + GPU_VERSION: sdm845
> + RUNNER_TAG: google-freedreno-cheza
> + script:
> + - ./install/bare-metal/cros-servo.sh
> +
> +rockchip:rk3288:
> + extends:
> + - .lava-igt:arm32
> + stage: rockchip
> + variables:
> + DRIVER_NAME: rockchip
> + DEVICE_TYPE: rk3288-veyron-jaq
> + DTB: ${DEVICE_TYPE}
> + BOOT_METHOD: depthcharge
> + KERNEL_IMAGE_TYPE: "zimage"
> + GPU_VERSION: rk3288
> + RUNNER_TAG: mesa-ci-x86-64-lava-rk3288-veyron-jaq
> +
> +rockchip:rk3399:
> + extends:
> + - .lava-igt:arm64
> + stage: rockchip
> + parallel: 3
> + 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
> +
> +.i915:
> + extends:
> + - .lava-igt:x86_64
> + stage: i915
> + variables:
> + DRIVER_NAME: i915
> + DTB: ""
> + BOOT_METHOD: depthcharge
> + KERNEL_IMAGE_TYPE: ""
> +
> +i915:apl:
> + extends:
> + - .i915
> + parallel: 12
> + variables:
> + DEVICE_TYPE: asus-C523NA-A20057-coral
> + GPU_VERSION: apl
> + RUNNER_TAG: mesa-ci-x86-64-lava-asus-C523NA-A20057-coral
> +
> +i915:glk:
> + extends:
> + - .i915
> + parallel: 5
> + variables:
> + DEVICE_TYPE: hp-x360-12b-ca0010nr-n4020-octopus
> + GPU_VERSION: glk
> + RUNNER_TAG: mesa-ci-x86-64-lava-hp-x360-12b-ca0010nr-n4020-octopus
> +
> +i915:amly:
> + extends:
> + - .i915
> + parallel: 8
> + variables:
> + DEVICE_TYPE: asus-C433TA-AJ0005-rammus
> + GPU_VERSION: amly
> + RUNNER_TAG: mesa-ci-x86-64-lava-asus-C433TA-AJ0005-rammus
> +
> +i915:kbl:
> + extends:
> + - .i915
> + parallel: 5
> + variables:
> + DEVICE_TYPE: hp-x360-14-G1-sona
> + GPU_VERSION: kbl
> + RUNNER_TAG: mesa-ci-x86-64-lava-hp-x360-14-G1-sona
> +
> +i915:whl:
> + extends:
> + - .i915
> + parallel: 8
> + variables:
> + DEVICE_TYPE: dell-latitude-5400-8665U-sarien
> + GPU_VERSION: whl
> + RUNNER_TAG: mesa-ci-x86-64-lava-dell-latitude-5400-8665U-sarien
> +
> +i915:cml:
> + extends:
> + - .i915
> + parallel: 6
> + variables:
> + DEVICE_TYPE: asus-C436FA-Flip-hatch
> + GPU_VERSION: cml
> + RUNNER_TAG: mesa-ci-x86-64-lava-asus-C436FA-flip-hatch
> +
> +i915:tgl:
> + extends:
> + - .i915
> + parallel: 6
> + variables:
> + DEVICE_TYPE: asus-cx9400-volteer
> + GPU_VERSION: tgl
> + RUNNER_TAG: mesa-ci-x86-64-lava-asus-cx9400-volteer
> +
> +.amdgpu:
> + extends:
> + - .lava-igt:x86_64
> + stage: amdgpu
> + variables:
> + DRIVER_NAME: amdgpu
> + DTB: ""
> + BOOT_METHOD: depthcharge
> + KERNEL_IMAGE_TYPE: ""
> +
> +amdgpu:stoney:
> + extends:
> + - .amdgpu
> + variables:
> + DEVICE_TYPE: hp-11A-G6-EE-grunt
> + GPU_VERSION: stoney
> + RUNNER_TAG: mesa-ci-x86-64-lava-hp-11A-G6-EE-grunt
> +
> +.mediatek:
> + extends:
> + - .lava-igt:arm64
> + stage: mediatek
> + variables:
> + DRIVER_NAME: mediatek
> + DTB: ${DEVICE_TYPE}
> + BOOT_METHOD: depthcharge
> + KERNEL_IMAGE_TYPE: ""
> +
> +mediatek:mt8173:
> + extends:
> + - .mediatek
> + variables:
> + DEVICE_TYPE: mt8173-elm-hana
> + GPU_VERSION: mt8173
> + RUNNER_TAG: mesa-ci-x86-64-lava-mt8173-elm-hana
> + rules:
> + # TODO: current issue: device is hanging. Fix and remove this rule.
> + - when: never
> +
> +mediatek:mt8183:
> + extends:
> + - .mediatek
> + variables:
> + DEVICE_TYPE: mt8183-kukui-jacuzzi-juniper-sku16
> + GPU_VERSION: mt8183
> + RUNNER_TAG: mesa-ci-x86-64-lava-mt8183-kukui-jacuzzi-juniper-sku16
> +
> +# drm-mtk doesn't even probe yet in mainline for mt8192
> +.mediatek:mt8192:
> + extends:
> + - .mediatek
> + variables:
> + DEVICE_TYPE: mt8192-asurada-spherion-r0
> + GPU_VERSION: mt8192
> + RUNNER_TAG: mesa-ci-x86-64-lava-mt8192-asurada-spherion-r0
> +
> +.meson:
> + extends:
> + - .lava-igt:arm64
> + stage: meson
> + variables:
> + DRIVER_NAME: meson
> + DTB: ${DEVICE_TYPE}
> + BOOT_METHOD: u-boot
> + KERNEL_IMAGE_TYPE: "image"
> +
> +meson:g12b:
> + extends:
> + - .meson
> + variables:
> + DEVICE_TYPE: meson-g12b-a311d-khadas-vim3
> + GPU_VERSION: g12b
> + RUNNER_TAG: mesa-ci-x86-64-lava-meson-g12b-a311d-khadas-vim3
> +
> +virtio_gpu:none:
> + stage: virtio-gpu
> + variables:
> + CROSVM_GALLIUM_DRIVER: llvmpipe
> + DRIVER_NAME: virtio_gpu
> + GPU_VERSION: none
> + extends:
> + - .test-gl
> + tags:
> + - kvm
> + script:
> + - ln -sf $CI_PROJECT_DIR/install /install
> + - mv install/bzImage /lava-files/bzImage
> + - install/crosvm-runner.sh install/igt_runner.sh
> + needs:
> + - debian/x86_64_test-gl
> + - testing:x86_64
> + - igt:x86_64
> + rules:
> + # TODO: current issue: malloc(): corrupted top size. Fix and remove this rule.
> + - when: never
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/testlist.txt b/drivers/gpu/drm/ci/testlist.txt
> new file mode 100644
> index 000000000000..f82cd90372f4
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/testlist.txt
> @@ -0,0 +1,2912 @@
> +core_auth@getclient-simple
> +core_auth@getclient-master-drop
> +core_auth@basic-auth
> +core_auth@many-magics
> +core_getclient
> +core_getstats
> +core_getversion
> +core_setmaster_vs_auth
> +drm_read@invalid-buffer
> +drm_read@fault-buffer
> +drm_read@empty-block
> +drm_read@empty-nonblock
> +drm_read@short-buffer-block
> +drm_read@short-buffer-nonblock
> +drm_read@short-buffer-wakeup
> +gem_eio@throttle
> +gem_eio@create
> +gem_eio@create-ext
> +gem_eio@context-create
> +gem_eio@execbuf
> +gem_eio@banned
> +gem_eio@suspend
> +gem_eio@hibernate
> +gem_eio@in-flight-external
> +gem_eio@in-flight-suspend
> +gem_eio@reset-stress
> +gem_eio@unwedge-stress
> +gem_eio@wait-immediate
> +gem_eio@wait-wedge-immediate
> +gem_eio@in-flight-immediate
> +gem_eio@in-flight-contexts-immediate
> +gem_eio@in-flight-internal-immediate
> +gem_eio@wait-1us
> +gem_eio@wait-wedge-1us
> +gem_eio@in-flight-1us
> +gem_eio@in-flight-contexts-1us
> +gem_eio@in-flight-internal-1us
> +gem_eio@wait-10ms
> +gem_eio@wait-wedge-10ms
> +gem_eio@in-flight-10ms
> +gem_eio@in-flight-contexts-10ms
> +gem_eio@in-flight-internal-10ms
> +gem_eio@kms
> +kms_3d
> +kms_addfb_basic@unused-handle
> +kms_addfb_basic@unused-pitches
> +kms_addfb_basic@unused-offsets
> +kms_addfb_basic@unused-modifier
> +kms_addfb_basic@clobberred-modifier
> +kms_addfb_basic@invalid-smem-bo-on-discrete
> +kms_addfb_basic@legacy-format
> +kms_addfb_basic@no-handle
> +kms_addfb_basic@basic
> +kms_addfb_basic@bad-pitch-0
> +kms_addfb_basic@bad-pitch-32
> +kms_addfb_basic@bad-pitch-63
> +kms_addfb_basic@bad-pitch-128
> +kms_addfb_basic@bad-pitch-256
> +kms_addfb_basic@bad-pitch-1024
> +kms_addfb_basic@bad-pitch-999
> +kms_addfb_basic@bad-pitch-65536
> +kms_addfb_basic@invalid-get-prop-any
> +kms_addfb_basic@invalid-get-prop
> +kms_addfb_basic@invalid-set-prop-any
> +kms_addfb_basic@invalid-set-prop
> +kms_addfb_basic@master-rmfb
> +kms_addfb_basic@addfb25-modifier-no-flag
> +kms_addfb_basic@addfb25-bad-modifier
> +kms_addfb_basic@addfb25-x-tiled-mismatch-legacy
> +kms_addfb_basic@addfb25-x-tiled-legacy
> +kms_addfb_basic@addfb25-framebuffer-vs-set-tiling
> +kms_addfb_basic@basic-x-tiled-legacy
> +kms_addfb_basic@framebuffer-vs-set-tiling
> +kms_addfb_basic@tile-pitch-mismatch
> +kms_addfb_basic@basic-y-tiled-legacy
> +kms_addfb_basic@size-max
> +kms_addfb_basic@too-wide
> +kms_addfb_basic@too-high
> +kms_addfb_basic@bo-too-small
> +kms_addfb_basic@small-bo
> +kms_addfb_basic@bo-too-small-due-to-tiling
> +kms_addfb_basic@addfb25-y-tiled-legacy
> +kms_addfb_basic@addfb25-yf-tiled-legacy
> +kms_addfb_basic@addfb25-y-tiled-small-legacy
> +kms_addfb_basic@addfb25-4-tiled
> +kms_async_flips@async-flip-with-page-flip-events
> +kms_async_flips@alternate-sync-async-flip
> +kms_async_flips@test-time-stamp
> +kms_async_flips@test-cursor
> +kms_async_flips@invalid-async-flip
> +kms_async_flips@crc
> +kms_atomic@plane-overlay-legacy
> +kms_atomic@plane-primary-legacy
> +kms_atomic@plane-primary-overlay-mutable-zpos
> +kms_atomic@plane-immutable-zpos
> +kms_atomic@test-only
> +kms_atomic@plane-cursor-legacy
> +kms_atomic@plane-invalid-params
> +kms_atomic@plane-invalid-params-fence
> +kms_atomic@crtc-invalid-params
> +kms_atomic@crtc-invalid-params-fence
> +kms_atomic@atomic-invalid-params
> +kms_atomic@atomic_plane_damage
> +kms_atomic_interruptible@legacy-setmode
> +kms_atomic_interruptible@atomic-setmode
> +kms_atomic_interruptible@legacy-dpms
> +kms_atomic_interruptible@legacy-pageflip
> +kms_atomic_interruptible@legacy-cursor
> +kms_atomic_interruptible@universal-setplane-primary
> +kms_atomic_interruptible@universal-setplane-cursor
> +kms_atomic_transition@plane-primary-toggle-with-vblank-wait
> +kms_atomic_transition@plane-all-transition
> +kms_atomic_transition@plane-all-transition-fencing
> +kms_atomic_transition@plane-all-transition-nonblocking
> +kms_atomic_transition@plane-all-transition-nonblocking-fencing
> +kms_atomic_transition@plane-use-after-nonblocking-unbind
> +kms_atomic_transition@plane-use-after-nonblocking-unbind-fencing
> +kms_atomic_transition@plane-all-modeset-transition
> +kms_atomic_transition@plane-all-modeset-transition-fencing
> +kms_atomic_transition@plane-all-modeset-transition-internal-panels
> +kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels
> +kms_atomic_transition@plane-toggle-modeset-transition
> +kms_atomic_transition@modeset-transition
> +kms_atomic_transition@modeset-transition-fencing
> +kms_atomic_transition@modeset-transition-nonblocking
> +kms_atomic_transition@modeset-transition-nonblocking-fencing
> +kms_big_fb@x-tiled-addfb-size-overflow
> +kms_big_fb@y-tiled-addfb-size-overflow
> +kms_big_fb@yf-tiled-addfb-size-overflow
> +kms_big_fb@4-tiled-addfb-size-overflow
> +kms_big_fb@x-tiled-addfb-size-offset-overflow
> +kms_big_fb@y-tiled-addfb-size-offset-overflow
> +kms_big_fb@yf-tiled-addfb-size-offset-overflow
> +kms_big_fb@4-tiled-addfb-size-offset-overflow
> +kms_big_fb@linear-addfb
> +kms_big_fb@x-tiled-addfb
> +kms_big_fb@y-tiled-addfb
> +kms_big_fb@yf-tiled-addfb
> +kms_big_fb@4-tiled-addfb
> +kms_big_fb@linear-8bpp-rotate-0
> +kms_big_fb@linear-8bpp-rotate-90
> +kms_big_fb@linear-8bpp-rotate-180
> +kms_big_fb@linear-8bpp-rotate-270
> +kms_big_fb@linear-16bpp-rotate-0
> +kms_big_fb@linear-16bpp-rotate-90
> +kms_big_fb@linear-16bpp-rotate-180
> +kms_big_fb@linear-16bpp-rotate-270
> +kms_big_fb@linear-32bpp-rotate-0
> +kms_big_fb@linear-32bpp-rotate-90
> +kms_big_fb@linear-32bpp-rotate-180
> +kms_big_fb@linear-32bpp-rotate-270
> +kms_big_fb@linear-64bpp-rotate-0
> +kms_big_fb@linear-64bpp-rotate-90
> +kms_big_fb@linear-64bpp-rotate-180
> +kms_big_fb@linear-64bpp-rotate-270
> +kms_big_fb@x-tiled-8bpp-rotate-0
> +kms_big_fb@x-tiled-8bpp-rotate-90
> +kms_big_fb@x-tiled-8bpp-rotate-180
> +kms_big_fb@x-tiled-8bpp-rotate-270
> +kms_big_fb@x-tiled-16bpp-rotate-0
> +kms_big_fb@x-tiled-16bpp-rotate-90
> +kms_big_fb@x-tiled-16bpp-rotate-180
> +kms_big_fb@x-tiled-16bpp-rotate-270
> +kms_big_fb@x-tiled-32bpp-rotate-0
> +kms_big_fb@x-tiled-32bpp-rotate-90
> +kms_big_fb@x-tiled-32bpp-rotate-180
> +kms_big_fb@x-tiled-32bpp-rotate-270
> +kms_big_fb@x-tiled-64bpp-rotate-0
> +kms_big_fb@x-tiled-64bpp-rotate-90
> +kms_big_fb@x-tiled-64bpp-rotate-180
> +kms_big_fb@x-tiled-64bpp-rotate-270
> +kms_big_fb@y-tiled-8bpp-rotate-0
> +kms_big_fb@y-tiled-8bpp-rotate-90
> +kms_big_fb@y-tiled-8bpp-rotate-180
> +kms_big_fb@y-tiled-8bpp-rotate-270
> +kms_big_fb@y-tiled-16bpp-rotate-0
> +kms_big_fb@y-tiled-16bpp-rotate-90
> +kms_big_fb@y-tiled-16bpp-rotate-180
> +kms_big_fb@y-tiled-16bpp-rotate-270
> +kms_big_fb@y-tiled-32bpp-rotate-0
> +kms_big_fb@y-tiled-32bpp-rotate-90
> +kms_big_fb@y-tiled-32bpp-rotate-180
> +kms_big_fb@y-tiled-32bpp-rotate-270
> +kms_big_fb@y-tiled-64bpp-rotate-0
> +kms_big_fb@y-tiled-64bpp-rotate-90
> +kms_big_fb@y-tiled-64bpp-rotate-180
> +kms_big_fb@y-tiled-64bpp-rotate-270
> +kms_big_fb@yf-tiled-8bpp-rotate-0
> +kms_big_fb@yf-tiled-8bpp-rotate-90
> +kms_big_fb@yf-tiled-8bpp-rotate-180
> +kms_big_fb@yf-tiled-8bpp-rotate-270
> +kms_big_fb@yf-tiled-16bpp-rotate-0
> +kms_big_fb@yf-tiled-16bpp-rotate-90
> +kms_big_fb@yf-tiled-16bpp-rotate-180
> +kms_big_fb@yf-tiled-16bpp-rotate-270
> +kms_big_fb@yf-tiled-32bpp-rotate-0
> +kms_big_fb@yf-tiled-32bpp-rotate-90
> +kms_big_fb@yf-tiled-32bpp-rotate-180
> +kms_big_fb@yf-tiled-32bpp-rotate-270
> +kms_big_fb@yf-tiled-64bpp-rotate-0
> +kms_big_fb@yf-tiled-64bpp-rotate-90
> +kms_big_fb@yf-tiled-64bpp-rotate-180
> +kms_big_fb@yf-tiled-64bpp-rotate-270
> +kms_big_fb@4-tiled-8bpp-rotate-0
> +kms_big_fb@4-tiled-8bpp-rotate-90
> +kms_big_fb@4-tiled-8bpp-rotate-180
> +kms_big_fb@4-tiled-8bpp-rotate-270
> +kms_big_fb@4-tiled-16bpp-rotate-0
> +kms_big_fb@4-tiled-16bpp-rotate-90
> +kms_big_fb@4-tiled-16bpp-rotate-180
> +kms_big_fb@4-tiled-16bpp-rotate-270
> +kms_big_fb@4-tiled-32bpp-rotate-0
> +kms_big_fb@4-tiled-32bpp-rotate-90
> +kms_big_fb@4-tiled-32bpp-rotate-180
> +kms_big_fb@4-tiled-32bpp-rotate-270
> +kms_big_fb@4-tiled-64bpp-rotate-0
> +kms_big_fb@4-tiled-64bpp-rotate-90
> +kms_big_fb@4-tiled-64bpp-rotate-180
> +kms_big_fb@4-tiled-64bpp-rotate-270
> +kms_big_fb@linear-max-hw-stride-32bpp-rotate-0
> +kms_big_fb@linear-max-hw-stride-32bpp-rotate-180
> +kms_big_fb@linear-max-hw-stride-64bpp-rotate-0
> +kms_big_fb@linear-max-hw-stride-64bpp-rotate-180
> +kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0
> +kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-async-flip
> +kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180
> +kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip
> +kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0
> +kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip
> +kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180
> +kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-async-flip
> +kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip
> +kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
> +kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip
> +kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
> +kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip
> +kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
> +kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip
> +kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
> +kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0
> +kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-async-flip
> +kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180
> +kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-async-flip
> +kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0
> +kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip
> +kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180
> +kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-async-flip
> +kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip
> +kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
> +kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip
> +kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
> +kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip
> +kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
> +kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip
> +kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
> +kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0
> +kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip
> +kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180
> +kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip
> +kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0
> +kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-async-flip
> +kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180
> +kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip
> +kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip
> +kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
> +kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip
> +kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
> +kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip
> +kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
> +kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip
> +kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
> +kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0
> +kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-async-flip
> +kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180
> +kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-async-flip
> +kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0
> +kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-async-flip
> +kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180
> +kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-async-flip
> +kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip
> +kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip
> +kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip
> +kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip
> +kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip
> +kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip
> +kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip
> +kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip
> +kms_big_joiner@basic
> +kms_big_joiner@invalid-modeset
> +kms_big_joiner@2x-modeset
> +kms_busy@basic
> +kms_busy@basic-hang
> +kms_busy@extended-pageflip-modeset-hang-oldfb
> +kms_busy@extended-pageflip-hang-oldfb
> +kms_busy@extended-pageflip-hang-newfb
> +kms_busy@extended-modeset-hang-oldfb
> +kms_busy@extended-modeset-hang-newfb
> +kms_busy@extended-modeset-hang-oldfb-with-reset
> +kms_busy@extended-modeset-hang-newfb-with-reset
> +kms_bw@linear-tiling-1-displays-1920x1080p
> +kms_bw@linear-tiling-1-displays-2560x1440p
> +kms_bw@linear-tiling-1-displays-3840x2160p
> +kms_bw@linear-tiling-2-displays-1920x1080p
> +kms_bw@linear-tiling-2-displays-2560x1440p
> +kms_bw@linear-tiling-2-displays-3840x2160p
> +kms_bw@linear-tiling-3-displays-1920x1080p
> +kms_bw@linear-tiling-3-displays-2560x1440p
> +kms_bw@linear-tiling-3-displays-3840x2160p
> +kms_bw@linear-tiling-4-displays-1920x1080p
> +kms_bw@linear-tiling-4-displays-2560x1440p
> +kms_bw@linear-tiling-4-displays-3840x2160p
> +kms_bw@linear-tiling-5-displays-1920x1080p
> +kms_bw@linear-tiling-5-displays-2560x1440p
> +kms_bw@linear-tiling-5-displays-3840x2160p
> +kms_bw@linear-tiling-6-displays-1920x1080p
> +kms_bw@linear-tiling-6-displays-2560x1440p
> +kms_bw@linear-tiling-6-displays-3840x2160p
> +kms_bw@linear-tiling-7-displays-1920x1080p
> +kms_bw@linear-tiling-7-displays-2560x1440p
> +kms_bw@linear-tiling-7-displays-3840x2160p
> +kms_bw@linear-tiling-8-displays-1920x1080p
> +kms_bw@linear-tiling-8-displays-2560x1440p
> +kms_bw@linear-tiling-8-displays-3840x2160p
> +kms_ccs@pipe-A-bad-pixel-format-y_tiled_ccs
> +kms_ccs@pipe-A-bad-pixel-format-yf_tiled_ccs
> +kms_ccs@pipe-A-bad-pixel-format-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-A-bad-pixel-format-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-A-bad-pixel-format-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-A-bad-pixel-format-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-A-bad-pixel-format-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-A-bad-pixel-format-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-A-bad-pixel-format-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-A-bad-pixel-format-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-A-bad-pixel-format-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-A-bad-rotation-90-y_tiled_ccs
> +kms_ccs@pipe-A-bad-rotation-90-yf_tiled_ccs
> +kms_ccs@pipe-A-bad-rotation-90-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-A-bad-rotation-90-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-A-bad-rotation-90-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-A-bad-rotation-90-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-A-bad-rotation-90-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-A-bad-rotation-90-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-A-bad-rotation-90-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-A-bad-rotation-90-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-A-bad-rotation-90-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-A-crc-primary-basic-y_tiled_ccs
> +kms_ccs@pipe-A-crc-primary-basic-yf_tiled_ccs
> +kms_ccs@pipe-A-crc-primary-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-A-crc-primary-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-A-crc-primary-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-A-crc-primary-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-A-crc-primary-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-A-crc-primary-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-A-crc-primary-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-A-crc-primary-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-A-crc-primary-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-A-crc-primary-rotation-180-y_tiled_ccs
> +kms_ccs@pipe-A-crc-primary-rotation-180-yf_tiled_ccs
> +kms_ccs@pipe-A-crc-primary-rotation-180-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-A-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-A-crc-primary-rotation-180-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-A-crc-primary-rotation-180-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-A-crc-primary-rotation-180-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-A-crc-primary-rotation-180-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-A-crc-primary-rotation-180-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-A-crc-primary-rotation-180-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-A-crc-primary-rotation-180-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-A-random-ccs-data-y_tiled_ccs
> +kms_ccs@pipe-A-random-ccs-data-yf_tiled_ccs
> +kms_ccs@pipe-A-random-ccs-data-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-A-random-ccs-data-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-A-random-ccs-data-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-A-random-ccs-data-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-A-random-ccs-data-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-A-random-ccs-data-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-A-random-ccs-data-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-A-random-ccs-data-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-A-random-ccs-data-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-A-missing-ccs-buffer-y_tiled_ccs
> +kms_ccs@pipe-A-missing-ccs-buffer-yf_tiled_ccs
> +kms_ccs@pipe-A-missing-ccs-buffer-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-A-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-A-missing-ccs-buffer-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-A-missing-ccs-buffer-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-A-missing-ccs-buffer-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-A-missing-ccs-buffer-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-A-ccs-on-another-bo-y_tiled_ccs
> +kms_ccs@pipe-A-ccs-on-another-bo-yf_tiled_ccs
> +kms_ccs@pipe-A-ccs-on-another-bo-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-A-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-A-ccs-on-another-bo-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-A-ccs-on-another-bo-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-A-ccs-on-another-bo-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-A-ccs-on-another-bo-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-A-bad-aux-stride-y_tiled_ccs
> +kms_ccs@pipe-A-bad-aux-stride-yf_tiled_ccs
> +kms_ccs@pipe-A-bad-aux-stride-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-A-bad-aux-stride-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-A-bad-aux-stride-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-A-bad-aux-stride-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-A-bad-aux-stride-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-A-bad-aux-stride-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-A-crc-sprite-planes-basic-y_tiled_ccs
> +kms_ccs@pipe-A-crc-sprite-planes-basic-yf_tiled_ccs
> +kms_ccs@pipe-A-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-A-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-A-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-A-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-A-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-A-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-A-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-A-crc-sprite-planes-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-A-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-B-bad-pixel-format-y_tiled_ccs
> +kms_ccs@pipe-B-bad-pixel-format-yf_tiled_ccs
> +kms_ccs@pipe-B-bad-pixel-format-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-B-bad-pixel-format-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-B-bad-pixel-format-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-B-bad-pixel-format-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-B-bad-pixel-format-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-B-bad-pixel-format-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-B-bad-pixel-format-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-B-bad-pixel-format-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-B-bad-pixel-format-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-B-bad-rotation-90-y_tiled_ccs
> +kms_ccs@pipe-B-bad-rotation-90-yf_tiled_ccs
> +kms_ccs@pipe-B-bad-rotation-90-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-B-bad-rotation-90-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-B-bad-rotation-90-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-B-bad-rotation-90-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-B-bad-rotation-90-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-B-bad-rotation-90-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-B-bad-rotation-90-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-B-bad-rotation-90-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-B-bad-rotation-90-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-B-crc-primary-basic-y_tiled_ccs
> +kms_ccs@pipe-B-crc-primary-basic-yf_tiled_ccs
> +kms_ccs@pipe-B-crc-primary-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-B-crc-primary-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-B-crc-primary-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-B-crc-primary-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-B-crc-primary-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-B-crc-primary-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-B-crc-primary-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-B-crc-primary-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-B-crc-primary-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-B-crc-primary-rotation-180-y_tiled_ccs
> +kms_ccs@pipe-B-crc-primary-rotation-180-yf_tiled_ccs
> +kms_ccs@pipe-B-crc-primary-rotation-180-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-B-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-B-crc-primary-rotation-180-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-B-crc-primary-rotation-180-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-B-crc-primary-rotation-180-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-B-crc-primary-rotation-180-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-B-crc-primary-rotation-180-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-B-crc-primary-rotation-180-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-B-crc-primary-rotation-180-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-B-random-ccs-data-y_tiled_ccs
> +kms_ccs@pipe-B-random-ccs-data-yf_tiled_ccs
> +kms_ccs@pipe-B-random-ccs-data-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-B-random-ccs-data-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-B-random-ccs-data-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-B-random-ccs-data-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-B-random-ccs-data-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-B-random-ccs-data-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-B-random-ccs-data-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-B-random-ccs-data-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-B-random-ccs-data-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-B-missing-ccs-buffer-y_tiled_ccs
> +kms_ccs@pipe-B-missing-ccs-buffer-yf_tiled_ccs
> +kms_ccs@pipe-B-missing-ccs-buffer-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-B-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-B-missing-ccs-buffer-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-B-missing-ccs-buffer-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-B-missing-ccs-buffer-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-B-missing-ccs-buffer-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-B-ccs-on-another-bo-y_tiled_ccs
> +kms_ccs@pipe-B-ccs-on-another-bo-yf_tiled_ccs
> +kms_ccs@pipe-B-ccs-on-another-bo-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-B-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-B-ccs-on-another-bo-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-B-ccs-on-another-bo-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-B-ccs-on-another-bo-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-B-ccs-on-another-bo-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-B-bad-aux-stride-y_tiled_ccs
> +kms_ccs@pipe-B-bad-aux-stride-yf_tiled_ccs
> +kms_ccs@pipe-B-bad-aux-stride-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-B-bad-aux-stride-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-B-bad-aux-stride-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-B-bad-aux-stride-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-B-bad-aux-stride-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-B-bad-aux-stride-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-B-crc-sprite-planes-basic-y_tiled_ccs
> +kms_ccs@pipe-B-crc-sprite-planes-basic-yf_tiled_ccs
> +kms_ccs@pipe-B-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-B-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-B-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-B-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-B-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-B-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-B-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-B-crc-sprite-planes-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-B-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-C-bad-pixel-format-y_tiled_ccs
> +kms_ccs@pipe-C-bad-pixel-format-yf_tiled_ccs
> +kms_ccs@pipe-C-bad-pixel-format-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-C-bad-pixel-format-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-C-bad-pixel-format-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-C-bad-pixel-format-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-C-bad-pixel-format-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-C-bad-pixel-format-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-C-bad-pixel-format-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-C-bad-pixel-format-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-C-bad-pixel-format-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-C-bad-rotation-90-y_tiled_ccs
> +kms_ccs@pipe-C-bad-rotation-90-yf_tiled_ccs
> +kms_ccs@pipe-C-bad-rotation-90-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-C-bad-rotation-90-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-C-bad-rotation-90-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-C-bad-rotation-90-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-C-bad-rotation-90-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-C-bad-rotation-90-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-C-bad-rotation-90-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-C-bad-rotation-90-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-C-bad-rotation-90-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-C-crc-primary-basic-y_tiled_ccs
> +kms_ccs@pipe-C-crc-primary-basic-yf_tiled_ccs
> +kms_ccs@pipe-C-crc-primary-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-C-crc-primary-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-C-crc-primary-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-C-crc-primary-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-C-crc-primary-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-C-crc-primary-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-C-crc-primary-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-C-crc-primary-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-C-crc-primary-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-C-crc-primary-rotation-180-y_tiled_ccs
> +kms_ccs@pipe-C-crc-primary-rotation-180-yf_tiled_ccs
> +kms_ccs@pipe-C-crc-primary-rotation-180-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-C-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-C-crc-primary-rotation-180-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-C-crc-primary-rotation-180-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-C-crc-primary-rotation-180-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-C-crc-primary-rotation-180-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-C-crc-primary-rotation-180-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-C-crc-primary-rotation-180-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-C-crc-primary-rotation-180-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-C-random-ccs-data-y_tiled_ccs
> +kms_ccs@pipe-C-random-ccs-data-yf_tiled_ccs
> +kms_ccs@pipe-C-random-ccs-data-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-C-random-ccs-data-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-C-random-ccs-data-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-C-random-ccs-data-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-C-random-ccs-data-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-C-random-ccs-data-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-C-random-ccs-data-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-C-random-ccs-data-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-C-random-ccs-data-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-C-missing-ccs-buffer-y_tiled_ccs
> +kms_ccs@pipe-C-missing-ccs-buffer-yf_tiled_ccs
> +kms_ccs@pipe-C-missing-ccs-buffer-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-C-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-C-missing-ccs-buffer-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-C-missing-ccs-buffer-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-C-missing-ccs-buffer-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-C-missing-ccs-buffer-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-C-ccs-on-another-bo-y_tiled_ccs
> +kms_ccs@pipe-C-ccs-on-another-bo-yf_tiled_ccs
> +kms_ccs@pipe-C-ccs-on-another-bo-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-C-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-C-ccs-on-another-bo-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-C-ccs-on-another-bo-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-C-ccs-on-another-bo-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-C-ccs-on-another-bo-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-C-bad-aux-stride-y_tiled_ccs
> +kms_ccs@pipe-C-bad-aux-stride-yf_tiled_ccs
> +kms_ccs@pipe-C-bad-aux-stride-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-C-bad-aux-stride-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-C-bad-aux-stride-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-C-bad-aux-stride-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-C-bad-aux-stride-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-C-bad-aux-stride-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-C-crc-sprite-planes-basic-y_tiled_ccs
> +kms_ccs@pipe-C-crc-sprite-planes-basic-yf_tiled_ccs
> +kms_ccs@pipe-C-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-C-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-C-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-C-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-C-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-C-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-C-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-C-crc-sprite-planes-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-C-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-D-bad-pixel-format-y_tiled_ccs
> +kms_ccs@pipe-D-bad-pixel-format-yf_tiled_ccs
> +kms_ccs@pipe-D-bad-pixel-format-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-D-bad-pixel-format-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-D-bad-pixel-format-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-D-bad-pixel-format-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-D-bad-pixel-format-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-D-bad-pixel-format-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-D-bad-pixel-format-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-D-bad-pixel-format-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-D-bad-pixel-format-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-D-bad-rotation-90-y_tiled_ccs
> +kms_ccs@pipe-D-bad-rotation-90-yf_tiled_ccs
> +kms_ccs@pipe-D-bad-rotation-90-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-D-bad-rotation-90-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-D-bad-rotation-90-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-D-bad-rotation-90-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-D-bad-rotation-90-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-D-bad-rotation-90-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-D-bad-rotation-90-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-D-bad-rotation-90-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-D-bad-rotation-90-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-D-crc-primary-basic-y_tiled_ccs
> +kms_ccs@pipe-D-crc-primary-basic-yf_tiled_ccs
> +kms_ccs@pipe-D-crc-primary-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-D-crc-primary-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-D-crc-primary-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-D-crc-primary-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-D-crc-primary-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-D-crc-primary-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-D-crc-primary-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-D-crc-primary-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-D-crc-primary-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-D-crc-primary-rotation-180-y_tiled_ccs
> +kms_ccs@pipe-D-crc-primary-rotation-180-yf_tiled_ccs
> +kms_ccs@pipe-D-crc-primary-rotation-180-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-D-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-D-crc-primary-rotation-180-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-D-crc-primary-rotation-180-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-D-crc-primary-rotation-180-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-D-crc-primary-rotation-180-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-D-crc-primary-rotation-180-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-D-crc-primary-rotation-180-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-D-crc-primary-rotation-180-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-D-random-ccs-data-y_tiled_ccs
> +kms_ccs@pipe-D-random-ccs-data-yf_tiled_ccs
> +kms_ccs@pipe-D-random-ccs-data-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-D-random-ccs-data-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-D-random-ccs-data-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-D-random-ccs-data-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-D-random-ccs-data-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-D-random-ccs-data-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-D-random-ccs-data-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-D-random-ccs-data-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-D-random-ccs-data-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-D-missing-ccs-buffer-y_tiled_ccs
> +kms_ccs@pipe-D-missing-ccs-buffer-yf_tiled_ccs
> +kms_ccs@pipe-D-missing-ccs-buffer-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-D-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-D-missing-ccs-buffer-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-D-missing-ccs-buffer-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-D-missing-ccs-buffer-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-D-missing-ccs-buffer-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-D-ccs-on-another-bo-y_tiled_ccs
> +kms_ccs@pipe-D-ccs-on-another-bo-yf_tiled_ccs
> +kms_ccs@pipe-D-ccs-on-another-bo-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-D-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-D-ccs-on-another-bo-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-D-ccs-on-another-bo-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-D-ccs-on-another-bo-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-D-ccs-on-another-bo-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-D-bad-aux-stride-y_tiled_ccs
> +kms_ccs@pipe-D-bad-aux-stride-yf_tiled_ccs
> +kms_ccs@pipe-D-bad-aux-stride-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-D-bad-aux-stride-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-D-bad-aux-stride-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-D-bad-aux-stride-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-D-bad-aux-stride-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-D-bad-aux-stride-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-D-crc-sprite-planes-basic-y_tiled_ccs
> +kms_ccs@pipe-D-crc-sprite-planes-basic-yf_tiled_ccs
> +kms_ccs@pipe-D-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-D-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-D-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-D-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-D-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-D-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-D-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-D-crc-sprite-planes-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-D-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-E-bad-pixel-format-y_tiled_ccs
> +kms_ccs@pipe-E-bad-pixel-format-yf_tiled_ccs
> +kms_ccs@pipe-E-bad-pixel-format-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-E-bad-pixel-format-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-E-bad-pixel-format-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-E-bad-pixel-format-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-E-bad-pixel-format-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-E-bad-pixel-format-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-E-bad-pixel-format-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-E-bad-pixel-format-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-E-bad-pixel-format-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-E-bad-rotation-90-y_tiled_ccs
> +kms_ccs@pipe-E-bad-rotation-90-yf_tiled_ccs
> +kms_ccs@pipe-E-bad-rotation-90-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-E-bad-rotation-90-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-E-bad-rotation-90-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-E-bad-rotation-90-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-E-bad-rotation-90-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-E-bad-rotation-90-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-E-bad-rotation-90-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-E-bad-rotation-90-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-E-bad-rotation-90-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-E-crc-primary-basic-y_tiled_ccs
> +kms_ccs@pipe-E-crc-primary-basic-yf_tiled_ccs
> +kms_ccs@pipe-E-crc-primary-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-E-crc-primary-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-E-crc-primary-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-E-crc-primary-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-E-crc-primary-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-E-crc-primary-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-E-crc-primary-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-E-crc-primary-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-E-crc-primary-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-E-crc-primary-rotation-180-y_tiled_ccs
> +kms_ccs@pipe-E-crc-primary-rotation-180-yf_tiled_ccs
> +kms_ccs@pipe-E-crc-primary-rotation-180-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-E-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-E-crc-primary-rotation-180-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-E-crc-primary-rotation-180-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-E-crc-primary-rotation-180-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-E-crc-primary-rotation-180-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-E-crc-primary-rotation-180-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-E-crc-primary-rotation-180-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-E-crc-primary-rotation-180-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-E-random-ccs-data-y_tiled_ccs
> +kms_ccs@pipe-E-random-ccs-data-yf_tiled_ccs
> +kms_ccs@pipe-E-random-ccs-data-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-E-random-ccs-data-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-E-random-ccs-data-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-E-random-ccs-data-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-E-random-ccs-data-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-E-random-ccs-data-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-E-random-ccs-data-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-E-random-ccs-data-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-E-random-ccs-data-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-E-missing-ccs-buffer-y_tiled_ccs
> +kms_ccs@pipe-E-missing-ccs-buffer-yf_tiled_ccs
> +kms_ccs@pipe-E-missing-ccs-buffer-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-E-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-E-missing-ccs-buffer-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-E-missing-ccs-buffer-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-E-missing-ccs-buffer-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-E-missing-ccs-buffer-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-E-ccs-on-another-bo-y_tiled_ccs
> +kms_ccs@pipe-E-ccs-on-another-bo-yf_tiled_ccs
> +kms_ccs@pipe-E-ccs-on-another-bo-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-E-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-E-ccs-on-another-bo-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-E-ccs-on-another-bo-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-E-ccs-on-another-bo-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-E-ccs-on-another-bo-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-E-bad-aux-stride-y_tiled_ccs
> +kms_ccs@pipe-E-bad-aux-stride-yf_tiled_ccs
> +kms_ccs@pipe-E-bad-aux-stride-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-E-bad-aux-stride-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-E-bad-aux-stride-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-E-bad-aux-stride-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-E-bad-aux-stride-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-E-bad-aux-stride-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-E-crc-sprite-planes-basic-y_tiled_ccs
> +kms_ccs@pipe-E-crc-sprite-planes-basic-yf_tiled_ccs
> +kms_ccs@pipe-E-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-E-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-E-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-E-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-E-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-E-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-E-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-E-crc-sprite-planes-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-E-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-F-bad-pixel-format-y_tiled_ccs
> +kms_ccs@pipe-F-bad-pixel-format-yf_tiled_ccs
> +kms_ccs@pipe-F-bad-pixel-format-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-F-bad-pixel-format-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-F-bad-pixel-format-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-F-bad-pixel-format-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-F-bad-pixel-format-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-F-bad-pixel-format-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-F-bad-pixel-format-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-F-bad-pixel-format-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-F-bad-pixel-format-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-F-bad-rotation-90-y_tiled_ccs
> +kms_ccs@pipe-F-bad-rotation-90-yf_tiled_ccs
> +kms_ccs@pipe-F-bad-rotation-90-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-F-bad-rotation-90-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-F-bad-rotation-90-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-F-bad-rotation-90-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-F-bad-rotation-90-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-F-bad-rotation-90-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-F-bad-rotation-90-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-F-bad-rotation-90-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-F-bad-rotation-90-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-F-crc-primary-basic-y_tiled_ccs
> +kms_ccs@pipe-F-crc-primary-basic-yf_tiled_ccs
> +kms_ccs@pipe-F-crc-primary-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-F-crc-primary-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-F-crc-primary-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-F-crc-primary-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-F-crc-primary-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-F-crc-primary-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-F-crc-primary-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-F-crc-primary-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-F-crc-primary-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-F-crc-primary-rotation-180-y_tiled_ccs
> +kms_ccs@pipe-F-crc-primary-rotation-180-yf_tiled_ccs
> +kms_ccs@pipe-F-crc-primary-rotation-180-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-F-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-F-crc-primary-rotation-180-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-F-crc-primary-rotation-180-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-F-crc-primary-rotation-180-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-F-crc-primary-rotation-180-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-F-crc-primary-rotation-180-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-F-crc-primary-rotation-180-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-F-crc-primary-rotation-180-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-F-random-ccs-data-y_tiled_ccs
> +kms_ccs@pipe-F-random-ccs-data-yf_tiled_ccs
> +kms_ccs@pipe-F-random-ccs-data-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-F-random-ccs-data-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-F-random-ccs-data-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-F-random-ccs-data-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-F-random-ccs-data-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-F-random-ccs-data-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-F-random-ccs-data-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-F-random-ccs-data-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-F-random-ccs-data-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-F-missing-ccs-buffer-y_tiled_ccs
> +kms_ccs@pipe-F-missing-ccs-buffer-yf_tiled_ccs
> +kms_ccs@pipe-F-missing-ccs-buffer-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-F-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-F-missing-ccs-buffer-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-F-missing-ccs-buffer-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-F-missing-ccs-buffer-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-F-missing-ccs-buffer-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-F-ccs-on-another-bo-y_tiled_ccs
> +kms_ccs@pipe-F-ccs-on-another-bo-yf_tiled_ccs
> +kms_ccs@pipe-F-ccs-on-another-bo-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-F-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-F-ccs-on-another-bo-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-F-ccs-on-another-bo-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-F-ccs-on-another-bo-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-F-ccs-on-another-bo-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-F-bad-aux-stride-y_tiled_ccs
> +kms_ccs@pipe-F-bad-aux-stride-yf_tiled_ccs
> +kms_ccs@pipe-F-bad-aux-stride-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-F-bad-aux-stride-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-F-bad-aux-stride-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-F-bad-aux-stride-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-F-bad-aux-stride-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-F-bad-aux-stride-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-F-crc-sprite-planes-basic-y_tiled_ccs
> +kms_ccs@pipe-F-crc-sprite-planes-basic-yf_tiled_ccs
> +kms_ccs@pipe-F-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-F-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-F-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-F-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-F-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-F-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-F-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-F-crc-sprite-planes-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-F-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-G-bad-pixel-format-y_tiled_ccs
> +kms_ccs@pipe-G-bad-pixel-format-yf_tiled_ccs
> +kms_ccs@pipe-G-bad-pixel-format-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-G-bad-pixel-format-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-G-bad-pixel-format-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-G-bad-pixel-format-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-G-bad-pixel-format-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-G-bad-pixel-format-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-G-bad-pixel-format-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-G-bad-pixel-format-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-G-bad-pixel-format-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-G-bad-rotation-90-y_tiled_ccs
> +kms_ccs@pipe-G-bad-rotation-90-yf_tiled_ccs
> +kms_ccs@pipe-G-bad-rotation-90-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-G-bad-rotation-90-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-G-bad-rotation-90-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-G-bad-rotation-90-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-G-bad-rotation-90-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-G-bad-rotation-90-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-G-bad-rotation-90-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-G-bad-rotation-90-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-G-bad-rotation-90-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-G-crc-primary-basic-y_tiled_ccs
> +kms_ccs@pipe-G-crc-primary-basic-yf_tiled_ccs
> +kms_ccs@pipe-G-crc-primary-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-G-crc-primary-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-G-crc-primary-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-G-crc-primary-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-G-crc-primary-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-G-crc-primary-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-G-crc-primary-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-G-crc-primary-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-G-crc-primary-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-G-crc-primary-rotation-180-y_tiled_ccs
> +kms_ccs@pipe-G-crc-primary-rotation-180-yf_tiled_ccs
> +kms_ccs@pipe-G-crc-primary-rotation-180-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-G-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-G-crc-primary-rotation-180-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-G-crc-primary-rotation-180-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-G-crc-primary-rotation-180-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-G-crc-primary-rotation-180-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-G-crc-primary-rotation-180-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-G-crc-primary-rotation-180-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-G-crc-primary-rotation-180-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-G-random-ccs-data-y_tiled_ccs
> +kms_ccs@pipe-G-random-ccs-data-yf_tiled_ccs
> +kms_ccs@pipe-G-random-ccs-data-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-G-random-ccs-data-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-G-random-ccs-data-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-G-random-ccs-data-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-G-random-ccs-data-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-G-random-ccs-data-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-G-random-ccs-data-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-G-random-ccs-data-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-G-random-ccs-data-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-G-missing-ccs-buffer-y_tiled_ccs
> +kms_ccs@pipe-G-missing-ccs-buffer-yf_tiled_ccs
> +kms_ccs@pipe-G-missing-ccs-buffer-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-G-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-G-missing-ccs-buffer-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-G-missing-ccs-buffer-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-G-missing-ccs-buffer-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-G-missing-ccs-buffer-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-G-ccs-on-another-bo-y_tiled_ccs
> +kms_ccs@pipe-G-ccs-on-another-bo-yf_tiled_ccs
> +kms_ccs@pipe-G-ccs-on-another-bo-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-G-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-G-ccs-on-another-bo-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-G-ccs-on-another-bo-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-G-ccs-on-another-bo-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-G-ccs-on-another-bo-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-G-bad-aux-stride-y_tiled_ccs
> +kms_ccs@pipe-G-bad-aux-stride-yf_tiled_ccs
> +kms_ccs@pipe-G-bad-aux-stride-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-G-bad-aux-stride-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-G-bad-aux-stride-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-G-bad-aux-stride-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-G-bad-aux-stride-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-G-bad-aux-stride-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-G-crc-sprite-planes-basic-y_tiled_ccs
> +kms_ccs@pipe-G-crc-sprite-planes-basic-yf_tiled_ccs
> +kms_ccs@pipe-G-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-G-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-G-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-G-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-G-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-G-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-G-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-G-crc-sprite-planes-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-G-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-H-bad-pixel-format-y_tiled_ccs
> +kms_ccs@pipe-H-bad-pixel-format-yf_tiled_ccs
> +kms_ccs@pipe-H-bad-pixel-format-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-H-bad-pixel-format-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-H-bad-pixel-format-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-H-bad-pixel-format-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-H-bad-pixel-format-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-H-bad-pixel-format-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-H-bad-pixel-format-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-H-bad-pixel-format-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-H-bad-pixel-format-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-H-bad-rotation-90-y_tiled_ccs
> +kms_ccs@pipe-H-bad-rotation-90-yf_tiled_ccs
> +kms_ccs@pipe-H-bad-rotation-90-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-H-bad-rotation-90-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-H-bad-rotation-90-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-H-bad-rotation-90-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-H-bad-rotation-90-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-H-bad-rotation-90-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-H-bad-rotation-90-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-H-bad-rotation-90-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-H-bad-rotation-90-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-H-crc-primary-basic-y_tiled_ccs
> +kms_ccs@pipe-H-crc-primary-basic-yf_tiled_ccs
> +kms_ccs@pipe-H-crc-primary-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-H-crc-primary-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-H-crc-primary-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-H-crc-primary-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-H-crc-primary-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-H-crc-primary-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-H-crc-primary-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-H-crc-primary-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-H-crc-primary-basic-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-H-crc-primary-rotation-180-y_tiled_ccs
> +kms_ccs@pipe-H-crc-primary-rotation-180-yf_tiled_ccs
> +kms_ccs@pipe-H-crc-primary-rotation-180-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-H-crc-primary-rotation-180-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-H-crc-primary-rotation-180-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-H-crc-primary-rotation-180-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-H-crc-primary-rotation-180-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-H-crc-primary-rotation-180-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-H-crc-primary-rotation-180-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-H-crc-primary-rotation-180-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-H-crc-primary-rotation-180-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-H-random-ccs-data-y_tiled_ccs
> +kms_ccs@pipe-H-random-ccs-data-yf_tiled_ccs
> +kms_ccs@pipe-H-random-ccs-data-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-H-random-ccs-data-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-H-random-ccs-data-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-H-random-ccs-data-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-H-random-ccs-data-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-H-random-ccs-data-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-H-random-ccs-data-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-H-random-ccs-data-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-H-random-ccs-data-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-H-missing-ccs-buffer-y_tiled_ccs
> +kms_ccs@pipe-H-missing-ccs-buffer-yf_tiled_ccs
> +kms_ccs@pipe-H-missing-ccs-buffer-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-H-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-H-missing-ccs-buffer-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-H-missing-ccs-buffer-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-H-missing-ccs-buffer-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-H-missing-ccs-buffer-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-H-ccs-on-another-bo-y_tiled_ccs
> +kms_ccs@pipe-H-ccs-on-another-bo-yf_tiled_ccs
> +kms_ccs@pipe-H-ccs-on-another-bo-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-H-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-H-ccs-on-another-bo-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-H-ccs-on-another-bo-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-H-ccs-on-another-bo-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-H-ccs-on-another-bo-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-H-bad-aux-stride-y_tiled_ccs
> +kms_ccs@pipe-H-bad-aux-stride-yf_tiled_ccs
> +kms_ccs@pipe-H-bad-aux-stride-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-H-bad-aux-stride-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-H-bad-aux-stride-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-H-bad-aux-stride-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-H-bad-aux-stride-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-H-bad-aux-stride-4_tiled_mtl_rc_ccs_cc
> +kms_ccs@pipe-H-crc-sprite-planes-basic-y_tiled_ccs
> +kms_ccs@pipe-H-crc-sprite-planes-basic-yf_tiled_ccs
> +kms_ccs@pipe-H-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs
> +kms_ccs@pipe-H-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs_cc
> +kms_ccs@pipe-H-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs
> +kms_ccs@pipe-H-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs
> +kms_ccs@pipe-H-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs
> +kms_ccs@pipe-H-crc-sprite-planes-basic-4_tiled_dg2_rc_ccs_cc
> +kms_ccs@pipe-H-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs
> +kms_ccs@pipe-H-crc-sprite-planes-basic-4_tiled_mtl_mc_ccs
> +kms_ccs@pipe-H-crc-sprite-planes-basic-4_tiled_mtl_rc_ccs_cc
> +kms_cdclk@plane-scaling
> +kms_cdclk@mode-transition
> +kms_cdclk@mode-transition-all-outputs
> +kms_color@degamma
> +kms_color@gamma
> +kms_color@legacy-gamma
> +kms_color@legacy-gamma-reset
> +kms_color@ctm-red-to-blue
> +kms_color@ctm-green-to-red
> +kms_color@ctm-blue-to-red
> +kms_color@ctm-max
> +kms_color@ctm-negative
> +kms_color@ctm-0-25
> +kms_color@ctm-0-50
> +kms_color@ctm-0-75
> +kms_color@ctm-signed
> +kms_color@deep-color
> +kms_color@invalid-gamma-lut-sizes
> +kms_color@invalid-degamma-lut-sizes
> +kms_color@invalid-ctm-matrix-sizes
> +kms_concurrent@pipe-A
> +kms_concurrent@pipe-B
> +kms_concurrent@pipe-C
> +kms_concurrent@pipe-D
> +kms_concurrent@pipe-E
> +kms_concurrent@pipe-F
> +kms_concurrent@pipe-G
> +kms_concurrent@pipe-H
> +kms_content_protection@legacy
> +kms_content_protection@atomic
> +kms_content_protection@atomic-dpms
> +kms_content_protection@LIC
> +kms_content_protection@type1
> +kms_content_protection@mei_interface
> +kms_content_protection@content_type_change
> +kms_content_protection@uevent
> +kms_content_protection@srm
> +kms_content_protection@dp-mst-type-0
> +kms_content_protection@dp-mst-lic-type-0
> +kms_content_protection@dp-mst-type-1
> +kms_content_protection@dp-mst-lic-type-1
> +kms_cursor_crc@cursor-size-change
> +kms_cursor_crc@cursor-alpha-opaque
> +kms_cursor_crc@cursor-alpha-transparent
> +kms_cursor_crc@cursor-dpms
> +kms_cursor_crc@cursor-suspend
> +kms_cursor_crc@cursor-onscreen-32x32
> +kms_cursor_crc@cursor-offscreen-32x32
> +kms_cursor_crc@cursor-sliding-32x32
> +kms_cursor_crc@cursor-random-32x32
> +kms_cursor_crc@cursor-rapid-movement-32x32
> +kms_cursor_crc@cursor-onscreen-32x10
> +kms_cursor_crc@cursor-offscreen-32x10
> +kms_cursor_crc@cursor-sliding-32x10
> +kms_cursor_crc@cursor-random-32x10
> +kms_cursor_crc@cursor-rapid-movement-32x10
> +kms_cursor_crc@cursor-onscreen-64x64
> +kms_cursor_crc@cursor-offscreen-64x64
> +kms_cursor_crc@cursor-sliding-64x64
> +kms_cursor_crc@cursor-random-64x64
> +kms_cursor_crc@cursor-rapid-movement-64x64
> +kms_cursor_crc@cursor-onscreen-64x21
> +kms_cursor_crc@cursor-offscreen-64x21
> +kms_cursor_crc@cursor-sliding-64x21
> +kms_cursor_crc@cursor-random-64x21
> +kms_cursor_crc@cursor-rapid-movement-64x21
> +kms_cursor_crc@cursor-onscreen-128x128
> +kms_cursor_crc@cursor-offscreen-128x128
> +kms_cursor_crc@cursor-sliding-128x128
> +kms_cursor_crc@cursor-random-128x128
> +kms_cursor_crc@cursor-rapid-movement-128x128
> +kms_cursor_crc@cursor-onscreen-128x42
> +kms_cursor_crc@cursor-offscreen-128x42
> +kms_cursor_crc@cursor-sliding-128x42
> +kms_cursor_crc@cursor-random-128x42
> +kms_cursor_crc@cursor-rapid-movement-128x42
> +kms_cursor_crc@cursor-onscreen-256x256
> +kms_cursor_crc@cursor-offscreen-256x256
> +kms_cursor_crc@cursor-sliding-256x256
> +kms_cursor_crc@cursor-random-256x256
> +kms_cursor_crc@cursor-rapid-movement-256x256
> +kms_cursor_crc@cursor-onscreen-256x85
> +kms_cursor_crc@cursor-offscreen-256x85
> +kms_cursor_crc@cursor-sliding-256x85
> +kms_cursor_crc@cursor-random-256x85
> +kms_cursor_crc@cursor-rapid-movement-256x85
> +kms_cursor_crc@cursor-onscreen-512x512
> +kms_cursor_crc@cursor-offscreen-512x512
> +kms_cursor_crc@cursor-sliding-512x512
> +kms_cursor_crc@cursor-random-512x512
> +kms_cursor_crc@cursor-rapid-movement-512x512
> +kms_cursor_crc@cursor-onscreen-512x170
> +kms_cursor_crc@cursor-offscreen-512x170
> +kms_cursor_crc@cursor-sliding-512x170
> +kms_cursor_crc@cursor-random-512x170
> +kms_cursor_crc@cursor-rapid-movement-512x170
> +kms_cursor_crc@cursor-onscreen-max-size
> +kms_cursor_crc@cursor-offscreen-max-size
> +kms_cursor_crc@cursor-sliding-max-size
> +kms_cursor_crc@cursor-random-max-size
> +kms_cursor_crc@cursor-rapid-movement-max-size
> +kms_cursor_legacy@single-bo
> +kms_cursor_legacy@single-move
> +kms_cursor_legacy@forked-bo
> +kms_cursor_legacy@forked-move
> +kms_cursor_legacy@torture-bo
> +kms_cursor_legacy@torture-move
> +kms_cursor_legacy@nonblocking-modeset-vs-cursor-atomic
> +kms_cursor_legacy@long-nonblocking-modeset-vs-cursor-atomic
> +kms_cursor_legacy@2x-flip-vs-cursor-legacy
> +kms_cursor_legacy@2x-flip-vs-cursor-atomic
> +kms_cursor_legacy@2x-long-flip-vs-cursor-legacy
> +kms_cursor_legacy@2x-long-flip-vs-cursor-atomic
> +kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic
> +kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic
> +kms_cursor_legacy@2x-cursor-vs-flip-legacy
> +kms_cursor_legacy@2x-long-cursor-vs-flip-legacy
> +kms_cursor_legacy@2x-cursor-vs-flip-atomic
> +kms_cursor_legacy@2x-long-cursor-vs-flip-atomic
> +kms_cursor_legacy@flip-vs-cursor-crc-legacy
> +kms_cursor_legacy@flip-vs-cursor-crc-atomic
> +kms_cursor_legacy@flip-vs-cursor-busy-crc-legacy
> +kms_cursor_legacy@flip-vs-cursor-busy-crc-atomic
> +kms_cursor_legacy@basic-flip-before-cursor-legacy
> +kms_cursor_legacy@basic-busy-flip-before-cursor-legacy
> +kms_cursor_legacy@basic-flip-after-cursor-legacy
> +kms_cursor_legacy@basic-flip-before-cursor-varying-size
> +kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size
> +kms_cursor_legacy@basic-flip-after-cursor-varying-size
> +kms_cursor_legacy@short-flip-before-cursor-toggle
> +kms_cursor_legacy@short-busy-flip-before-cursor-toggle
> +kms_cursor_legacy@short-flip-after-cursor-toggle
> +kms_cursor_legacy@basic-flip-before-cursor-atomic
> +kms_cursor_legacy@basic-busy-flip-before-cursor-atomic
> +kms_cursor_legacy@basic-flip-after-cursor-atomic
> +kms_cursor_legacy@short-flip-before-cursor-atomic-transitions
> +kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions
> +kms_cursor_legacy@short-flip-after-cursor-atomic-transitions
> +kms_cursor_legacy@short-flip-before-cursor-atomic-transitions-varying-size
> +kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size
> +kms_cursor_legacy@short-flip-after-cursor-atomic-transitions-varying-size
> +kms_cursor_legacy@cursor-vs-flip-legacy
> +kms_cursor_legacy@flip-vs-cursor-legacy
> +kms_cursor_legacy@cursorA-vs-flipA-legacy
> +kms_cursor_legacy@cursorA-vs-flipB-legacy
> +kms_cursor_legacy@cursorB-vs-flipA-legacy
> +kms_cursor_legacy@cursorB-vs-flipB-legacy
> +kms_cursor_legacy@cursor-vs-flip-varying-size
> +kms_cursor_legacy@flip-vs-cursor-varying-size
> +kms_cursor_legacy@cursorA-vs-flipA-varying-size
> +kms_cursor_legacy@cursorA-vs-flipB-varying-size
> +kms_cursor_legacy@cursorB-vs-flipA-varying-size
> +kms_cursor_legacy@cursorB-vs-flipB-varying-size
> +kms_cursor_legacy@cursor-vs-flip-toggle
> +kms_cursor_legacy@flip-vs-cursor-toggle
> +kms_cursor_legacy@cursorA-vs-flipA-toggle
> +kms_cursor_legacy@cursorA-vs-flipB-toggle
> +kms_cursor_legacy@cursorB-vs-flipA-toggle
> +kms_cursor_legacy@cursorB-vs-flipB-toggle
> +kms_cursor_legacy@cursor-vs-flip-atomic
> +kms_cursor_legacy@flip-vs-cursor-atomic
> +kms_cursor_legacy@cursorA-vs-flipA-atomic
> +kms_cursor_legacy@cursorA-vs-flipB-atomic
> +kms_cursor_legacy@cursorB-vs-flipA-atomic
> +kms_cursor_legacy@cursorB-vs-flipB-atomic
> +kms_cursor_legacy@cursor-vs-flip-atomic-transitions
> +kms_cursor_legacy@flip-vs-cursor-atomic-transitions
> +kms_cursor_legacy@cursorA-vs-flipA-atomic-transitions
> +kms_cursor_legacy@cursorA-vs-flipB-atomic-transitions
> +kms_cursor_legacy@cursorB-vs-flipA-atomic-transitions
> +kms_cursor_legacy@cursorB-vs-flipB-atomic-transitions
> +kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size
> +kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size
> +kms_cursor_legacy@cursorA-vs-flipA-atomic-transitions-varying-size
> +kms_cursor_legacy@cursorA-vs-flipB-atomic-transitions-varying-size
> +kms_cursor_legacy@cursorB-vs-flipA-atomic-transitions-varying-size
> +kms_cursor_legacy@cursorB-vs-flipB-atomic-transitions-varying-size
> +kms_dither@FB-8BPC-Vs-Panel-6BPC
> +kms_dither@FB-8BPC-Vs-Panel-8BPC
> +kms_dp_aux_dev
> +kms_tiled_display@basic-test-pattern
> +kms_tiled_display@basic-test-pattern-with-chamelium
> +kms_draw_crc@draw-method-mmap-cpu
> +kms_draw_crc@draw-method-mmap-gtt
> +kms_draw_crc@draw-method-mmap-wc
> +kms_draw_crc@draw-method-pwrite
> +kms_draw_crc@draw-method-blt
> +kms_draw_crc@draw-method-render
> +kms_draw_crc@fill-fb
> +kms_dsc@dsc-basic
> +kms_dsc@dsc-with-formats
> +kms_dsc@dsc-with-bpc
> +kms_dsc@dsc-with-bpc-formats
> +kms_dsc@dsc-with-output-formats
> +kms_fbcon_fbt@fbc
> +kms_fbcon_fbt@psr
> +kms_fbcon_fbt@fbc-suspend
> +kms_fbcon_fbt@psr-suspend
> +kms_fence_pin_leak
> +kms_flip@nonblocking-read
> +kms_flip@wf_vblank-ts-check
> +kms_flip@2x-wf_vblank-ts-check
> +kms_flip@blocking-wf_vblank
> +kms_flip@2x-blocking-wf_vblank
> +kms_flip@absolute-wf_vblank
> +kms_flip@2x-absolute-wf_vblank
> +kms_flip@blocking-absolute-wf_vblank
> +kms_flip@2x-blocking-absolute-wf_vblank
> +kms_flip@basic-plain-flip
> +kms_flip@2x-plain-flip
> +kms_flip@busy-flip
> +kms_flip@2x-busy-flip
> +kms_flip@flip-vs-fences
> +kms_flip@2x-flip-vs-fences
> +kms_flip@plain-flip-ts-check
> +kms_flip@2x-plain-flip-ts-check
> +kms_flip@plain-flip-fb-recreate
> +kms_flip@2x-plain-flip-fb-recreate
> +kms_flip@flip-vs-rmfb
> +kms_flip@2x-flip-vs-rmfb
> +kms_flip@basic-flip-vs-dpms
> +kms_flip@2x-flip-vs-dpms
> +kms_flip@flip-vs-panning
> +kms_flip@2x-flip-vs-panning
> +kms_flip@basic-flip-vs-modeset
> +kms_flip@2x-flip-vs-modeset
> +kms_flip@flip-vs-expired-vblank
> +kms_flip@2x-flip-vs-expired-vblank
> +kms_flip@flip-vs-absolute-wf_vblank
> +kms_flip@2x-flip-vs-absolute-wf_vblank
> +kms_flip@basic-flip-vs-wf_vblank
> +kms_flip@2x-flip-vs-wf_vblank
> +kms_flip@flip-vs-blocking-wf-vblank
> +kms_flip@2x-flip-vs-blocking-wf-vblank
> +kms_flip@flip-vs-modeset-vs-hang
> +kms_flip@2x-flip-vs-modeset-vs-hang
> +kms_flip@flip-vs-panning-vs-hang
> +kms_flip@2x-flip-vs-panning-vs-hang
> +kms_flip@flip-vs-dpms-off-vs-modeset
> +kms_flip@2x-flip-vs-dpms-off-vs-modeset
> +kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset
> +kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset
> +kms_flip@dpms-off-confusion
> +kms_flip@nonexisting-fb
> +kms_flip@2x-nonexisting-fb
> +kms_flip@dpms-vs-vblank-race
> +kms_flip@2x-dpms-vs-vblank-race
> +kms_flip@modeset-vs-vblank-race
> +kms_flip@2x-modeset-vs-vblank-race
> +kms_flip@bo-too-big
> +kms_flip@flip-vs-suspend
> +kms_flip@2x-flip-vs-suspend
> +kms_flip@wf_vblank-ts-check-interruptible
> +kms_flip@2x-wf_vblank-ts-check-interruptible
> +kms_flip@absolute-wf_vblank-interruptible
> +kms_flip@2x-absolute-wf_vblank-interruptible
> +kms_flip@blocking-absolute-wf_vblank-interruptible
> +kms_flip@2x-blocking-absolute-wf_vblank-interruptible
> +kms_flip@plain-flip-interruptible
> +kms_flip@2x-plain-flip-interruptible
> +kms_flip@flip-vs-fences-interruptible
> +kms_flip@2x-flip-vs-fences-interruptible
> +kms_flip@plain-flip-ts-check-interruptible
> +kms_flip@2x-plain-flip-ts-check-interruptible
> +kms_flip@plain-flip-fb-recreate-interruptible
> +kms_flip@2x-plain-flip-fb-recreate-interruptible
> +kms_flip@flip-vs-rmfb-interruptible
> +kms_flip@2x-flip-vs-rmfb-interruptible
> +kms_flip@flip-vs-panning-interruptible
> +kms_flip@2x-flip-vs-panning-interruptible
> +kms_flip@flip-vs-expired-vblank-interruptible
> +kms_flip@2x-flip-vs-expired-vblank-interruptible
> +kms_flip@flip-vs-absolute-wf_vblank-interruptible
> +kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible
> +kms_flip@flip-vs-wf_vblank-interruptible
> +kms_flip@2x-flip-vs-wf_vblank-interruptible
> +kms_flip@flip-vs-dpms-off-vs-modeset-interruptible
> +kms_flip@2x-flip-vs-dpms-off-vs-modeset-interruptible
> +kms_flip@single-buffer-flip-vs-dpms-off-vs-modeset-interruptible
> +kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset-interruptible
> +kms_flip@dpms-off-confusion-interruptible
> +kms_flip@nonexisting-fb-interruptible
> +kms_flip@2x-nonexisting-fb-interruptible
> +kms_flip@dpms-vs-vblank-race-interruptible
> +kms_flip@2x-dpms-vs-vblank-race-interruptible
> +kms_flip@modeset-vs-vblank-race-interruptible
> +kms_flip@2x-modeset-vs-vblank-race-interruptible
> +kms_flip@bo-too-big-interruptible
> +kms_flip@flip-vs-suspend-interruptible
> +kms_flip@2x-flip-vs-suspend-interruptible
> +kms_flip_event_leak@basic
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling
> +kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling
> +kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-downscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling
> +kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling
> +kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-upscaling
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-upscaling
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling
> +kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling
> +kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling
> +kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling
> +kms_force_connector_basic@force-load-detect
> +kms_force_connector_basic@force-connector-state
> +kms_force_connector_basic@force-edid
> +kms_force_connector_basic@prune-stale-modes
> +kms_frontbuffer_tracking@fbc-1p-rte
> +kms_frontbuffer_tracking@fbc-2p-rte
> +kms_frontbuffer_tracking@psr-1p-rte
> +kms_frontbuffer_tracking@psr-2p-rte
> +kms_frontbuffer_tracking@fbcpsr-1p-rte
> +kms_frontbuffer_tracking@fbcpsr-2p-rte
> +kms_frontbuffer_tracking@drrs-1p-rte
> +kms_frontbuffer_tracking@drrs-2p-rte
> +kms_frontbuffer_tracking@fbcdrrs-1p-rte
> +kms_frontbuffer_tracking@fbcdrrs-2p-rte
> +kms_frontbuffer_tracking@psrdrrs-1p-rte
> +kms_frontbuffer_tracking@psrdrrs-2p-rte
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-rte
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-rte
> +kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbc-1p-offscren-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-render
> +kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@drrs-1p-offscren-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-1p-offscren-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-1p-offscren-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-1p-offscren-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-1p-offscren-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@drrs-1p-offscren-pri-indfb-draw-render
> +kms_frontbuffer_tracking@drrs-1p-offscren-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-1p-offscren-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-1p-offscren-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-1p-offscren-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-1p-offscren-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@drrs-1p-offscren-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-1p-offscren-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-1p-offscren-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-1p-offscren-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-1p-offscren-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-1p-offscren-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-1p-offscren-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-1p-offscren-pri-indfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-1p-offscren-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-1p-offscren-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-1p-offscren-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-1p-offscren-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-1p-offscren-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-1p-offscren-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-offscren-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-offscren-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-offscren-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-offscren-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-offscren-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-offscren-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-offscren-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-offscren-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-offscren-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-offscren-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-offscren-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-offscren-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-pri-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-pri-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-pri-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-pri-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-pri-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-pri-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-pri-shrfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-cur-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-cur-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-cur-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-cur-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-cur-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-cur-indfb-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-spr-indfb-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-spr-indfb-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-spr-indfb-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-spr-indfb-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-spr-indfb-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-spr-indfb-draw-render
> +kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@psr-1p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@psr-1p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@psr-1p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@psr-2p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@psr-2p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@drrs-1p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@drrs-2p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-indfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-indfb-msflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-indfb-plflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-shrfb-pgflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-shrfb-msflip-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-shrfb-plflip-blt
> +kms_frontbuffer_tracking@fbc-1p-indfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbc-1p-shrfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbc-2p-indfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbc-2p-shrfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-1p-indfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-1p-shrfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-2p-indfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-2p-shrfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-1p-indfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-1p-shrfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-2p-indfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-2p-shrfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-indfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-shrfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-indfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-shrfb-fliptrack-mmap-gtt
> +kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-move
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-move
> +kms_frontbuffer_tracking@psr-2p-scndscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-move
> +kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-move
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-move
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@drrs-1p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@drrs-2p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-move
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-move
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-move
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-move
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-cur-indfb-move
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-spr-indfb-move
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-cur-indfb-move
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-spr-indfb-move
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-cur-indfb-move
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-cur-indfb-onoff
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-spr-indfb-move
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-spr-indfb-onoff
> +kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@fbcpsr-2p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@drrs-2p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@drrs-2p-scndscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@psrdrrs-1p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@psrdrrs-2p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@psrdrrs-2p-scndscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-primscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-scndscrn-spr-indfb-fullscreen
> +kms_frontbuffer_tracking@fbc-1p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@fbc-2p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@psr-1p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@psr-2p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@fbcpsr-2p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@drrs-1p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@drrs-2p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@fbcdrrs-1p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@fbcdrrs-2p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@psrdrrs-1p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@psrdrrs-2p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@fbcpsrdrrs-1p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@fbcpsrdrrs-2p-pri-indfb-multidraw
> +kms_frontbuffer_tracking@fbc-farfromfence-mmap-gtt
> +kms_frontbuffer_tracking@psr-farfromfence-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-farfromfence-mmap-gtt
> +kms_frontbuffer_tracking@drrs-farfromfence-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-farfromfence-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-farfromfence-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-farfromfence-mmap-gtt
> +kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbc-rgb565-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-rgb101010-draw-mmap-wc
> +kms_frontbuffer_tracking@fbc-rgb565-draw-pwrite
> +kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite
> +kms_frontbuffer_tracking@fbc-rgb565-draw-blt
> +kms_frontbuffer_tracking@fbc-rgb101010-draw-blt
> +kms_frontbuffer_tracking@fbc-rgb565-draw-render
> +kms_frontbuffer_tracking@fbc-rgb101010-draw-render
> +kms_frontbuffer_tracking@psr-rgb565-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-cpu
> +kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-gtt
> +kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-wc
> +kms_frontbuffer_tracking@psr-rgb565-draw-pwrite
> +kms_frontbuffer_tracking@psr-rgb101010-draw-pwrite
> +kms_frontbuffer_tracking@psr-rgb565-draw-blt
> +kms_frontbuffer_tracking@psr-rgb101010-draw-blt
> +kms_frontbuffer_tracking@psr-rgb565-draw-render
> +kms_frontbuffer_tracking@psr-rgb101010-draw-render
> +kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsr-rgb565-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsr-rgb565-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsr-rgb565-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-blt
> +kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render
> +kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-render
> +kms_frontbuffer_tracking@drrs-rgb565-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-rgb101010-draw-mmap-cpu
> +kms_frontbuffer_tracking@drrs-rgb565-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-rgb101010-draw-mmap-gtt
> +kms_frontbuffer_tracking@drrs-rgb565-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-rgb101010-draw-mmap-wc
> +kms_frontbuffer_tracking@drrs-rgb565-draw-pwrite
> +kms_frontbuffer_tracking@drrs-rgb101010-draw-pwrite
> +kms_frontbuffer_tracking@drrs-rgb565-draw-blt
> +kms_frontbuffer_tracking@drrs-rgb101010-draw-blt
> +kms_frontbuffer_tracking@drrs-rgb565-draw-render
> +kms_frontbuffer_tracking@drrs-rgb101010-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-rgb565-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcdrrs-rgb565-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcdrrs-rgb565-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcdrrs-rgb565-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-pwrite
> +kms_frontbuffer_tracking@fbcdrrs-rgb565-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-blt
> +kms_frontbuffer_tracking@fbcdrrs-rgb565-draw-render
> +kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-render
> +kms_frontbuffer_tracking@psrdrrs-rgb565-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-rgb101010-draw-mmap-cpu
> +kms_frontbuffer_tracking@psrdrrs-rgb565-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-rgb101010-draw-mmap-gtt
> +kms_frontbuffer_tracking@psrdrrs-rgb565-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-rgb101010-draw-mmap-wc
> +kms_frontbuffer_tracking@psrdrrs-rgb565-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-rgb101010-draw-pwrite
> +kms_frontbuffer_tracking@psrdrrs-rgb565-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-rgb101010-draw-blt
> +kms_frontbuffer_tracking@psrdrrs-rgb565-draw-render
> +kms_frontbuffer_tracking@psrdrrs-rgb101010-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-rgb565-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-rgb101010-draw-mmap-cpu
> +kms_frontbuffer_tracking@fbcpsrdrrs-rgb565-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-rgb101010-draw-mmap-gtt
> +kms_frontbuffer_tracking@fbcpsrdrrs-rgb565-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-rgb101010-draw-mmap-wc
> +kms_frontbuffer_tracking@fbcpsrdrrs-rgb565-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-rgb101010-draw-pwrite
> +kms_frontbuffer_tracking@fbcpsrdrrs-rgb565-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-rgb101010-draw-blt
> +kms_frontbuffer_tracking@fbcpsrdrrs-rgb565-draw-render
> +kms_frontbuffer_tracking@fbcpsrdrrs-rgb101010-draw-render
> +kms_frontbuffer_tracking@fbc-indfb-scaledprimary
> +kms_frontbuffer_tracking@fbc-shrfb-scaledprimary
> +kms_frontbuffer_tracking@psr-indfb-scaledprimary
> +kms_frontbuffer_tracking@psr-shrfb-scaledprimary
> +kms_frontbuffer_tracking@fbcpsr-indfb-scaledprimary
> +kms_frontbuffer_tracking@fbcpsr-shrfb-scaledprimary
> +kms_frontbuffer_tracking@drrs-indfb-scaledprimary
> +kms_frontbuffer_tracking@drrs-shrfb-scaledprimary
> +kms_frontbuffer_tracking@fbcdrrs-indfb-scaledprimary
> +kms_frontbuffer_tracking@fbcdrrs-shrfb-scaledprimary
> +kms_frontbuffer_tracking@psrdrrs-indfb-scaledprimary
> +kms_frontbuffer_tracking@psrdrrs-shrfb-scaledprimary
> +kms_frontbuffer_tracking@fbcpsrdrrs-indfb-scaledprimary
> +kms_frontbuffer_tracking@fbcpsrdrrs-shrfb-scaledprimary
> +kms_frontbuffer_tracking@fbc-modesetfrombusy
> +kms_frontbuffer_tracking@fbc-badstride
> +kms_frontbuffer_tracking@fbc-stridechange
> +kms_frontbuffer_tracking@fbc-tiling-linear
> +kms_frontbuffer_tracking@fbc-tiling-y
> +kms_frontbuffer_tracking@fbc-tiling-4
> +kms_frontbuffer_tracking@fbc-suspend
> +kms_frontbuffer_tracking@psr-modesetfrombusy
> +kms_frontbuffer_tracking@psr-slowdraw
> +kms_frontbuffer_tracking@psr-suspend
> +kms_frontbuffer_tracking@fbcpsr-modesetfrombusy
> +kms_frontbuffer_tracking@fbcpsr-badstride
> +kms_frontbuffer_tracking@fbcpsr-stridechange
> +kms_frontbuffer_tracking@fbcpsr-tiling-linear
> +kms_frontbuffer_tracking@fbcpsr-tiling-y
> +kms_frontbuffer_tracking@fbcpsr-tiling-4
> +kms_frontbuffer_tracking@fbcpsr-slowdraw
> +kms_frontbuffer_tracking@fbcpsr-suspend
> +kms_frontbuffer_tracking@drrs-modesetfrombusy
> +kms_frontbuffer_tracking@drrs-slowdraw
> +kms_frontbuffer_tracking@drrs-suspend
> +kms_frontbuffer_tracking@fbcdrrs-modesetfrombusy
> +kms_frontbuffer_tracking@fbcdrrs-badstride
> +kms_frontbuffer_tracking@fbcdrrs-stridechange
> +kms_frontbuffer_tracking@fbcdrrs-tiling-linear
> +kms_frontbuffer_tracking@fbcdrrs-tiling-y
> +kms_frontbuffer_tracking@fbcdrrs-tiling-4
> +kms_frontbuffer_tracking@fbcdrrs-slowdraw
> +kms_frontbuffer_tracking@fbcdrrs-suspend
> +kms_frontbuffer_tracking@psrdrrs-modesetfrombusy
> +kms_frontbuffer_tracking@psrdrrs-slowdraw
> +kms_frontbuffer_tracking@psrdrrs-suspend
> +kms_frontbuffer_tracking@fbcpsrdrrs-modesetfrombusy
> +kms_frontbuffer_tracking@fbcpsrdrrs-badstride
> +kms_frontbuffer_tracking@fbcpsrdrrs-stridechange
> +kms_frontbuffer_tracking@fbcpsrdrrs-tiling-linear
> +kms_frontbuffer_tracking@fbcpsrdrrs-tiling-y
> +kms_frontbuffer_tracking@fbcpsrdrrs-tiling-4
> +kms_frontbuffer_tracking@fbcpsrdrrs-slowdraw
> +kms_frontbuffer_tracking@fbcpsrdrrs-suspend
> +kms_frontbuffer_tracking@basic
> +kms_getfb@getfb-handle-zero
> +kms_getfb@getfb-handle-valid
> +kms_getfb@getfb-handle-closed
> +kms_getfb@getfb-handle-not-fb
> +kms_getfb@getfb-addfb-different-handles
> +kms_getfb@getfb-repeated-different-handles
> +kms_getfb@getfb-reject-ccs
> +kms_getfb@getfb2-handle-zero
> +kms_getfb@getfb2-handle-closed
> +kms_getfb@getfb2-handle-not-fb
> +kms_getfb@getfb2-accept-ccs
> +kms_getfb@getfb2-into-addfb2
> +kms_getfb@getfb-handle-protection
> +kms_getfb@getfb2-handle-protection
> +kms_hdmi_inject@inject-4k
> +kms_hdmi_inject@inject-audio
> +kms_hdr@bpc-switch
> +kms_hdr@bpc-switch-dpms
> +kms_hdr@bpc-switch-suspend
> +kms_hdr@static-toggle
> +kms_hdr@static-toggle-dpms
> +kms_hdr@static-toggle-suspend
> +kms_hdr@static-swap
> +kms_hdr@invalid-metadata-sizes
> +kms_hdr@invalid-hdr
> +kms_invalid_mode@clock-too-high
> +kms_invalid_mode@zero-clock
> +kms_invalid_mode@int-max-clock
> +kms_invalid_mode@uint-max-clock
> +kms_invalid_mode@zero-hdisplay
> +kms_invalid_mode@zero-vdisplay
> +kms_invalid_mode@bad-hsync-start
> +kms_invalid_mode@bad-vsync-start
> +kms_invalid_mode@bad-hsync-end
> +kms_invalid_mode@bad-vsync-end
> +kms_invalid_mode@bad-htotal
> +kms_invalid_mode@bad-vtotal
> +kms_legacy_colorkey@basic
> +kms_legacy_colorkey@invalid-plane
> +kms_multipipe_modeset@basic-max-pipe-crc-check
> +kms_panel_fitting@legacy
> +kms_panel_fitting@atomic-fastset
> +kms_pipe_b_c_ivb@pipe-B-dpms-off-modeset-pipe-C
> +kms_pipe_b_c_ivb@pipe-B-double-modeset-then-modeset-pipe-C
> +kms_pipe_b_c_ivb@disable-pipe-B-enable-pipe-C
> +kms_pipe_b_c_ivb@from-pipe-C-to-B-with-3-lanes
> +kms_pipe_b_c_ivb@enable-pipe-C-while-B-has-3-lanes
> +kms_pipe_crc_basic@bad-source
> +kms_pipe_crc_basic@read-crc
> +kms_pipe_crc_basic@read-crc-frame-sequence
> +kms_pipe_crc_basic@nonblocking-crc
> +kms_pipe_crc_basic@nonblocking-crc-frame-sequence
> +kms_pipe_crc_basic@suspend-read-crc
> +kms_pipe_crc_basic@hang-read-crc
> +kms_pipe_crc_basic@disable-crc-after-crtc
> +kms_pipe_crc_basic@compare-crc-sanitycheck-xr24
> +kms_pipe_crc_basic@compare-crc-sanitycheck-nv12
> +kms_plane@pixel-format
> +kms_plane@pixel-format-source-clamping
> +kms_plane@plane-position-covered
> +kms_plane@plane-position-hole
> +kms_plane@plane-position-hole-dpms
> +kms_plane@plane-panning-top-left
> +kms_plane@plane-panning-bottom-right
> +kms_plane@plane-panning-bottom-right-suspend
> +kms_plane@invalid-pixel-format-settings
> +kms_plane_alpha_blend@alpha-basic
> +kms_plane_alpha_blend@alpha-7efc
> +kms_plane_alpha_blend@coverage-7efc
> +kms_plane_alpha_blend@coverage-vs-premult-vs-constant
> +kms_plane_alpha_blend@alpha-transparent-fb
> +kms_plane_alpha_blend@alpha-opaque-fb
> +kms_plane_alpha_blend@constant-alpha-min
> +kms_plane_alpha_blend@constant-alpha-mid
> +kms_plane_alpha_blend@constant-alpha-max
> +kms_plane_cursor@primary
> +kms_plane_cursor@overlay
> +kms_plane_cursor@viewport
> +kms_plane_lowres@tiling-none
> +kms_plane_lowres@tiling-x
> +kms_plane_lowres@tiling-y
> +kms_plane_lowres@tiling-yf
> +kms_plane_lowres@tiling-4
> +kms_plane_multiple@tiling-none
> +kms_plane_multiple@tiling-x
> +kms_plane_multiple@tiling-y
> +kms_plane_multiple@tiling-yf
> +kms_plane_multiple@tiling-4
> +kms_plane_scaling@plane-upscale-with-pixel-format-20x20
> +kms_plane_scaling@plane-upscale-with-pixel-format-factor-0-25
> +kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25
> +kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5
> +kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-75
> +kms_plane_scaling@plane-scaler-with-pixel-format-unity-scaling
> +kms_plane_scaling@plane-upscale-with-rotation-20x20
> +kms_plane_scaling@plane-upscale-with-rotation-factor-0-25
> +kms_plane_scaling@plane-downscale-with-rotation-factor-0-25
> +kms_plane_scaling@plane-downscale-with-rotation-factor-0-5
> +kms_plane_scaling@plane-downscale-with-rotation-factor-0-75
> +kms_plane_scaling@plane-scaler-with-rotation-unity-scaling
> +kms_plane_scaling@plane-upscale-with-modifiers-20x20
> +kms_plane_scaling@plane-upscale-with-modifiers-factor-0-25
> +kms_plane_scaling@plane-downscale-with-modifiers-factor-0-25
> +kms_plane_scaling@plane-downscale-with-modifiers-factor-0-5
> +kms_plane_scaling@plane-downscale-with-modifiers-factor-0-75
> +kms_plane_scaling@plane-scaler-with-modifiers-unity-scaling
> +kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats
> +kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation
> +kms_plane_scaling@plane-scaler-with-clipping-clamping-modifiers
> +kms_plane_scaling@planes-upscale-20x20
> +kms_plane_scaling@planes-upscale-factor-0-25
> +kms_plane_scaling@planes-scaler-unity-scaling
> +kms_plane_scaling@planes-downscale-factor-0-25
> +kms_plane_scaling@planes-downscale-factor-0-5
> +kms_plane_scaling@planes-downscale-factor-0-75
> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25
> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5
> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75
> +kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25
> +kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5
> +kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75
> +kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25
> +kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5
> +kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75
> +kms_plane_scaling@planes-downscale-factor-0-25-upscale-20x20
> +kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25
> +kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling
> +kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20
> +kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25
> +kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling
> +kms_plane_scaling@planes-downscale-factor-0-75-upscale-20x20
> +kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25
> +kms_plane_scaling@planes-downscale-factor-0-75-unity-scaling
> +kms_plane_scaling@intel-max-src-size
> +kms_plane_scaling@invalid-num-scalers
> +kms_plane_scaling@invalid-parameters
> +kms_plane_scaling@2x-scaler-multi-pipe
> +kms_prime@basic-crc-hybrid
> +kms_prime@basic-modeset-hybrid
> +kms_prime@D3hot
> +kms_prime@basic-crc-vgem
> +kms_prop_blob@basic
> +kms_prop_blob@blob-prop-core
> +kms_prop_blob@blob-prop-validate
> +kms_prop_blob@blob-prop-lifetime
> +kms_prop_blob@blob-multiple
> +kms_prop_blob@invalid-get-prop-any
> +kms_prop_blob@invalid-get-prop
> +kms_prop_blob@invalid-set-prop-any
> +kms_prop_blob@invalid-set-prop
> +kms_properties@plane-properties-legacy
> +kms_properties@plane-properties-atomic
> +kms_properties@crtc-properties-legacy
> +kms_properties@crtc-properties-atomic
> +kms_properties@connector-properties-legacy
> +kms_properties@connector-properties-atomic
> +kms_properties@invalid-properties-legacy
> +kms_properties@invalid-properties-atomic
> +kms_properties@get_properties-sanity-atomic
> +kms_properties@get_properties-sanity-non-atomic
> +kms_psr@basic
> +kms_psr@no_drrs
> +kms_psr@primary_page_flip
> +kms_psr@primary_mmap_gtt
> +kms_psr@primary_mmap_cpu
> +kms_psr@primary_blt
> +kms_psr@primary_render
> +kms_psr@sprite_mmap_gtt
> +kms_psr@cursor_mmap_gtt
> +kms_psr@sprite_mmap_cpu
> +kms_psr@cursor_mmap_cpu
> +kms_psr@sprite_blt
> +kms_psr@cursor_blt
> +kms_psr@sprite_render
> +kms_psr@cursor_render
> +kms_psr@sprite_plane_move
> +kms_psr@cursor_plane_move
> +kms_psr@sprite_plane_onoff
> +kms_psr@cursor_plane_onoff
> +kms_psr@dpms
> +kms_psr@suspend
> +kms_psr@psr2_basic
> +kms_psr@psr2_no_drrs
> +kms_psr@psr2_primary_page_flip
> +kms_psr@psr2_primary_mmap_gtt
> +kms_psr@psr2_primary_mmap_cpu
> +kms_psr@psr2_primary_blt
> +kms_psr@psr2_primary_render
> +kms_psr@psr2_sprite_mmap_gtt
> +kms_psr@psr2_cursor_mmap_gtt
> +kms_psr@psr2_sprite_mmap_cpu
> +kms_psr@psr2_cursor_mmap_cpu
> +kms_psr@psr2_sprite_blt
> +kms_psr@psr2_cursor_blt
> +kms_psr@psr2_sprite_render
> +kms_psr@psr2_cursor_render
> +kms_psr@psr2_sprite_plane_move
> +kms_psr@psr2_cursor_plane_move
> +kms_psr@psr2_sprite_plane_onoff
> +kms_psr@psr2_cursor_plane_onoff
> +kms_psr@psr2_dpms
> +kms_psr@psr2_suspend
> +kms_psr2_sf@primary-plane-update-sf-dmg-area
> +kms_psr2_sf@primary-plane-update-sf-dmg-area-big-fb
> +kms_psr2_sf@overlay-plane-update-sf-dmg-area
> +kms_psr2_sf@cursor-plane-update-sf
> +kms_psr2_sf@cursor-plane-move-continuous-sf
> +kms_psr2_sf@cursor-plane-move-continuous-exceed-sf
> +kms_psr2_sf@cursor-plane-move-continuous-exceed-fully-sf
> +kms_psr2_sf@plane-move-sf-dmg-area
> +kms_psr2_sf@overlay-plane-move-continuous-sf
> +kms_psr2_sf@overlay-plane-move-continuous-exceed-sf
> +kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf
> +kms_psr2_sf@overlay-primary-update-sf-dmg-area
> +kms_psr2_sf@overlay-plane-update-continuous-sf
> +kms_psr2_su@page_flip-XRGB8888
> +kms_psr2_su@page_flip-NV12
> +kms_psr2_su@page_flip-P010
> +kms_psr2_su@frontbuffer-XRGB8888
> +kms_pwrite_crc
> +kms_rmfb@rmfb-ioctl
> +kms_rmfb@close-fd
> +kms_rotation_crc@primary-rotation-90
> +kms_rotation_crc@primary-rotation-180
> +kms_rotation_crc@primary-rotation-270
> +kms_rotation_crc@sprite-rotation-90
> +kms_rotation_crc@sprite-rotation-180
> +kms_rotation_crc@sprite-rotation-270
> +kms_rotation_crc@cursor-rotation-180
> +kms_rotation_crc@sprite-rotation-90-pos-100-0
> +kms_rotation_crc@bad-pixel-format
> +kms_rotation_crc@bad-tiling
> +kms_rotation_crc@primary-x-tiled-reflect-x-0
> +kms_rotation_crc@primary-x-tiled-reflect-x-180
> +kms_rotation_crc@primary-y-tiled-reflect-x-0
> +kms_rotation_crc@primary-y-tiled-reflect-x-90
> +kms_rotation_crc@primary-y-tiled-reflect-x-180
> +kms_rotation_crc@primary-y-tiled-reflect-x-270
> +kms_rotation_crc@primary-yf-tiled-reflect-x-0
> +kms_rotation_crc@primary-yf-tiled-reflect-x-90
> +kms_rotation_crc@primary-yf-tiled-reflect-x-180
> +kms_rotation_crc@primary-yf-tiled-reflect-x-270
> +kms_rotation_crc@primary-4-tiled-reflect-x-0
> +kms_rotation_crc@primary-4-tiled-reflect-x-180
> +kms_rotation_crc@multiplane-rotation
> +kms_rotation_crc@multiplane-rotation-cropping-top
> +kms_rotation_crc@multiplane-rotation-cropping-bottom
> +kms_rotation_crc@exhaust-fences
> +kms_scaling_modes@scaling-mode-full
> +kms_scaling_modes@scaling-mode-center
> +kms_scaling_modes@scaling-mode-full-aspect
> +kms_scaling_modes@scaling-mode-none
> +kms_selftest@drm_cmdline
> +kms_selftest@drm_damage
> +kms_selftest@drm_dp_mst
> +kms_selftest@drm_format_helper
> +kms_selftest@drm_format
> +kms_selftest@framebuffer
> +kms_selftest@drm_plane
> +kms_setmode@basic
> +kms_setmode@basic-clone-single-crtc
> +kms_setmode@invalid-clone-single-crtc
> +kms_setmode@invalid-clone-exclusive-crtc
> +kms_setmode@clone-exclusive-crtc
> +kms_setmode@invalid-clone-single-crtc-stealing
> +kms_sysfs_edid_timing
> +kms_tv_load_detect@load-detect
> +kms_universal_plane@universal-plane-pipe-A-functional
> +kms_universal_plane@universal-plane-pipe-A-sanity
> +kms_universal_plane@disable-primary-vs-flip-pipe-A
> +kms_universal_plane@cursor-fb-leak-pipe-A
> +kms_universal_plane@universal-plane-pageflip-windowed-pipe-A
> +kms_universal_plane@universal-plane-pipe-B-functional
> +kms_universal_plane@universal-plane-pipe-B-sanity
> +kms_universal_plane@disable-primary-vs-flip-pipe-B
> +kms_universal_plane@cursor-fb-leak-pipe-B
> +kms_universal_plane@universal-plane-pageflip-windowed-pipe-B
> +kms_universal_plane@universal-plane-pipe-C-functional
> +kms_universal_plane@universal-plane-pipe-C-sanity
> +kms_universal_plane@disable-primary-vs-flip-pipe-C
> +kms_universal_plane@cursor-fb-leak-pipe-C
> +kms_universal_plane@universal-plane-pageflip-windowed-pipe-C
> +kms_universal_plane@universal-plane-pipe-D-functional
> +kms_universal_plane@universal-plane-pipe-D-sanity
> +kms_universal_plane@disable-primary-vs-flip-pipe-D
> +kms_universal_plane@cursor-fb-leak-pipe-D
> +kms_universal_plane@universal-plane-pageflip-windowed-pipe-D
> +kms_universal_plane@universal-plane-pipe-E-functional
> +kms_universal_plane@universal-plane-pipe-E-sanity
> +kms_universal_plane@disable-primary-vs-flip-pipe-E
> +kms_universal_plane@cursor-fb-leak-pipe-E
> +kms_universal_plane@universal-plane-pageflip-windowed-pipe-E
> +kms_universal_plane@universal-plane-pipe-F-functional
> +kms_universal_plane@universal-plane-pipe-F-sanity
> +kms_universal_plane@disable-primary-vs-flip-pipe-F
> +kms_universal_plane@cursor-fb-leak-pipe-F
> +kms_universal_plane@universal-plane-pageflip-windowed-pipe-F
> +kms_universal_plane@universal-plane-pipe-G-functional
> +kms_universal_plane@universal-plane-pipe-G-sanity
> +kms_universal_plane@disable-primary-vs-flip-pipe-G
> +kms_universal_plane@cursor-fb-leak-pipe-G
> +kms_universal_plane@universal-plane-pageflip-windowed-pipe-G
> +kms_universal_plane@universal-plane-pipe-H-functional
> +kms_universal_plane@universal-plane-pipe-H-sanity
> +kms_universal_plane@disable-primary-vs-flip-pipe-H
> +kms_universal_plane@cursor-fb-leak-pipe-H
> +kms_universal_plane@universal-plane-pageflip-windowed-pipe-H
> +kms_vblank@invalid
> +kms_vblank@crtc-id
> +kms_vblank@pipe-A-accuracy-idle
> +kms_vblank@pipe-A-query-idle
> +kms_vblank@pipe-A-query-idle-hang
> +kms_vblank@pipe-A-query-forked
> +kms_vblank@pipe-A-query-forked-hang
> +kms_vblank@pipe-A-query-busy
> +kms_vblank@pipe-A-query-busy-hang
> +kms_vblank@pipe-A-query-forked-busy
> +kms_vblank@pipe-A-query-forked-busy-hang
> +kms_vblank@pipe-A-wait-idle
> +kms_vblank@pipe-A-wait-idle-hang
> +kms_vblank@pipe-A-wait-forked
> +kms_vblank@pipe-A-wait-forked-hang
> +kms_vblank@pipe-A-wait-busy
> +kms_vblank@pipe-A-wait-busy-hang
> +kms_vblank@pipe-A-wait-forked-busy
> +kms_vblank@pipe-A-wait-forked-busy-hang
> +kms_vblank@pipe-A-ts-continuation-idle
> +kms_vblank@pipe-A-ts-continuation-idle-hang
> +kms_vblank@pipe-A-ts-continuation-dpms-rpm
> +kms_vblank@pipe-A-ts-continuation-dpms-suspend
> +kms_vblank@pipe-A-ts-continuation-suspend
> +kms_vblank@pipe-A-ts-continuation-modeset
> +kms_vblank@pipe-A-ts-continuation-modeset-hang
> +kms_vblank@pipe-A-ts-continuation-modeset-rpm
> +kms_vblank@pipe-B-accuracy-idle
> +kms_vblank@pipe-B-query-idle
> +kms_vblank@pipe-B-query-idle-hang
> +kms_vblank@pipe-B-query-forked
> +kms_vblank@pipe-B-query-forked-hang
> +kms_vblank@pipe-B-query-busy
> +kms_vblank@pipe-B-query-busy-hang
> +kms_vblank@pipe-B-query-forked-busy
> +kms_vblank@pipe-B-query-forked-busy-hang
> +kms_vblank@pipe-B-wait-idle
> +kms_vblank@pipe-B-wait-idle-hang
> +kms_vblank@pipe-B-wait-forked
> +kms_vblank@pipe-B-wait-forked-hang
> +kms_vblank@pipe-B-wait-busy
> +kms_vblank@pipe-B-wait-busy-hang
> +kms_vblank@pipe-B-wait-forked-busy
> +kms_vblank@pipe-B-wait-forked-busy-hang
> +kms_vblank@pipe-B-ts-continuation-idle
> +kms_vblank@pipe-B-ts-continuation-idle-hang
> +kms_vblank@pipe-B-ts-continuation-dpms-rpm
> +kms_vblank@pipe-B-ts-continuation-dpms-suspend
> +kms_vblank@pipe-B-ts-continuation-suspend
> +kms_vblank@pipe-B-ts-continuation-modeset
> +kms_vblank@pipe-B-ts-continuation-modeset-hang
> +kms_vblank@pipe-B-ts-continuation-modeset-rpm
> +kms_vblank@pipe-C-accuracy-idle
> +kms_vblank@pipe-C-query-idle
> +kms_vblank@pipe-C-query-idle-hang
> +kms_vblank@pipe-C-query-forked
> +kms_vblank@pipe-C-query-forked-hang
> +kms_vblank@pipe-C-query-busy
> +kms_vblank@pipe-C-query-busy-hang
> +kms_vblank@pipe-C-query-forked-busy
> +kms_vblank@pipe-C-query-forked-busy-hang
> +kms_vblank@pipe-C-wait-idle
> +kms_vblank@pipe-C-wait-idle-hang
> +kms_vblank@pipe-C-wait-forked
> +kms_vblank@pipe-C-wait-forked-hang
> +kms_vblank@pipe-C-wait-busy
> +kms_vblank@pipe-C-wait-busy-hang
> +kms_vblank@pipe-C-wait-forked-busy
> +kms_vblank@pipe-C-wait-forked-busy-hang
> +kms_vblank@pipe-C-ts-continuation-idle
> +kms_vblank@pipe-C-ts-continuation-idle-hang
> +kms_vblank@pipe-C-ts-continuation-dpms-rpm
> +kms_vblank@pipe-C-ts-continuation-dpms-suspend
> +kms_vblank@pipe-C-ts-continuation-suspend
> +kms_vblank@pipe-C-ts-continuation-modeset
> +kms_vblank@pipe-C-ts-continuation-modeset-hang
> +kms_vblank@pipe-C-ts-continuation-modeset-rpm
> +kms_vblank@pipe-D-accuracy-idle
> +kms_vblank@pipe-D-query-idle
> +kms_vblank@pipe-D-query-idle-hang
> +kms_vblank@pipe-D-query-forked
> +kms_vblank@pipe-D-query-forked-hang
> +kms_vblank@pipe-D-query-busy
> +kms_vblank@pipe-D-query-busy-hang
> +kms_vblank@pipe-D-query-forked-busy
> +kms_vblank@pipe-D-query-forked-busy-hang
> +kms_vblank@pipe-D-wait-idle
> +kms_vblank@pipe-D-wait-idle-hang
> +kms_vblank@pipe-D-wait-forked
> +kms_vblank@pipe-D-wait-forked-hang
> +kms_vblank@pipe-D-wait-busy
> +kms_vblank@pipe-D-wait-busy-hang
> +kms_vblank@pipe-D-wait-forked-busy
> +kms_vblank@pipe-D-wait-forked-busy-hang
> +kms_vblank@pipe-D-ts-continuation-idle
> +kms_vblank@pipe-D-ts-continuation-idle-hang
> +kms_vblank@pipe-D-ts-continuation-dpms-rpm
> +kms_vblank@pipe-D-ts-continuation-dpms-suspend
> +kms_vblank@pipe-D-ts-continuation-suspend
> +kms_vblank@pipe-D-ts-continuation-modeset
> +kms_vblank@pipe-D-ts-continuation-modeset-hang
> +kms_vblank@pipe-D-ts-continuation-modeset-rpm
> +kms_vblank@pipe-E-accuracy-idle
> +kms_vblank@pipe-E-query-idle
> +kms_vblank@pipe-E-query-idle-hang
> +kms_vblank@pipe-E-query-forked
> +kms_vblank@pipe-E-query-forked-hang
> +kms_vblank@pipe-E-query-busy
> +kms_vblank@pipe-E-query-busy-hang
> +kms_vblank@pipe-E-query-forked-busy
> +kms_vblank@pipe-E-query-forked-busy-hang
> +kms_vblank@pipe-E-wait-idle
> +kms_vblank@pipe-E-wait-idle-hang
> +kms_vblank@pipe-E-wait-forked
> +kms_vblank@pipe-E-wait-forked-hang
> +kms_vblank@pipe-E-wait-busy
> +kms_vblank@pipe-E-wait-busy-hang
> +kms_vblank@pipe-E-wait-forked-busy
> +kms_vblank@pipe-E-wait-forked-busy-hang
> +kms_vblank@pipe-E-ts-continuation-idle
> +kms_vblank@pipe-E-ts-continuation-idle-hang
> +kms_vblank@pipe-E-ts-continuation-dpms-rpm
> +kms_vblank@pipe-E-ts-continuation-dpms-suspend
> +kms_vblank@pipe-E-ts-continuation-suspend
> +kms_vblank@pipe-E-ts-continuation-modeset
> +kms_vblank@pipe-E-ts-continuation-modeset-hang
> +kms_vblank@pipe-E-ts-continuation-modeset-rpm
> +kms_vblank@pipe-F-accuracy-idle
> +kms_vblank@pipe-F-query-idle
> +kms_vblank@pipe-F-query-idle-hang
> +kms_vblank@pipe-F-query-forked
> +kms_vblank@pipe-F-query-forked-hang
> +kms_vblank@pipe-F-query-busy
> +kms_vblank@pipe-F-query-busy-hang
> +kms_vblank@pipe-F-query-forked-busy
> +kms_vblank@pipe-F-query-forked-busy-hang
> +kms_vblank@pipe-F-wait-idle
> +kms_vblank@pipe-F-wait-idle-hang
> +kms_vblank@pipe-F-wait-forked
> +kms_vblank@pipe-F-wait-forked-hang
> +kms_vblank@pipe-F-wait-busy
> +kms_vblank@pipe-F-wait-busy-hang
> +kms_vblank@pipe-F-wait-forked-busy
> +kms_vblank@pipe-F-wait-forked-busy-hang
> +kms_vblank@pipe-F-ts-continuation-idle
> +kms_vblank@pipe-F-ts-continuation-idle-hang
> +kms_vblank@pipe-F-ts-continuation-dpms-rpm
> +kms_vblank@pipe-F-ts-continuation-dpms-suspend
> +kms_vblank@pipe-F-ts-continuation-suspend
> +kms_vblank@pipe-F-ts-continuation-modeset
> +kms_vblank@pipe-F-ts-continuation-modeset-hang
> +kms_vblank@pipe-F-ts-continuation-modeset-rpm
> +kms_vblank@pipe-G-accuracy-idle
> +kms_vblank@pipe-G-query-idle
> +kms_vblank@pipe-G-query-idle-hang
> +kms_vblank@pipe-G-query-forked
> +kms_vblank@pipe-G-query-forked-hang
> +kms_vblank@pipe-G-query-busy
> +kms_vblank@pipe-G-query-busy-hang
> +kms_vblank@pipe-G-query-forked-busy
> +kms_vblank@pipe-G-query-forked-busy-hang
> +kms_vblank@pipe-G-wait-idle
> +kms_vblank@pipe-G-wait-idle-hang
> +kms_vblank@pipe-G-wait-forked
> +kms_vblank@pipe-G-wait-forked-hang
> +kms_vblank@pipe-G-wait-busy
> +kms_vblank@pipe-G-wait-busy-hang
> +kms_vblank@pipe-G-wait-forked-busy
> +kms_vblank@pipe-G-wait-forked-busy-hang
> +kms_vblank@pipe-G-ts-continuation-idle
> +kms_vblank@pipe-G-ts-continuation-idle-hang
> +kms_vblank@pipe-G-ts-continuation-dpms-rpm
> +kms_vblank@pipe-G-ts-continuation-dpms-suspend
> +kms_vblank@pipe-G-ts-continuation-suspend
> +kms_vblank@pipe-G-ts-continuation-modeset
> +kms_vblank@pipe-G-ts-continuation-modeset-hang
> +kms_vblank@pipe-G-ts-continuation-modeset-rpm
> +kms_vblank@pipe-H-accuracy-idle
> +kms_vblank@pipe-H-query-idle
> +kms_vblank@pipe-H-query-idle-hang
> +kms_vblank@pipe-H-query-forked
> +kms_vblank@pipe-H-query-forked-hang
> +kms_vblank@pipe-H-query-busy
> +kms_vblank@pipe-H-query-busy-hang
> +kms_vblank@pipe-H-query-forked-busy
> +kms_vblank@pipe-H-query-forked-busy-hang
> +kms_vblank@pipe-H-wait-idle
> +kms_vblank@pipe-H-wait-idle-hang
> +kms_vblank@pipe-H-wait-forked
> +kms_vblank@pipe-H-wait-forked-hang
> +kms_vblank@pipe-H-wait-busy
> +kms_vblank@pipe-H-wait-busy-hang
> +kms_vblank@pipe-H-wait-forked-busy
> +kms_vblank@pipe-H-wait-forked-busy-hang
> +kms_vblank@pipe-H-ts-continuation-idle
> +kms_vblank@pipe-H-ts-continuation-idle-hang
> +kms_vblank@pipe-H-ts-continuation-dpms-rpm
> +kms_vblank@pipe-H-ts-continuation-dpms-suspend
> +kms_vblank@pipe-H-ts-continuation-suspend
> +kms_vblank@pipe-H-ts-continuation-modeset
> +kms_vblank@pipe-H-ts-continuation-modeset-hang
> +kms_vblank@pipe-H-ts-continuation-modeset-rpm
> +kms_vrr@flip-basic
> +kms_vrr@flip-dpms
> +kms_vrr@flip-suspend
> +kms_vrr@flipline
> +kms_vrr@negative-basic
> +kms_writeback@writeback-pixel-formats
> +kms_writeback@writeback-invalid-parameters
> +kms_writeback@writeback-fb-id
> +kms_writeback@writeback-check-output
> +prime_mmap_kms@buffer-sharing
> diff --git a/drivers/gpu/drm/ci/x86_64.config b/drivers/gpu/drm/ci/x86_64.config
> new file mode 100644
> index 000000000000..1cbd49a5b23a
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/x86_64.config
> @@ -0,0 +1,111 @@
> +CONFIG_LOCALVERSION_AUTO=y
> +CONFIG_DEBUG_KERNEL=y
> +
> +CONFIG_CRYPTO_ZSTD=y
> +CONFIG_ZRAM_MEMORY_TRACKING=y
> +CONFIG_ZRAM_WRITEBACK=y
> +CONFIG_ZRAM=y
> +CONFIG_ZSMALLOC_STAT=y
> +
> +CONFIG_PWM=y
> +CONFIG_PM_DEVFREQ=y
> +CONFIG_OF=y
> +CONFIG_CROS_EC=y
> +
> +# abootimg with a 'dummy' rootfs fails with root=/dev/nfs
> +CONFIG_BLK_DEV_INITRD=n
> +
> +CONFIG_DEVFREQ_GOV_PERFORMANCE=y
> +CONFIG_DEVFREQ_GOV_POWERSAVE=y
> +CONFIG_DEVFREQ_GOV_USERSPACE=y
> +CONFIG_DEVFREQ_GOV_PASSIVE=y
> +
> +CONFIG_DRM=y
> +CONFIG_DRM_PANEL_SIMPLE=y
> +CONFIG_PWM_CROS_EC=y
> +CONFIG_BACKLIGHT_PWM=y
> +
> +# Strip out some stuff we don't need for graphics testing, to reduce
> +# the build.
> +CONFIG_CAN=n
> +CONFIG_WIRELESS=n
> +CONFIG_RFKILL=n
> +CONFIG_WLAN=n
> +
> +CONFIG_REGULATOR_FAN53555=y
> +CONFIG_REGULATOR=y
> +
> +CONFIG_REGULATOR_VCTRL=y
> +
> +CONFIG_KASAN=n
> +CONFIG_KASAN_INLINE=n
> +CONFIG_STACKTRACE=n
> +
> +CONFIG_TMPFS=y
> +
> +CONFIG_PROVE_LOCKING=n
> +CONFIG_DEBUG_LOCKDEP=n
> +CONFIG_SOFTLOCKUP_DETECTOR=y
> +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
> +
> +CONFIG_DETECT_HUNG_TASK=y
> +
> +CONFIG_USB_USBNET=y
> +CONFIG_NETDEVICES=y
> +CONFIG_USB_NET_DRIVERS=y
> +CONFIG_USB_RTL8152=y
> +CONFIG_USB_NET_AX8817X=y
> +CONFIG_USB_NET_SMSC95XX=y
> +CONFIG_USB_GADGET=y
> +CONFIG_USB_ETH=y
> +
> +CONFIG_FW_LOADER_COMPRESS=y
> +
> +# options for AMD devices
> +CONFIG_X86_AMD_PLATFORM_DEVICE=y
> +CONFIG_ACPI_VIDEO=y
> +CONFIG_X86_AMD_FREQ_SENSITIVITY=y
> +CONFIG_PINCTRL=y
> +CONFIG_PINCTRL_AMD=y
> +CONFIG_DRM_AMDGPU=m
> +CONFIG_DRM_AMDGPU_SI=y
> +CONFIG_DRM_AMDGPU_USERPTR=y
> +CONFIG_DRM_AMD_ACP=n
> +CONFIG_ACPI_WMI=y
> +CONFIG_MXM_WMI=y
> +CONFIG_PARPORT=y
> +CONFIG_PARPORT_PC=y
> +CONFIG_PARPORT_SERIAL=y
> +CONFIG_SERIAL_8250_DW=y
> +CONFIG_CHROME_PLATFORMS=y
> +CONFIG_KVM_AMD=m
> +
> +#options for Intel devices
> +CONFIG_MFD_INTEL_LPSS_PCI=y
> +CONFIG_KVM_INTEL=m
> +
> +#options for KVM guests
> +CONFIG_FUSE_FS=y
> +CONFIG_HYPERVISOR_GUEST=y
> +CONFIG_KVM=y
> +CONFIG_KVM_GUEST=y
> +CONFIG_VIRT_DRIVERS=y
> +CONFIG_VIRTIO_FS=y
> +CONFIG_DRM_VIRTIO_GPU=y
> +CONFIG_SERIAL_8250_CONSOLE=y
> +CONFIG_VIRTIO_NET=y
> +CONFIG_VIRTIO_CONSOLE=y
> +CONFIG_PARAVIRT=y
> +CONFIG_VIRTIO_BLK=y
> +CONFIG_VIRTUALIZATION=y
> +CONFIG_VIRTIO=y
> +CONFIG_VIRTIO_PCI=y
> +CONFIG_VIRTIO_MMIO=y
> +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
> +CONFIG_CRYPTO_DEV_VIRTIO=y
> +CONFIG_HW_RANDOM_VIRTIO=y
> +CONFIG_BLK_MQ_VIRTIO=y
> +CONFIG_TUN=y
> +CONFIG_VSOCKETS=y
> +CONFIG_VIRTIO_VSOCKETS=y
> +CONFIG_VHOST_VSOCK=m
> diff --git a/drivers/gpu/drm/ci/xfails/amdgpu-stoney-fails.txt b/drivers/gpu/drm/ci/xfails/amdgpu-stoney-fails.txt
> new file mode 100644
> index 000000000000..bd9392536e7c
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/amdgpu-stoney-fails.txt
> @@ -0,0 +1,19 @@
> +kms_addfb_basic@bad-pitch-65536,Fail
> +kms_addfb_basic@bo-too-small,Fail
> +kms_async_flips@invalid-async-flip,Fail
> +kms_atomic@plane-immutable-zpos,Fail
> +kms_atomic_transition@plane-toggle-modeset-transition,Fail
> +kms_bw@linear-tiling-1-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-1-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail
> +kms_color@degamma,Fail
> +kms_cursor_crc@cursor-size-change,Fail
> +kms_cursor_crc@pipe-A-cursor-size-change,Fail
> +kms_cursor_crc@pipe-B-cursor-size-change,Fail
> +kms_cursor_legacy@forked-move,Fail
> +kms_hdr@bpc-switch,Fail
> +kms_hdr@bpc-switch-dpms,Fail
> +kms_plane_multiple@atomic-pipe-A-tiling-none,Fail
> +kms_rmfb@close-fd,Fail
> +kms_rotation_crc@primary-rotation-180,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/amdgpu-stoney-flakes.txt b/drivers/gpu/drm/ci/xfails/amdgpu-stoney-flakes.txt
> new file mode 100644
> index 000000000000..f8defa0f9e67
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/amdgpu-stoney-flakes.txt
> @@ -0,0 +1,21 @@
> +kms_addfb_basic@too-high
> +kms_async_flips@alternate-sync-async-flip
> +kms_async_flips@async-flip-with-page-flip-events
> +kms_async_flips@crc
> +kms_async_flips@test-cursor
> +kms_async_flips@test-time-stamp
> +kms_atomic_transition@plane-all-modeset-transition-internal-panels
> +kms_atomic_transition@plane-all-transition
> +kms_atomic_transition@plane-use-after-nonblocking-unbind
> +kms_bw@linear-tiling-1-displays-1920x1080p
> +kms_bw@linear-tiling-2-displays-1920x1080p
> +kms_bw@linear-tiling-2-displays-2560x1440p
> +kms_bw@linear-tiling-3-displays-2560x1440p
> +kms_bw@linear-tiling-3-displays-3840x2160p
> +kms_cursor_crc@pipe-A-cursor-alpha-opaque
> +kms_cursor_crc@pipe-B-cursor-alpha-opaque
> +kms_plane@pixel-format
> +kms_plane_multiple@atomic-pipe-B-tiling-none
> +kms_plane_scaling@downscale-with-rotation-factor-0-5
> +kms_universal_plane@disable-primary-vs-flip-pipe-A
> +kms_universal_plane@disable-primary-vs-flip-pipe-B
> diff --git a/drivers/gpu/drm/ci/xfails/amdgpu-stoney-skips.txt b/drivers/gpu/drm/ci/xfails/amdgpu-stoney-skips.txt
> new file mode 100644
> index 000000000000..e2c538a0f954
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/amdgpu-stoney-skips.txt
> @@ -0,0 +1,2 @@
> +# Suspend to RAM seems to be broken on this machine
> +.*suspend.*
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/i915-amly-fails.txt b/drivers/gpu/drm/ci/xfails/i915-amly-fails.txt
> new file mode 100644
> index 000000000000..5f513c638beb
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-amly-fails.txt
> @@ -0,0 +1,17 @@
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling,Fail
> +kms_plane_alpha_blend@alpha-basic,Fail
> +kms_plane_alpha_blend@alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@alpha-transparent-fb,Fail
> +kms_plane_alpha_blend@constant-alpha-max,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/i915-amly-flakes.txt b/drivers/gpu/drm/ci/xfails/i915-amly-flakes.txt
> new file mode 100644
> index 000000000000..d5000515a315
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-amly-flakes.txt
> @@ -0,0 +1,32 @@
> +kms_bw@linear-tiling-2-displays-1920x1080p
> +kms_bw@linear-tiling-2-displays-2560x1440p
> +kms_bw@linear-tiling-2-displays-3840x2160p
> +kms_bw@linear-tiling-3-displays-1920x1080p
> +kms_bw@linear-tiling-3-displays-2560x1440p
> +kms_bw@linear-tiling-3-displays-3840x2160p
> +kms_bw@linear-tiling-4-displays-1920x1080p
> +kms_bw@linear-tiling-4-displays-2560x1440p
> +kms_bw@linear-tiling-4-displays-3840x2160p
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling
> +kms_plane_alpha_blend@pipe-A-alpha-basic
> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb
> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb
> +kms_plane_alpha_blend@pipe-A-constant-alpha-max
> +kms_plane_alpha_blend@pipe-B-alpha-basic
> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb
> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb
> +kms_plane_alpha_blend@pipe-B-constant-alpha-max
> +kms_plane_alpha_blend@pipe-C-alpha-basic
> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb
> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb
> +kms_plane_alpha_blend@pipe-C-constant-alpha-max
> +kms_sysfs_edid_timing
> diff --git a/drivers/gpu/drm/ci/xfails/i915-amly-skips.txt b/drivers/gpu/drm/ci/xfails/i915-amly-skips.txt
> new file mode 100644
> index 000000000000..fe55540a3f9a
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-amly-skips.txt
> @@ -0,0 +1,4 @@
> +# Suspend to RAM seems to be broken on this machine
> +.*suspend.*
> +# This is generating kernel oops with divide error
> +kms_plane_scaling@invalid-parameters
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/i915-apl-fails.txt b/drivers/gpu/drm/ci/xfails/i915-apl-fails.txt
> new file mode 100644
> index 000000000000..46397ce38d5a
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-apl-fails.txt
> @@ -0,0 +1,58 @@
> +kms_3d,Timeout
> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-4-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-4-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-4-displays-3840x2160p,Fail
> +kms_color@ctm-0-25,Fail
> +kms_color@ctm-0-50,Fail
> +kms_color@ctm-0-75,Fail
> +kms_color@ctm-max,Fail
> +kms_color@ctm-negative,Fail
> +kms_color@ctm-red-to-blue,Fail
> +kms_color@ctm-signed,Fail
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling,Fail
> +kms_hdmi_inject@inject-4k,Timeout
> +kms_plane@plane-position-hole,Timeout
> +kms_plane_alpha_blend@alpha-basic,Fail
> +kms_plane_alpha_blend@alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@alpha-transparent-fb,Fail
> +kms_plane_alpha_blend@constant-alpha-max,Fail
> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb,Fail
> +kms_plane_alpha_blend@pipe-A-constant-alpha-max,Fail
> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb,Fail
> +kms_plane_alpha_blend@pipe-B-constant-alpha-max,Fail
> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb,Fail
> +kms_plane_alpha_blend@pipe-C-constant-alpha-max,Fail
> +kms_plane_multiple@tiling-y,Timeout
> +kms_pwrite_crc,Timeout
> +kms_sysfs_edid_timing,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/i915-apl-flakes.txt b/drivers/gpu/drm/ci/xfails/i915-apl-flakes.txt
> new file mode 100644
> index 000000000000..331c5841bb41
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-apl-flakes.txt
> @@ -0,0 +1 @@
> +kms_frontbuffer_tracking@fbc-tiling-linear
> diff --git a/drivers/gpu/drm/ci/xfails/i915-apl-skips.txt b/drivers/gpu/drm/ci/xfails/i915-apl-skips.txt
> new file mode 100644
> index 000000000000..3430b215c06e
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-apl-skips.txt
> @@ -0,0 +1,6 @@
> +# Suspend to RAM seems to be broken on this machine
> +.*suspend.*
> +# This is generating kernel oops with divide error
> +kms_plane_scaling@invalid-parameters
> +# This is cascading issues
> +kms_3d
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/i915-cml-fails.txt b/drivers/gpu/drm/ci/xfails/i915-cml-fails.txt
> new file mode 100644
> index 000000000000..6139b410e767
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-cml-fails.txt
> @@ -0,0 +1,18 @@
> +kms_color@ctm-0-25,Fail
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling,Fail
> +kms_plane_alpha_blend@alpha-basic,Fail
> +kms_plane_alpha_blend@alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@alpha-transparent-fb,Fail
> +kms_plane_alpha_blend@constant-alpha-max,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/i915-cml-flakes.txt b/drivers/gpu/drm/ci/xfails/i915-cml-flakes.txt
> new file mode 100644
> index 000000000000..0514a7b3fdb0
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-cml-flakes.txt
> @@ -0,0 +1,38 @@
> +kms_bw@linear-tiling-2-displays-1920x1080p
> +kms_bw@linear-tiling-2-displays-2560x1440p
> +kms_bw@linear-tiling-2-displays-3840x2160p
> +kms_bw@linear-tiling-3-displays-1920x1080p
> +kms_bw@linear-tiling-3-displays-2560x1440p
> +kms_bw@linear-tiling-3-displays-3840x2160p
> +kms_bw@linear-tiling-4-displays-1920x1080p
> +kms_bw@linear-tiling-4-displays-2560x1440p
> +kms_bw@linear-tiling-4-displays-3840x2160p
> +kms_draw_crc@draw-method-xrgb8888-render-xtiled
> +kms_flip@flip-vs-suspend
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling
> +kms_hdr@bpc-switch-suspend
> +kms_plane_alpha_blend@constant-alpha-min
> +kms_plane_alpha_blend@pipe-A-alpha-basic
> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb
> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb
> +kms_plane_alpha_blend@pipe-A-constant-alpha-max
> +kms_plane_alpha_blend@pipe-B-alpha-basic
> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb
> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb
> +kms_plane_alpha_blend@pipe-B-constant-alpha-max
> +kms_plane_alpha_blend@pipe-C-alpha-basic
> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb
> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb
> +kms_plane_alpha_blend@pipe-C-constant-alpha-max
> +kms_psr2_su@page_flip-NV12
> +kms_psr2_su@page_flip-P010
> +kms_setmode@basic
> diff --git a/drivers/gpu/drm/ci/xfails/i915-cml-skips.txt b/drivers/gpu/drm/ci/xfails/i915-cml-skips.txt
> new file mode 100644
> index 000000000000..6d3d7ddc377f
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-cml-skips.txt
> @@ -0,0 +1,2 @@
> +# This is generating kernel oops with divide error
> +kms_plane_scaling@invalid-parameters
> diff --git a/drivers/gpu/drm/ci/xfails/i915-glk-fails.txt b/drivers/gpu/drm/ci/xfails/i915-glk-fails.txt
> new file mode 100644
> index 000000000000..5bd432e78129
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-glk-fails.txt
> @@ -0,0 +1,19 @@
> +kms_fbcon_fbt@fbc,Fail
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling,Fail
> +kms_frontbuffer_tracking@fbcdrrs-tiling-linear,Fail
> +kms_plane_alpha_blend@alpha-basic,Fail
> +kms_plane_alpha_blend@alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@alpha-transparent-fb,Fail
> +kms_plane_alpha_blend@constant-alpha-max,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/i915-glk-flakes.txt b/drivers/gpu/drm/ci/xfails/i915-glk-flakes.txt
> new file mode 100644
> index 000000000000..fc41d13a2d56
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-glk-flakes.txt
> @@ -0,0 +1,41 @@
> +kms_bw@linear-tiling-1-displays-3840x2160p
> +kms_bw@linear-tiling-2-displays-1920x1080p
> +kms_bw@linear-tiling-2-displays-2560x1440p
> +kms_bw@linear-tiling-2-displays-3840x2160p
> +kms_bw@linear-tiling-3-displays-1920x1080p
> +kms_bw@linear-tiling-3-displays-2560x1440p
> +kms_bw@linear-tiling-3-displays-3840x2160p
> +kms_bw@linear-tiling-4-displays-1920x1080p
> +kms_bw@linear-tiling-4-displays-2560x1440p
> +kms_bw@linear-tiling-4-displays-3840x2160p
> +kms_flip@blocking-wf_vblank
> +kms_flip@wf_vblank-ts-check
> +kms_flip@wf_vblank-ts-check-interruptible
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling
> +kms_frontbuffer_tracking@fbc-tiling-linear
> +kms_plane_alpha_blend@pipe-A-alpha-basic
> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb
> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb
> +kms_plane_alpha_blend@pipe-A-constant-alpha-max
> +kms_plane_alpha_blend@pipe-B-alpha-basic
> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb
> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb
> +kms_plane_alpha_blend@pipe-B-constant-alpha-max
> +kms_plane_alpha_blend@pipe-C-alpha-basic
> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb
> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb
> +kms_plane_alpha_blend@pipe-C-constant-alpha-max
> +kms_prop_blob@invalid-set-prop-any
> +kms_rotation_crc@multiplane-rotation
> +kms_rotation_crc@multiplane-rotation-cropping-bottom
> +kms_rotation_crc@multiplane-rotation-cropping-top
> +kms_setmode@basic
> diff --git a/drivers/gpu/drm/ci/xfails/i915-glk-skips.txt b/drivers/gpu/drm/ci/xfails/i915-glk-skips.txt
> new file mode 100644
> index 000000000000..4c7d00ce14bc
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-glk-skips.txt
> @@ -0,0 +1,5 @@
> +# Suspend to RAM seems to be broken on this machine
> +.*suspend.*
> +
> +# This is generating kernel oops with divide error
> +kms_plane_scaling@invalid-parameters
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/i915-kbl-fails.txt b/drivers/gpu/drm/ci/xfails/i915-kbl-fails.txt
> new file mode 100644
> index 000000000000..56ec021a7679
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-kbl-fails.txt
> @@ -0,0 +1,25 @@
> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-4-displays-2560x1440p,Fail
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling,Fail
> +kms_plane_alpha_blend@alpha-basic,Fail
> +kms_plane_alpha_blend@alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@alpha-transparent-fb,Fail
> +kms_plane_alpha_blend@constant-alpha-max,Fail
> +kms_plane_alpha_blend@pipe-A-constant-alpha-max,Fail
> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@pipe-C-constant-alpha-max,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/i915-kbl-flakes.txt b/drivers/gpu/drm/ci/xfails/i915-kbl-flakes.txt
> new file mode 100644
> index 000000000000..f3ba1c4c5d46
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-kbl-flakes.txt
> @@ -0,0 +1,26 @@
> +kms_async_flips@crc
> +kms_bw@linear-tiling-2-displays-1920x1080p
> +kms_bw@linear-tiling-2-displays-3840x2160p
> +kms_bw@linear-tiling-3-displays-1920x1080p
> +kms_bw@linear-tiling-3-displays-2560x1440p
> +kms_bw@linear-tiling-3-displays-3840x2160p
> +kms_bw@linear-tiling-4-displays-1920x1080p
> +kms_bw@linear-tiling-4-displays-3840x2160p
> +kms_color@ctm-0-25
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling
> +kms_plane_alpha_blend@pipe-A-alpha-basic
> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb
> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb
> +kms_plane_alpha_blend@pipe-B-alpha-basic
> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb
> +kms_plane_alpha_blend@pipe-B-constant-alpha-max
> +kms_plane_alpha_blend@pipe-C-alpha-basic
> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb
> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb
> +kms_sysfs_edid_timing
> diff --git a/drivers/gpu/drm/ci/xfails/i915-kbl-skips.txt b/drivers/gpu/drm/ci/xfails/i915-kbl-skips.txt
> new file mode 100644
> index 000000000000..4c7d00ce14bc
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-kbl-skips.txt
> @@ -0,0 +1,5 @@
> +# Suspend to RAM seems to be broken on this machine
> +.*suspend.*
> +
> +# This is generating kernel oops with divide error
> +kms_plane_scaling@invalid-parameters
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/i915-tgl-fails.txt b/drivers/gpu/drm/ci/xfails/i915-tgl-fails.txt
> new file mode 100644
> index 000000000000..a6da5544e198
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-tgl-fails.txt
> @@ -0,0 +1,37 @@
> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-4-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-4-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-4-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-5-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-5-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-5-displays-3840x2160p,Fail
> +kms_color@ctm-0-25,Fail
> +kms_flip@flip-vs-panning-vs-hang,Timeout
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling,Fail
> +kms_rotation_crc@bad-pixel-format,Fail
> +kms_rotation_crc@multiplane-rotation,Fail
> +kms_rotation_crc@multiplane-rotation-cropping-bottom,Fail
> +kms_rotation_crc@multiplane-rotation-cropping-top,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/i915-tgl-flakes.txt b/drivers/gpu/drm/ci/xfails/i915-tgl-flakes.txt
> new file mode 100644
> index 000000000000..1cd910ee06df
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-tgl-flakes.txt
> @@ -0,0 +1,5 @@
> +kms_draw_crc@.*
> +kms_flip@blocking-absolute-wf_vblank
> +kms_flip@bo-too-big-interruptible
> +kms_flip@busy-flip
> +kms_flip@flip-vs-rmfb-interruptible
> diff --git a/drivers/gpu/drm/ci/xfails/i915-tgl-skips.txt b/drivers/gpu/drm/ci/xfails/i915-tgl-skips.txt
> new file mode 100644
> index 000000000000..1d0621750b14
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-tgl-skips.txt
> @@ -0,0 +1,11 @@
> +# Suspend to RAM seems to be broken on this machine
> +.*suspend.*
> +
> +# GPU hangs, then the whole machine
> +gem_eio.*
> +
> +# Whole machine hangs
> +kms_flip@absolute-wf_vblank@a-edp1
> +
> +# This is generating kernel oops with divide error
> +kms_plane_scaling@invalid-parameters
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/i915-whl-fails.txt b/drivers/gpu/drm/ci/xfails/i915-whl-fails.txt
> new file mode 100644
> index 000000000000..967327ddc1ac
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-whl-fails.txt
> @@ -0,0 +1,48 @@
> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-4-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-4-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-4-displays-3840x2160p,Fail
> +kms_fbcon_fbt@fbc,Fail
> +kms_fbcon_fbt@fbc-suspend,Fail
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-linear-to-64bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-xtile-to-64bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-upscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling,Fail
> +kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-linear-to-32bpp-linear-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-xtile-to-32bpp-xtile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-16bpp-ytile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-downscaling,Fail
> +kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilercccs-upscaling,Fail
> +kms_frontbuffer_tracking@fbc-tiling-linear,Fail
> +kms_plane_alpha_blend@alpha-basic,Fail
> +kms_plane_alpha_blend@alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@alpha-transparent-fb,Fail
> +kms_plane_alpha_blend@constant-alpha-max,Fail
> +kms_plane_alpha_blend@pipe-A-alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@pipe-A-alpha-transparent-fb,Fail
> +kms_plane_alpha_blend@pipe-A-constant-alpha-max,Fail
> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@pipe-B-alpha-transparent-fb,Fail
> +kms_plane_alpha_blend@pipe-B-constant-alpha-max,Fail
> +kms_plane_alpha_blend@pipe-C-alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@pipe-C-alpha-transparent-fb,Fail
> +kms_plane_alpha_blend@pipe-C-constant-alpha-max,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/i915-whl-flakes.txt b/drivers/gpu/drm/ci/xfails/i915-whl-flakes.txt
> new file mode 100644
> index 000000000000..c33202e7e2a1
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-whl-flakes.txt
> @@ -0,0 +1 @@
> +kms_flip@flip-vs-suspend
> diff --git a/drivers/gpu/drm/ci/xfails/i915-whl-skips.txt b/drivers/gpu/drm/ci/xfails/i915-whl-skips.txt
> new file mode 100644
> index 000000000000..f3be0888a214
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/i915-whl-skips.txt
> @@ -0,0 +1,2 @@
> +# This is generating kernel oops with divide error
> +kms_plane_scaling@invalid-parameters
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/mediatek-mt8173-fails.txt b/drivers/gpu/drm/ci/xfails/mediatek-mt8173-fails.txt
> new file mode 100644
> index 000000000000..671916067dba
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/mediatek-mt8173-fails.txt
> @@ -0,0 +1,29 @@
> +kms_3d,Fail
> +kms_addfb_basic@addfb25-bad-modifier,Fail
> +kms_bw@linear-tiling-1-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-1-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-1-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail
> +kms_color@pipe-A-invalid-gamma-lut-sizes,Fail
> +kms_color@pipe-B-invalid-gamma-lut-sizes,Fail
> +kms_force_connector_basic@force-connector-state,Fail
> +kms_force_connector_basic@force-edid,Fail
> +kms_force_connector_basic@force-load-detect,Fail
> +kms_force_connector_basic@prune-stale-modes,Fail
> +kms_invalid_mode@int-max-clock,Fail
> +kms_plane_scaling@planes-upscale-20x20,Fail
> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25,Fail
> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5,Fail
> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75,Fail
> +kms_plane_scaling@upscale-with-modifier-20x20,Fail
> +kms_plane_scaling@upscale-with-pixel-format-20x20,Fail
> +kms_plane_scaling@upscale-with-rotation-20x20,Fail
> +kms_properties@get_properties-sanity-atomic,Fail
> +kms_properties@plane-properties-atomic,Fail
> +kms_properties@plane-properties-legacy,Fail
> +kms_rmfb@close-fd,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/mediatek-mt8173-flakes.txt b/drivers/gpu/drm/ci/xfails/mediatek-mt8173-flakes.txt
> new file mode 100644
> index 000000000000..e69de29bb2d1
> diff --git a/drivers/gpu/drm/ci/xfails/mediatek-mt8183-fails.txt b/drivers/gpu/drm/ci/xfails/mediatek-mt8183-fails.txt
> new file mode 100644
> index 000000000000..6ff81d00e84e
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/mediatek-mt8183-fails.txt
> @@ -0,0 +1,10 @@
> +kms_addfb_basic@addfb25-bad-modifier,Fail
> +kms_bw@linear-tiling-1-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail
> +kms_color@pipe-A-invalid-gamma-lut-sizes,Fail
> +kms_plane_scaling@upscale-with-rotation-20x20,Fail
> +kms_rmfb@close-fd,Fail
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/mediatek-mt8183-flakes.txt b/drivers/gpu/drm/ci/xfails/mediatek-mt8183-flakes.txt
> new file mode 100644
> index 000000000000..208890b79eb0
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/mediatek-mt8183-flakes.txt
> @@ -0,0 +1,14 @@
> +core_setmaster_vs_auth
> +kms_bw@linear-tiling-1-displays-1920x1080p
> +kms_bw@linear-tiling-1-displays-3840x2160p
> +kms_bw@linear-tiling-3-displays-1920x1080p
> +kms_cursor_legacy@cursor-vs-flip-atomic
> +kms_plane_scaling@invalid-num-scalers
> +kms_plane_scaling@planes-upscale-20x20
> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5
> +kms_plane_scaling@upscale-with-modifier-20x20
> +kms_plane_scaling@upscale-with-pixel-format-20x20
> +kms_prop_blob@invalid-set-prop-any
> +kms_properties@get_properties-sanity-atomic
> +kms_properties@plane-properties-atomic
> +kms_properties@plane-properties-legacy
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/meson-g12b-fails.txt b/drivers/gpu/drm/ci/xfails/meson-g12b-fails.txt
> new file mode 100644
> index 000000000000..860e702091e2
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/meson-g12b-fails.txt
> @@ -0,0 +1,12 @@
> +kms_3d,Fail
> +kms_properties@connector-properties-atomic,Fail
> +kms_properties@get_properties-sanity-atomic,Fail
> +kms_properties@get_properties-sanity-non-atomic,Fail
> +kms_properties@connector-properties-legacy,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_hdmi_inject@inject-4k,Fail
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/meson-g12b-flakes.txt b/drivers/gpu/drm/ci/xfails/meson-g12b-flakes.txt
> new file mode 100644
> index 000000000000..b63329d06767
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/meson-g12b-flakes.txt
> @@ -0,0 +1,4 @@
> +kms_force_connector_basic@force-connector-state
> +kms_force_connector_basic@force-edid
> +kms_force_connector_basic@force-load-detect
> +kms_force_connector_basic@prune-stale-modes
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/msm-apq8016-fails.txt b/drivers/gpu/drm/ci/xfails/msm-apq8016-fails.txt
> new file mode 100644
> index 000000000000..9981682feab2
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/msm-apq8016-fails.txt
> @@ -0,0 +1,15 @@
> +kms_3d,Fail
> +kms_addfb_basic@addfb25-bad-modifier,Fail
> +kms_cursor_legacy@all-pipes-forked-bo,Fail
> +kms_cursor_legacy@all-pipes-forked-move,Fail
> +kms_cursor_legacy@all-pipes-single-bo,Fail
> +kms_cursor_legacy@all-pipes-single-move,Fail
> +kms_cursor_legacy@all-pipes-torture-bo,Fail
> +kms_cursor_legacy@all-pipes-torture-move,Fail
> +kms_cursor_legacy@pipe-A-forked-bo,Fail
> +kms_cursor_legacy@pipe-A-forked-move,Fail
> +kms_cursor_legacy@pipe-A-single-bo,Fail
> +kms_cursor_legacy@pipe-A-single-move,Fail
> +kms_cursor_legacy@pipe-A-torture-bo,Fail
> +kms_cursor_legacy@pipe-A-torture-move,Fail
> +kms_hdmi_inject@inject-4k,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/msm-apq8016-flakes.txt b/drivers/gpu/drm/ci/xfails/msm-apq8016-flakes.txt
> new file mode 100644
> index 000000000000..0e3b60d3fade
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/msm-apq8016-flakes.txt
> @@ -0,0 +1,4 @@
> +kms_force_connector_basic@force-connector-state
> +kms_force_connector_basic@force-edid
> +kms_force_connector_basic@force-load-detect
> +kms_force_connector_basic@prune-stale-modes
> diff --git a/drivers/gpu/drm/ci/xfails/msm-apq8096-fails.txt b/drivers/gpu/drm/ci/xfails/msm-apq8096-fails.txt
> new file mode 100644
> index 000000000000..88a1fc0a3b0d
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/msm-apq8096-fails.txt
> @@ -0,0 +1,2 @@
> +kms_3d,Fail
> +kms_addfb_basic@addfb25-bad-modifier,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/msm-apq8096-flakes.txt b/drivers/gpu/drm/ci/xfails/msm-apq8096-flakes.txt
> new file mode 100644
> index 000000000000..0e3b60d3fade
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/msm-apq8096-flakes.txt
> @@ -0,0 +1,4 @@
> +kms_force_connector_basic@force-connector-state
> +kms_force_connector_basic@force-edid
> +kms_force_connector_basic@force-load-detect
> +kms_force_connector_basic@prune-stale-modes
> diff --git a/drivers/gpu/drm/ci/xfails/msm-apq8096-skips.txt b/drivers/gpu/drm/ci/xfails/msm-apq8096-skips.txt
> new file mode 100644
> index 000000000000..cd49c8ce2059
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/msm-apq8096-skips.txt
> @@ -0,0 +1,2 @@
> +# Whole machine hangs
> +kms_cursor_legacy@all-pipes-torture-move
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/msm-sc7180-fails.txt b/drivers/gpu/drm/ci/xfails/msm-sc7180-fails.txt
> new file mode 100644
> index 000000000000..14adeba3b62d
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/msm-sc7180-fails.txt
> @@ -0,0 +1,25 @@
> +kms_cursor_legacy@cursor-vs-flip-toggle,Fail
> +kms_cursor_legacy@cursor-vs-flip-varying-size,Fail
> +kms_cursor_legacy@cursorA-vs-flipA-atomic-transitions,Crash
> +kms_pipe_crc_basic@compare-crc-sanitycheck-nv12,Fail
> +kms_plane@pixel-format,Fail
> +kms_plane@pixel-format-source-clamping,Fail
> +kms_plane@plane-position-covered,Fail
> +kms_plane@plane-position-hole,Fail
> +kms_plane@plane-position-hole-dpms,Fail
> +kms_plane_alpha_blend@alpha-7efc,Fail
> +kms_plane_alpha_blend@coverage-7efc,Fail
> +kms_plane_alpha_blend@coverage-vs-premult-vs-constant,Fail
> +kms_plane_alpha_blend@pipe-A-alpha-7efc,Fail
> +kms_plane_alpha_blend@pipe-A-coverage-7efc,Fail
> +kms_plane_alpha_blend@pipe-A-coverage-vs-premult-vs-constant,Fail
> +kms_plane_alpha_blend@pipe-B-alpha-7efc,Fail
> +kms_plane_alpha_blend@pipe-B-alpha-basic,Fail
> +kms_plane_alpha_blend@pipe-B-alpha-opaque-fb,Fail
> +kms_plane_alpha_blend@pipe-B-constant-alpha-max,Fail
> +kms_plane_alpha_blend@pipe-B-constant-alpha-mid,Fail
> +kms_plane_alpha_blend@pipe-B-coverage-7efc,Fail
> +kms_plane_alpha_blend@pipe-B-coverage-vs-premult-vs-constant,Fail
> +kms_rmfb@close-fd,Fail
> +kms_universal_plane@disable-primary-vs-flip-pipe-b,Fail
> +kms_universal_plane@universal-plane-pipe-B-sanity,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/msm-sc7180-flakes.txt b/drivers/gpu/drm/ci/xfails/msm-sc7180-flakes.txt
> new file mode 100644
> index 000000000000..636563d3e59a
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/msm-sc7180-flakes.txt
> @@ -0,0 +1,7 @@
> +
> +# Test ends up reading CRC from frame before cursor update
> +# bug
> +# sometimes.. tbd if this is a kernel CRC bug or a test
> +kms_cursor_crc@.*
> +kms_plane_multiple@atomic-pipe-A-tiling-none
> +kms_atomic_transition@modeset-transition-nonblocking-fencing,Fail
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/msm-sc7180-skips.txt b/drivers/gpu/drm/ci/xfails/msm-sc7180-skips.txt
> new file mode 100644
> index 000000000000..410e0eeb3161
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/msm-sc7180-skips.txt
> @@ -0,0 +1,23 @@
> +# Suspend to RAM seems to be broken on this machine
> +.*suspend.*
> +
> +# Test incorrectly assumes that CTM support implies gamma/degamma
> +# LUT support. None of the subtests handle the case of only having
> +# CTM support
> +kms_color.*
> +
> +# 4k@60 is not supported on this hw, but driver doesn't handle it
> +# too gracefully.. https://gitlab.freedesktop.org/drm/msm/-/issues/15
> +kms_bw@linear-tiling-.*-displays-3840x2160p
> +
> +# Until igt fix lands: https://patchwork.freedesktop.org/patch/493175/
> +kms_bw@linear-tiling-2.*
> +kms_bw@linear-tiling-3.*
> +kms_bw@linear-tiling-4.*
> +kms_bw@linear-tiling-5.*
> +kms_bw@linear-tiling-6.*
> +
> +# igt fix posted: https://patchwork.freedesktop.org/patch/499926/
> +# failure mode is flakey due to randomization but fails frequently
> +# enough to be detected as a Crash or occasionally UnexpectedPass.
> +kms_plane_multiple@atomic-pipe-A-tiling-none
> diff --git a/drivers/gpu/drm/ci/xfails/msm-sdm845-fails.txt b/drivers/gpu/drm/ci/xfails/msm-sdm845-fails.txt
> new file mode 100644
> index 000000000000..09c0c623cd75
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/msm-sdm845-fails.txt
> @@ -0,0 +1,68 @@
> +kms_color@ctm-0-25,Fail
> +kms_color@ctm-0-50,Fail
> +kms_color@ctm-0-75,Fail
> +kms_color@ctm-blue-to-red,Fail
> +kms_color@ctm-green-to-red,Fail
> +kms_color@ctm-negative,Fail
> +kms_color@ctm-red-to-blue,Fail
> +kms_color@ctm-signed,Fail
> +kms_color@pipe-A-ctm-0-25,Fail
> +kms_color@pipe-A-ctm-0-5,Fail
> +kms_color@pipe-A-ctm-0-75,Fail
> +kms_color@pipe-A-ctm-blue-to-red,Fail
> +kms_color@pipe-A-ctm-green-to-red,Fail
> +kms_color@pipe-A-ctm-max,Fail
> +kms_color@pipe-A-ctm-negative,Fail
> +kms_color@pipe-A-ctm-red-to-blue,Fail
> +kms_color@pipe-A-legacy-gamma,Fail
> +kms_cursor_legacy@basic-flip-after-cursor-atomic,Fail
> +kms_cursor_legacy@basic-flip-after-cursor-legacy,Fail
> +kms_cursor_legacy@basic-flip-after-cursor-varying-size,Fail
> +kms_cursor_legacy@basic-flip-before-cursor-atomic,Fail
> +kms_cursor_legacy@basic-flip-before-cursor-legacy,Fail
> +kms_cursor_legacy@basic-flip-before-cursor-varying-size,Fail
> +kms_cursor_legacy@cursor-vs-flip-atomic,Fail
> +kms_cursor_legacy@cursor-vs-flip-atomic-transitions,Fail
> +kms_cursor_legacy@cursor-vs-flip-atomic-transitions-varying-size,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@cursorA-vs-flipA-toggle,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_cursor_legacy@short-flip-after-cursor-atomic-transitions,Fail
> +kms_cursor_legacy@short-flip-after-cursor-atomic-transitions-varying-size,Fail
> +kms_cursor_legacy@short-flip-after-cursor-toggle,Fail
> +kms_cursor_legacy@short-flip-before-cursor-atomic-transitions,Fail
> +kms_cursor_legacy@short-flip-before-cursor-atomic-transitions-varying-size,Fail
> +kms_pipe_crc_basic@compare-crc-sanitycheck-nv12,Fail
> +kms_plane@pixel-format,Fail
> +kms_plane@pixel-format-source-clamping,Fail
> +kms_plane_alpha_blend@alpha-7efc,Fail
> +kms_plane_alpha_blend@coverage-7efc,Fail
> +kms_plane_alpha_blend@coverage-vs-premult-vs-constant,Fail
> +kms_plane_alpha_blend@pipe-A-alpha-7efc,Fail
> +kms_plane_alpha_blend@pipe-A-coverage-7efc,Fail
> +kms_plane_alpha_blend@pipe-A-coverage-vs-premult-vs-constant,Fail
> +kms_plane_cursor@overlay,Fail
> +kms_plane_cursor@pipe-A-overlay-size-128,Fail
> +kms_plane_cursor@pipe-A-overlay-size-256,Fail
> +kms_plane_cursor@pipe-A-overlay-size-64,Fail
> +kms_plane_cursor@pipe-A-viewport-size-128,Fail
> +kms_plane_cursor@pipe-A-viewport-size-256,Fail
> +kms_plane_cursor@pipe-A-viewport-size-64,Fail
> +kms_plane_cursor@viewport,Fail
> +kms_plane_scaling@downscale-with-pixel-format-factor-0-25,Timeout
> +kms_plane_scaling@downscale-with-pixel-format-factor-0-5,Timeout
> +kms_plane_scaling@downscale-with-pixel-format-factor-0-75,Timeout
> +kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-25,Timeout
> +kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-5,Timeout
> +kms_plane_scaling@plane-downscale-with-pixel-format-factor-0-75,Timeout
> +kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats,Timeout
> +kms_plane_scaling@plane-scaler-with-pixel-format-unity-scaling,Timeout
> +kms_plane_scaling@planes-downscale-factor-0-25,Fail
> +kms_plane_scaling@scaler-with-clipping-clamping,Timeout
> +kms_plane_scaling@scaler-with-pixel-format-unity-scaling,Timeout
> +kms_rmfb@close-fd,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/msm-sdm845-flakes.txt b/drivers/gpu/drm/ci/xfails/msm-sdm845-flakes.txt
> new file mode 100644
> index 000000000000..5b3aaab7ac3f
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/msm-sdm845-flakes.txt
> @@ -0,0 +1,11 @@
> +
> +
> +# Test ends up reading CRC from frame before cursor update
> +# bug
> +# sometimes.. tbd if this is a kernel CRC bug or a test
> +kms_cursor_crc@.*
> +kms_cursor_legacy@flip-vs-cursor-toggle
> +kms_cursor_legacy@pipe-A-forked-bo
> +kms_cursor_legacy@pipe-A-forked-move
> +kms_cursor_legacy@short-flip-before-cursor-toggle
> +kms_flip@dpms-vs-vblank-race-interruptible
> diff --git a/drivers/gpu/drm/ci/xfails/msm-sdm845-skips.txt b/drivers/gpu/drm/ci/xfails/msm-sdm845-skips.txt
> new file mode 100644
> index 000000000000..42675f1c6d76
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/msm-sdm845-skips.txt
> @@ -0,0 +1,2 @@
> +# Hangs machine
> +kms_bw.*
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt
> new file mode 100644
> index 000000000000..2a1baa948e12
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt
> @@ -0,0 +1,48 @@
> +kms_3d,Crash
> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-3-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-3-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-3-displays-3840x2160p,Fail
> +kms_force_connector_basic@force-load-detect,Fail
> +kms_invalid_mode@int-max-clock,Crash
> +kms_plane@pixel-format,Crash
> +kms_plane@pixel-format-source-clamping,Crash
> +kms_plane@plane-position-hole,Crash
> +kms_plane@plane-position-hole-dpms,Crash
> +kms_plane_cursor@overlay,Crash
> +kms_plane_cursor@pipe-A-overlay-size-128,Fail
> +kms_plane_cursor@pipe-A-overlay-size-256,Fail
> +kms_plane_cursor@pipe-A-overlay-size-64,Fail
> +kms_plane_cursor@pipe-A-primary-size-128,Fail
> +kms_plane_cursor@pipe-A-primary-size-256,Fail
> +kms_plane_cursor@pipe-A-primary-size-64,Fail
> +kms_plane_cursor@pipe-A-viewport-size-128,Fail
> +kms_plane_cursor@pipe-A-viewport-size-256,Fail
> +kms_plane_cursor@pipe-A-viewport-size-64,Fail
> +kms_plane_cursor@pipe-B-overlay-size-128,Fail
> +kms_plane_cursor@pipe-B-overlay-size-256,Fail
> +kms_plane_cursor@pipe-B-overlay-size-64,Fail
> +kms_plane_cursor@pipe-B-primary-size-128,Fail
> +kms_plane_cursor@pipe-B-primary-size-256,Fail
> +kms_plane_cursor@pipe-B-primary-size-64,Fail
> +kms_plane_cursor@pipe-B-viewport-size-128,Fail
> +kms_plane_cursor@pipe-B-viewport-size-256,Fail
> +kms_plane_cursor@pipe-B-viewport-size-64,Fail
> +kms_plane_cursor@primary,Crash
> +kms_plane_cursor@viewport,Crash
> +kms_plane_lowres@tiling-none,Fail
> +kms_plane_scaling@downscale-with-modifier-factor-0-25,Fail
> +kms_plane_scaling@downscale-with-rotation-factor-0-25,Fail
> +kms_plane_scaling@upscale-with-modifier-20x20,Fail
> +kms_plane_scaling@upscale-with-modifier-factor-0-25,Fail
> +kms_plane_scaling@upscale-with-pixel-format-20x20,Fail
> +kms_plane_scaling@upscale-with-pixel-format-factor-0-25,Fail
> +kms_plane_scaling@upscale-with-rotation-20x20,Fail
> +kms_prime@basic-crc,Fail
> +kms_properties@connector-properties-atomic,Crash
> +kms_properties@connector-properties-legacy,Crash
> +kms_properties@get_properties-sanity-atomic,Crash
> +kms_properties@get_properties-sanity-non-atomic,Crash
> +kms_setmode@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..45c54c75c899
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-flakes.txt
> @@ -0,0 +1,9 @@
> +kms_addfb_basic@addfb25-bad-modifier
> +kms_cursor_crc@.*
> +kms_flip@basic-flip-vs-wf_vblank
> +kms_invalid_mode@int-max-clock,Crash
> +kms_pipe_crc_basic@.*
> +kms_properties@connector-properties-atomic,Crash
> +kms_properties@get_properties-sanity-atomic,Crash
> +kms_properties@get_properties-sanity-non-atomic,Crash
> +kms_rmfb@close-fd
> diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3288-skips.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-skips.txt
> new file mode 100644
> index 000000000000..f20c3574b75a
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-skips.txt
> @@ -0,0 +1,52 @@
> +# 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@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@disable-crc-after-crtc
> \ No newline at end of file
> diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt
> new file mode 100644
> index 000000000000..6db08ba6b008
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt
> @@ -0,0 +1,37 @@
> +kms_color@legacy-gamma,Fail
> +kms_color@pipe-A-legacy-gamma,Fail
> +kms_color@pipe-B-legacy-gamma,Fail
> +kms_flip@basic-flip-vs-wf_vblank,Fail
> +kms_flip@blocking-wf_vblank,Fail
> +kms_flip@dpms-vs-vblank-race,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-panning,Fail
> +kms_flip@flip-vs-panning-interruptible,Fail
> +kms_flip@flip-vs-wf_vblank-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_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_cursor@pipe-B-overlay-size-128,Fail
> +kms_plane_cursor@pipe-B-overlay-size-256,Fail
> +kms_plane_cursor@pipe-B-overlay-size-64,Fail
> +kms_plane_cursor@pipe-B-primary-size-128,Fail
> +kms_plane_cursor@pipe-B-primary-size-256,Fail
> +kms_plane_cursor@pipe-B-primary-size-64,Fail
> +kms_plane_cursor@pipe-B-viewport-size-128,Fail
> +kms_plane_cursor@pipe-B-viewport-size-256,Fail
> +kms_plane_cursor@pipe-B-viewport-size-64,Fail
> +kms_plane_multiple@atomic-pipe-B-tiling-none,Fail
> +kms_plane_multiple@tiling-none,Fail
> +kms_prime@basic-crc,Fail
> +kms_rmfb@close-fd,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-flakes.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-flakes.txt
> new file mode 100644
> index 000000000000..4c0539b4beaf
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-flakes.txt
> @@ -0,0 +1,23 @@
> +
> +kms_cursor_crc@.*
> +kms_flip@dpms-vs-vblank-race-interruptible
> +kms_flip@flip-vs-expired-vblank
> +kms_flip@modeset-vs-vblank-race-interruptible
> +kms_pipe_crc_basic@.*
> +kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-A
> +kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-B
> +kms_plane@plane-position-hole
> +kms_plane_multiple@atomic-pipe-A-tiling-none
> +kms_plane_multiple@atomic-pipe-B-tiling-none
> +kms_sequence@get-forked
> +kms_sequence@get-forked-busy
> +kms_setmode@basic
> +kms_universal_plane@universal-plane-pipe-B-functional,UnexpectedPass
> +kms_vblank@pipe-A-accuracy-idle
> +kms_vblank@pipe-A-query-busy
> +kms_vblank@pipe-A-query-forked-busy
> +kms_vblank@pipe-A-wait-idle
> +kms_vblank@pipe-B-accuracy-idle
> +kms_vblank@pipe-B-query-busy
> +kms_vblank@pipe-B-query-forked-busy
> +kms_vblank@pipe-B-wait-idle
> diff --git a/drivers/gpu/drm/ci/xfails/rockchip-rk3399-skips.txt b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-skips.txt
> new file mode 100644
> index 000000000000..10c3d81a919a
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-skips.txt
> @@ -0,0 +1,5 @@
> +# Suspend to RAM seems to be broken on this machine
> +.*suspend.*
> +
> +# Too unstable, machine ends up hanging after lots of Oopses
> +kms_cursor_legacy.*
> diff --git a/drivers/gpu/drm/ci/xfails/virtio_gpu-none-fails.txt b/drivers/gpu/drm/ci/xfails/virtio_gpu-none-fails.txt
> new file mode 100644
> index 000000000000..9586b2339f6f
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/virtio_gpu-none-fails.txt
> @@ -0,0 +1,38 @@
> +kms_addfb_basic@addfb25-bad-modifier,Fail
> +kms_addfb_basic@bad-pitch-65536,Fail
> +kms_addfb_basic@bo-too-small,Fail
> +kms_addfb_basic@size-max,Fail
> +kms_addfb_basic@too-high,Fail
> +kms_atomic_transition@plane-primary-toggle-with-vblank-wait,Fail
> +kms_bw@linear-tiling-1-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-1-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-1-displays-3840x2160p,Fail
> +kms_bw@linear-tiling-2-displays-1920x1080p,Fail
> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail
> +kms_bw@linear-tiling-2-displays-3840x2160p,Fail
> +kms_invalid_mode@int-max-clock,Fail
> +kms_plane_scaling@downscale-with-modifier-factor-0-25,Fail
> +kms_plane_scaling@downscale-with-rotation-factor-0-25,Fail
> +kms_plane_scaling@planes-upscale-20x20,Fail
> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25,Fail
> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5,Fail
> +kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-75,Fail
> +kms_plane_scaling@upscale-with-modifier-20x20,Fail
> +kms_plane_scaling@upscale-with-modifier-factor-0-25,Fail
> +kms_plane_scaling@upscale-with-pixel-format-20x20,Fail
> +kms_plane_scaling@upscale-with-pixel-format-factor-0-25,Fail
> +kms_plane_scaling@upscale-with-rotation-20x20,Fail
> +kms_vblank@crtc-id,Fail
> +kms_vblank@invalid,Fail
> +kms_vblank@pipe-A-accuracy-idle,Fail
> +kms_vblank@pipe-A-query-busy,Fail
> +kms_vblank@pipe-A-query-forked,Fail
> +kms_vblank@pipe-A-query-forked-busy,Fail
> +kms_vblank@pipe-A-query-idle,Fail
> +kms_vblank@pipe-A-ts-continuation-idle,Fail
> +kms_vblank@pipe-A-ts-continuation-modeset,Fail
> +kms_vblank@pipe-A-ts-continuation-suspend,Fail
> +kms_vblank@pipe-A-wait-busy,Fail
> +kms_vblank@pipe-A-wait-forked,Fail
> +kms_vblank@pipe-A-wait-forked-busy,Fail
> +kms_vblank@pipe-A-wait-idle,Fail
> diff --git a/drivers/gpu/drm/ci/xfails/virtio_gpu-none-flakes.txt b/drivers/gpu/drm/ci/xfails/virtio_gpu-none-flakes.txt
> new file mode 100644
> index 000000000000..e69de29bb2d1
> diff --git a/drivers/gpu/drm/ci/xfails/virtio_gpu-none-skips.txt b/drivers/gpu/drm/ci/xfails/virtio_gpu-none-skips.txt
> new file mode 100644
> index 000000000000..78be18174012
> --- /dev/null
> +++ b/drivers/gpu/drm/ci/xfails/virtio_gpu-none-skips.txt
> @@ -0,0 +1,6 @@
> +# Hits a "refcount_t: underflow; use-after-free" in virtio_gpu_fence_event_process
> +# When run in a particular order with other tests
> +kms_cursor_legacy.*
> +
> +# Job just hangs without any output
> +kms_flip@flip-vs-suspend.*
> \ No newline at end of file
> diff --git a/test b/test
> new file mode 100644
> index 000000000000..e69de29bb2d1
> --
> 2.34.1
>

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch