[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 15:18:35 UTC 2023


On 25.9.2023 16.37, Rodrigo Vivi wrote:
> On Mon, Sep 25, 2023 at 11:02:43AM +0300, Juha-Pekka Heikkila wrote:
>> 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.
> 
> So, this is regressing my DG2. I'm trending more to send a revert than a
> bug report.
> 

No idea what you are trying here. CI all is green, no crashes, as well 
as our lab 'off the shelf' dg2 everything work.

Anyway I'll put Lucas and Vandita on CC because reverting this will need 
to be known by those who have stake in this, reverting this will break 
lnl and _all_ related upcoming platforms.

/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