[Intel-gfx] [PATCH igt 2/2] igt/kms_frontbuffer_tracking: Access via GGTT is not guaranteed to be tracked

Chris Wilson chris at chris-wilson.co.uk
Thu Dec 14 20:09:21 UTC 2017


Quoting Chris Wilson (2017-12-07 09:41:26)
> As the system may use a partial vma for a GGTT mmap, access via the GGTT
> mmap is not guaranteed to be tracked by FBC's fence. The rule expressed has
> been that any access to the frontbuffer should be followed by a fb-dirty
> ioctl, so always apply and expect the driver to ellide no-ops.
> 
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

Ping?

> ---
>  tests/kms_frontbuffer_tracking.c | 13 +++----------
>  1 file changed, 3 insertions(+), 10 deletions(-)
> 
> diff --git a/tests/kms_frontbuffer_tracking.c b/tests/kms_frontbuffer_tracking.c
> index a068c8afb..1fcca87c9 100644
> --- a/tests/kms_frontbuffer_tracking.c
> +++ b/tests/kms_frontbuffer_tracking.c
> @@ -1127,8 +1127,7 @@ static void draw_rect(struct draw_pattern_info *pattern, struct fb_region *fb,
>                          fb->x + rect.x, fb->y + rect.y,
>                          rect.w, rect.h, rect.color);
>  
> -       if (method == IGT_DRAW_MMAP_WC)
> -               fb_dirty_ioctl(fb, &rect);
> +       fb_dirty_ioctl(fb, &rect);
>  }
>  
>  static void draw_rect_igt_fb(struct draw_pattern_info *pattern,
> @@ -2132,16 +2131,10 @@ static void multidraw_subtest(const struct test_mode *t)
>  
>                                 draw_rect(pattern, target, used_method, r);
>  
> -                               if (used_method == IGT_DRAW_MMAP_WC)
> +                               if (used_method == IGT_DRAW_MMAP_WC ||
> +                                   used_method == IGT_DRAW_MMAP_GTT)
>                                         wc_used = true;
>  
> -                               if (used_method == IGT_DRAW_MMAP_GTT &&
> -                                   wc_used) {
> -                                       struct rect rect =
> -                                               pattern->get_rect(target, r);
> -                                       fb_dirty_ioctl(target, &rect);
> -                               }
> -
>                                 update_wanted_crc(t,
>                                                   &pattern->crcs[t->format][r]);
>  
> -- 
> 2.15.1
> 


More information about the Intel-gfx mailing list