[PATCH i-g-t 3/3] tests/kms_async_flip: skip subtest on AMD if invalid condition
Karthik B S
karthik.b.s at intel.com
Tue Jun 3 03:55:19 UTC 2025
On 6/2/2025 12:44 AM, Melissa Wen wrote:
> Async page flips can fail for any driver-specific reasons, i.e. when the
> driver can't commit to async page flip request due to hw limitations,
> the commit is rejected with -EINVAL since there is one or more
> conditions that make the request invalid. These limitations vary between
> vendors and hw versions. In case of AMD devices, async page flip cannot
> be perfomed if fb memory type changes (VRAM vs GTT), but framebuffer
> allocation type cannot be controlled by any userspace configuration.
>
> Allow EINVAL failures on AMD device and skip the test. Async flips can
> be still validated by the performance comparison assert if no EINVAL.
>
> Signed-off-by: Melissa Wen <mwen at igalia.com>
Acked-by: Karthik B S <karthik.b.s at intel.com>
> ---
> tests/kms_async_flips.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/tests/kms_async_flips.c b/tests/kms_async_flips.c
> index 97128cfad..065ac9c49 100644
> --- a/tests/kms_async_flips.c
> +++ b/tests/kms_async_flips.c
> @@ -410,7 +410,12 @@ static void test_async_flip(data_t *data)
>
> ret = perform_flip(data, frame, flags);
>
> - if (frame == 1 && data->allow_fail)
> + /* AMD cannot perform async page flip if fb mem type changes,
> + * and this condition cannot be controlled by any userspace
> + * configuration. Therefore allow EINVAL failure and skip the
> + * test for AMD devices.
> + */
> + if ((frame == 1 && data->allow_fail) || is_amdgpu_device(data->drm_fd))
> igt_skip_on(ret == -EINVAL);
> else
> igt_assert_eq(ret, 0);
More information about the igt-dev
mailing list