[Intel-gfx] [PATCH i-g-t v4 3/7] lib/igt_kms: Commit primary plane when a modeset is forced on a pipe

Mika Kahola mika.kahola at intel.com
Mon Oct 2 11:02:32 UTC 2017


On Fri, 2017-09-29 at 11:59 +0200, Maarten Lankhorst wrote:
> In between tests, some tests can do the following sequence:
> 
> (pipe C configured with FB)
> igt_plane_set_fb(primary (pipe C), NULL);
> /* Clear rotation property first */
> igt_display_commit2(display, COMMIT_UNIVERSAL);
> 
> /* disable pipe */
> igt_display_commit2(display, COMMIT_LEGACY);
> 
> This would result in PIPE_C not being properly disabled, which
> will cause an error on the next mode. This can be seen when running
> the full kms_rotation_crc testcase without --subtest, it will fail
> on exhaust-fences because the bad-tiling subtest wasn't able to
> disable pipe C correctly.
> 
> Testcase: kms_rotation_crc
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola at intel.com>

> ---
>  lib/igt_kms.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/igt_kms.c b/lib/igt_kms.c
> index a5db6bc493c2..d25090b05c70 100644
> --- a/lib/igt_kms.c
> +++ b/lib/igt_kms.c
> @@ -2332,7 +2332,7 @@ static int
> igt_primary_plane_commit_legacy(igt_plane_t *primary,
>  	igt_assert(!primary->rotation_changed);
>  
>  	if (!primary->fb_changed && !primary->position_changed &&
> -	    !primary->size_changed)
> +	    !primary->size_changed && !primary->pipe->mode_changed)
>  		return 0;
>  
>  	crtc_id = pipe->crtc_id;
-- 
Mika Kahola - Intel OTC



More information about the Intel-gfx mailing list