Message ID | 20230720152737.102382-1-helen.koike@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v10] drm: Add initial ci/ subdirectory | expand |
On Thu, Jul 20, 2023 at 8:27 AM Helen Koike <helen.koike@collabora.com> wrote: > > From: Tomeu Vizoso <tomeu.vizoso@collabora.com> > > 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@collabora.com> > Signed-off-by: Helen Koike <helen.koike@collabora.com> > > --- > > Hello, > > I'm re-spining this patch sent originally by Tomeu. > > This is meant to be an auxiliary tool where developers and > maintainers can just submit their code to fdo and see if > tests passes, than they can decide if it is worthy merging > it or not. > > This tool has proven its value on the Mesa community > and it can bring a lot of value here too. > > Please review and let me know your thoughts. > > 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 > --- > 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 | 61 + > drivers/gpu/drm/ci/gitlab-ci.yml | 252 ++ > 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 | 22 + > .../drm/ci/xfails/amdgpu-stoney-flakes.txt | 19 + > .../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 | 57 + > drivers/gpu/drm/ci/xfails/i915-apl-flakes.txt | 1 + > drivers/gpu/drm/ci/xfails/i915-apl-skips.txt | 4 + > drivers/gpu/drm/ci/xfails/i915-cml-fails.txt | 18 + > drivers/gpu/drm/ci/xfails/i915-cml-flakes.txt | 37 + > drivers/gpu/drm/ci/xfails/i915-cml-skips.txt | 2 + > drivers/gpu/drm/ci/xfails/i915-glk-fails.txt | 18 + > 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 | 26 + > drivers/gpu/drm/ci/xfails/i915-kbl-flakes.txt | 25 + > 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 | 47 + > 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 | 49 + > .../drm/ci/xfails/rockchip-rk3288-flakes.txt | 8 + > .../drm/ci/xfails/rockchip-rk3288-skips.txt | 52 + > .../drm/ci/xfails/rockchip-rk3399-fails.txt | 39 + > .../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, 5502 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 > [snip] > diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml b/drivers/gpu/drm/ci/gitlab-ci.yml > new file mode 100644 > index 000000000000..32d8e2258eb6 > --- /dev/null > +++ b/drivers/gpu/drm/ci/gitlab-ci.yml > @@ -0,0 +1,252 @@ > +variables: > + # Change this to use your fork of drm-ci nit, I think this comment mostly doesn't make sense since everyone would be using the same version of this gitlab-ci.yml, Ie. we can't have msm and nouveau and intel and so on with there own conflicting patches on gitlab-ci.yml I did run into a bit of a chicken vs. egg problem with testing the "in tree" version (compared to earlier versions which kept most of the yml and scripts in a separate tree), is that it actually requires this commit to exist in the branch you want to run CI on. My earlier workaround of pulling the drm/ci commit in via ${branchname}-external-fixes no longer works. BR, -R
On Thu, Jul 27, 2023 at 12:49 PM Rob Clark <robdclark@gmail.com> wrote: > > On Thu, Jul 20, 2023 at 8:27 AM Helen Koike <helen.koike@collabora.com> wrote: > > > > From: Tomeu Vizoso <tomeu.vizoso@collabora.com> > > > > 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@collabora.com> > > Signed-off-by: Helen Koike <helen.koike@collabora.com> > > > > --- > > > > Hello, > > > > I'm re-spining this patch sent originally by Tomeu. > > > > This is meant to be an auxiliary tool where developers and > > maintainers can just submit their code to fdo and see if > > tests passes, than they can decide if it is worthy merging > > it or not. > > > > This tool has proven its value on the Mesa community > > and it can bring a lot of value here too. > > > > Please review and let me know your thoughts. > > > > 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 > > --- > > 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 | 61 + > > drivers/gpu/drm/ci/gitlab-ci.yml | 252 ++ > > 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 | 22 + > > .../drm/ci/xfails/amdgpu-stoney-flakes.txt | 19 + > > .../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 | 57 + > > drivers/gpu/drm/ci/xfails/i915-apl-flakes.txt | 1 + > > drivers/gpu/drm/ci/xfails/i915-apl-skips.txt | 4 + > > drivers/gpu/drm/ci/xfails/i915-cml-fails.txt | 18 + > > drivers/gpu/drm/ci/xfails/i915-cml-flakes.txt | 37 + > > drivers/gpu/drm/ci/xfails/i915-cml-skips.txt | 2 + > > drivers/gpu/drm/ci/xfails/i915-glk-fails.txt | 18 + > > 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 | 26 + > > drivers/gpu/drm/ci/xfails/i915-kbl-flakes.txt | 25 + > > 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 | 47 + > > 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 | 49 + > > .../drm/ci/xfails/rockchip-rk3288-flakes.txt | 8 + > > .../drm/ci/xfails/rockchip-rk3288-skips.txt | 52 + > > .../drm/ci/xfails/rockchip-rk3399-fails.txt | 39 + > > .../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, 5502 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 > > > > [snip] > > > diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml b/drivers/gpu/drm/ci/gitlab-ci.yml > > new file mode 100644 > > index 000000000000..32d8e2258eb6 > > --- /dev/null > > +++ b/drivers/gpu/drm/ci/gitlab-ci.yml > > @@ -0,0 +1,252 @@ > > +variables: > > + # Change this to use your fork of drm-ci > > nit, I think this comment mostly doesn't make sense since everyone > would be using the same version of this gitlab-ci.yml, Ie. we can't > have msm and nouveau and intel and so on with there own conflicting > patches on gitlab-ci.yml > > I did run into a bit of a chicken vs. egg problem with testing the "in > tree" version (compared to earlier versions which kept most of the yml > and scripts in a separate tree), is that it actually requires this > commit to exist in the branch you want to run CI on. My earlier > workaround of pulling the drm/ci commit in via > ${branchname}-external-fixes no longer works. After unwinding some more gitlab repo settings that were for the previous out-of-tree yml setup, I have this working. Tested-by: Rob Clark <robdclark@gmail.com> Acked-by: Rob Clark <robdclark@gmail.com>
On Thu, 27 Jul 2023 at 22:47, Rob Clark <robdclark@gmail.com> wrote: > > I did run into a bit of a chicken vs. egg problem with testing the "in > > tree" version (compared to earlier versions which kept most of the yml > > and scripts in a separate tree), is that it actually requires this > > commit to exist in the branch you want to run CI on. My earlier > > workaround of pulling the drm/ci commit in via > > ${branchname}-external-fixes no longer works. > > After unwinding some more gitlab repo settings that were for the > previous out-of-tree yml setup, I have this working. > > Tested-by: Rob Clark <robdclark@gmail.com> > Acked-by: Rob Clark <robdclark@gmail.com> And it's also: Acked-by: Daniel Stone <daniels@collabora.com> It's been back and forth a few times by now and reviewed pretty heavily by all the people who are across the CI details. I think the next step is to answer all the workflow questions by actually getting it into trees and using it in anger. There was some discussion about whether this should come in from drm-misc, or the core DRM tree, or a completely separate pull, but I'm not sure what the conclusion was ... maintainers, thoughts? Cheers, Daniel
Hi, On Fri, Jul 28, 2023 at 06:26:39AM +0100, Daniel Stone wrote: > On Thu, 27 Jul 2023 at 22:47, Rob Clark <robdclark@gmail.com> wrote: > > > I did run into a bit of a chicken vs. egg problem with testing the "in > > > tree" version (compared to earlier versions which kept most of the yml > > > and scripts in a separate tree), is that it actually requires this > > > commit to exist in the branch you want to run CI on. My earlier > > > workaround of pulling the drm/ci commit in via > > > ${branchname}-external-fixes no longer works. > > > > After unwinding some more gitlab repo settings that were for the > > previous out-of-tree yml setup, I have this working. > > > > Tested-by: Rob Clark <robdclark@gmail.com> > > Acked-by: Rob Clark <robdclark@gmail.com> > > And it's also: > Acked-by: Daniel Stone <daniels@collabora.com> > > It's been back and forth a few times by now and reviewed pretty > heavily by all the people who are across the CI details. I think the > next step is to answer all the workflow questions by actually getting > it into trees and using it in anger. There was some discussion about > whether this should come in from drm-misc, or the core DRM tree, or a > completely separate pull, but I'm not sure what the conclusion was ... > maintainers, thoughts? I'd be ok with merging it through drm-misc Maxime
Hi Helen, Great to see this coming to the DRM! Just wondering, any chance we could add a stage to perform tests on VKMS? The main way of validating VKMS is through IGT tests, so I feel it would be a perfect match to have VKMS as a stage on the CI. As a generic KMS driver, VKMS is also great to validate changes on DRM core. Another question, could we add V3D to the default arm and arm64 config? Best Regards, - Maíra On 7/20/23 12:27, Helen Koike wrote: > From: Tomeu Vizoso <tomeu.vizoso@collabora.com> > > 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@collabora.com> > Signed-off-by: Helen Koike <helen.koike@collabora.com> > > --- > > Hello, > > I'm re-spining this patch sent originally by Tomeu. > > This is meant to be an auxiliary tool where developers and > maintainers can just submit their code to fdo and see if > tests passes, than they can decide if it is worthy merging > it or not. > > This tool has proven its value on the Mesa community > and it can bring a lot of value here too. > > Please review and let me know your thoughts. > > 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 > --- > 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 | 61 + > drivers/gpu/drm/ci/gitlab-ci.yml | 252 ++ > 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 | 22 + > .../drm/ci/xfails/amdgpu-stoney-flakes.txt | 19 + > .../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 | 57 + > drivers/gpu/drm/ci/xfails/i915-apl-flakes.txt | 1 + > drivers/gpu/drm/ci/xfails/i915-apl-skips.txt | 4 + > drivers/gpu/drm/ci/xfails/i915-cml-fails.txt | 18 + > drivers/gpu/drm/ci/xfails/i915-cml-flakes.txt | 37 + > drivers/gpu/drm/ci/xfails/i915-cml-skips.txt | 2 + > drivers/gpu/drm/ci/xfails/i915-glk-fails.txt | 18 + > 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 | 26 + > drivers/gpu/drm/ci/xfails/i915-kbl-flakes.txt | 25 + > 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 | 47 + > 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 | 49 + > .../drm/ci/xfails/rockchip-rk3288-flakes.txt | 8 + > .../drm/ci/xfails/rockchip-rk3288-skips.txt | 52 + > .../drm/ci/xfails/rockchip-rk3399-fails.txt | 39 + > .../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, 5502 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 9852d6bfdb95..6adf20c47498 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -7134,6 +7134,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@collabora.com> > +L: dri-devel@lists.freedesktop.org > +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@gmail.com> > L: linux-media@vger.kernel.org > 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..9656eff22728 > --- /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=n > +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..fefaf417b220 > --- /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/rk3288-veyron-jaq.dtb" > + DEVICE_TREES+=" arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dtb" > + DEVICE_TREES+=" arch/arm/boot/dts/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@example.com" > +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..1b1bc8992668 > --- /dev/null > +++ b/drivers/gpu/drm/ci/container.yml > @@ -0,0 +1,61 @@ > +.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 > diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml b/drivers/gpu/drm/ci/gitlab-ci.yml > new file mode 100644 > index 000000000000..32d8e2258eb6 > --- /dev/null > +++ b/drivers/gpu/drm/ci/gitlab-ci.yml > @@ -0,0 +1,252 @@ > +variables: > + # Change this to use your fork of drm-ci > + 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..a1903d49fa6b > --- /dev/null > +++ b/drivers/gpu/drm/ci/image-tags.yml > @@ -0,0 +1,15 @@ > +variables: > + CONTAINER_TAG: "2023-07-12-mesa-uprev-2" > + 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..0dac88719967 > --- /dev/null > +++ b/drivers/gpu/drm/ci/xfails/amdgpu-stoney-fails.txt > @@ -0,0 +1,22 @@ > +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_cursor_crc@pipe-A-cursor-size-change,Fail > +kms_cursor_crc@pipe-B-cursor-size-change,Fail > +kms_hdr@bpc-switch,Fail > +kms_hdr@bpc-switch-dpms,Fail > +kms_plane_multiple@atomic-pipe-A-tiling-none,Fail > +kms_rotation_crc@primary-rotation-180,Fail > +kms_async_flips@async-flip-with-page-flip-events,Fail > +kms_async_flips@crc,Fail > +kms_async_flips@invalid-async-flip,Fail > +kms_addfb_basic@bad-pitch-65536,Fail > +kms_addfb_basic@bo-too-small,Fail > +kms_atomic_transition@plane-toggle-modeset-transition,Fail > +kms_color@degamma,Fail > +kms_cursor_crc@cursor-size-change,Fail > +kms_cursor_legacy@forked-move,Fail > +kms_flip@flip-vs-blocking-wf-vblank,Fail > +kms_flip@plain-flip-fb-recreate,Fail > +kms_flip@plain-flip-interruptible,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..16bbe46c7459 > --- /dev/null > +++ b/drivers/gpu/drm/ci/xfails/amdgpu-stoney-flakes.txt > @@ -0,0 +1,19 @@ > +kms_addfb_basic@too-high > +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_multiple@atomic-pipe-B-tiling-none > +kms_plane@pixel-format > +kms_plane_scaling@downscale-with-rotation-factor-0-5 > +kms_universal_plane@disable-primary-vs-flip-pipe-A > +kms_async_flips@alternate-sync-async-flip > +kms_async_flips@test-cursor > +kms_async_flips@test-time-stamp > +kms_universal_plane@disable-primary-vs-flip-pipe-B > \ No newline at end of file > 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..cf13a0e07cc1 > --- /dev/null > +++ b/drivers/gpu/drm/ci/xfails/i915-apl-fails.txt > @@ -0,0 +1,57 @@ > +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_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..fe55540a3f9a > --- /dev/null > +++ b/drivers/gpu/drm/ci/xfails/i915-apl-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-cml-fails.txt b/drivers/gpu/drm/ci/xfails/i915-cml-fails.txt > new file mode 100644 > index 000000000000..df9161518336 > --- /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-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 > +kms_plane_alpha_blend@constant-alpha-min,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..5ca34144cfdc > --- /dev/null > +++ b/drivers/gpu/drm/ci/xfails/i915-cml-flakes.txt > @@ -0,0 +1,37 @@ > +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@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..d1196f13a7ca > --- /dev/null > +++ b/drivers/gpu/drm/ci/xfails/i915-glk-fails.txt > @@ -0,0 +1,18 @@ > +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..fa0af6cf81be > --- /dev/null > +++ b/drivers/gpu/drm/ci/xfails/i915-kbl-fails.txt > @@ -0,0 +1,26 @@ > +kms_bw@linear-tiling-2-displays-2560x1440p,Fail > +kms_bw@linear-tiling-4-displays-2560x1440p,Fail > +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-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..95ffa734a267 > --- /dev/null > +++ b/drivers/gpu/drm/ci/xfails/i915-kbl-flakes.txt > @@ -0,0 +1,25 @@ > +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_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..65c630f9a833 > --- /dev/null > +++ b/drivers/gpu/drm/ci/xfails/i915-whl-fails.txt > @@ -0,0 +1,47 @@ > +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_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 > +kms_sysfs_edid_timing,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..5594e700f618 > --- /dev/null > +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt > @@ -0,0 +1,49 @@ > +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_flip@basic-flip-vs-wf_vblank,Crash > +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..bc28fcc3eb47 > --- /dev/null > +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-flakes.txt > @@ -0,0 +1,8 @@ > +kms_addfb_basic@addfb25-bad-modifier > +kms_cursor_crc@.* > +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..f210ecb08076 > --- /dev/null > +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt > @@ -0,0 +1,39 @@ > +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@modeset-vs-vblank-race,Fail > +kms_flip@modeset-vs-vblank-race-interruptible,Fail > +kms_flip@plain-flip-fb-recreate,Fail > +kms_flip@plain-flip-fb-recreate-interruptible,Fail > +kms_flip@plain-flip-ts-check,Fail > +kms_flip@plain-flip-ts-check-interruptible,Fail > +kms_flip@wf_vblank-ts-check,Fail > +kms_flip@wf_vblank-ts-check-interruptible,Fail > +kms_invalid_mode@int-max-clock,Fail > +kms_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..82a9c4329216 > --- /dev/null > +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-flakes.txt > @@ -0,0 +1,23 @@ > + > +kms_cursor_crc@.* > +kms_flip@flip-vs-expired-vblank > +kms_flip@modeset-vs-vblank-race-interruptible,Fail > +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 > +kms_flip@dpms-vs-vblank-race-interruptible > \ No newline at end of file > 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
Hi Helen, Great to see this coming to the DRM! Just wondering, any chance we could add a stage to perform tests on VKMS? The main way of validating VKMS is through IGT tests, so I feel it would be a perfect match to have VKMS as a stage on the CI. As a generic KMS driver, VKMS is also great to validate changes on DRM core. Another question, could we add V3D to the default arm and arm64 config? Best Regards, - Maíra On 7/20/23 12:27, Helen Koike wrote: > From: Tomeu Vizoso <tomeu.vizoso@collabora.com> > > 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@collabora.com> > Signed-off-by: Helen Koike <helen.koike@collabora.com> > > --- > > Hello, > > I'm re-spining this patch sent originally by Tomeu. > > This is meant to be an auxiliary tool where developers and > maintainers can just submit their code to fdo and see if > tests passes, than they can decide if it is worthy merging > it or not. > > This tool has proven its value on the Mesa community > and it can bring a lot of value here too. > > Please review and let me know your thoughts. > > 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 > --- > 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 | 61 + > drivers/gpu/drm/ci/gitlab-ci.yml | 252 ++ > 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 | 22 + > .../drm/ci/xfails/amdgpu-stoney-flakes.txt | 19 + > .../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 | 57 + > drivers/gpu/drm/ci/xfails/i915-apl-flakes.txt | 1 + > drivers/gpu/drm/ci/xfails/i915-apl-skips.txt | 4 + > drivers/gpu/drm/ci/xfails/i915-cml-fails.txt | 18 + > drivers/gpu/drm/ci/xfails/i915-cml-flakes.txt | 37 + > drivers/gpu/drm/ci/xfails/i915-cml-skips.txt | 2 + > drivers/gpu/drm/ci/xfails/i915-glk-fails.txt | 18 + > 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 | 26 + > drivers/gpu/drm/ci/xfails/i915-kbl-flakes.txt | 25 + > 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 | 47 + > 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 | 49 + > .../drm/ci/xfails/rockchip-rk3288-flakes.txt | 8 + > .../drm/ci/xfails/rockchip-rk3288-skips.txt | 52 + > .../drm/ci/xfails/rockchip-rk3399-fails.txt | 39 + > .../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, 5502 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 >
On Thu, Jul 27, 2023 at 10:26 PM Daniel Stone <daniel@fooishbar.org> wrote: > > On Thu, 27 Jul 2023 at 22:47, Rob Clark <robdclark@gmail.com> wrote: > > > I did run into a bit of a chicken vs. egg problem with testing the "in > > > tree" version (compared to earlier versions which kept most of the yml > > > and scripts in a separate tree), is that it actually requires this > > > commit to exist in the branch you want to run CI on. My earlier > > > workaround of pulling the drm/ci commit in via > > > ${branchname}-external-fixes no longer works. > > > > After unwinding some more gitlab repo settings that were for the > > previous out-of-tree yml setup, I have this working. > > > > Tested-by: Rob Clark <robdclark@gmail.com> > > Acked-by: Rob Clark <robdclark@gmail.com> > > And it's also: > Acked-by: Daniel Stone <daniels@collabora.com> > > It's been back and forth a few times by now and reviewed pretty > heavily by all the people who are across the CI details. I think the > next step is to answer all the workflow questions by actually getting > it into trees and using it in anger. There was some discussion about > whether this should come in from drm-misc, or the core DRM tree, or a > completely separate pull, but I'm not sure what the conclusion was ... > maintainers, thoughts? I'd prefer a separate pull, so that I could merge it into msm-next as well without having to pull in all of drm-misc Possibly some other driver trees would like to do similar? BR, -R
Hello Maira, Regarding the second question about V3D and V3DV: in the Mesa3D CI, we currently use downstream kernels, so we don't build the kernel for Raspberry Pi. However, I've been thinking about the possibility of adding an override for the kernel from an external source to our CI. This way, we can also test with a provided kernel and override the default option of using the downstream kernel on Raspberry Pi. If we proceed with this, it would be sensible to include V3D* options in our kernel builds. I'm including Juan and Eric for their input on this topic. David On 28/07/2023 14:38, Maira Canal wrote: > Hi Helen, > > Great to see this coming to the DRM! > > Just wondering, any chance we could add a stage to perform tests on > VKMS? The main way of validating VKMS is through IGT tests, so I feel > it would be a perfect match to have VKMS as a stage on the CI. As a > generic KMS driver, VKMS is also great to validate changes on DRM core. > > Another question, could we add V3D to the default arm and arm64 config? > > Best Regards, > - Maíra > > On 7/20/23 12:27, Helen Koike wrote: >> From: Tomeu Vizoso <tomeu.vizoso@collabora.com> >> >> 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@collabora.com> >> Signed-off-by: Helen Koike <helen.koike@collabora.com> >> >> --- >> >> Hello, >> >> I'm re-spining this patch sent originally by Tomeu. >> >> This is meant to be an auxiliary tool where developers and >> maintainers can just submit their code to fdo and see if >> tests passes, than they can decide if it is worthy merging >> it or not. >> >> This tool has proven its value on the Mesa community >> and it can bring a lot of value here too. >> >> Please review and let me know your thoughts. >> >> 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 >> --- >> 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 | 61 + >> drivers/gpu/drm/ci/gitlab-ci.yml | 252 ++ >> 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 | 22 + >> .../drm/ci/xfails/amdgpu-stoney-flakes.txt | 19 + >> .../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 | 57 + >> drivers/gpu/drm/ci/xfails/i915-apl-flakes.txt | 1 + >> drivers/gpu/drm/ci/xfails/i915-apl-skips.txt | 4 + >> drivers/gpu/drm/ci/xfails/i915-cml-fails.txt | 18 + >> drivers/gpu/drm/ci/xfails/i915-cml-flakes.txt | 37 + >> drivers/gpu/drm/ci/xfails/i915-cml-skips.txt | 2 + >> drivers/gpu/drm/ci/xfails/i915-glk-fails.txt | 18 + >> 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 | 26 + >> drivers/gpu/drm/ci/xfails/i915-kbl-flakes.txt | 25 + >> 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 | 47 + >> 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 | 49 + >> .../drm/ci/xfails/rockchip-rk3288-flakes.txt | 8 + >> .../drm/ci/xfails/rockchip-rk3288-skips.txt | 52 + >> .../drm/ci/xfails/rockchip-rk3399-fails.txt | 39 + >> .../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, 5502 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 9852d6bfdb95..6adf20c47498 100644 >> --- a/MAINTAINERS >> +++ b/MAINTAINERS >> @@ -7134,6 +7134,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@collabora.com> >> +L: dri-devel@lists.freedesktop.org >> +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@gmail.com> >> L: linux-media@vger.kernel.org >> 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..9656eff22728 >> --- /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=n >> +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..fefaf417b220 >> --- /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/rk3288-veyron-jaq.dtb" >> + DEVICE_TREES+=" arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dtb" >> + DEVICE_TREES+=" arch/arm/boot/dts/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@example.com" >> +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..1b1bc8992668 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/container.yml >> @@ -0,0 +1,61 @@ >> +.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 >> diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml >> b/drivers/gpu/drm/ci/gitlab-ci.yml >> new file mode 100644 >> index 000000000000..32d8e2258eb6 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/gitlab-ci.yml >> @@ -0,0 +1,252 @@ >> +variables: >> + # Change this to use your fork of drm-ci >> + 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..a1903d49fa6b >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/image-tags.yml >> @@ -0,0 +1,15 @@ >> +variables: >> + CONTAINER_TAG: "2023-07-12-mesa-uprev-2" >> + 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..0dac88719967 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/xfails/amdgpu-stoney-fails.txt >> @@ -0,0 +1,22 @@ >> +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_cursor_crc@pipe-A-cursor-size-change,Fail >> +kms_cursor_crc@pipe-B-cursor-size-change,Fail >> +kms_hdr@bpc-switch,Fail >> +kms_hdr@bpc-switch-dpms,Fail >> +kms_plane_multiple@atomic-pipe-A-tiling-none,Fail >> +kms_rotation_crc@primary-rotation-180,Fail >> +kms_async_flips@async-flip-with-page-flip-events,Fail >> +kms_async_flips@crc,Fail >> +kms_async_flips@invalid-async-flip,Fail >> +kms_addfb_basic@bad-pitch-65536,Fail >> +kms_addfb_basic@bo-too-small,Fail >> +kms_atomic_transition@plane-toggle-modeset-transition,Fail >> +kms_color@degamma,Fail >> +kms_cursor_crc@cursor-size-change,Fail >> +kms_cursor_legacy@forked-move,Fail >> +kms_flip@flip-vs-blocking-wf-vblank,Fail >> +kms_flip@plain-flip-fb-recreate,Fail >> +kms_flip@plain-flip-interruptible,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..16bbe46c7459 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/xfails/amdgpu-stoney-flakes.txt >> @@ -0,0 +1,19 @@ >> +kms_addfb_basic@too-high >> +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_multiple@atomic-pipe-B-tiling-none >> +kms_plane@pixel-format >> +kms_plane_scaling@downscale-with-rotation-factor-0-5 >> +kms_universal_plane@disable-primary-vs-flip-pipe-A >> +kms_async_flips@alternate-sync-async-flip >> +kms_async_flips@test-cursor >> +kms_async_flips@test-time-stamp >> +kms_universal_plane@disable-primary-vs-flip-pipe-B >> \ No newline at end of file >> 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..cf13a0e07cc1 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/xfails/i915-apl-fails.txt >> @@ -0,0 +1,57 @@ >> +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_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..fe55540a3f9a >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/xfails/i915-apl-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-cml-fails.txt >> b/drivers/gpu/drm/ci/xfails/i915-cml-fails.txt >> new file mode 100644 >> index 000000000000..df9161518336 >> --- /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-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 >> +kms_plane_alpha_blend@constant-alpha-min,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..5ca34144cfdc >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/xfails/i915-cml-flakes.txt >> @@ -0,0 +1,37 @@ >> +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@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..d1196f13a7ca >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/xfails/i915-glk-fails.txt >> @@ -0,0 +1,18 @@ >> +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..fa0af6cf81be >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/xfails/i915-kbl-fails.txt >> @@ -0,0 +1,26 @@ >> +kms_bw@linear-tiling-2-displays-2560x1440p,Fail >> +kms_bw@linear-tiling-4-displays-2560x1440p,Fail >> +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-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..95ffa734a267 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/xfails/i915-kbl-flakes.txt >> @@ -0,0 +1,25 @@ >> +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_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..65c630f9a833 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/xfails/i915-whl-fails.txt >> @@ -0,0 +1,47 @@ >> +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_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 >> +kms_sysfs_edid_timing,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..5594e700f618 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt >> @@ -0,0 +1,49 @@ >> +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_flip@basic-flip-vs-wf_vblank,Crash >> +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..bc28fcc3eb47 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-flakes.txt >> @@ -0,0 +1,8 @@ >> +kms_addfb_basic@addfb25-bad-modifier >> +kms_cursor_crc@.* >> +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..f210ecb08076 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt >> @@ -0,0 +1,39 @@ >> +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@modeset-vs-vblank-race,Fail >> +kms_flip@modeset-vs-vblank-race-interruptible,Fail >> +kms_flip@plain-flip-fb-recreate,Fail >> +kms_flip@plain-flip-fb-recreate-interruptible,Fail >> +kms_flip@plain-flip-ts-check,Fail >> +kms_flip@plain-flip-ts-check-interruptible,Fail >> +kms_flip@wf_vblank-ts-check,Fail >> +kms_flip@wf_vblank-ts-check-interruptible,Fail >> +kms_invalid_mode@int-max-clock,Fail >> +kms_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..82a9c4329216 >> --- /dev/null >> +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-flakes.txt >> @@ -0,0 +1,23 @@ >> + >> +kms_cursor_crc@.* >> +kms_flip@flip-vs-expired-vblank >> +kms_flip@modeset-vs-vblank-race-interruptible,Fail >> +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 >> +kms_flip@dpms-vs-vblank-race-interruptible >> \ No newline at end of file >> 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
Hello all, Thanks for your comments. On Friday, July 28, 2023 11:37 -03, Rob Clark <robdclark@gmail.com> wrote: > On Thu, Jul 27, 2023 at 10:26 PM Daniel Stone <daniel@fooishbar.org> wrote: > > > > On Thu, 27 Jul 2023 at 22:47, Rob Clark <robdclark@gmail.com> wrote: > > > > I did run into a bit of a chicken vs. egg problem with testing the "in > > > > tree" version (compared to earlier versions which kept most of the yml > > > > and scripts in a separate tree), is that it actually requires this > > > > commit to exist in the branch you want to run CI on. My earlier > > > > workaround of pulling the drm/ci commit in via > > > > ${branchname}-external-fixes no longer works. > > > > > > After unwinding some more gitlab repo settings that were for the > > > previous out-of-tree yml setup, I have this working. > > > > > > Tested-by: Rob Clark <robdclark@gmail.com> > > > Acked-by: Rob Clark <robdclark@gmail.com> > > > > And it's also: > > Acked-by: Daniel Stone <daniels@collabora.com> > > > > It's been back and forth a few times by now and reviewed pretty > > heavily by all the people who are across the CI details. I think the > > next step is to answer all the workflow questions by actually getting > > it into trees and using it in anger. There was some discussion about > > whether this should come in from drm-misc, or the core DRM tree, or a > > completely separate pull, but I'm not sure what the conclusion was ... > > maintainers, thoughts? > > I'd prefer a separate pull, so that I could merge it into msm-next as > well without having to pull in all of drm-misc Should we create a drm-ci ? > > Possibly some other driver trees would like to do similar? > > BR, > -R Also, please wait for v11, I have a few adjustments to make as pointer by some comments, and also regarding xfails list and how the configs should be organized (unless if you are fine merging this version and I can submit the adjustments later). Thanks, Helen
On Mon, Jul 31, 2023 at 5:25 AM Helen Mae Koike Fornazier <helen.koike@collabora.com> wrote: > > Hello all, > > Thanks for your comments. > > On Friday, July 28, 2023 11:37 -03, Rob Clark <robdclark@gmail.com> wrote: > > > On Thu, Jul 27, 2023 at 10:26 PM Daniel Stone <daniel@fooishbar.org> wrote: > > > > > > On Thu, 27 Jul 2023 at 22:47, Rob Clark <robdclark@gmail.com> wrote: > > > > > I did run into a bit of a chicken vs. egg problem with testing the "in > > > > > tree" version (compared to earlier versions which kept most of the yml > > > > > and scripts in a separate tree), is that it actually requires this > > > > > commit to exist in the branch you want to run CI on. My earlier > > > > > workaround of pulling the drm/ci commit in via > > > > > ${branchname}-external-fixes no longer works. > > > > > > > > After unwinding some more gitlab repo settings that were for the > > > > previous out-of-tree yml setup, I have this working. > > > > > > > > Tested-by: Rob Clark <robdclark@gmail.com> > > > > Acked-by: Rob Clark <robdclark@gmail.com> > > > > > > And it's also: > > > Acked-by: Daniel Stone <daniels@collabora.com> > > > > > > It's been back and forth a few times by now and reviewed pretty > > > heavily by all the people who are across the CI details. I think the > > > next step is to answer all the workflow questions by actually getting > > > it into trees and using it in anger. There was some discussion about > > > whether this should come in from drm-misc, or the core DRM tree, or a > > > completely separate pull, but I'm not sure what the conclusion was ... > > > maintainers, thoughts? > > > > I'd prefer a separate pull, so that I could merge it into msm-next as > > well without having to pull in all of drm-misc > > Should we create a drm-ci ? I guess we can just wait and see how often it is that drm/ci updates need to be merged into multiple driver trees. Hopefully most of the drm/ci changes are just expectation file updates which should go via driver tree. Maybe i-g-t uprevs, if they have a lot of expectation changes would be something drivers would want to merge into their own tree? But I guess we can see how it goes. > > > > Possibly some other driver trees would like to do similar? > > > > BR, > > -R > > Also, please wait for v11, I have a few adjustments to make as pointer by > some comments, and also regarding xfails list and how the configs should > be organized (unless if you are fine merging this version and I can submit > the adjustments later). Ok BR, -R > Thanks, > Helen >
On 31/07/2023 10:38, Juan A. Suárez wrote: > On Sat, 2023-07-29 at 12:08 +0300, David Heidelberg wrote: >> Hello Maira, >> >> Regarding the second question about V3D and V3DV: in the Mesa3D CI, we >> currently use downstream kernels, so we don't build the kernel for >> Raspberry Pi. >> >> >> > > BM_BOOTFS option can point to a link tarball containing an alternative > kernel to use instead of downstream one. > > The only drawback is that this tarball must be an already compiled > kernel; it won't compile it. It would be great if you could fill in missing kernel config options for machines you use for V3D(V) in the `kernel/configs/mesa*.config` within the `gfx-ci/Linux repository (the config files here origin from there). If the compiled kernel will work on RPis, then the next step would be adding kernel format and DTB names to the `src/broadcom/ci/gitlab-ci.yml` in the Mesa repository so that you can use my Mesa draft MR [1] to quickly test if your jobs would work with the mainline kernel and any other board that won't break due to your changes. When this integration is done ‒ it's easy to run drm-ci testing on these machines. David [1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23563 > >> However, I've been thinking about the possibility of adding an override >> for the kernel from an external source to our CI. This way, we can also >> test with a provided kernel and override the default option of using the >> downstream kernel on Raspberry Pi. >> >> If we proceed with this, it would be sensible to include V3D* options in >> our kernel builds. >> >> I'm including Juan and Eric for their input on this topic. >> >> > > The idea sounds great. Aren't we already compiling kernels for other > hardware? Maybe we can include specific versions for Rpi. > > J.A. >
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 9852d6bfdb95..6adf20c47498 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7134,6 +7134,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@collabora.com> +L: dri-devel@lists.freedesktop.org +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@gmail.com> L: linux-media@vger.kernel.org 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..9656eff22728 --- /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=n +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..fefaf417b220 --- /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/rk3288-veyron-jaq.dtb" + DEVICE_TREES+=" arch/arm/boot/dts/sun8i-h3-libretech-all-h3-cc.dtb" + DEVICE_TREES+=" arch/arm/boot/dts/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@example.com" +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..1b1bc8992668 --- /dev/null +++ b/drivers/gpu/drm/ci/container.yml @@ -0,0 +1,61 @@ +.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 diff --git a/drivers/gpu/drm/ci/gitlab-ci.yml b/drivers/gpu/drm/ci/gitlab-ci.yml new file mode 100644 index 000000000000..32d8e2258eb6 --- /dev/null +++ b/drivers/gpu/drm/ci/gitlab-ci.yml @@ -0,0 +1,252 @@ +variables: + # Change this to use your fork of drm-ci + 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..a1903d49fa6b --- /dev/null +++ b/drivers/gpu/drm/ci/image-tags.yml @@ -0,0 +1,15 @@ +variables: + CONTAINER_TAG: "2023-07-12-mesa-uprev-2" + 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..0dac88719967 --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/amdgpu-stoney-fails.txt @@ -0,0 +1,22 @@ +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_cursor_crc@pipe-A-cursor-size-change,Fail +kms_cursor_crc@pipe-B-cursor-size-change,Fail +kms_hdr@bpc-switch,Fail +kms_hdr@bpc-switch-dpms,Fail +kms_plane_multiple@atomic-pipe-A-tiling-none,Fail +kms_rotation_crc@primary-rotation-180,Fail +kms_async_flips@async-flip-with-page-flip-events,Fail +kms_async_flips@crc,Fail +kms_async_flips@invalid-async-flip,Fail +kms_addfb_basic@bad-pitch-65536,Fail +kms_addfb_basic@bo-too-small,Fail +kms_atomic_transition@plane-toggle-modeset-transition,Fail +kms_color@degamma,Fail +kms_cursor_crc@cursor-size-change,Fail +kms_cursor_legacy@forked-move,Fail +kms_flip@flip-vs-blocking-wf-vblank,Fail +kms_flip@plain-flip-fb-recreate,Fail +kms_flip@plain-flip-interruptible,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..16bbe46c7459 --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/amdgpu-stoney-flakes.txt @@ -0,0 +1,19 @@ +kms_addfb_basic@too-high +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_multiple@atomic-pipe-B-tiling-none +kms_plane@pixel-format +kms_plane_scaling@downscale-with-rotation-factor-0-5 +kms_universal_plane@disable-primary-vs-flip-pipe-A +kms_async_flips@alternate-sync-async-flip +kms_async_flips@test-cursor +kms_async_flips@test-time-stamp +kms_universal_plane@disable-primary-vs-flip-pipe-B \ No newline at end of file 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..cf13a0e07cc1 --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/i915-apl-fails.txt @@ -0,0 +1,57 @@ +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_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..fe55540a3f9a --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/i915-apl-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-cml-fails.txt b/drivers/gpu/drm/ci/xfails/i915-cml-fails.txt new file mode 100644 index 000000000000..df9161518336 --- /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-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 +kms_plane_alpha_blend@constant-alpha-min,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..5ca34144cfdc --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/i915-cml-flakes.txt @@ -0,0 +1,37 @@ +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@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..d1196f13a7ca --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/i915-glk-fails.txt @@ -0,0 +1,18 @@ +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..fa0af6cf81be --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/i915-kbl-fails.txt @@ -0,0 +1,26 @@ +kms_bw@linear-tiling-2-displays-2560x1440p,Fail +kms_bw@linear-tiling-4-displays-2560x1440p,Fail +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-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..95ffa734a267 --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/i915-kbl-flakes.txt @@ -0,0 +1,25 @@ +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_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..65c630f9a833 --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/i915-whl-fails.txt @@ -0,0 +1,47 @@ +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_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 +kms_sysfs_edid_timing,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..5594e700f618 --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-fails.txt @@ -0,0 +1,49 @@ +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_flip@basic-flip-vs-wf_vblank,Crash +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..bc28fcc3eb47 --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3288-flakes.txt @@ -0,0 +1,8 @@ +kms_addfb_basic@addfb25-bad-modifier +kms_cursor_crc@.* +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..f210ecb08076 --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-fails.txt @@ -0,0 +1,39 @@ +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@modeset-vs-vblank-race,Fail +kms_flip@modeset-vs-vblank-race-interruptible,Fail +kms_flip@plain-flip-fb-recreate,Fail +kms_flip@plain-flip-fb-recreate-interruptible,Fail +kms_flip@plain-flip-ts-check,Fail +kms_flip@plain-flip-ts-check-interruptible,Fail +kms_flip@wf_vblank-ts-check,Fail +kms_flip@wf_vblank-ts-check-interruptible,Fail +kms_invalid_mode@int-max-clock,Fail +kms_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..82a9c4329216 --- /dev/null +++ b/drivers/gpu/drm/ci/xfails/rockchip-rk3399-flakes.txt @@ -0,0 +1,23 @@ + +kms_cursor_crc@.* +kms_flip@flip-vs-expired-vblank +kms_flip@modeset-vs-vblank-race-interruptible,Fail +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 +kms_flip@dpms-vs-vblank-race-interruptible \ No newline at end of file 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