[igt-dev] [PATCH i-g-t 12/23] i915/perf: Skip tests that use rendercopy
Lionel Landwerlin
lionel.g.landwerlin at intel.com
Tue Sep 6 13:28:50 UTC 2022
On 23/08/2022 21:30, Umesh Nerlige Ramappa wrote:
> Running tests that require rendercopy sometimes leaves the DUT in an
> unsusable state. Further tests fail to run and DUT requires reboot.
> Since it affects CI efficiency, skip tests is rendercopy is missing.
>
> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
Kind of awkward that igt_get_render_copyfunc() returns something when it
doesn't seem to be have an engine able to run the copy function...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> ---
> tests/i915/perf.c | 17 ++++++++++++++++-
> 1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/tests/i915/perf.c b/tests/i915/perf.c
> index ba8c3792..85f3c5de 100644
> --- a/tests/i915/perf.c
> +++ b/tests/i915/perf.c
> @@ -41,6 +41,7 @@
> #include "i915/gem.h"
> #include "i915/perf.h"
> #include "igt.h"
> +#include "igt_perf.h"
> #include "igt_sysfs.h"
> #include "drm.h"
>
> @@ -5025,6 +5026,19 @@ static int i915_perf_revision(int fd)
> return value;
> }
>
> +static bool has_class_instance(int i915, uint16_t class, uint16_t instance)
> +{
> + int fd;
> +
> + fd = perf_i915_open(i915, I915_PMU_ENGINE_BUSY(class, instance));
> + if (fd >= 0) {
> + close(fd);
> + return true;
> + }
> +
> + return false;
> +}
> +
> igt_main
> {
> igt_fixture {
> @@ -5069,7 +5083,8 @@ igt_main
>
> gt_max_freq_mhz = sysfs_read(RPS_RP0_FREQ_MHZ);
>
> - render_copy = igt_get_render_copyfunc(devid);
> + if (has_class_instance(drm_fd, I915_ENGINE_CLASS_RENDER, 0))
> + render_copy = igt_get_render_copyfunc(devid);
> }
>
> igt_subtest("non-system-wide-paranoid")
More information about the igt-dev
mailing list