[igt-dev] [PATCH i-g-t] lib/xe: on xe driver use blitter for x-tile

Rodrigo Vivi rodrigo.vivi at intel.com
Fri Sep 22 21:47:39 UTC 2023


On Thu, Sep 21, 2023 at 07:35:30PM +0300, Juha-Pekka Heikkila wrote:
> on xe driver need to use blitter for x-tile

While testing the xe-uapi alignment series I noticed the pass rate had sunk.
And then noticed it was all related to display and blit.

A bisect in kernel and in igt brought me to this patch as the culprit for
the craches I was seeing on DG2.

And it looks CI is also not very happy:
https://intel-gfx-ci.01.org/tree/intel-xe/index.html?

and my bet is on this patch here.

kms_cursor_legacy
6/6	6/6	6/6	6/6	6/6	6/6	6/6	0/6
basic-flip-after-cursor-atomic
pass	pass	pass	pass	pass	pass	pass	crash
basic-flip-after-cursor-legacy
pass	pass	pass	pass	pass	pass	pass	crash
basic-flip-after-cursor-varying-size
pass	pass	pass	pass	pass	pass	pass	crash
basic-flip-before-cursor-atomic
pass	pass	pass	pass	pass	pass	pass	crash
basic-flip-before-cursor-legacy
pass	pass	pass	pass	pass	pass	pass	crash
basic-flip-before-cursor-varying-size
pass	pass	pass	pass	pass	pass	pass	crash
kms_dsc
0/0	0/0	0/0	0/0	0/0	0/0	0/0	0/0
dsc-basic
skip	skip	skip	skip	notrun	skip	skip	skip
kms_flip
16/16	16/16	16/16	16/16	16/16	16/16	16/16	0/16
basic-flip-vs-dpms
0/0	0/0	0/0	0/0	0/0	0/0	0/0	0/0
a-dp2
pass	pass	pass	pass	pass	pass	pass	crash
b-dp2
pass	pass	pass	pass	pass	pass	pass	crash
c-dp2
pass	pass	pass	pass	pass	pass	pass	crash
d-dp2
pass	pass	pass	pass	pass	pass	pass	crash
basic-flip-vs-modeset
0/0	0/0	0/0	0/0	0/0	0/0	0/0	0/0
a-dp2
pass	pass	pass	pass	pass	pass	pass	crash
b-dp2
pass	pass	pass	pass	pass	pass	pass	crash
c-dp2
pass	pass	pass	pass	pass	pass	pass	crash
d-dp2
pass	pass	pass	pass	pass	pass	pass	crash
basic-flip-vs-wf_vblank
0/0	0/0	0/0	0/0	0/0	0/0	0/0	0/0
a-dp2
pass	pass	pass	pass	pass	pass	pass	crash
b-dp2
pass	pass	pass	pass	pass	pass	pass	crash
c-dp2
pass	pass	pass	pass	pass	pass	pass	crash
d-dp2
pass	pass	pass	pass	pass	pass	pass	crash
basic-plain-flip
0/0	0/0	0/0	0/0	0/0	0/0	0/0	0/0
a-dp2
pass	pass	pass	pass	pass	pass	pass	crash
b-dp2
pass	pass	pass	pass	pass	pass	pass	crash
c-dp2
pass	pass	pass	pass	pass	pass	pass	crash
d-dp2
pass	pass	pass	pass	pass	pass	pass	crash

Results for igt at kms_cursor_legacy@basic-flip-before-cursor-varying-size
Overview
Result: crash

Back to summary

Details
Detail	Value
Returncode	None
Time	0:00:00
Stdout	
Opened device: /dev/dri/card0
Starting subtest: basic-flip-before-cursor-varying-size
Using pipe A & DP-2
Subtest basic-flip-before-cursor-varying-size: CRASH (0.705s)
Stderr	
Starting subtest: basic-flip-before-cursor-varying-size
Received signal SIGBUS.
Stack trace: 
 #0 [fatal_sig_handler+0x17b]
 #1 [__sigaction+0x50]
 #2 [emit_blt_block_copy+0x47e]
 #3 [blt_block_copy+0xeb]
 #4 [blitcopy+0x263]
 #5 [setup_linear_mapping+0x163]
 #6 [create_cairo_surface__gpu+0x32]
 #7 [igt_get_cairo_surface+0x88]
 #8 [igt_get_cairo_ctx+0xb]
 #9 [igt_create_pattern_fb+0x29]
 #10 [set_fb_on_crtc+0x39]
 #11 [basic_flip_cursor+0xcf]
 #12 [__igt_unique____real_main1887+0xa41]
 #13 [main+0x23]
 #14 [__libc_start_call_main+0x80]
 #15 [__libc_start_main+0x89]
 #16 [_start+0x25]
Subtest basic-flip-before-cursor-varying-size: CRASH (0.705s)
Command	
dmesg	
<6> [29102.951496] [IGT] kms_cursor_legacy: executing
<6> [29103.289314] [IGT] kms_cursor_legacy: starting subtest basic-flip-before-cursor-varying-size
<6> [29104.003123] [IGT] kms_cursor_legacy: finished subtest basic-flip-before-cursor-varying-size, CRASH
<6> [29104.012383] [IGT] kms_cursor_legacy: exiting, ret=135


> 
> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> ---
>  lib/igt_fb.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
> index 4b592825d..c8a7b31a8 100644
> --- a/lib/igt_fb.c
> +++ b/lib/igt_fb.c
> @@ -2557,7 +2557,8 @@ static bool use_blitter(const struct igt_fb *fb)
>  	return fb->modifier == I915_FORMAT_MOD_4_TILED ||
>  	       fb->modifier == I915_FORMAT_MOD_Y_TILED ||
>  	       fb->modifier == I915_FORMAT_MOD_Yf_TILED ||
> -	       (is_i915_device(fb->fd) && !gem_has_mappable_ggtt(fb->fd));
> +	       (is_i915_device(fb->fd) && !gem_has_mappable_ggtt(fb->fd)) ||
> +	       is_xe_device(fb->fd);
>  }
>  
>  static void init_buf_ccs(struct intel_buf *buf, int ccs_idx,
> -- 
> 2.25.1
> 


More information about the igt-dev mailing list