[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