[PATCH i-g-t v3] tests/kms_universal_plane: Fix fb count mismatch
Maarten Lankhorst
maarten.lankhorst at linux.intel.com
Wed Apr 9 07:36:43 UTC 2025
Hey,
On 2025-04-08 14:53, Nemesa Garg wrote:
> There is a mismatch in the count of fb before
> start and end of the test. This is because cursor
> fbs still not removed and we are counting the fbs.
> Add a 2 vblank wait before counting the fbs so that
> all cursors fbs gets removed.
> Since unpinning of cursor fb occurs during vblank in xe,
> we need to wait atleast 1 vblank for driver to remove
> cursor fb. We need 1 additional vblank because vblank
> event is scheduled before unpinning.
>
> v2: Use is_xe_device[Chaitanya]
> v3: Add closes tag[Swati]
>
> Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/4415
> Signed-off-by: Nemesa Garg <nemesa.garg at intel.com>
> ---
Reviewed-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> tests/kms_universal_plane.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/tests/kms_universal_plane.c b/tests/kms_universal_plane.c
> index 8e0b4dda0..2d9716575 100644
> --- a/tests/kms_universal_plane.c
> +++ b/tests/kms_universal_plane.c
> @@ -703,6 +703,16 @@ cursor_leak_test_pipe(data_t *data, enum pipe pipe, igt_output_t *output)
> COMMIT_ATOMIC : COMMIT_LEGACY);
> cursor_leak_test_fini(data, output, &background_fb, cursor_fb);
>
> + /* Since unpinning of cursor fb occurs during vblank in xe, we need
> + * to wait atleast 1 vblank for driver to remove cursor fb. We need
> + * 1 additional vblank because vblank event is scheduled before
> + * unpinning. Therefore add 2 vblank wait to ensure that all
> + * cursor-related framebuffers can be removed before counting the
> + * framebuffer.
> + */
> + if (is_xe_device(data->drm_fd))
> + igt_wait_for_vblank_count(data->drm_fd, data->display.pipes[pipe].crtc_offset, 2);
> +
> /* We should be back to the same framebuffer count as when we started */
> count2 = intel_gem_fb_count(data);
>
More information about the igt-dev
mailing list