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

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Mon Sep 25 08:02:43 UTC 2023


Hi Rodrigo,

On 23.9.2023 0.47, Rodrigo Vivi wrote:
> 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

I don't see these crashes, currently this show all green for me:
https://intel-gfx-ci.01.org/tree/intel-xe/bat-all.html?testfilter=kms_cursor_legacy%7Ckms_flip&hosts=dg2

 From above link looking at any of those test histories there's no 
crashes in history, this patch went in on IGT_7497 which is still 
visible on the history while writing this.

I tried to run these tests also on our local dg2 against xe driver but I 
was not able to reproduce any crash here either running tests as per 
subtest or as a blob.

/Juha-Pekka

> 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