[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