Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v12 0/8] Vswing / Pre-emphasis Override
@ 2026-09-04 12:31 Michał Grzelak
  2026-09-04 12:31 ` [PATCH v12 1/8] drm/i915/bios: search for VBT #57 by default Michał Grzelak
                   ` (11 more replies)
  0 siblings, 12 replies; 18+ messages in thread
From: Michał Grzelak @ 2026-09-04 12:31 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: Jani Nikula, Suraj Kandpal, Michał Grzelak

Next version of [1]. v5 of IGT part is at [2].

Sashiko pointed out couple issues. Those include: outdated commit
message for EHL; setting number of entries per PHY; and leaking memory
on driver removal.

Major comments regarded: lack of handling of low vswing eDP on EHL;
reversed order of setting indices for JSL.

This series does not include patches for LT.

Tested by loading xe with custom VBT#57 on PTL. Same for i915 on EHL.

Custom VBT#57 for PTL decoded by [2]:

Block 57 min size 2 less than block size 1154
BDB block 57 (1154 bytes, min 2 bytes) - Vswing Preemph:
        Number of vswing tables: 6
        Number of columns: 3
        Number of rows: 16
        PHY type: Cx0
        Vswing Table #1 (C10: DP 1.4 RBR/HBR; C20: UNUSED):
                Preset #01: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #02: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #03: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #04: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #05: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #06: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #07: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #08: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #09: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #10: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #11: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #12: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #13: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #14: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #15: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #16: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
        Vswing Table #2 (C10: DP 1.4 HBR2/HBR3; C20: UNUSED):
                Preset #01: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #02: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #03: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #04: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #05: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #06: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #07: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #08: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #09: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #10: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #11: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #12: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #13: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #14: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #15: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #16: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
        Vswing Table #3 (C10: eDP non-HBR3; C20: UNUSED):
                Preset #01: vswing: 0x0000001a, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #02: vswing: 0x00000021, pre-cursor: 0x00000000, post-cursor: 0x00000006
                Preset #03: vswing: 0x00000026, pre-cursor: 0x00000000, post-cursor: 0x0000000b
                Preset #04: vswing: 0x0000002b, pre-cursor: 0x00000000, post-cursor: 0x00000013
                Preset #05: vswing: 0x00000027, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #06: vswing: 0x0000002d, pre-cursor: 0x00000000, post-cursor: 0x00000007
                Preset #07: vswing: 0x0000002e, pre-cursor: 0x00000000, post-cursor: 0x0000000d
                Preset #08: vswing: 0x0000002e, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #09: vswing: 0x00000037, pre-cursor: 0x00000000, post-cursor: 0x00000007
                Preset #10: vswing: 0x0000003e, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #11: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #12: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #13: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #14: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #15: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #16: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
        Vswing Table #4 (C10: eDP HBR3; C20: UNUSED):
                Preset #01: vswing: 0x0000001a, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #02: vswing: 0x00000021, pre-cursor: 0x00000000, post-cursor: 0x00000006
                Preset #03: vswing: 0x00000026, pre-cursor: 0x00000000, post-cursor: 0x0000000b
                Preset #04: vswing: 0x0000002b, pre-cursor: 0x00000000, post-cursor: 0x00000013
                Preset #05: vswing: 0x00000027, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #06: vswing: 0x0000002d, pre-cursor: 0x00000000, post-cursor: 0x00000007
                Preset #07: vswing: 0x0000002e, pre-cursor: 0x00000000, post-cursor: 0x0000000d
                Preset #08: vswing: 0x0000002e, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #09: vswing: 0x00000037, pre-cursor: 0x00000000, post-cursor: 0x00000007
                Preset #10: vswing: 0x0000003e, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #11: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #12: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #13: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #14: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #15: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #16: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
        Vswing Table #5 (C10: UNUSED; C20: DP 1.4):
                Preset #01: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #02: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #03: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #04: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #05: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #06: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #07: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #08: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #09: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #10: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #11: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #12: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #13: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #14: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #15: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #16: vswing: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
        Vswing Table #6 (C10: UNUSED; C20: DP 2.X):
                Preset #01: vswing: 0x00000030, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #02: vswing: 0x0000002b, pre-cursor: 0x00000000, post-cursor: 0x00000005
                Preset #03: vswing: 0x00000028, pre-cursor: 0x00000000, post-cursor: 0x00000008
                Preset #04: vswing: 0x00000025, pre-cursor: 0x00000000, post-cursor: 0x0000000b
                Preset #05: vswing: 0x00000021, pre-cursor: 0x00000000, post-cursor: 0x0000000f
                Preset #06: vswing: 0x0000002e, pre-cursor: 0x00000002, post-cursor: 0x00000000
                Preset #07: vswing: 0x0000002a, pre-cursor: 0x00000002, post-cursor: 0x00000004
                Preset #08: vswing: 0x00000026, pre-cursor: 0x00000002, post-cursor: 0x00000008
                Preset #09: vswing: 0x00000023, pre-cursor: 0x00000002, post-cursor: 0x0000000b
                Preset #10: vswing: 0x00000021, pre-cursor: 0x00000002, post-cursor: 0x0000000d
                Preset #11: vswing: 0x0000002c, pre-cursor: 0x00000004, post-cursor: 0x00000000
                Preset #12: vswing: 0x00000028, pre-cursor: 0x00000004, post-cursor: 0x00000004
                Preset #13: vswing: 0x00000025, pre-cursor: 0x00000004, post-cursor: 0x00000007
                Preset #14: vswing: 0x00000021, pre-cursor: 0x00000004, post-cursor: 0x0000000b
                Preset #15: vswing: 0x00000028, pre-cursor: 0x00000008, post-cursor: 0x00000000
                Preset #16: vswing: 0x0000001e, pre-cursor: 0x00000002, post-cursor: 0x00000002

This version uses different VBT#57; custom block for EHL decoded by [2]:

Block 57 min size 2 less than block size 1322
BDB block 57 (1322 bytes, min 2 bytes) - Vswing Preemph:
        Warning: purpose of tables varies between EHL & JSL
        Number of vswing tables: 3
        Number of columns: 11
        Number of rows: 10
        PHY type: Combo
        Vswing Table #1 (High Vswing eDP/DP upto HBR3):
          V0-P0:
            dw2_swing_sel:      0x0000000a, dw7_n_scalar:       0x00000033, dw4_cursor_coeff:   0x0000003f,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V0-P1:
            dw2_swing_sel:      0x0000000a, dw7_n_scalar:       0x00000047, dw4_cursor_coeff:   0x00000038,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000007, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V0-P2:
            dw2_swing_sel:      0x0000000c, dw7_n_scalar:       0x00000064, dw4_cursor_coeff:   0x00000033,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x0000000c, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V0-P3:
            dw2_swing_sel:      0x00000006, dw7_n_scalar:       0x0000007f, dw4_cursor_coeff:   0x0000002f,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000010, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V1-P0:
            dw2_swing_sel:      0x0000000a, dw7_n_scalar:       0x00000046, dw4_cursor_coeff:   0x0000003f,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V1-P1:
            dw2_swing_sel:      0x0000000c, dw7_n_scalar:       0x00000064, dw4_cursor_coeff:   0x00000037,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000008, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V1-P2:
            dw2_swing_sel:      0x00000006, dw7_n_scalar:       0x0000007f, dw4_cursor_coeff:   0x00000032,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x0000000d, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V2-P0:
            dw2_swing_sel:      0x0000000c, dw7_n_scalar:       0x00000061, dw4_cursor_coeff:   0x0000003f,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V2-P1:
            dw2_swing_sel:      0x00000006, dw7_n_scalar:       0x0000007f, dw4_cursor_coeff:   0x00000037,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000008, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V3-P0:
            dw2_swing_sel:      0x00000006, dw7_n_scalar:       0x0000007f, dw4_cursor_coeff:   0x0000003f,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
        Vswing Table #2 (Low Vswing eDP upto HBR2):
          V0-P0:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V0-P1:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V0-P2:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V0-P3:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V1-P0:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V1-P1:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V1-P2:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V2-P0:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V2-P1:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V3-P0:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
        Vswing Table #3 (Low Vswing eDP upto HBR3):
          V0-P0:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V0-P1:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V0-P2:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V0-P3:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V1-P0:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V1-P1:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V1-P2:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V2-P0:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V2-P1:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000
          V3-P0:
            dw2_swing_sel:      0x00000000, dw7_n_scalar:       0x00000000, dw4_cursor_coeff:   0x00000000,
            dw4_post_cursor_2:  0x00000000, dw4_post_cursor_1:  0x00000000, rcomp_scalar:       0x00000000,
            rterm_select:       0x00000000, tap3_disable:       0x00000000, tap2_disable:       0x00000000,
            cursor_program:     0x00000000, coeff_polarity:     0x00000000

BR,
Michał

[1] https://lore.kernel.org/intel-gfx/20260813160918.918857-1-michal.grzelak@intel.com
[2] https://lore.kernel.org/igt-dev/20260702182619.3973788-1-michal.grzelak@intel.com

---
Changelog:
v11->v12
- don't set vspeo->num_entries per PHY/platform
- set vspeo->num_entries once (Sashiko)
- free allocated vspeo->entries (Sashiko)
- don't refer to 1st table as fallback for non-DP for C10 (Sashiko)
- check for low vswing eDP for EHL (Sashiko)
- reverse order of indices for JSL (Sashiko)

v10->v11
- remove no-longer-relevant check for NULL devdata (Jani)
- initialize local variables at declaration block (Jani)
- branch with 'else` instead of initializing twice (Jani)
- use blank line before 'return` (Jani)

v9->v10
- drop deconstifying default tables (Suraj, Jani)
- add separate non-const field for `entries` caching
- cache `entries` into const field after data is overwritten (Jani)
- call dedicated VS/PE-O vfunc

v8->v9 
- init vspeo before using it
- deconstify intel_ddi_buf_trans_entry in separate commit

v7->v8
- remove comments (Suraj)
- add check for LT (Suraj)

v6->v7
- parse VBT#57 before blocks dependant on child device list (Jani)
- expand VS/PE-O acronym in debug logging (Jani)
- handle VS/PE-O's VBT details in intel_bios_* functions (Jani)
- remove vspeo's cast to (void *) (Jani)
- check devdata->vspeo if VS/PE-O was requested
- call encoder->get_buf_trans() once (Jani)
- return NULL from intel_bios_get_* when using default (Jani)
- validate VS/PE-O in intel_bios.c (Jani)
- inline *_get_vspeo_buf_trans()
- remove temporarily LT

v5->v6
- check if devdata is not NULL
- add Bspec (Suraj)
- remove drm_WARN_ONCE (Suraj)
- pass default VS/PE tables to LT's BIOS accessor (Suraj)
- set txswing & _level from default VS/PE tables (Suraj)
- add helper checking if VS/PE-O has been allocated (Suraj)

v4->v5
- set devdata->vspeo->num_entries in intel_bios.c
- add if-ladder instead of function pointer
- blend index computation with table parsing
- remove WARN and debug messages
- remove enums entirely
- add spaces around operators (Suraj)
- remove spaces after type casting (Suraj)
- remove INTEL_DISPLAY_STATE_WARN (Suraj)
- change funcs prefix from snps_ to mtl_ (Suraj)

v3->v4
- add Bspec (Suraj)
- remove unnecessary init of VS/PE-O metadata (Suraj)
- add helper for computing number of rows (Suraj)
- fix num_rows's type (Jani, Suraj)
- declare num_rows (Suraj)
- change debug message when requesting VS/PE-O (Suraj)
- stick to solely changing VBT data into current structures (Jani)
- move iterator declaration to declaration block (Suraj)

v2->v3
- remove unnecessary braces from if block (Suraj)
- return -EINVAL instead of -1 (Suraj)

Michał Grzelak (8):
  drm/i915/bios: search for VBT #57 by default
  drm/i915/bios: store VBT #57's metadata in intel_vbt_data
  drm/i915/bios: print VS/PE-O port info
  drm/i915/bios: de/allocate VS/PE-O buffers for each port
  drm/i915/buf_trans: add vfunc for VS/PE-O
  drm/i915: override Snps's VS/PE when requested
  drm/i915: override Combo's VS/PE when requested
  drm/i915/bios: remove VS/PE-O warning

 drivers/gpu/drm/i915/display/intel_bios.c     | 262 +++++++++++++++++-
 drivers/gpu/drm/i915/display/intel_bios.h     |  14 +
 .../drm/i915/display/intel_ddi_buf_trans.c    |  87 +++++-
 .../gpu/drm/i915/display/intel_display_core.h |   7 +
 .../drm/i915/display/intel_display_types.h    |   3 +
 5 files changed, 359 insertions(+), 14 deletions(-)

-- 
2.45.2


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v12 1/8] drm/i915/bios: search for VBT #57 by default
  2026-09-04 12:31 [PATCH v12 0/8] Vswing / Pre-emphasis Override Michał Grzelak
@ 2026-09-04 12:31 ` Michał Grzelak
  2026-09-04 12:31 ` [PATCH v12 2/8] drm/i915/bios: store VBT #57's metadata in intel_vbt_data Michał Grzelak
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Michał Grzelak @ 2026-09-04 12:31 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: Jani Nikula, Suraj Kandpal, Michał Grzelak

Start searching for Vswing / Preemphasis Override Block during VBT
parsing at init_bdb_blocks().

Check for failure since pre-ICL GOPs do not contain the block. Check
also if VBT version is appropriately up-to-date.

v6->v7
- parse VBT#57 before blocks dependent on child device list (Jani)
- remove debug message (Suraj)

v3->v4
- add Bspec (Suraj)

Bspec: 32063
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 97cbae2e547e2..ece4df4a9d62a 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -200,6 +200,8 @@ static const struct {
 	  .min_size = sizeof(struct bdb_mipi_sequence) },
 	{ .section_id = BDB_COMPRESSION_PARAMETERS,
 	  .min_size = sizeof(struct bdb_compression_parameters), },
+	{ .section_id = BDB_VSWING_PREEMPH,
+	  .min_size = sizeof(struct bdb_vswing_preemph), },
 	{ .section_id = BDB_GENERIC_DTD,
 	  .min_size = sizeof(struct bdb_generic_dtd), },
 };
@@ -2203,6 +2205,21 @@ parse_compression_parameters(struct intel_display *display)
 	}
 }
 
+static void
+parse_vswing_preemph_override(struct intel_display *display)
+{
+	const struct bdb_vswing_preemph *block;
+
+	if (display->vbt.version < 218)
+		return;
+
+	block = bdb_find_section(display, BDB_VSWING_PREEMPH);
+
+	/* pre-ICL GOPs don't have VBT #57 */
+	if (!block)
+		return;
+}
+
 static u8 translate_iboost(struct intel_display *display, u8 val)
 {
 	static const u8 mapping[] = { 1, 3, 7 }; /* See VBT spec */
@@ -3291,6 +3308,7 @@ void intel_bios_init(struct intel_display *display)
 	parse_general_features(display);
 	parse_general_definitions(display);
 	parse_driver_features(display);
+	parse_vswing_preemph_override(display);
 
 	/* Depends on child device list */
 	parse_compression_parameters(display);
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v12 2/8] drm/i915/bios: store VBT #57's metadata in intel_vbt_data
  2026-09-04 12:31 [PATCH v12 0/8] Vswing / Pre-emphasis Override Michał Grzelak
  2026-09-04 12:31 ` [PATCH v12 1/8] drm/i915/bios: search for VBT #57 by default Michał Grzelak
@ 2026-09-04 12:31 ` Michał Grzelak
  2026-09-04 12:43   ` sashiko-bot
  2026-09-04 12:31 ` [PATCH v12 3/8] drm/i915/bios: print VS/PE-O port info Michał Grzelak
                   ` (9 subsequent siblings)
  11 siblings, 1 reply; 18+ messages in thread
From: Michał Grzelak @ 2026-09-04 12:31 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: Jani Nikula, Suraj Kandpal, Michał Grzelak

Store tables, number of tables, number of rows and number of columns in
intel_vbt_data when search for the VBT #57 has succeeded. Structurize
all VS/PE-O relevant metadata inside anonymous struct named as vspeo.

Presence of C20 or newer PHY causes each table to contain 16 rows. Each
table contains 10 rows in case C20 PHY is absent. Use display version to
determine number of rows since there is no helper in intel_bios.c to
check presence of any C20+ PHY. pre-MTL platforms should have 10 rows
while MTL+ should have 16 rows.

v5->v6
- add Bspec (Suraj)

v3->v4
- remove unnecessary init of VS/PE-O metadata (Suraj)
- add helper for computing number of rows (Suraj)
- fix num_rows's type (Jani, Suraj)
- declare num_rows (Suraj)

Bspec: 68963
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c         | 10 ++++++++++
 drivers/gpu/drm/i915/display/intel_display_core.h |  7 +++++++
 2 files changed, 17 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index ece4df4a9d62a..06a8dd7581bb8 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -2205,6 +2205,11 @@ parse_compression_parameters(struct intel_display *display)
 	}
 }
 
+static int vswing_preemph_num_rows(struct intel_display *display)
+{
+	return DISPLAY_VER(display) >= 14 ? 16 : 10;
+}
+
 static void
 parse_vswing_preemph_override(struct intel_display *display)
 {
@@ -2218,6 +2223,11 @@ parse_vswing_preemph_override(struct intel_display *display)
 	/* pre-ICL GOPs don't have VBT #57 */
 	if (!block)
 		return;
+
+	display->vbt.vspeo.tables = block->tables;
+	display->vbt.vspeo.num_tables = block->num_tables;
+	display->vbt.vspeo.num_columns = block->num_columns;
+	display->vbt.vspeo.num_rows = vswing_preemph_num_rows(display);
 }
 
 static u8 translate_iboost(struct intel_display *display, u8 val)
diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index 7e988b7b1fe7a..c80b4a2f74f9e 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -244,6 +244,13 @@ struct intel_vbt_data {
 	struct list_head display_devices;
 	struct list_head bdb_blocks;
 
+	struct {
+		const u32 *tables;
+		int num_tables;
+		int num_columns;
+		int num_rows;
+	} vspeo;
+
 	struct sdvo_device_mapping {
 		u8 initialized;
 		u8 dvo_port;
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v12 3/8] drm/i915/bios: print VS/PE-O port info
  2026-09-04 12:31 [PATCH v12 0/8] Vswing / Pre-emphasis Override Michał Grzelak
  2026-09-04 12:31 ` [PATCH v12 1/8] drm/i915/bios: search for VBT #57 by default Michał Grzelak
  2026-09-04 12:31 ` [PATCH v12 2/8] drm/i915/bios: store VBT #57's metadata in intel_vbt_data Michał Grzelak
@ 2026-09-04 12:31 ` Michał Grzelak
  2026-09-04 12:50   ` sashiko-bot
  2026-09-04 12:31 ` [PATCH v12 4/8] drm/i915/bios: de/allocate VS/PE-O buffers for each port Michał Grzelak
                   ` (8 subsequent siblings)
  11 siblings, 1 reply; 18+ messages in thread
From: Michał Grzelak @ 2026-09-04 12:31 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: Jani Nikula, Suraj Kandpal, Michał Grzelak

Issue a debug message when port asks to override default Vswing /
Preemphasis tables.

Add helper intel_bios_encoder_requests_vspeo() to check if port
requests for overriding default VS/PE tables.

v6->v7
- expand VS/PE-O acronym in debug logging (Jani)

v3->v4
- change debug message when requesting VS/PE-O (Suraj)

Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c | 10 ++++++++++
 drivers/gpu/drm/i915/display/intel_bios.h |  1 +
 2 files changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 06a8dd7581bb8..9610b794bc147 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -2801,6 +2801,11 @@ static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
 			    "Port %c supports dynamic DDI allocation in TCSS\n",
 			    port_name(port));
 
+	if (intel_bios_encoder_requests_vspeo(devdata))
+		drm_dbg_kms(display->drm,
+			    "Port %c requests vswing/pre-emphasis override\n",
+			    port_name(port));
+
 	hdmi_level_shift = intel_bios_hdmi_level_shift(devdata);
 	if (hdmi_level_shift >= 0) {
 		drm_dbg_kms(display->drm,
@@ -3829,6 +3834,11 @@ int intel_bios_hdmi_ddc_pin(const struct intel_bios_encoder_data *devdata)
 	return map_ddc_pin(devdata->display, devdata->child.ddc_pin);
 }
 
+bool intel_bios_encoder_requests_vspeo(const struct intel_bios_encoder_data *devdata)
+{
+	return devdata->display->vbt.version >= 218 && devdata->child.use_vbt_vswing;
+}
+
 bool intel_bios_encoder_supports_typec_usb(const struct intel_bios_encoder_data *devdata)
 {
 	return devdata->display->vbt.version >= 195 && devdata->child.dp_usb_type_c;
diff --git a/drivers/gpu/drm/i915/display/intel_bios.h b/drivers/gpu/drm/i915/display/intel_bios.h
index 75dff27b42289..7a50a272cd27d 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.h
+++ b/drivers/gpu/drm/i915/display/intel_bios.h
@@ -73,6 +73,7 @@ bool intel_bios_get_dsc_params(struct intel_encoder *encoder,
 const struct intel_bios_encoder_data *
 intel_bios_encoder_data_lookup(struct intel_display *display, enum port port);
 
+bool intel_bios_encoder_requests_vspeo(const struct intel_bios_encoder_data *devdata);
 bool intel_bios_encoder_supports_dvi(const struct intel_bios_encoder_data *devdata);
 bool intel_bios_encoder_supports_hdmi(const struct intel_bios_encoder_data *devdata);
 bool intel_bios_encoder_supports_dp(const struct intel_bios_encoder_data *devdata);
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v12 4/8] drm/i915/bios: de/allocate VS/PE-O buffers for each port
  2026-09-04 12:31 [PATCH v12 0/8] Vswing / Pre-emphasis Override Michał Grzelak
                   ` (2 preceding siblings ...)
  2026-09-04 12:31 ` [PATCH v12 3/8] drm/i915/bios: print VS/PE-O port info Michał Grzelak
@ 2026-09-04 12:31 ` Michał Grzelak
  2026-09-04 12:46   ` sashiko-bot
  2026-09-04 12:31 ` [PATCH v12 5/8] drm/i915/buf_trans: add vfunc for VS/PE-O Michał Grzelak
                   ` (7 subsequent siblings)
  11 siblings, 1 reply; 18+ messages in thread
From: Michał Grzelak @ 2026-09-04 12:31 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: Jani Nikula, Suraj Kandpal, Michał Grzelak

Every devdata needs VS/PE-O dedicated buffers since each port can
request an override. Add intel_ddi_buf_trans{,_entry} pointers into
intel_bios_encoder_data.

Allocate struct intel_ddi_buf_trans{,_entry} for the port if VS/PE-O was
requested and is supported. Keep NULL in vspeo if any allocation failed
or VS/PE-O was not requested. It will be used later for checking if
override should actually take place.

Note that we theoretically could store intel_ddi_buf_trans_entry inside
`entries` field of newly allocated intel_ddi_buf_trans. However it will
be impossible to overwrite the buffer during intel_ddi_get_buf_trans()
without discarding const qualifier of `entries` field. This would
involve either void casting or deconstifying entries field and in turn
all predefined tables as well. Thus add a separate non-const qualified
field into intel_bios_encoder_data for the buffer, which after
overwriting will be promoted to be const qualified.

Deallocate the buffer as well as entries if requested.

v11->v12
- set vspeo->num_entries once (Sashiko)
- free allocated vspeo->entries (Sashiko)

v9->v10
- add separate non-const field for `entries` caching
- cache `entries` into const field after data is overwritten (Jani)

v4->v5
- set devdata->vspeo->num_entries in intel_bios.c

Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c | 31 +++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 9610b794bc147..1a09f7933e491 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -34,6 +34,7 @@
 #include <drm/drm_fixed.h>
 #include <drm/drm_print.h>
 
+#include "intel_ddi_buf_trans.h"
 #include "intel_display.h"
 #include "intel_display_core.h"
 #include "intel_display_rpm.h"
@@ -72,6 +73,8 @@
 struct intel_bios_encoder_data {
 	struct intel_display *display;
 
+	struct intel_ddi_buf_trans *vspeo;
+	union intel_ddi_buf_trans_entry *entries;
 	struct child_device_config child;
 	struct dsc_compression_parameters_entry *dsc;
 	struct list_head node;
@@ -2648,6 +2651,30 @@ static void sanitize_device_type(struct intel_bios_encoder_data *devdata,
 	devdata->child.device_type |= DEVICE_TYPE_NOT_HDMI_OUTPUT;
 }
 
+static void allocate_vswing_preemph_override(struct intel_bios_encoder_data *devdata)
+{
+	int num_rows = devdata->display->vbt.vspeo.num_rows;
+	union intel_ddi_buf_trans_entry *entries;
+	struct intel_ddi_buf_trans *vspeo;
+
+	if (!intel_bios_encoder_requests_vspeo(devdata))
+		return;
+
+	vspeo = kzalloc_obj(*vspeo);
+	if (!vspeo)
+		return;
+
+	entries = kzalloc_objs(*entries, num_rows);
+	if (!entries) {
+		kfree(vspeo);
+		return;
+	}
+
+	devdata->entries = entries;
+	devdata->vspeo = vspeo;
+	devdata->vspeo->num_entries = num_rows;
+}
+
 static void sanitize_hdmi_level_shift(struct intel_bios_encoder_data *devdata,
 				      enum port port)
 {
@@ -2866,6 +2893,7 @@ static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
 	sanitize_dedicated_external(devdata, port);
 	sanitize_device_type(devdata, port);
 	sanitize_hdmi_level_shift(devdata, port);
+	allocate_vswing_preemph_override(devdata);
 }
 
 static bool has_ddi_port_info(struct intel_display *display)
@@ -3403,6 +3431,9 @@ void intel_bios_driver_remove(struct intel_display *display)
 	list_for_each_entry_safe(devdata, nd, &display->vbt.display_devices,
 				 node) {
 		list_del(&devdata->node);
+
+		kfree(devdata->entries);
+		kfree(devdata->vspeo);
 		kfree(devdata->dsc);
 		kfree(devdata);
 	}
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v12 5/8] drm/i915/buf_trans: add vfunc for VS/PE-O
  2026-09-04 12:31 [PATCH v12 0/8] Vswing / Pre-emphasis Override Michał Grzelak
                   ` (3 preceding siblings ...)
  2026-09-04 12:31 ` [PATCH v12 4/8] drm/i915/bios: de/allocate VS/PE-O buffers for each port Michał Grzelak
@ 2026-09-04 12:31 ` Michał Grzelak
  2026-09-04 12:31 ` [PATCH v12 6/8] drm/i915: override Snps's VS/PE when requested Michał Grzelak
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Michał Grzelak @ 2026-09-04 12:31 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: Jani Nikula, Suraj Kandpal, Michał Grzelak

Choosing correct table for Vswing / Pre-emphasis Override is platform
specific. It also requires different checks that are already used for
choosing predefined tables.

Add new get_buf_trans_override() vfunc into intel_encoder returning
deparsed table from VBT#57. In next patches, set it inside already
present if-ladder from intel_ddi_buf_trans_init() instead of duplicating
it.

Note that get_buf_trans() cannot be overwritten since there are cases
when we need to rollback although VS/PE-O was requested, eg. DP is not
connected or feature is not yet implemented for the platform. Assume
that vfunc returns NULL on rollback and return predefined tables.

Suggested-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c | 8 ++++++++
 drivers/gpu/drm/i915/display/intel_display_types.h | 3 +++
 2 files changed, 11 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
index 4cd1e4d76c7af..f31283a0331b7 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
@@ -1857,5 +1857,13 @@ const struct intel_ddi_buf_trans *intel_ddi_buf_trans_get(struct intel_encoder *
 							  const struct intel_crtc_state *crtc_state,
 							  int *n_entries)
 {
+	if (encoder->get_buf_trans_override) {
+		const struct intel_ddi_buf_trans *override;
+
+		override = encoder->get_buf_trans_override(encoder, crtc_state, n_entries);
+		if (override)
+			return intel_get_buf_trans(override, n_entries);
+	}
+
 	return encoder->get_buf_trans(encoder, crtc_state, n_entries);
 }
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 5f0fe18c0614e..9016be52c7eac 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -289,6 +289,9 @@ struct intel_encoder {
 	 */
 	enum icl_port_dpll_id (*port_pll_type)(struct intel_encoder *encoder,
 					       const struct intel_crtc_state *crtc_state);
+	const struct intel_ddi_buf_trans *(*get_buf_trans_override)(struct intel_encoder *encoder,
+								    const struct intel_crtc_state *crtc_state,
+								    int *n_entries);
 	const struct intel_ddi_buf_trans *(*get_buf_trans)(struct intel_encoder *encoder,
 							   const struct intel_crtc_state *crtc_state,
 							   int *n_entries);
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v12 6/8] drm/i915: override Snps's VS/PE when requested
  2026-09-04 12:31 [PATCH v12 0/8] Vswing / Pre-emphasis Override Michał Grzelak
                   ` (4 preceding siblings ...)
  2026-09-04 12:31 ` [PATCH v12 5/8] drm/i915/buf_trans: add vfunc for VS/PE-O Michał Grzelak
@ 2026-09-04 12:31 ` Michał Grzelak
  2026-09-04 12:53   ` sashiko-bot
  2026-09-04 12:31 ` [PATCH v12 7/8] drm/i915: override Combo's " Michał Grzelak
                   ` (5 subsequent siblings)
  11 siblings, 1 reply; 18+ messages in thread
From: Michał Grzelak @ 2026-09-04 12:31 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: Jani Nikula, Suraj Kandpal, Michał Grzelak

Add accessor functions for Snps to read requested table from VBT #57.
Parse the requested table and transform data into port's buffer.

Actual data is fully stored in the lowest byte although each entry is 4
bytes wide. Thus convert u32 into u8 and store the data.

For C20, use 6th table if encoder supports DP 2.0 or higher. Otherwise
use 5th table for DP.

For C20, tables 1-4 are not used at all and are most likely to be
zeroed. 5th table is used for any mode below DP 2.0 (exclusive). 6th
table is used for any mode above DP 2.0 (inclusive).

For C10, use 2nd table for external DP if encoder supports any mode
beyond or including HBR2. Use 1st table if external DP encoder supports
anything lower than HBR2. For eDP, use 4th table if encoder supports
HBR3. Otherwise use 3rd table for eDP.

For C10, 1st table is used for external DP with modes below HBR2
(exclusive). 2nd table is used for external DP with modes higher than
HBR2 (inclusive). 3rd table is used for eDP with modes lower than HBR3
(exclusive). 4th table is used for eDP with modes higher than HBR3
(inclusive).

Indices for other tables have not yet been observed to be used as of
now.

There are no changes to intel_ddi_dp_level() since selection of correct
row of intel_ddi_buf_trans_entry is same as when no override request has
been done.

v11->v12
- don't set vspeo->num_entries per PHY
- don't refer to 1st table as fallback for non-DP for C10 (Sashiko)

v10->v11
- remove no-longer-relevant check for NULL devdata (Jani)
- initialize local variables at declaration block (Jani)
- branch with 'else` instead of initializing twice (Jani)
- use blank line before 'return` (Jani)

v9->v10
- call dedicated VS/PE-O vfunc
- drop deconstifying default tables (Suraj, Jani)
- cache `entries` into const field after data is overwritten (Jani)

v8->v9
- init vspeo before using it
- deconstify intel_ddi_buf_trans_entry

v7->v8
- remove comments (Suraj)
- add check for LT (Suraj)

v6->v7
- handle VS/PE-O's VBT details in intel_bios_* functions (Jani)
- remove vspeo's cast to (void *) (Jani)
- check devdata->vspeo if VS/PE-O was requested
- call encoder->get_buf_trans() once (Jani)
- return NULL from intel_bios_get_* when using default (Jani)
- validate VS/PE-O in intel_bios.c (Jani)
- inline mtl_{c10,c20}_get_vspeo_buf_trans()
- remove temporarily LT

v4->v5
- blend index computation with table parsing
- remove enums entirely
- change funcs prefix from snps_ to mtl_ (Suraj)
- add spaces around operators (Suraj)
- remove spaces after type casting (Suraj)
- remove INTEL_DISPLAY_STATE_WARN (Suraj)

v3->v4
- stick to solely changing VBT data into current structures (Jani)
- move iterator declaration to declaration block (Suraj)

v2->v3
- remove unnecessary braces from if block (Suraj)
- return -EINVAL instead of -1 (Suraj)

Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c     | 91 +++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_bios.h     |  7 ++
 .../drm/i915/display/intel_ddi_buf_trans.c    | 37 +++++++-
 3 files changed, 133 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 1a09f7933e491..be7554c483ad2 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -3880,6 +3880,97 @@ bool intel_bios_encoder_supports_tbt(const struct intel_bios_encoder_data *devda
 	return devdata->display->vbt.version >= 209 && devdata->child.tbt;
 }
 
+static bool
+validate_vspeo(const struct intel_bios_encoder_data *devdata, bool has_dp)
+{
+	struct intel_ddi_buf_trans *vspeo;
+
+	vspeo = devdata->vspeo;
+	if (!vspeo)
+		return false;
+
+	if (!has_dp)
+		return false;
+
+	return true;
+}
+
+const struct intel_ddi_buf_trans *
+intel_bios_get_c20_vspeo(const struct intel_bios_encoder_data *devdata,
+			 bool has_dp, bool is_uhbr)
+{
+	struct intel_display *display = devdata->display;
+	union intel_ddi_buf_trans_entry *entries = devdata->entries;
+	struct intel_ddi_buf_trans *vspeo = devdata->vspeo;
+	const u32 *tables = display->vbt.vspeo.tables;
+	int num_columns = display->vbt.vspeo.num_columns;
+	int num_rows = display->vbt.vspeo.num_rows;
+	int idx = is_uhbr ? 5 : 4;
+	size_t offset = 0;
+	int level;
+
+	if (!validate_vspeo(devdata, has_dp))
+		return NULL;
+
+	offset += idx * num_rows * num_columns;
+
+	for (level = 0; level < num_rows; level++) {
+		u32 vswing = tables[offset];
+		u32 pre_cursor = tables[offset + 1];
+		u32 post_cursor = tables[offset + 2];
+
+		entries[level].snps.vswing = vswing;
+		entries[level].snps.pre_cursor = pre_cursor;
+		entries[level].snps.post_cursor = post_cursor;
+
+		offset += num_columns;
+	}
+
+	vspeo->entries = entries;
+
+	return vspeo;
+}
+
+const struct intel_ddi_buf_trans *
+intel_bios_get_c10_vspeo(const struct intel_bios_encoder_data *devdata,
+			 bool has_dp, int port_clock, bool has_edp)
+{
+	struct intel_display *display = devdata->display;
+	union intel_ddi_buf_trans_entry *entries = devdata->entries;
+	struct intel_ddi_buf_trans *vspeo = devdata->vspeo;
+	const u32 *tables = display->vbt.vspeo.tables;
+	int num_columns = display->vbt.vspeo.num_columns;
+	int num_rows = display->vbt.vspeo.num_rows;
+	size_t offset = 0;
+	int level, idx;
+
+	if (!validate_vspeo(devdata, has_dp))
+		return NULL;
+
+	if (has_edp)
+		idx = port_clock > 540000 ? 3 : 2;
+	else
+		idx = port_clock > 270000 ? 1 : 0;
+
+	offset += idx * num_rows * num_columns;
+
+	for (level = 0; level < num_rows; level++) {
+		u32 vswing = tables[offset];
+		u32 pre_cursor = tables[offset + 1];
+		u32 post_cursor = tables[offset + 2];
+
+		entries[level].snps.vswing = vswing;
+		entries[level].snps.pre_cursor = pre_cursor;
+		entries[level].snps.post_cursor = post_cursor;
+
+		offset += num_columns;
+	}
+
+	vspeo->entries = entries;
+
+	return vspeo;
+}
+
 bool intel_bios_encoder_is_dedicated_external(const struct intel_bios_encoder_data *devdata)
 {
 	return devdata->display->vbt.version >= 264 &&
diff --git a/drivers/gpu/drm/i915/display/intel_bios.h b/drivers/gpu/drm/i915/display/intel_bios.h
index 7a50a272cd27d..49acf8c405e2b 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.h
+++ b/drivers/gpu/drm/i915/display/intel_bios.h
@@ -73,6 +73,13 @@ bool intel_bios_get_dsc_params(struct intel_encoder *encoder,
 const struct intel_bios_encoder_data *
 intel_bios_encoder_data_lookup(struct intel_display *display, enum port port);
 
+const struct intel_ddi_buf_trans *
+intel_bios_get_c20_vspeo(const struct intel_bios_encoder_data *devdata,
+			 bool has_dp, bool is_uhbr);
+const struct intel_ddi_buf_trans *
+intel_bios_get_c10_vspeo(const struct intel_bios_encoder_data *devdata,
+			 bool has_dp, int port_clock, bool has_edp);
+
 bool intel_bios_encoder_requests_vspeo(const struct intel_bios_encoder_data *devdata);
 bool intel_bios_encoder_supports_dvi(const struct intel_bios_encoder_data *devdata);
 bool intel_bios_encoder_supports_hdmi(const struct intel_bios_encoder_data *devdata);
diff --git a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
index f31283a0331b7..92c0d0f933ab4 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
@@ -1784,6 +1784,36 @@ xe3plpd_get_lt_buf_trans(struct intel_encoder *encoder,
 		return intel_get_buf_trans(&xe3plpd_lt_trans_dp14, n_entries);
 }
 
+static const struct intel_ddi_buf_trans *
+mtl_get_c10_buf_trans_override(struct intel_encoder *encoder,
+			       const struct intel_crtc_state *crtc_state,
+			       int *n_entries)
+{
+	const struct intel_bios_encoder_data *devdata = encoder->devdata;
+	bool has_edp, has_dp;
+	int port_clock;
+
+	has_edp = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_EDP);
+	has_dp = intel_crtc_has_dp_encoder(crtc_state);
+	port_clock = crtc_state->port_clock;
+
+	return intel_bios_get_c10_vspeo(devdata, has_dp, port_clock, has_edp);
+}
+
+static const struct intel_ddi_buf_trans *
+mtl_get_c20_buf_trans_override(struct intel_encoder *encoder,
+			       const struct intel_crtc_state *crtc_state,
+			       int *n_entries)
+{
+	const struct intel_bios_encoder_data *devdata = encoder->devdata;
+	bool has_dp, is_uhbr;
+
+	has_dp = intel_crtc_has_dp_encoder(crtc_state);
+	is_uhbr = intel_dp_is_uhbr(crtc_state);
+
+	return intel_bios_get_c20_vspeo(devdata, has_dp, is_uhbr);
+}
+
 void intel_ddi_buf_trans_init(struct intel_encoder *encoder)
 {
 	struct intel_display *display = to_intel_display(encoder);
@@ -1791,10 +1821,13 @@ void intel_ddi_buf_trans_init(struct intel_encoder *encoder)
 	if (HAS_LT_PHY(display)) {
 		encoder->get_buf_trans = xe3plpd_get_lt_buf_trans;
 	} else if (DISPLAY_VER(display) >= 14) {
-		if (intel_encoder_is_c10phy(encoder))
+		if (intel_encoder_is_c10phy(encoder)) {
 			encoder->get_buf_trans = mtl_get_c10_buf_trans;
-		else
+			encoder->get_buf_trans_override = mtl_get_c10_buf_trans_override;
+		} else {
 			encoder->get_buf_trans = mtl_get_c20_buf_trans;
+			encoder->get_buf_trans_override = mtl_get_c20_buf_trans_override;
+		}
 	} else if (display->platform.dg2) {
 		encoder->get_buf_trans = dg2_get_snps_buf_trans;
 	} else if (display->platform.alderlake_p) {
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v12 7/8] drm/i915: override Combo's VS/PE when requested
  2026-09-04 12:31 [PATCH v12 0/8] Vswing / Pre-emphasis Override Michał Grzelak
                   ` (5 preceding siblings ...)
  2026-09-04 12:31 ` [PATCH v12 6/8] drm/i915: override Snps's VS/PE when requested Michał Grzelak
@ 2026-09-04 12:31 ` Michał Grzelak
  2026-09-04 12:59   ` sashiko-bot
  2026-09-04 12:31 ` [PATCH v12 8/8] drm/i915/bios: remove VS/PE-O warning Michał Grzelak
                   ` (4 subsequent siblings)
  11 siblings, 1 reply; 18+ messages in thread
From: Michał Grzelak @ 2026-09-04 12:31 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: Jani Nikula, Suraj Kandpal, Michał Grzelak

Add accessor function for Combo to read requested table from VBT #57.
Parse the requested table and transform data into port's buffer.

Actual data is fully stored in the lowest byte although each entry is 4
bytes wide. Thus convert u32 into u8 and store the data.

For EHL, in cases when eDP encoder uses low vswing, choose 3rd table if
encoder supports HBR3. Otherwise use 2nd table for eDP using low vswing.

In cases when eDP encoder does not use low vswing, choose 2nd table if
encoder supports mode higher or including HBR2. Otherwise use 3rd table
for eDP not using low vswing.

For external DP use 2nd table if encoder supports modes higher than or
including HBR2. Use 1st table if external DP encoder supports modes
lower than HBR2.

For JSL, always use 1st table for external DP. For eDPs not using low
vswing use 1st table as well.

In cases when eDP encoder uses low vswing, choose 1st table if encoder
supports HBR3. When encoder supports HBR2 choose 3rd table. When
encoder supports modes lower than HBR2 choose 2nd table.

There are no changes to intel_ddi_dp_level() since selection of correct
row of intel_ddi_buf_trans_entry is same as when no override request has
been done.

Looking from other OSes, in case when encoder does not support DP we
could theoretically use 1st table. However, as of now, use default
tables.

v11->v12
- don't set vspeo->num_entries per PHY/platform
- check for low vswing eDP for EHL (Sashiko)
- reverse order of indices for JSL (Sashiko)

v10->v11
- initialize local variables at declaration block (Jani)
- branch with 'else` instead of initializing twice (Jani)

v9->v10
- call dedicated VS/PE-O vfunc
- drop deconstifying default tables (Suraj, Jani)
- cache `entries` into const field after data is overwritten (Jani)

v8->v9
- deconstify intel_ddi_buf_trans_entry

v6->v7
- handle VS/PE-O's VBT details in intel_bios_* functions (Jani)
- remove vspeo's cast to (void *) (Jani)
- call encoder->get_buf_trans() once (Jani)
- return NULL from intel_bios_get_* when using default (Jani)
- validate VS/PE-O in intel_bios.c (Jani)
- check devdata->vspeo if VS/PE-O was requested
- inline {jsl,ehl}_combo_get_vspeo_buf_trans()
- remove temporarily LT

v4->v5
- blend index computation with table parsing
- remove enums entirely
- add spaces around operators (Suraj)
- remove spaces after type casting (Suraj)
- remove INTEL_DISPLAY_STATE_WARN (Suraj)

Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c     | 93 +++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_bios.h     |  6 ++
 .../drm/i915/display/intel_ddi_buf_trans.c    | 42 ++++++++-
 3 files changed, 138 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index be7554c483ad2..11d2cbb78eabf 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -3971,6 +3971,99 @@ intel_bios_get_c10_vspeo(const struct intel_bios_encoder_data *devdata,
 	return vspeo;
 }
 
+const struct intel_ddi_buf_trans *
+intel_bios_get_ehl_combo_vspeo(const struct intel_bios_encoder_data *devdata,
+			       bool has_dp, int port_clock, bool low_vswing_edp)
+{
+	struct intel_display *display = devdata->display;
+	union intel_ddi_buf_trans_entry *entries = devdata->entries;
+	struct intel_ddi_buf_trans *vspeo = devdata->vspeo;
+	const u32 *tables = display->vbt.vspeo.tables;
+	int num_columns = display->vbt.vspeo.num_columns;
+	int num_rows = display->vbt.vspeo.num_rows;
+	size_t offset = 0;
+	int level, idx;
+
+	if (!validate_vspeo(devdata, has_dp))
+		return NULL;
+
+	if (low_vswing_edp)
+		idx = port_clock > 540000 ? 2 : 1;
+	else
+		idx = port_clock > 270000 ? 1 : 0;
+
+	offset += idx * num_rows * num_columns;
+
+	for (level = 0; level < num_rows; level++) {
+		u32 dw2_swing_sel = tables[offset];
+		u32 dw7_n_scalar = tables[offset + 1];
+		u32 dw4_cursor_coeff = tables[offset + 2];
+		u32 dw4_post_cursor_2 = tables[offset + 3];
+		u32 dw4_post_cursor_1 = tables[offset + 4];
+
+		entries[level].icl.dw2_swing_sel = dw2_swing_sel;
+		entries[level].icl.dw7_n_scalar = dw7_n_scalar;
+		entries[level].icl.dw4_cursor_coeff = dw4_cursor_coeff;
+		entries[level].icl.dw4_post_cursor_2 = dw4_post_cursor_2;
+		entries[level].icl.dw4_post_cursor_1 = dw4_post_cursor_1;
+
+		offset += num_columns;
+	}
+
+	vspeo->entries = entries;
+
+	return vspeo;
+}
+
+const struct intel_ddi_buf_trans *
+intel_bios_get_jsl_combo_vspeo(const struct intel_bios_encoder_data *devdata,
+			       bool has_dp, int port_clock, bool low_vswing_edp)
+{
+	struct intel_display *display = devdata->display;
+	union intel_ddi_buf_trans_entry *entries = devdata->entries;
+	struct intel_ddi_buf_trans *vspeo = devdata->vspeo;
+	const u32 *tables = display->vbt.vspeo.tables;
+	int num_columns = display->vbt.vspeo.num_columns;
+	int num_rows = display->vbt.vspeo.num_rows;
+	size_t offset = 0;
+	int idx = 0;
+	int level;
+
+	if (!validate_vspeo(devdata, has_dp))
+		return NULL;
+
+	if (low_vswing_edp) {
+		if (port_clock > 540000)
+			idx = 0;
+		else if (port_clock > 270000)
+			idx = 2;
+		else
+			idx = 1;
+	}
+
+	offset += idx * num_rows * num_columns;
+
+	for (level = 0; level < num_rows; level++) {
+		u32 dw2_swing_sel = tables[offset];
+		u32 dw7_n_scalar = tables[offset + 1];
+		u32 dw4_cursor_coeff = tables[offset + 2];
+		u32 dw4_post_cursor_2 = tables[offset + 3];
+		u32 dw4_post_cursor_1 = tables[offset + 4];
+
+		entries[level].icl.dw2_swing_sel = dw2_swing_sel;
+		entries[level].icl.dw7_n_scalar = dw7_n_scalar;
+		entries[level].icl.dw4_cursor_coeff = dw4_cursor_coeff;
+		entries[level].icl.dw4_post_cursor_2 = dw4_post_cursor_2;
+		entries[level].icl.dw4_post_cursor_1 = dw4_post_cursor_1;
+
+		offset += num_columns;
+	}
+
+	vspeo->entries = entries;
+
+	return vspeo;
+}
+
 bool intel_bios_encoder_is_dedicated_external(const struct intel_bios_encoder_data *devdata)
 {
 	return devdata->display->vbt.version >= 264 &&
diff --git a/drivers/gpu/drm/i915/display/intel_bios.h b/drivers/gpu/drm/i915/display/intel_bios.h
index 49acf8c405e2b..196b8b3f434f5 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.h
+++ b/drivers/gpu/drm/i915/display/intel_bios.h
@@ -79,6 +79,12 @@ intel_bios_get_c20_vspeo(const struct intel_bios_encoder_data *devdata,
 const struct intel_ddi_buf_trans *
 intel_bios_get_c10_vspeo(const struct intel_bios_encoder_data *devdata,
 			 bool has_dp, int port_clock, bool has_edp);
+const struct intel_ddi_buf_trans *
+intel_bios_get_ehl_combo_vspeo(const struct intel_bios_encoder_data *devdata,
+			       bool has_dp, int port_clock, bool low_vswing_edp);
+const struct intel_ddi_buf_trans *
+intel_bios_get_jsl_combo_vspeo(const struct intel_bios_encoder_data *devdata,
+			       bool has_dp, int port_clock, bool low_vswing_edp);
 
 bool intel_bios_encoder_requests_vspeo(const struct intel_bios_encoder_data *devdata);
 bool intel_bios_encoder_supports_dvi(const struct intel_bios_encoder_data *devdata);
diff --git a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
index 92c0d0f933ab4..5ad8ad2d0b8e5 100644
--- a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
+++ b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
@@ -1784,6 +1784,40 @@ xe3plpd_get_lt_buf_trans(struct intel_encoder *encoder,
 		return intel_get_buf_trans(&xe3plpd_lt_trans_dp14, n_entries);
 }
 
+static const struct intel_ddi_buf_trans *
+jsl_get_combo_buf_trans_override(struct intel_encoder *encoder,
+				 const struct intel_crtc_state *crtc_state,
+				 int *n_entries)
+{
+	const struct intel_bios_encoder_data *devdata = encoder->devdata;
+	bool has_edp, has_dp;
+	int port_clock;
+
+	has_edp = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_EDP);
+	has_dp = intel_crtc_has_dp_encoder(crtc_state);
+	port_clock = crtc_state->port_clock;
+
+	return intel_bios_get_jsl_combo_vspeo(devdata, has_dp, port_clock,
+					      has_edp && use_edp_low_vswing(encoder));
+}
+
+static const struct intel_ddi_buf_trans *
+ehl_get_combo_buf_trans_override(struct intel_encoder *encoder,
+				 const struct intel_crtc_state *crtc_state,
+				 int *n_entries)
+{
+	const struct intel_bios_encoder_data *devdata = encoder->devdata;
+	bool has_edp, has_dp;
+	int port_clock;
+
+	has_edp = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_EDP);
+	has_dp = intel_crtc_has_dp_encoder(crtc_state);
+	port_clock = crtc_state->port_clock;
+
+	return intel_bios_get_ehl_combo_vspeo(devdata, has_dp, port_clock,
+					      has_edp && use_edp_low_vswing(encoder));
+}
+
 static const struct intel_ddi_buf_trans *
 mtl_get_c10_buf_trans_override(struct intel_encoder *encoder,
 			       const struct intel_crtc_state *crtc_state,
@@ -1847,11 +1881,13 @@ void intel_ddi_buf_trans_init(struct intel_encoder *encoder)
 		else
 			encoder->get_buf_trans = tgl_get_dkl_buf_trans;
 	} else if (DISPLAY_VER(display) == 11) {
-		if (display->platform.jasperlake)
+		if (display->platform.jasperlake) {
 			encoder->get_buf_trans = jsl_get_combo_buf_trans;
-		else if (display->platform.elkhartlake)
+			encoder->get_buf_trans_override = jsl_get_combo_buf_trans_override;
+		} else if (display->platform.elkhartlake) {
 			encoder->get_buf_trans = ehl_get_combo_buf_trans;
-		else if (intel_encoder_is_combo(encoder))
+			encoder->get_buf_trans_override = ehl_get_combo_buf_trans_override;
+		} else if (intel_encoder_is_combo(encoder))
 			encoder->get_buf_trans = icl_get_combo_buf_trans;
 		else
 			encoder->get_buf_trans = icl_get_mg_buf_trans;
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v12 8/8] drm/i915/bios: remove VS/PE-O warning
  2026-09-04 12:31 [PATCH v12 0/8] Vswing / Pre-emphasis Override Michał Grzelak
                   ` (6 preceding siblings ...)
  2026-09-04 12:31 ` [PATCH v12 7/8] drm/i915: override Combo's " Michał Grzelak
@ 2026-09-04 12:31 ` Michał Grzelak
  2026-09-04 13:04 ` ✗ CI.checkpatch: warning for Vswing / Pre-emphasis Override (rev7) Patchwork
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Michał Grzelak @ 2026-09-04 12:31 UTC (permalink / raw)
  To: intel-xe, intel-gfx; +Cc: Jani Nikula, Suraj Kandpal, Michał Grzelak

There is not much use of warning when port asks to override default
VS/PE since it is already logged. Remove drm_WARN() and child_device
from print_ddi_port() since drm_WARN() was the only user of it.

Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/display/intel_bios.c | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 11d2cbb78eabf..7b6a6f8c3cf19 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -2791,7 +2791,6 @@ static bool is_port_valid(struct intel_display *display, enum port port)
 static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
 {
 	struct intel_display *display = devdata->display;
-	const struct child_device_config *child = &devdata->child;
 	bool is_dvi, is_hdmi, is_dp, is_edp, is_dsi, is_crt, supports_typec_usb, supports_tbt;
 	int dp_boost_level, dp_max_link_rate, hdmi_boost_level, hdmi_level_shift, max_tmds_clock;
 	enum port port;
@@ -2864,14 +2863,6 @@ static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
 		drm_dbg_kms(display->drm,
 			    "Port %c VBT DP max link rate: %d\n",
 			    port_name(port), dp_max_link_rate);
-
-	/*
-	 * FIXME need to implement support for VBT
-	 * vswing/preemph tables should this ever trigger.
-	 */
-	drm_WARN(display->drm, child->use_vbt_vswing,
-		 "Port %c asks to use VBT vswing/preemph tables\n",
-		 port_name(port));
 }
 
 static void parse_ddi_port(struct intel_bios_encoder_data *devdata)
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH v12 2/8] drm/i915/bios: store VBT #57's metadata in intel_vbt_data
  2026-09-04 12:31 ` [PATCH v12 2/8] drm/i915/bios: store VBT #57's metadata in intel_vbt_data Michał Grzelak
@ 2026-09-04 12:43   ` sashiko-bot
  0 siblings, 0 replies; 18+ messages in thread
From: sashiko-bot @ 2026-09-04 12:43 UTC (permalink / raw)
  To: Michał Grzelak; +Cc: intel-xe, intel-gfx

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] Missing bounds validation for VBT block 57 dimensions leading to out-of-bounds read
- [High] Unaligned pointer assignment drops __packed attribute, causing undefined behavior
- [Medium] Hardware assumption violation by proxying C20 PHY presence with DISPLAY_VER >= 14
--

commit ab5a1ab3ad655d1164dc5ca45a58ad0f45df01fb
Author: Michał Grzelak <michal.grzelak@intel.com>

drm/i915/bios: store VBT #57's metadata in intel_vbt_data
    
Store tables, number of tables, number of rows and number of columns in
intel_vbt_data when search for the VBT #57 has succeeded. Structurize
all VS/PE-O relevant metadata inside anonymous struct named as vspeo.

> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index ece4df4a9d62a..06a8dd7581bb8 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
[ ... ]
> +static int vswing_preemph_num_rows(struct intel_display *display)
> +{
> +	return DISPLAY_VER(display) >= 14 ? 16 : 10;

[Severity: Medium]
Does this heuristic correctly identify C20 PHY presence across all variants?

The commit message states that the presence of C20 or newer PHY causes each
table to contain 16 rows, and proxies this check with DISPLAY_VER >= 14.
However, platform families can encompass multiple variants (for instance,
Meteor Lake can have both C10 and C20 PHYs).

If a hardware variant covered by DISPLAY_VER >= 14 does not contain a C20 PHY,
could the VBT provide a 10-row table instead, causing the 16-row assumption
to misinterpret the data?

> +}
> +
>  static void
>  parse_vswing_preemph_override(struct intel_display *display)
>  {
[ ... ]
> @@ -2218,6 +2223,11 @@ parse_vswing_preemph_override(struct intel_display *display)
>  	/* pre-ICL GOPs don't have VBT #57 */
>  	if (!block)
>  		return;
> +
> +	display->vbt.vspeo.tables = block->tables;

[Severity: High]
Does this assignment drop the __packed attribute and cause unaligned pointer
dereferences?

Since struct bdb_vswing_preemph is marked __packed, its tables flexible array
can be at an unaligned offset. Assigning block->tables to const u32 *tables
(which assumes a standard 4-byte alignment) drops the packed attribute.
Could this lead to alignment faults or undefined behavior when elements of
vspeo.tables are accessed?

[Severity: High]
Is it possible for a malformed VBT to cause an out-of-bounds read here?

The fields num_tables and num_columns are accepted directly from the untrusted
VBT block and stored without validating that the actual block size (via
get_blocksize(block)) is large enough to contain the calculated number of
elements in the flexible tables array.

Could this lead to reading past the end of the heap allocation when the driver
later indexes into vspeo.tables?

> +	display->vbt.vspeo.num_tables = block->num_tables;
> +	display->vbt.vspeo.num_columns = block->num_columns;
> +	display->vbt.vspeo.num_rows = vswing_preemph_num_rows(display);
>  }
>  
>  static u8 translate_iboost(struct intel_display *display, u8 val)
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> index 7e988b7b1fe7a..c80b4a2f74f9e 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
[ ... ]
> @@ -244,6 +244,13 @@ struct intel_vbt_data {
>  	struct list_head display_devices;
>  	struct list_head bdb_blocks;
>  
> +	struct {
> +		const u32 *tables;
> +		int num_tables;
> +		int num_columns;
> +		int num_rows;
> +	} vspeo;

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260904123148.2165596-1-michal.grzelak@intel.com?part=2

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v12 4/8] drm/i915/bios: de/allocate VS/PE-O buffers for each port
  2026-09-04 12:31 ` [PATCH v12 4/8] drm/i915/bios: de/allocate VS/PE-O buffers for each port Michał Grzelak
@ 2026-09-04 12:46   ` sashiko-bot
  0 siblings, 0 replies; 18+ messages in thread
From: sashiko-bot @ 2026-09-04 12:46 UTC (permalink / raw)
  To: Michał Grzelak; +Cc: intel-gfx, intel-xe

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Missing validation for `num_rows` allows allocation of a zero-length override buffer, leading to ZERO_SIZE_PTR bypass and potential out-of-bounds array access.
--

commit 8e0ea30f286f43a0a8c7581e1d9abc3a9fc3887e
Author: Michał Grzelak <michal.grzelak@intel.com>

drm/i915/bios: de/allocate VS/PE-O buffers for each port

Every devdata needs VS/PE-O dedicated buffers since each port can
request an override. Add intel_ddi_buf_trans{,_entry} pointers into
intel_bios_encoder_data and allocate/free them for the port if requested.

> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index 9610b794bc147..1a09f7933e491 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
[ ... ]
> @@ -2648,6 +2651,30 @@ static void sanitize_device_type(struct intel_bios_encoder_data *devdata,
>  	devdata->child.device_type |= DEVICE_TYPE_NOT_HDMI_OUTPUT;
>  }
>  
> +static void allocate_vswing_preemph_override(struct intel_bios_encoder_data *devdata)
> +{
> +	int num_rows = devdata->display->vbt.vspeo.num_rows;
> +	union intel_ddi_buf_trans_entry *entries;
> +	struct intel_ddi_buf_trans *vspeo;
> +
> +	if (!intel_bios_encoder_requests_vspeo(devdata))
> +		return;
> +
> +	vspeo = kzalloc_obj(*vspeo);
> +	if (!vspeo)
> +		return;
> +
> +	entries = kzalloc_objs(*entries, num_rows);
> +	if (!entries) {

[Severity: High]
If a system provides a malformed VBT where use_vbt_vswing is true but the
BDB_VSWING_PREEMPH block is missing, could num_rows be 0 here?

When num_rows is 0, kzalloc_objs() returns ZERO_SIZE_PTR. Because
ZERO_SIZE_PTR is not NULL, it bypasses this !entries check.

This results in the creation of a zero-entry table that signals to
downstream code that override data is present. Later, when this table is
fetched by intel_ddi_buf_trans_get() and passed to intel_ddi_level(),
the index is clamped to n_entries - 1 (yielding -1).

Could this lead to an out-of-bounds memory read relative to ZERO_SIZE_PTR
when the caller accesses trans->entries[-1]?

> +		kfree(vspeo);
> +		return;
> +	}
> +
> +	devdata->entries = entries;
> +	devdata->vspeo = vspeo;
> +	devdata->vspeo->num_entries = num_rows;
> +}
> +

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260904123148.2165596-1-michal.grzelak@intel.com?part=4

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v12 3/8] drm/i915/bios: print VS/PE-O port info
  2026-09-04 12:31 ` [PATCH v12 3/8] drm/i915/bios: print VS/PE-O port info Michał Grzelak
@ 2026-09-04 12:50   ` sashiko-bot
  0 siblings, 0 replies; 18+ messages in thread
From: sashiko-bot @ 2026-09-04 12:50 UTC (permalink / raw)
  To: Michał Grzelak; +Cc: intel-gfx, intel-xe

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:

Pre-existing issues:
- [High] Missing validation of VBT block size for flexible array `tables`.
--

commit 5baf963f5f945def9cd11d658adeeb946a342be0
Author: Michał Grzelak <michal.grzelak@intel.com>
Date:   Fri Sep 4 12:31:43 2026 +0000

    drm/i915/bios: print VS/PE-O port info
    
    Issue a debug message when port asks to override default Vswing /
    Preemphasis tables. Add helper intel_bios_encoder_requests_vspeo()
    to check if port requests for overriding default VS/PE tables.

> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index 06a8dd7581bb8..9610b794bc147 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -2801,6 +2801,11 @@ static void print_ddi_port(const struct intel_bios_encoder_data *devdata)
>  			    "Port %c supports dynamic DDI allocation in TCSS\n",
>  			    port_name(port));
>  
> +	if (intel_bios_encoder_requests_vspeo(devdata))
> +		drm_dbg_kms(display->drm,
> +			    "Port %c requests vswing/pre-emphasis override\n",
> +			    port_name(port));
> +

[Severity: High]
This isn't a bug introduced by this patch, but since this patch and the
overall series rely on the VS/PE-O tables, I noticed a pre-existing issue in
parse_vswing_preemph_override() where we assign the tables array without
validating the VBT block size:

drivers/gpu/drm/i915/display/intel_bios.c:parse_vswing_preemph_override() {
    ...
    block = bdb_find_section(display, BDB_VSWING_PREEMPH);
    if (!block)
        return;

    display->vbt.vspeo.tables = block->tables;
    display->vbt.vspeo.num_tables = block->num_tables;
    display->vbt.vspeo.num_columns = block->num_columns;
    ...
}

Does this code need to call get_blocksize(block) and verify that the block
size is large enough to contain the tables flexible array based on
num_tables, num_rows, and num_columns?

Without this check, if a malformed VBT specifies a small block size (e.g.
num_tables is 0), subsequent patches in this series that access hardcoded
table indices (like idx = 5 for C20 DP 2.0 in intel_bios_get_c20_vspeo)
could perform an out-of-bounds read of the VBT allocation buffer.

Could this out-of-bounds read hit an unmapped page and cause a kernel panic
during boot, or silently corrupt the PHY configuration by reading garbage
memory? This latent issue appears to stem from the earlier patch
drm/i915/bios: store VBT #57's metadata in intel_vbt_data in this series.

[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260904123148.2165596-1-michal.grzelak@intel.com?part=3

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v12 6/8] drm/i915: override Snps's VS/PE when requested
  2026-09-04 12:31 ` [PATCH v12 6/8] drm/i915: override Snps's VS/PE when requested Michał Grzelak
@ 2026-09-04 12:53   ` sashiko-bot
  0 siblings, 0 replies; 18+ messages in thread
From: sashiko-bot @ 2026-09-04 12:53 UTC (permalink / raw)
  To: Michał Grzelak; +Cc: intel-xe, intel-gfx

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Missing bounds checks on VBT-provided 'num_tables' and 'num_columns' when calculating array offsets leads to out-of-bounds read vulnerabilities when parsing VS/PE override tables.
- [High] Returning an empty buffer translation table when the VBT block is missing causes callers to access negative array indices (e.g., `entries[-1]`).
--

commit 4a1fde509366b85ca4550f56196259dc3545219c
Author: Michał Grzelak <michal.grzelak@intel.com>

drm/i915: override Snps's VS/PE when requested

This commit adds accessor functions to read the requested Snps VS/PE
table from VBT block 57. It parses the requested table and transforms
the data into the port's buffer for C10 and C20 PHYs.

> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index 1a09f7933e491..be7554c483ad2 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -3880,6 +3880,97 @@ bool intel_bios_encoder_supports_tbt(const struct intel_bios_encoder_data *devda
>  	return devdata->display->vbt.version >= 209 && devdata->child.tbt;
>  }
>  
> +static bool
> +validate_vspeo(const struct intel_bios_encoder_data *devdata, bool has_dp)
> +{
> +	struct intel_ddi_buf_trans *vspeo;
> +
> +	vspeo = devdata->vspeo;
> +	if (!vspeo)
> +		return false;

[Severity: High]
Does this validation need to ensure the VBT block data was actually parsed?

If VBT block 57 is absent, vspeo might be allocated with num_entries
set to 0, which would pass this check. If intel_bios_get_c20_vspeo returns
this empty vspeo, downstream callers like intel_ddi_buf_trans_get will
return n_entries = 0.

When n_entries = 0 reaches intel_ddi_level(), could it result in level
becoming -1:

drivers/gpu/drm/i915/display/intel_ddi.c:intel_ddi_level() {
    ...
    if (drm_WARN_ON_ONCE(display->drm, level >= n_entries))
        level = n_entries - 1;

    return level;
}

This would cause callers to access a negative array index on the entries
pointer, leading to a potential crash.

> +
> +	if (!has_dp)
> +		return false;
> +
> +	return true;
> +}
> +
> +const struct intel_ddi_buf_trans *
> +intel_bios_get_c20_vspeo(const struct intel_bios_encoder_data *devdata,
> +			 bool has_dp, bool is_uhbr)
> +{
> +	struct intel_display *display = devdata->display;
> +	union intel_ddi_buf_trans_entry *entries = devdata->entries;
> +	struct intel_ddi_buf_trans *vspeo = devdata->vspeo;
> +	const u32 *tables = display->vbt.vspeo.tables;
> +	int num_columns = display->vbt.vspeo.num_columns;
> +	int num_rows = display->vbt.vspeo.num_rows;
> +	int idx = is_uhbr ? 5 : 4;
> +	size_t offset = 0;
> +	int level;
> +
> +	if (!validate_vspeo(devdata, has_dp))
> +		return NULL;
> +
> +	offset += idx * num_rows * num_columns;

[Severity: High]
Should there be bounds checking on idx and num_columns here?

Since idx is computed dynamically (up to 5 for C20, and up to 3 for C10)
and multiplied by num_rows and num_columns, the resulting offset
could potentially exceed the size of the VBT block 57 data if num_columns
is unexpectedly large or the block is truncated.

Could this lead to an out-of-bounds read when accessing tables[offset + 2]
below, potentially reading unmapped memory?

> +
> +	for (level = 0; level < num_rows; level++) {
> +		u32 vswing = tables[offset];
> +		u32 pre_cursor = tables[offset + 1];
> +		u32 post_cursor = tables[offset + 2];

[ ... ]

> +const struct intel_ddi_buf_trans *
> +intel_bios_get_c10_vspeo(const struct intel_bios_encoder_data *devdata,
> +			 bool has_dp, int port_clock, bool has_edp)
> +{
> +	struct intel_display *display = devdata->display;
> +	union intel_ddi_buf_trans_entry *entries = devdata->entries;
> +	struct intel_ddi_buf_trans *vspeo = devdata->vspeo;
> +	const u32 *tables = display->vbt.vspeo.tables;
> +	int num_columns = display->vbt.vspeo.num_columns;
> +	int num_rows = display->vbt.vspeo.num_rows;
> +	size_t offset = 0;
> +	int level, idx;
> +
> +	if (!validate_vspeo(devdata, has_dp))
> +		return NULL;
> +
> +	if (has_edp)
> +		idx = port_clock > 540000 ? 3 : 2;
> +	else
> +		idx = port_clock > 270000 ? 1 : 0;
> +
> +	offset += idx * num_rows * num_columns;

[Severity: High]
Similar to the C20 function above, is it possible for this computed
offset to fall outside the bounds of the tables array if num_columns
or the selected idx is too large for the provided VBT data?

> +
> +	for (level = 0; level < num_rows; level++) {
> +		u32 vswing = tables[offset];

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260904123148.2165596-1-michal.grzelak@intel.com?part=6

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v12 7/8] drm/i915: override Combo's VS/PE when requested
  2026-09-04 12:31 ` [PATCH v12 7/8] drm/i915: override Combo's " Michał Grzelak
@ 2026-09-04 12:59   ` sashiko-bot
  0 siblings, 0 replies; 18+ messages in thread
From: sashiko-bot @ 2026-09-04 12:59 UTC (permalink / raw)
  To: Michał Grzelak; +Cc: intel-gfx, intel-xe

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:

New issues:
- [High] Missing array bounds checks when reading Voltage Swing/Pre-emphasis (VS/PE) override tables from the untrusted Video BIOS Table (VBT) firmware.
- [Medium] Incorrect VBT table selection for Elkhart Lake (EHL) eDP without low vswing, conflicting with the commit message specification.

Pre-existing issues:
- [High] Missing validation for empty VBT `BDB_VSWING_PREEMPH` block allows zero-sized override tables to break downstream DP link training with out-of-bounds array access.
--

commit ab4a3b4de7f1dea34bc921ed9cb14b8ea9e4b8f3
Author: Michał Grzelak <michal.grzelak@intel.com>

drm/i915: override Combo's VS/PE when requested

Add accessor function for Combo to read requested table from VBT #57.
Parse the requested table and transform data into port's buffer.

> diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
> index be7554c483ad2..11d2cbb78eabf 100644
> --- a/drivers/gpu/drm/i915/display/intel_bios.c
> +++ b/drivers/gpu/drm/i915/display/intel_bios.c
> @@ -3971,6 +3971,99 @@ intel_bios_get_c10_vspeo(const struct intel_bios_encoder_data *devdata,
> [ ... ]
> +const struct intel_ddi_buf_trans *
> +intel_bios_get_ehl_combo_vspeo(const struct intel_bios_encoder_data *devdata,
> +			       bool has_dp, int port_clock, bool low_vswing_edp)
> +{
> +	struct intel_display *display = devdata->display;
> +	union intel_ddi_buf_trans_entry *entries = devdata->entries;
> +	struct intel_ddi_buf_trans *vspeo = devdata->vspeo;
> +	const u32 *tables = display->vbt.vspeo.tables;
> +	int num_columns = display->vbt.vspeo.num_columns;
> +	int num_rows = display->vbt.vspeo.num_rows;
> +	size_t offset = 0;
> +	int level, idx;
> +
> +	if (!validate_vspeo(devdata, has_dp))
> +		return NULL;

[Severity: High]
This isn't a bug introduced by this patch, but does validate_vspeo() properly
validate the VS/PE override block?

If the VBT sets use_vbt_vswing = 1 but omits the BDB_VSWING_PREEMPH block,
parse_vswing_preemph_override() leaves num_rows = 0. This results in
vspeo->num_entries being 0.

Because validate_vspeo() only checks if the table struct was allocated and
ignores num_rows == 0, it returns true:

static bool
validate_vspeo(const struct intel_bios_encoder_data *devdata, bool has_dp)
{
        struct intel_ddi_buf_trans *vspeo;

        vspeo = devdata->vspeo;
        if (!vspeo)
                return false;
...

Later, downstream callers like icl_mg_phy_set_signal_levels() compute
level = n_entries - 1 (which becomes -1) and perform an out-of-bounds array
access on trans->entries[-1]. Could we add a check for
vspeo->num_entries > 0?

> +
> +	if (low_vswing_edp)
> +		idx = port_clock > 540000 ? 2 : 1;
> +	else
> +		idx = port_clock > 270000 ? 1 : 0;

[Severity: Medium]
Could this table selection logic conflict with the commit message?

The commit message specifies: "Otherwise use 3rd table for eDP not using
low vswing."

When eDP does not use low vswing, low_vswing_edp is false, and this logic
assigns idx = 0 (1st table) for port_clock <= 270000, instead of idx = 2
(3rd table) as specified. This correctly applies the 1st table for
external DP, but incorrectly applies the 1st table for eDP panels without
low vswing.

> +
> +	offset += idx * num_rows * num_columns;
> +
> +	for (level = 0; level < num_rows; level++) {
> +		u32 dw2_swing_sel = tables[offset];
> +		u32 dw7_n_scalar = tables[offset + 1];
> +		u32 dw4_cursor_coeff = tables[offset + 2];
> +		u32 dw4_post_cursor_2 = tables[offset + 3];
> +		u32 dw4_post_cursor_1 = tables[offset + 4];

[Severity: High]
Can this sequence lead to an out-of-bounds read from the VBT firmware data?

This unconditionally accesses up to tables[offset + 4] without checking if
the VBT block's num_columns is at least 5, or if the overall block contains
sufficient bounds.

Because VBT data is untrusted firmware input, if num_columns is less than
5, or if idx relies on a num_tables value smaller than the hardcoded logic
assumes, this can read past the bounds of the dynamically sized
bdb_vswing_preemph block.

> [ ... ]
> +const struct intel_ddi_buf_trans *
> +intel_bios_get_jsl_combo_vspeo(const struct intel_bios_encoder_data *devdata,
> +			       bool has_dp, int port_clock, bool low_vswing_edp)
> +{
> [ ... ]
> +	for (level = 0; level < num_rows; level++) {
> +		u32 dw2_swing_sel = tables[offset];
> +		u32 dw7_n_scalar = tables[offset + 1];
> +		u32 dw4_cursor_coeff = tables[offset + 2];
> +		u32 dw4_post_cursor_2 = tables[offset + 3];
> +		u32 dw4_post_cursor_1 = tables[offset + 4];

[Severity: High]
Does this have the same out-of-bounds read risk for the JSL combo PHY
tables as noted above? We should ensure num_columns >= 5 and the offset is
within valid bounds.

> [ ... ]
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
> index 92c0d0f933ab4..5ad8ad2d0b8e5 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c
> @@ -1784,6 +1784,40 @@ xe3plpd_get_lt_buf_trans(struct intel_encoder *encoder,
> [ ... ]
> +static const struct intel_ddi_buf_trans *
> +ehl_get_combo_buf_trans_override(struct intel_encoder *encoder,
> +				 const struct intel_crtc_state *crtc_state,
> +				 int *n_entries)
> +{
> +	const struct intel_bios_encoder_data *devdata = encoder->devdata;
> +	bool has_edp, has_dp;
> +	int port_clock;
> +
> +	has_edp = intel_crtc_has_type(crtc_state, INTEL_OUTPUT_EDP);
> +	has_dp = intel_crtc_has_dp_encoder(crtc_state);
> +	port_clock = crtc_state->port_clock;
> +
> +	return intel_bios_get_ehl_combo_vspeo(devdata, has_dp, port_clock,
> +					      has_edp && use_edp_low_vswing(encoder));

[Severity: Medium]
Does this discard the has_edp distinction for non-low-vswing eDP?

Passing has_edp && use_edp_low_vswing(encoder) conflates external DP and
eDP without low vswing into a single low_vswing_edp boolean parameter.

This causes intel_bios_get_ehl_combo_vspeo() to treat eDP panels without
low vswing exactly like external DP, leading to the incorrect table
selection pointed out earlier.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260904123148.2165596-1-michal.grzelak@intel.com?part=7

^ permalink raw reply	[flat|nested] 18+ messages in thread

* ✗ CI.checkpatch: warning for Vswing / Pre-emphasis Override (rev7)
  2026-09-04 12:31 [PATCH v12 0/8] Vswing / Pre-emphasis Override Michał Grzelak
                   ` (7 preceding siblings ...)
  2026-09-04 12:31 ` [PATCH v12 8/8] drm/i915/bios: remove VS/PE-O warning Michał Grzelak
@ 2026-09-04 13:04 ` Patchwork
  2026-09-04 13:06 ` ✓ CI.KUnit: success " Patchwork
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2026-09-04 13:04 UTC (permalink / raw)
  To: Michał Grzelak; +Cc: intel-xe

== Series Details ==

Series: Vswing / Pre-emphasis Override (rev7)
URL   : https://patchwork.freedesktop.org/series/167570/
State : warning

== Summary ==

+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
d875049d2b299159a272bd5151994970cdcd1e31
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit f1ea5f0a045f474d3216c16ffa2862d13a7bacad
Author: Michał Grzelak <michal.grzelak@intel.com>
Date:   Fri Sep 4 14:31:48 2026 +0200

    drm/i915/bios: remove VS/PE-O warning
    
    There is not much use of warning when port asks to override default
    VS/PE since it is already logged. Remove drm_WARN() and child_device
    from print_ddi_port() since drm_WARN() was the only user of it.
    
    Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
    Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>
    Acked-by: Jani Nikula <jani.nikula@intel.com>
+ /mt/dim checkpatch 313da1cc22491f07075c7ae36372343aa235d11e drm-intel
22985a1465ba drm/i915/bios: search for VBT #57 by default
9cf4cd442a1c drm/i915/bios: store VBT #57's metadata in intel_vbt_data
69a040127afa drm/i915/bios: print VS/PE-O port info
56d1cd8cdaea drm/i915/bios: de/allocate VS/PE-O buffers for each port
345d06702fa8 drm/i915/buf_trans: add vfunc for VS/PE-O
-:55: WARNING:LONG_LINE: line length of 110 exceeds 100 columns
#55: FILE: drivers/gpu/drm/i915/display/intel_display_types.h:293:
+								    const struct intel_crtc_state *crtc_state,

total: 0 errors, 1 warnings, 0 checks, 22 lines checked
d60e20118e27 drm/i915: override Snps's VS/PE when requested
1256121383d4 drm/i915: override Combo's VS/PE when requested
-:250: CHECK:BRACES: braces {} should be used on all arms of this statement
#250: FILE: drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c:1884:
+		if (display->platform.jasperlake) {
[...]
+			encoder->get_buf_trans_override = jsl_get_combo_buf_trans_override;
[...]
-		else if (intel_encoder_is_combo(encoder))
[...]
+		} else if (intel_encoder_is_combo(encoder))
[...]

total: 0 errors, 0 warnings, 1 checks, 167 lines checked
f1ea5f0a045f drm/i915/bios: remove VS/PE-O warning



^ permalink raw reply	[flat|nested] 18+ messages in thread

* ✓ CI.KUnit: success for Vswing / Pre-emphasis Override (rev7)
  2026-09-04 12:31 [PATCH v12 0/8] Vswing / Pre-emphasis Override Michał Grzelak
                   ` (8 preceding siblings ...)
  2026-09-04 13:04 ` ✗ CI.checkpatch: warning for Vswing / Pre-emphasis Override (rev7) Patchwork
@ 2026-09-04 13:06 ` Patchwork
  2026-09-04 14:06 ` ✓ Xe.CI.BAT: " Patchwork
  2026-09-04 23:39 ` ✗ Xe.CI.FULL: failure " Patchwork
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2026-09-04 13:06 UTC (permalink / raw)
  To: Michał Grzelak; +Cc: intel-xe

== Series Details ==

Series: Vswing / Pre-emphasis Override (rev7)
URL   : https://patchwork.freedesktop.org/series/167570/
State : success

== Summary ==

+ trap cleanup EXIT
+ kunitconfigs=('/kernel/drivers/gpu/tests/.kunitconfig' '/kernel/drivers/gpu/drm/xe/.kunitconfig' '/kernel/drivers/gpu/drm/tests/.kunitconfig' '/kernel/drivers/gpu/drm/ttm/tests/.kunitconfig' '/kernel/drivers/dma-buf/.kunitconfig')
+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/tests/.kunitconfig
[13:04:25] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[13:04:29] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[13:04:50] Starting KUnit Kernel (1/1)...
[13:04:50] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[13:04:50] ============= refcount_interrupt (4 subtests) ==============
[13:04:50] [PASSED] test_single_irq_change
[13:04:50] [PASSED] test_nested_irq_change
[13:04:50] [PASSED] test_multiple_irq_change
[13:04:50] [PASSED] test_irq_save
[13:04:50] =============== [PASSED] refcount_interrupt ================
[13:04:50] ================= gpu_buddy (14 subtests) ==================
[13:04:50] [PASSED] gpu_test_buddy_alloc_limit
[13:04:50] [PASSED] gpu_test_buddy_alloc_optimistic
[13:04:50] [PASSED] gpu_test_buddy_alloc_pessimistic
[13:04:50] [PASSED] gpu_test_buddy_alloc_pathological
[13:04:50] [PASSED] gpu_test_buddy_alloc_contiguous
[13:04:50] [PASSED] gpu_test_buddy_alloc_clear
[13:04:50] [PASSED] gpu_test_buddy_alloc_range
[13:04:50] [PASSED] gpu_test_buddy_alloc_range_bias
[13:04:51] [PASSED] gpu_test_buddy_fragmentation_performance
[13:04:52] [PASSED] gpu_test_buddy_dirty_tracker_performance
[13:04:52] [PASSED] gpu_test_buddy_alloc_exceeds_max_order
[13:04:52] [PASSED] gpu_test_buddy_offset_aligned_allocation
[13:04:52] [PASSED] gpu_test_buddy_subtree_offset_alignment_stress
[13:04:52] [PASSED] gpu_test_buddy_addr_to_block
[13:04:52] ==================== [PASSED] gpu_buddy ====================
[13:04:52] ============================================================
[13:04:52] Testing complete. Ran 18 tests: passed: 18
[13:04:52] Elapsed time: 27.048s total, 4.293s configuring, 20.788s building, 1.890s running

+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/xe/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[13:04:52] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[13:04:54] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[13:05:28] Starting KUnit Kernel (1/1)...
[13:05:28] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[13:05:28] ============= refcount_interrupt (4 subtests) ==============
[13:05:28] [PASSED] test_single_irq_change
[13:05:28] [PASSED] test_nested_irq_change
[13:05:28] [PASSED] test_multiple_irq_change
[13:05:28] [PASSED] test_irq_save
[13:05:28] =============== [PASSED] refcount_interrupt ================
[13:05:28] ================== guc_buf (11 subtests) ===================
[13:05:28] [PASSED] test_smallest
[13:05:28] [PASSED] test_largest
[13:05:28] [PASSED] test_granular
[13:05:28] [PASSED] test_unique
[13:05:28] [PASSED] test_overlap
[13:05:28] [PASSED] test_reusable
[13:05:28] [PASSED] test_too_big
[13:05:28] [PASSED] test_flush
[13:05:28] [PASSED] test_lookup
[13:05:28] [PASSED] test_data
[13:05:28] [PASSED] test_class
[13:05:28] ===================== [PASSED] guc_buf =====================
[13:05:28] =================== guc_dbm (7 subtests) ===================
[13:05:28] [PASSED] test_empty
[13:05:28] [PASSED] test_default
[13:05:28] ======================== test_size  ========================
[13:05:28] [PASSED] 4
[13:05:28] [PASSED] 8
[13:05:28] [PASSED] 32
[13:05:28] [PASSED] 256
[13:05:28] ==================== [PASSED] test_size ====================
[13:05:28] ======================= test_reuse  ========================
[13:05:28] [PASSED] 4
[13:05:28] [PASSED] 8
[13:05:28] [PASSED] 32
[13:05:28] [PASSED] 256
[13:05:28] =================== [PASSED] test_reuse ====================
[13:05:28] =================== test_range_overlap  ====================
[13:05:28] [PASSED] 4
[13:05:28] [PASSED] 8
[13:05:28] [PASSED] 32
[13:05:28] [PASSED] 256
[13:05:28] =============== [PASSED] test_range_overlap ================
[13:05:28] =================== test_range_compact  ====================
[13:05:28] [PASSED] 4
[13:05:28] [PASSED] 8
[13:05:28] [PASSED] 32
[13:05:28] [PASSED] 256
[13:05:28] =============== [PASSED] test_range_compact ================
[13:05:28] ==================== test_range_spare  =====================
[13:05:28] [PASSED] 4
[13:05:28] [PASSED] 8
[13:05:28] [PASSED] 32
[13:05:28] [PASSED] 256
[13:05:28] ================ [PASSED] test_range_spare =================
[13:05:28] ===================== [PASSED] guc_dbm =====================
[13:05:28] =================== guc_idm (6 subtests) ===================
[13:05:28] [PASSED] bad_init
[13:05:28] [PASSED] no_init
[13:05:28] [PASSED] init_fini
[13:05:28] [PASSED] check_used
[13:05:28] [PASSED] check_quota
[13:05:28] [PASSED] check_all
[13:05:28] ===================== [PASSED] guc_idm =====================
[13:05:28] =============== guc_klv_helpers (9 subtests) ===============
[13:05:28] [PASSED] test_count
[13:05:28] [PASSED] test_encode_u32
[13:05:28] [PASSED] test_encode_u64
[13:05:28] [PASSED] test_encode_string
[13:05:28] [PASSED] test_encode_object_raw
[13:05:28] [PASSED] test_encode_object_klv
[13:05:28] [PASSED] test_encode_object_nested
[13:05:28] [PASSED] test_encode_object_basic
[13:05:28] [PASSED] test_print
[13:05:28] ================= [PASSED] guc_klv_helpers =================
[13:05:28] =================== xe_log (4 subtests) ====================
[13:05:28] [PASSED] demo_cper
[13:05:28] [PASSED] demo_dmesg
[13:05:28] ======================= test_dmesg  ========================
[13:05:28] [PASSED] test_fatal
[13:05:28] [PASSED] test_fatal_tile
[13:05:28] [PASSED] test_fatal_gt
[13:05:28] [PASSED] test_fatal_comp
[13:05:28] [PASSED] test_fatal_comp_tile
[13:05:28] [PASSED] test_fatal_comp_gt
[13:05:28] [PASSED] test_fatal_all
[13:05:28] [PASSED] test_recoverable
[13:05:28] [PASSED] test_recoverable_tile
[13:05:28] [PASSED] test_recoverable_gt
[13:05:28] [PASSED] test_recoverable_comp
[13:05:28] [PASSED] test_recoverable_comp_tile
[13:05:28] [PASSED] test_recoverable_comp_gt
[13:05:28] [PASSED] test_recoverable_all
[13:05:28] [PASSED] test_info
[13:05:28] [PASSED] test_info_tile
[13:05:28] [PASSED] test_info_gt
[13:05:28] [PASSED] test_info_err
[13:05:28] [PASSED] test_info_comp
[13:05:28] [PASSED] test_info_comp_tile
[13:05:28] [PASSED] test_info_comp_gt
[13:05:28] [PASSED] test_info_all
[13:05:28] [PASSED] test_hw_fatal
[13:05:28] [PASSED] test_hw_recoverable
[13:05:28] [PASSED] test_hw_corrected
[13:05:28] [PASSED] test_hw_informational
[13:05:28] =================== [PASSED] test_dmesg ====================
[13:05:28] ====================== test_invalid  =======================
[13:05:28] [SKIPPED] no-component no-location no-warn (requires CONFIG_DRM_XE_DEBUG)
[13:05:28] [SKIPPED] reserved location (requires CONFIG_DRM_XE_DEBUG)
[13:05:28] [SKIPPED] unknown location (requires CONFIG_DRM_XE_DEBUG)
[13:05:28] [SKIPPED] nonzero-device-id location (requires CONFIG_DRM_XE_DEBUG)
[13:05:28] [SKIPPED] invalid-tile-id location (requires CONFIG_DRM_XE_DEBUG)
[13:05:28] [SKIPPED] invalid-gt-id location (requires CONFIG_DRM_XE_DEBUG)
[13:05:28] [SKIPPED] unknown component class (requires CONFIG_DRM_XE_DEBUG)
[13:05:28] [SKIPPED] unknown system component (requires CONFIG_DRM_XE_DEBUG)
[13:05:28] [SKIPPED] unknown hardware component (requires CONFIG_DRM_XE_DEBUG)
[13:05:28] [SKIPPED] unknown component and location (requires CONFIG_DRM_XE_DEBUG)
[13:05:28] ================== [SKIPPED] test_invalid ==================
[13:05:28] ===================== [PASSED] xe_log ======================
[13:05:28] ================== no_relay (3 subtests) ===================
[13:05:28] [PASSED] xe_drops_guc2pf_if_not_ready
[13:05:28] [PASSED] xe_drops_guc2vf_if_not_ready
[13:05:28] [PASSED] xe_rejects_send_if_not_ready
[13:05:28] ==================== [PASSED] no_relay =====================
[13:05:28] ================== pf_relay (14 subtests) ==================
[13:05:28] [PASSED] pf_rejects_guc2pf_too_short
[13:05:28] [PASSED] pf_rejects_guc2pf_too_long
[13:05:28] [PASSED] pf_rejects_guc2pf_no_payload
[13:05:28] [PASSED] pf_fails_no_payload
[13:05:28] [PASSED] pf_fails_bad_origin
[13:05:28] [PASSED] pf_fails_bad_type
[13:05:28] [PASSED] pf_txn_reports_error
[13:05:28] [PASSED] pf_txn_sends_pf2guc
[13:05:28] [PASSED] pf_sends_pf2guc
[13:05:28] [SKIPPED] pf_loopback_nop (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:05:28] [SKIPPED] pf_loopback_echo (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:05:28] [SKIPPED] pf_loopback_fail (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:05:28] [SKIPPED] pf_loopback_busy (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:05:28] [SKIPPED] pf_loopback_retry (requires CONFIG_DRM_XE_DEBUG_SRIOV)
[13:05:28] ==================== [PASSED] pf_relay =====================
[13:05:28] ================== vf_relay (3 subtests) ===================
[13:05:28] [PASSED] vf_rejects_guc2vf_too_short
[13:05:28] [PASSED] vf_rejects_guc2vf_too_long
[13:05:28] [PASSED] vf_rejects_guc2vf_no_payload
[13:05:28] ==================== [PASSED] vf_relay =====================
[13:05:28] ================ pf_gt_config (9 subtests) =================
[13:05:28] [PASSED] fair_contexts_1vf
[13:05:28] [PASSED] fair_doorbells_1vf
[13:05:28] [PASSED] fair_ggtt_1vf
[13:05:28] ====================== fair_vram_1vf  ======================
[13:05:28] [PASSED] 3.50 GiB
[13:05:28] [PASSED] 11.5 GiB
[13:05:28] [PASSED] 15.5 GiB
[13:05:28] [PASSED] 31.5 GiB
[13:05:28] [PASSED] 63.5 GiB
[13:05:28] [PASSED] 1.91 GiB
[13:05:28] ================== [PASSED] fair_vram_1vf ==================
[13:05:28] ================ fair_vram_1vf_admin_only  =================
[13:05:28] [PASSED] 3.50 GiB
[13:05:28] [PASSED] 11.5 GiB
[13:05:28] [PASSED] 15.5 GiB
[13:05:28] [PASSED] 31.5 GiB
[13:05:28] [PASSED] 63.5 GiB
[13:05:28] [PASSED] 1.91 GiB
[13:05:28] ============ [PASSED] fair_vram_1vf_admin_only =============
[13:05:28] ====================== fair_contexts  ======================
[13:05:28] [PASSED] 1 VF
[13:05:28] [PASSED] 2 VFs
[13:05:28] [PASSED] 3 VFs
[13:05:28] [PASSED] 4 VFs
[13:05:28] [PASSED] 5 VFs
[13:05:28] [PASSED] 6 VFs
[13:05:28] [PASSED] 7 VFs
[13:05:28] [PASSED] 8 VFs
[13:05:28] [PASSED] 9 VFs
[13:05:28] [PASSED] 10 VFs
[13:05:28] [PASSED] 11 VFs
[13:05:28] [PASSED] 12 VFs
[13:05:28] [PASSED] 13 VFs
[13:05:28] [PASSED] 14 VFs
[13:05:28] [PASSED] 15 VFs
[13:05:28] [PASSED] 16 VFs
[13:05:28] [PASSED] 17 VFs
[13:05:28] [PASSED] 18 VFs
[13:05:28] [PASSED] 19 VFs
[13:05:28] [PASSED] 20 VFs
[13:05:28] [PASSED] 21 VFs
[13:05:28] [PASSED] 22 VFs
[13:05:28] [PASSED] 23 VFs
[13:05:28] [PASSED] 24 VFs
[13:05:28] [PASSED] 25 VFs
[13:05:28] [PASSED] 26 VFs
[13:05:28] [PASSED] 27 VFs
[13:05:28] [PASSED] 28 VFs
[13:05:28] [PASSED] 29 VFs
[13:05:28] [PASSED] 30 VFs
[13:05:28] [PASSED] 31 VFs
[13:05:28] [PASSED] 32 VFs
[13:05:28] [PASSED] 33 VFs
[13:05:28] [PASSED] 34 VFs
[13:05:28] [PASSED] 35 VFs
[13:05:28] [PASSED] 36 VFs
[13:05:28] [PASSED] 37 VFs
[13:05:28] [PASSED] 38 VFs
[13:05:28] [PASSED] 39 VFs
[13:05:28] [PASSED] 40 VFs
[13:05:28] [PASSED] 41 VFs
[13:05:28] [PASSED] 42 VFs
[13:05:28] [PASSED] 43 VFs
[13:05:28] [PASSED] 44 VFs
[13:05:28] [PASSED] 45 VFs
[13:05:28] [PASSED] 46 VFs
[13:05:28] [PASSED] 47 VFs
[13:05:28] [PASSED] 48 VFs
[13:05:28] [PASSED] 49 VFs
[13:05:28] [PASSED] 50 VFs
[13:05:28] [PASSED] 51 VFs
[13:05:28] [PASSED] 52 VFs
[13:05:28] [PASSED] 53 VFs
[13:05:28] [PASSED] 54 VFs
[13:05:28] [PASSED] 55 VFs
[13:05:28] [PASSED] 56 VFs
[13:05:28] [PASSED] 57 VFs
[13:05:28] [PASSED] 58 VFs
[13:05:28] [PASSED] 59 VFs
[13:05:28] [PASSED] 60 VFs
[13:05:28] [PASSED] 61 VFs
[13:05:28] [PASSED] 62 VFs
[13:05:28] [PASSED] 63 VFs
[13:05:28] ================== [PASSED] fair_contexts ==================
[13:05:28] ===================== fair_doorbells  ======================
[13:05:28] [PASSED] 1 VF
[13:05:28] [PASSED] 2 VFs
[13:05:28] [PASSED] 3 VFs
[13:05:28] [PASSED] 4 VFs
[13:05:28] [PASSED] 5 VFs
[13:05:28] [PASSED] 6 VFs
[13:05:28] [PASSED] 7 VFs
[13:05:28] [PASSED] 8 VFs
[13:05:28] [PASSED] 9 VFs
[13:05:28] [PASSED] 10 VFs
[13:05:28] [PASSED] 11 VFs
[13:05:28] [PASSED] 12 VFs
[13:05:28] [PASSED] 13 VFs
[13:05:28] [PASSED] 14 VFs
[13:05:28] [PASSED] 15 VFs
[13:05:28] [PASSED] 16 VFs
[13:05:28] [PASSED] 17 VFs
[13:05:28] [PASSED] 18 VFs
[13:05:28] [PASSED] 19 VFs
[13:05:28] [PASSED] 20 VFs
[13:05:28] [PASSED] 21 VFs
[13:05:28] [PASSED] 22 VFs
[13:05:28] [PASSED] 23 VFs
[13:05:28] [PASSED] 24 VFs
[13:05:28] [PASSED] 25 VFs
[13:05:28] [PASSED] 26 VFs
[13:05:28] [PASSED] 27 VFs
[13:05:28] [PASSED] 28 VFs
[13:05:28] [PASSED] 29 VFs
[13:05:28] [PASSED] 30 VFs
[13:05:28] [PASSED] 31 VFs
[13:05:28] [PASSED] 32 VFs
[13:05:28] [PASSED] 33 VFs
[13:05:28] [PASSED] 34 VFs
[13:05:28] [PASSED] 35 VFs
[13:05:28] [PASSED] 36 VFs
[13:05:28] [PASSED] 37 VFs
[13:05:28] [PASSED] 38 VFs
[13:05:28] [PASSED] 39 VFs
[13:05:28] [PASSED] 40 VFs
[13:05:28] [PASSED] 41 VFs
[13:05:28] [PASSED] 42 VFs
[13:05:28] [PASSED] 43 VFs
[13:05:28] [PASSED] 44 VFs
[13:05:28] [PASSED] 45 VFs
[13:05:28] [PASSED] 46 VFs
[13:05:28] [PASSED] 47 VFs
[13:05:28] [PASSED] 48 VFs
[13:05:28] [PASSED] 49 VFs
[13:05:28] [PASSED] 50 VFs
[13:05:28] [PASSED] 51 VFs
[13:05:28] [PASSED] 52 VFs
[13:05:28] [PASSED] 53 VFs
[13:05:28] [PASSED] 54 VFs
[13:05:28] [PASSED] 55 VFs
[13:05:28] [PASSED] 56 VFs
[13:05:28] [PASSED] 57 VFs
[13:05:28] [PASSED] 58 VFs
[13:05:28] [PASSED] 59 VFs
[13:05:28] [PASSED] 60 VFs
[13:05:28] [PASSED] 61 VFs
[13:05:28] [PASSED] 62 VFs
[13:05:28] [PASSED] 63 VFs
[13:05:28] ================= [PASSED] fair_doorbells ==================
[13:05:28] ======================== fair_ggtt  ========================
[13:05:28] [PASSED] 1 VF
[13:05:28] [PASSED] 2 VFs
[13:05:28] [PASSED] 3 VFs
[13:05:28] [PASSED] 4 VFs
[13:05:28] [PASSED] 5 VFs
[13:05:28] [PASSED] 6 VFs
[13:05:28] [PASSED] 7 VFs
[13:05:28] [PASSED] 8 VFs
[13:05:28] [PASSED] 9 VFs
[13:05:28] [PASSED] 10 VFs
[13:05:28] [PASSED] 11 VFs
[13:05:28] [PASSED] 12 VFs
[13:05:28] [PASSED] 13 VFs
[13:05:28] [PASSED] 14 VFs
[13:05:28] [PASSED] 15 VFs
[13:05:28] [PASSED] 16 VFs
[13:05:28] [PASSED] 17 VFs
[13:05:28] [PASSED] 18 VFs
[13:05:28] [PASSED] 19 VFs
[13:05:28] [PASSED] 20 VFs
[13:05:28] [PASSED] 21 VFs
[13:05:28] [PASSED] 22 VFs
[13:05:28] [PASSED] 23 VFs
[13:05:28] [PASSED] 24 VFs
[13:05:28] [PASSED] 25 VFs
[13:05:28] [PASSED] 26 VFs
[13:05:28] [PASSED] 27 VFs
[13:05:28] [PASSED] 28 VFs
[13:05:28] [PASSED] 29 VFs
[13:05:28] [PASSED] 30 VFs
[13:05:28] [PASSED] 31 VFs
[13:05:28] [PASSED] 32 VFs
[13:05:28] [PASSED] 33 VFs
[13:05:28] [PASSED] 34 VFs
[13:05:28] [PASSED] 35 VFs
[13:05:28] [PASSED] 36 VFs
[13:05:28] [PASSED] 37 VFs
[13:05:28] [PASSED] 38 VFs
[13:05:28] [PASSED] 39 VFs
[13:05:28] [PASSED] 40 VFs
[13:05:28] [PASSED] 41 VFs
[13:05:28] [PASSED] 42 VFs
[13:05:28] [PASSED] 43 VFs
[13:05:28] [PASSED] 44 VFs
[13:05:28] [PASSED] 45 VFs
[13:05:28] [PASSED] 46 VFs
[13:05:28] [PASSED] 47 VFs
[13:05:28] [PASSED] 48 VFs
[13:05:28] [PASSED] 49 VFs
[13:05:28] [PASSED] 50 VFs
[13:05:28] [PASSED] 51 VFs
[13:05:28] [PASSED] 52 VFs
[13:05:28] [PASSED] 53 VFs
[13:05:28] [PASSED] 54 VFs
[13:05:28] [PASSED] 55 VFs
[13:05:28] [PASSED] 56 VFs
[13:05:28] [PASSED] 57 VFs
[13:05:28] [PASSED] 58 VFs
[13:05:28] [PASSED] 59 VFs
[13:05:28] [PASSED] 60 VFs
[13:05:28] [PASSED] 61 VFs
[13:05:28] [PASSED] 62 VFs
[13:05:28] [PASSED] 63 VFs
[13:05:28] ==================== [PASSED] fair_ggtt ====================
[13:05:28] ======================== fair_vram  ========================
[13:05:28] [PASSED] 1 VF
[13:05:28] [PASSED] 2 VFs
[13:05:28] [PASSED] 3 VFs
[13:05:28] [PASSED] 4 VFs
[13:05:28] [PASSED] 5 VFs
[13:05:28] [PASSED] 6 VFs
[13:05:28] [PASSED] 7 VFs
[13:05:28] [PASSED] 8 VFs
[13:05:28] [PASSED] 9 VFs
[13:05:28] [PASSED] 10 VFs
[13:05:28] [PASSED] 11 VFs
[13:05:28] [PASSED] 12 VFs
[13:05:28] [PASSED] 13 VFs
[13:05:28] [PASSED] 14 VFs
[13:05:28] [PASSED] 15 VFs
[13:05:28] [PASSED] 16 VFs
[13:05:28] [PASSED] 17 VFs
[13:05:28] [PASSED] 18 VFs
[13:05:28] [PASSED] 19 VFs
[13:05:28] [PASSED] 20 VFs
[13:05:28] [PASSED] 21 VFs
[13:05:28] [PASSED] 22 VFs
[13:05:28] [PASSED] 23 VFs
[13:05:28] [PASSED] 24 VFs
[13:05:28] [PASSED] 25 VFs
[13:05:28] [PASSED] 26 VFs
[13:05:28] [PASSED] 27 VFs
[13:05:28] [PASSED] 28 VFs
[13:05:28] [PASSED] 29 VFs
[13:05:28] [PASSED] 30 VFs
[13:05:28] [PASSED] 31 VFs
[13:05:28] [PASSED] 32 VFs
[13:05:28] [PASSED] 33 VFs
[13:05:28] [PASSED] 34 VFs
[13:05:28] [PASSED] 35 VFs
[13:05:28] [PASSED] 36 VFs
[13:05:28] [PASSED] 37 VFs
[13:05:28] [PASSED] 38 VFs
[13:05:28] [PASSED] 39 VFs
[13:05:28] [PASSED] 40 VFs
[13:05:28] [PASSED] 41 VFs
[13:05:28] [PASSED] 42 VFs
[13:05:28] [PASSED] 43 VFs
[13:05:28] [PASSED] 44 VFs
[13:05:28] [PASSED] 45 VFs
[13:05:28] [PASSED] 46 VFs
[13:05:28] [PASSED] 47 VFs
[13:05:28] [PASSED] 48 VFs
[13:05:28] [PASSED] 49 VFs
[13:05:28] [PASSED] 50 VFs
[13:05:28] [PASSED] 51 VFs
[13:05:28] [PASSED] 52 VFs
[13:05:28] [PASSED] 53 VFs
[13:05:28] [PASSED] 54 VFs
[13:05:28] [PASSED] 55 VFs
[13:05:28] [PASSED] 56 VFs
[13:05:28] [PASSED] 57 VFs
[13:05:28] [PASSED] 58 VFs
[13:05:28] [PASSED] 59 VFs
[13:05:28] [PASSED] 60 VFs
[13:05:28] [PASSED] 61 VFs
[13:05:28] [PASSED] 62 VFs
[13:05:28] [PASSED] 63 VFs
[13:05:28] ==================== [PASSED] fair_vram ====================
[13:05:28] ================== [PASSED] pf_gt_config ===================
[13:05:28] ===================== lmtt (1 subtest) =====================
[13:05:28] ======================== test_ops  =========================
[13:05:28] [PASSED] 2-level
[13:05:28] [PASSED] multi-level
[13:05:28] ==================== [PASSED] test_ops =====================
[13:05:28] ====================== [PASSED] lmtt =======================
[13:05:28] ================= sriov_packet (1 subtest) =================
[13:05:28] [PASSED] test_descriptor_init
[13:05:28] ================== [PASSED] sriov_packet ===================
[13:05:28] ================= pf_service (11 subtests) =================
[13:05:28] [PASSED] pf_negotiate_any
[13:05:28] [PASSED] pf_negotiate_base_match
[13:05:28] [PASSED] pf_negotiate_base_newer
[13:05:28] [PASSED] pf_negotiate_base_next
[13:05:28] [SKIPPED] pf_negotiate_base_older (no older minor)
[13:05:28] [PASSED] pf_negotiate_base_prev
[13:05:28] [PASSED] pf_negotiate_latest_match
[13:05:28] [PASSED] pf_negotiate_latest_newer
[13:05:28] [PASSED] pf_negotiate_latest_next
[13:05:28] [SKIPPED] pf_negotiate_latest_older (no older minor)
[13:05:28] [SKIPPED] pf_negotiate_latest_prev (no prev major)
[13:05:28] =================== [PASSED] pf_service ====================
[13:05:28] ================= xe_guc_g2g (2 subtests) ==================
[13:05:28] ============== xe_live_guc_g2g_kunit_default  ==============
[13:05:28] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ==========
[13:05:28] ============== xe_live_guc_g2g_kunit_allmem  ===============
[13:05:28] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ==========
[13:05:28] =================== [SKIPPED] xe_guc_g2g ===================
[13:05:28] =================== xe_mocs (2 subtests) ===================
[13:05:28] ================ xe_live_mocs_kernel_kunit  ================
[13:05:28] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[13:05:28] ================ xe_live_mocs_reset_kunit  =================
[13:05:28] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[13:05:28] ==================== [SKIPPED] xe_mocs =====================
[13:05:28] ================= xe_migrate (2 subtests) ==================
[13:05:28] ================= xe_migrate_sanity_kunit  =================
[13:05:28] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[13:05:28] ================== xe_validate_ccs_kunit  ==================
[13:05:28] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[13:05:28] =================== [SKIPPED] xe_migrate ===================
[13:05:28] ================== xe_dma_buf (1 subtest) ==================
[13:05:28] ==================== xe_dma_buf_kunit  =====================
[13:05:28] ================ [SKIPPED] xe_dma_buf_kunit ================
[13:05:28] =================== [SKIPPED] xe_dma_buf ===================
[13:05:28] ================= xe_bo_shrink (1 subtest) =================
[13:05:28] =================== xe_bo_shrink_kunit  ====================
[13:05:28] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[13:05:28] ================== [SKIPPED] xe_bo_shrink ==================
[13:05:28] ==================== xe_bo (2 subtests) ====================
[13:05:28] ================== xe_ccs_migrate_kunit  ===================
[13:05:28] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[13:05:28] ==================== xe_bo_evict_kunit  ====================
[13:05:28] =============== [SKIPPED] xe_bo_evict_kunit ================
[13:05:28] ===================== [SKIPPED] xe_bo ======================
[13:05:28] =================== xe_any (9 subtests) ====================
[13:05:28] [PASSED] test_to_xe
[13:05:28] [PASSED] test_to_dev
[13:05:28] [PASSED] test_to_pdev
[13:05:28] [PASSED] test_to_drm
[13:05:28] [PASSED] test_if_pdev
[13:05:28] [PASSED] test_if_xe
[13:05:28] [PASSED] test_if_tile
[13:05:28] [PASSED] test_if_gt
[13:05:28] [PASSED] test_to_id
[13:05:28] ===================== [PASSED] xe_any ======================
[13:05:28] ==================== args (13 subtests) ====================
[13:05:28] [PASSED] count_args_test
[13:05:28] [PASSED] call_args_example
[13:05:28] [PASSED] call_args_test
[13:05:28] [PASSED] drop_first_arg_example
[13:05:28] [PASSED] drop_first_arg_test
[13:05:28] [PASSED] first_arg_example
[13:05:28] [PASSED] first_arg_test
[13:05:28] [PASSED] last_arg_example
[13:05:28] [PASSED] last_arg_test
[13:05:28] [PASSED] pick_arg_example
[13:05:28] [PASSED] if_args_example
[13:05:28] [PASSED] if_args_test
[13:05:28] [PASSED] sep_comma_example
[13:05:28] ====================== [PASSED] args =======================
[13:05:28] =================== xe_pci (3 subtests) ====================
[13:05:28] ==================== check_graphics_ip  ====================
[13:05:28] [PASSED] 12.00 Xe_LP
[13:05:28] [PASSED] 12.10 Xe_LP+
[13:05:28] [PASSED] 12.55 Xe_HPG
[13:05:28] [PASSED] 12.60 Xe_HPC
[13:05:28] [PASSED] 12.70 Xe_LPG
[13:05:28] [PASSED] 12.71 Xe_LPG
[13:05:28] [PASSED] 12.74 Xe_LPG+
[13:05:28] [PASSED] 20.01 Xe2_HPG
[13:05:28] [PASSED] 20.02 Xe2_HPG
[13:05:28] [PASSED] 20.04 Xe2_LPG
[13:05:28] [PASSED] 30.00 Xe3_LPG
[13:05:28] [PASSED] 30.01 Xe3_LPG
[13:05:28] [PASSED] 30.03 Xe3_LPG
[13:05:28] [PASSED] 30.04 Xe3_LPG
[13:05:28] [PASSED] 30.05 Xe3_LPG
[13:05:28] [PASSED] 35.10 Xe3p_LPG
[13:05:28] [PASSED] 35.11 Xe3p_XPC
[13:05:28] ================ [PASSED] check_graphics_ip ================
[13:05:28] ===================== check_media_ip  ======================
[13:05:28] [PASSED] 12.00 Xe_M
[13:05:28] [PASSED] 12.55 Xe_HPM
[13:05:28] [PASSED] 13.00 Xe_LPM+
[13:05:28] [PASSED] 13.01 Xe2_HPM
[13:05:28] [PASSED] 20.00 Xe2_LPM
[13:05:28] [PASSED] 30.00 Xe3_LPM
[13:05:28] [PASSED] 30.02 Xe3_LPM
[13:05:28] [PASSED] 35.00 Xe3p_LPM
[13:05:28] [PASSED] 35.03 Xe3p_HPM
[13:05:28] ================= [PASSED] check_media_ip ==================
[13:05:28] =================== check_platform_desc  ===================
[13:05:28] [PASSED] 0x9A60 (TIGERLAKE)
[13:05:28] [PASSED] 0x9A68 (TIGERLAKE)
[13:05:28] [PASSED] 0x9A70 (TIGERLAKE)
[13:05:28] [PASSED] 0x9A40 (TIGERLAKE)
[13:05:28] [PASSED] 0x9A49 (TIGERLAKE)
[13:05:28] [PASSED] 0x9A59 (TIGERLAKE)
[13:05:28] [PASSED] 0x9A78 (TIGERLAKE)
[13:05:28] [PASSED] 0x9AC0 (TIGERLAKE)
[13:05:28] [PASSED] 0x9AC9 (TIGERLAKE)
[13:05:28] [PASSED] 0x9AD9 (TIGERLAKE)
[13:05:28] [PASSED] 0x9AF8 (TIGERLAKE)
[13:05:28] [PASSED] 0x4C80 (ROCKETLAKE)
[13:05:28] [PASSED] 0x4C8A (ROCKETLAKE)
[13:05:28] [PASSED] 0x4C8B (ROCKETLAKE)
[13:05:28] [PASSED] 0x4C8C (ROCKETLAKE)
[13:05:28] [PASSED] 0x4C90 (ROCKETLAKE)
[13:05:28] [PASSED] 0x4C9A (ROCKETLAKE)
[13:05:28] [PASSED] 0x4680 (ALDERLAKE_S)
[13:05:28] [PASSED] 0x4682 (ALDERLAKE_S)
[13:05:28] [PASSED] 0x4688 (ALDERLAKE_S)
[13:05:28] [PASSED] 0x468A (ALDERLAKE_S)
[13:05:28] [PASSED] 0x468B (ALDERLAKE_S)
[13:05:28] [PASSED] 0x4690 (ALDERLAKE_S)
[13:05:28] [PASSED] 0x4692 (ALDERLAKE_S)
[13:05:28] [PASSED] 0x4693 (ALDERLAKE_S)
[13:05:28] [PASSED] 0x46A0 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46A1 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46A2 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46A3 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46A6 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46A8 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46AA (ALDERLAKE_P)
[13:05:28] [PASSED] 0x462A (ALDERLAKE_P)
[13:05:28] [PASSED] 0x4626 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x4628 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46B0 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46B1 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46B2 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46B3 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46C0 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46C1 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46C2 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46C3 (ALDERLAKE_P)
[13:05:28] [PASSED] 0x46D0 (ALDERLAKE_N)
[13:05:28] [PASSED] 0x46D1 (ALDERLAKE_N)
[13:05:28] [PASSED] 0x46D2 (ALDERLAKE_N)
[13:05:28] [PASSED] 0x46D3 (ALDERLAKE_N)
[13:05:28] [PASSED] 0x46D4 (ALDERLAKE_N)
[13:05:28] [PASSED] 0xA721 (ALDERLAKE_P)
[13:05:28] [PASSED] 0xA7A1 (ALDERLAKE_P)
[13:05:28] [PASSED] 0xA7A9 (ALDERLAKE_P)
[13:05:28] [PASSED] 0xA7AC (ALDERLAKE_P)
[13:05:28] [PASSED] 0xA7AD (ALDERLAKE_P)
[13:05:28] [PASSED] 0xA720 (ALDERLAKE_P)
[13:05:28] [PASSED] 0xA7A0 (ALDERLAKE_P)
[13:05:28] [PASSED] 0xA7A8 (ALDERLAKE_P)
[13:05:28] [PASSED] 0xA7AA (ALDERLAKE_P)
[13:05:28] [PASSED] 0xA7AB (ALDERLAKE_P)
[13:05:28] [PASSED] 0xA780 (ALDERLAKE_S)
[13:05:28] [PASSED] 0xA781 (ALDERLAKE_S)
[13:05:28] [PASSED] 0xA782 (ALDERLAKE_S)
[13:05:28] [PASSED] 0xA783 (ALDERLAKE_S)
[13:05:28] [PASSED] 0xA788 (ALDERLAKE_S)
[13:05:28] [PASSED] 0xA789 (ALDERLAKE_S)
[13:05:28] [PASSED] 0xA78A (ALDERLAKE_S)
[13:05:28] [PASSED] 0xA78B (ALDERLAKE_S)
[13:05:28] [PASSED] 0x4905 (DG1)
[13:05:28] [PASSED] 0x4906 (DG1)
[13:05:28] [PASSED] 0x4907 (DG1)
[13:05:28] [PASSED] 0x4908 (DG1)
[13:05:28] [PASSED] 0x4909 (DG1)
[13:05:28] [PASSED] 0x56C0 (DG2)
[13:05:28] [PASSED] 0x56C2 (DG2)
[13:05:28] [PASSED] 0x56C1 (DG2)
[13:05:28] [PASSED] 0x7D51 (METEORLAKE)
[13:05:28] [PASSED] 0x7DD1 (METEORLAKE)
[13:05:28] [PASSED] 0x7D41 (METEORLAKE)
[13:05:28] [PASSED] 0x7D67 (METEORLAKE)
[13:05:28] [PASSED] 0xB640 (METEORLAKE)
[13:05:28] [PASSED] 0x56A0 (DG2)
[13:05:28] [PASSED] 0x56A1 (DG2)
[13:05:28] [PASSED] 0x56A2 (DG2)
[13:05:28] [PASSED] 0x56BE (DG2)
[13:05:28] [PASSED] 0x56BF (DG2)
[13:05:28] [PASSED] 0x5690 (DG2)
[13:05:28] [PASSED] 0x5691 (DG2)
[13:05:28] [PASSED] 0x5692 (DG2)
[13:05:28] [PASSED] 0x56A5 (DG2)
[13:05:28] [PASSED] 0x56A6 (DG2)
[13:05:28] [PASSED] 0x56B0 (DG2)
[13:05:28] [PASSED] 0x56B1 (DG2)
[13:05:28] [PASSED] 0x56BA (DG2)
[13:05:28] [PASSED] 0x56BB (DG2)
[13:05:28] [PASSED] 0x56BC (DG2)
[13:05:28] [PASSED] 0x56BD (DG2)
[13:05:28] [PASSED] 0x5693 (DG2)
[13:05:28] [PASSED] 0x5694 (DG2)
[13:05:28] [PASSED] 0x5695 (DG2)
[13:05:28] [PASSED] 0x56A3 (DG2)
[13:05:28] [PASSED] 0x56A4 (DG2)
[13:05:28] [PASSED] 0x56B2 (DG2)
[13:05:28] [PASSED] 0x56B3 (DG2)
[13:05:28] [PASSED] 0x5696 (DG2)
[13:05:28] [PASSED] 0x5697 (DG2)
[13:05:28] [PASSED] 0xB69 (PVC)
[13:05:28] [PASSED] 0xB6E (PVC)
[13:05:28] [PASSED] 0xBD4 (PVC)
[13:05:28] [PASSED] 0xBD5 (PVC)
[13:05:28] [PASSED] 0xBD6 (PVC)
[13:05:28] [PASSED] 0xBD7 (PVC)
[13:05:28] [PASSED] 0xBD8 (PVC)
[13:05:28] [PASSED] 0xBD9 (PVC)
[13:05:28] [PASSED] 0xBDA (PVC)
[13:05:28] [PASSED] 0xBDB (PVC)
[13:05:28] [PASSED] 0xBE0 (PVC)
[13:05:28] [PASSED] 0xBE1 (PVC)
[13:05:28] [PASSED] 0xBE5 (PVC)
[13:05:28] [PASSED] 0x7D40 (METEORLAKE)
[13:05:28] [PASSED] 0x7D45 (METEORLAKE)
[13:05:28] [PASSED] 0x7D55 (METEORLAKE)
[13:05:28] [PASSED] 0x7D60 (METEORLAKE)
[13:05:28] [PASSED] 0x7DD5 (METEORLAKE)
[13:05:28] [PASSED] 0x6420 (LUNARLAKE)
[13:05:28] [PASSED] 0x64A0 (LUNARLAKE)
[13:05:28] [PASSED] 0x64B0 (LUNARLAKE)
[13:05:28] [PASSED] 0xE202 (BATTLEMAGE)
[13:05:28] [PASSED] 0xE209 (BATTLEMAGE)
[13:05:28] [PASSED] 0xE20B (BATTLEMAGE)
[13:05:28] [PASSED] 0xE20C (BATTLEMAGE)
[13:05:28] [PASSED] 0xE20D (BATTLEMAGE)
[13:05:28] [PASSED] 0xE210 (BATTLEMAGE)
[13:05:28] [PASSED] 0xE211 (BATTLEMAGE)
[13:05:28] [PASSED] 0xE212 (BATTLEMAGE)
[13:05:28] [PASSED] 0xE216 (BATTLEMAGE)
[13:05:28] [PASSED] 0xE220 (BATTLEMAGE)
[13:05:28] [PASSED] 0xE221 (BATTLEMAGE)
[13:05:28] [PASSED] 0xE222 (BATTLEMAGE)
[13:05:28] [PASSED] 0xE223 (BATTLEMAGE)
[13:05:28] [PASSED] 0xB080 (PANTHERLAKE)
[13:05:28] [PASSED] 0xB081 (PANTHERLAKE)
[13:05:28] [PASSED] 0xB082 (PANTHERLAKE)
[13:05:28] [PASSED] 0xB083 (PANTHERLAKE)
[13:05:28] [PASSED] 0xB084 (PANTHERLAKE)
[13:05:28] [PASSED] 0xB085 (PANTHERLAKE)
[13:05:28] [PASSED] 0xB086 (PANTHERLAKE)
[13:05:28] [PASSED] 0xB087 (PANTHERLAKE)
[13:05:28] [PASSED] 0xB08F (PANTHERLAKE)
[13:05:28] [PASSED] 0xB090 (PANTHERLAKE)
[13:05:28] [PASSED] 0xB0A0 (PANTHERLAKE)
[13:05:28] [PASSED] 0xB0B0 (PANTHERLAKE)
[13:05:28] [PASSED] 0xFD80 (PANTHERLAKE)
[13:05:28] [PASSED] 0xFD81 (PANTHERLAKE)
[13:05:28] [PASSED] 0xD740 (NOVALAKE_S)
[13:05:28] [PASSED] 0xD741 (NOVALAKE_S)
[13:05:28] [PASSED] 0xD742 (NOVALAKE_S)
[13:05:28] [PASSED] 0xD743 (NOVALAKE_S)
[13:05:28] [PASSED] 0xD745 (NOVALAKE_S)
[13:05:28] [PASSED] 0xD74A (NOVALAKE_S)
[13:05:28] [PASSED] 0xD74B (NOVALAKE_S)
[13:05:28] [PASSED] 0x674C (CRESCENTISLAND)
[13:05:28] [PASSED] 0x674D (CRESCENTISLAND)
[13:05:28] [PASSED] 0x674E (CRESCENTISLAND)
[13:05:28] [PASSED] 0x674F (CRESCENTISLAND)
[13:05:28] [PASSED] 0x6750 (CRESCENTISLAND)
[13:05:28] [PASSED] 0xD750 (NOVALAKE_P)
[13:05:28] [PASSED] 0xD751 (NOVALAKE_P)
[13:05:28] [PASSED] 0xD752 (NOVALAKE_P)
[13:05:28] [PASSED] 0xD753 (NOVALAKE_P)
[13:05:28] [PASSED] 0xD754 (NOVALAKE_P)
[13:05:28] [PASSED] 0xD755 (NOVALAKE_P)
[13:05:28] [PASSED] 0xD756 (NOVALAKE_P)
[13:05:28] [PASSED] 0xD757 (NOVALAKE_P)
[13:05:28] [PASSED] 0xD75F (NOVALAKE_P)
[13:05:28] =============== [PASSED] check_platform_desc ===============
[13:05:28] ===================== [PASSED] xe_pci ======================
[13:05:28] ============= xe_rtp_tables_test (5 subtests) ==============
[13:05:28] ================== xe_rtp_table_gt_test  ===================
[13:05:28] [PASSED] gt_was/14011060649
[13:05:28] [PASSED] gt_was/14011059788
[13:05:28] [PASSED] gt_was/14015795083
[13:05:28] [PASSED] gt_was/16021867713
[13:05:28] [PASSED] gt_was/14019449301
[13:05:28] [PASSED] gt_was/16028005424
[13:05:28] [PASSED] gt_was/14026578760
[13:05:28] [PASSED] gt_was/1409420604
[13:05:28] [PASSED] gt_was/1408615072
[13:05:28] [PASSED] gt_was/22010523718
[13:05:28] [PASSED] gt_was/14011006942
[13:05:28] [PASSED] gt_was/14014830051
[13:05:28] [PASSED] gt_was/18018781329
[13:05:28] [PASSED] gt_was/1509235366
[13:05:28] [PASSED] gt_was/18018781329
[13:05:28] [PASSED] gt_was/16016694945
[13:05:28] [PASSED] gt_was/14018575942
[13:05:28] [PASSED] gt_was/22016670082
[13:05:28] [PASSED] gt_was/22016670082
[13:05:28] [PASSED] gt_was/14017421178
[13:05:28] [PASSED] gt_was/16025250150
[13:05:28] [PASSED] gt_was/14021871409
[13:05:28] [PASSED] gt_was/16021865536
[13:05:28] [PASSED] gt_was/14021486841
[13:05:28] [PASSED] gt_was/14025160223
[13:05:28] [PASSED] gt_was/14026144927, 16029437861, 14026127056
[13:05:28] [PASSED] gt_was/14025635424
[13:05:28] [PASSED] gt_was/16028005424
[13:05:28] ============== [PASSED] xe_rtp_table_gt_test ===============
[13:05:28] ================== xe_rtp_table_gt_test  ===================
[13:05:28] [PASSED] gt_tunings/Tuning: Blend Fill Caching Optimization Disable
[13:05:28] [PASSED] gt_tunings/Tuning: 32B Access Enable
[13:05:28] [PASSED] gt_tunings/Tuning: L3 cache
[13:05:28] [PASSED] gt_tunings/Tuning: L3 cache - media
[13:05:28] [PASSED] gt_tunings/Tuning: Compression Overfetch
[13:05:28] [PASSED] gt_tunings/Tuning: Compression Overfetch - media
[13:05:28] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3
[13:05:28] [PASSED] gt_tunings/Tuning: Enable compressible partial write overfetch in L3 - media
[13:05:28] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only
[13:05:28] [PASSED] gt_tunings/Tuning: L2 Overfetch Compressible Only - media
[13:05:28] [PASSED] gt_tunings/Tuning: Stateless compression control
[13:05:28] [PASSED] gt_tunings/Tuning: Stateless compression control - media
[13:05:28] [PASSED] gt_tunings/Tuning: L3 RW flush all Cache
[13:05:28] [PASSED] gt_tunings/Tuning: L3 RW flush all cache - media
[13:05:28] [PASSED] gt_tunings/Tuning: Set STLB Bank Hash Mode to 4KB
[13:05:28] ============== [PASSED] xe_rtp_table_gt_test ===============
[13:05:28] ================== xe_rtp_table_oob_test  ==================
[13:05:28] [PASSED] oob_was/1607983814
[13:05:28] [PASSED] oob_was/16010904313
[13:05:28] [PASSED] oob_was/18022495364
[13:05:28] [PASSED] oob_was/22012773006
[13:05:28] [PASSED] oob_was/14014475959
[13:05:28] [PASSED] oob_was/22011391025
[13:05:28] [PASSED] oob_was/22012727170
[13:05:28] [PASSED] oob_was/22012727685
[13:05:28] [PASSED] oob_was/22016596838
[13:05:28] [PASSED] oob_was/18020744125
[13:05:28] [PASSED] oob_was/1409600907
[13:05:28] [PASSED] oob_was/22014953428
[13:05:28] [PASSED] oob_was/16017236439
[13:05:28] [PASSED] oob_was/14019821291
[13:05:28] [PASSED] oob_was/14015076503
[13:05:28] [PASSED] oob_was/14018913170
[13:05:28] [PASSED] oob_was/14018094691
[13:05:28] [PASSED] oob_was/18024947630
[13:05:28] [PASSED] oob_was/16022287689
[13:05:28] [PASSED] oob_was/13011645652
[13:05:28] [PASSED] oob_was/14022293748
[13:05:28] [PASSED] oob_was/22019794406
[13:05:28] [PASSED] oob_was/22019338487
[13:05:28] [PASSED] oob_was/16023588340
[13:05:28] [PASSED] oob_was/14019789679
[13:05:28] [PASSED] oob_was/14022866841
[13:05:28] [PASSED] oob_was/16021333562
[13:05:28] [PASSED] oob_was/14016712196
[13:05:28] [PASSED] oob_was/14015568240
[13:05:28] [PASSED] oob_was/18013179988
[13:05:28] [PASSED] oob_was/1508761755
[13:05:28] [PASSED] oob_was/16023105232
[13:05:28] [PASSED] oob_was/16026508708
[13:05:28] [PASSED] oob_was/14020001231
[13:05:28] [PASSED] oob_was/16023683509
[13:05:28] [PASSED] oob_was/14025515070
[13:05:28] [PASSED] oob_was/15015404425_disable
[13:05:28] [PASSED] oob_was/16026007364
[13:05:28] [PASSED] oob_was/14020316580
[13:05:28] [PASSED] oob_was/14025883347
[13:05:28] [PASSED] oob_was/16029380221
[13:05:28] [PASSED] oob_was/22022079272
[13:05:28] [PASSED] oob_was/16029897822
[13:05:28] [PASSED] oob_was/14027054324
[13:05:28] ============== [PASSED] xe_rtp_table_oob_test ==============
[13:05:28] ================ xe_rtp_table_dev_oob_test  ================
[13:05:28] [PASSED] device_oob_was/22010954014
[13:05:28] [PASSED] device_oob_was/15015404425
[13:05:28] [PASSED] device_oob_was/22019338487_display
[13:05:28] [PASSED] device_oob_was/14022085890
[13:05:28] [PASSED] device_oob_was/14026539277
[13:05:28] [PASSED] device_oob_was/14026633728
[13:05:28] [PASSED] device_oob_was/14026746987
[13:05:28] [PASSED] device_oob_was/14026779378
[13:05:28] ============ [PASSED] xe_rtp_table_dev_oob_test ============
[13:05:28] ========== xe_rtp_table_missing_upper_bound_test  ==========
[13:05:28] [PASSED] register_whitelist/WaAllowPMDepthAndInvocationCountAccessFromUMD, 1408556865
[13:05:28] [PASSED] register_whitelist/1508744258, 14012131227, 1808121037
[13:05:28] [PASSED] register_whitelist/1806527549
[13:05:28] [PASSED] register_whitelist/allow_read_ctx_timestamp
[13:05:28] [PASSED] register_whitelist/allow_read_queue_timestamp
[13:05:28] [PASSED] register_whitelist/16014440446
[13:05:28] [PASSED] register_whitelist/16017236439
[13:05:28] [PASSED] register_whitelist/16020183090
[13:05:28] [PASSED] register_whitelist/14024997852
[13:05:28] [PASSED] register_whitelist/14024997852
[13:05:28] ====== [PASSED] xe_rtp_table_missing_upper_bound_test ======
[13:05:28] =============== [PASSED] xe_rtp_tables_test ================
[13:05:28] =================== xe_rtp (3 subtests) ====================
[13:05:28] =================== xe_rtp_rules_tests  ====================
[13:05:28] [PASSED] no
[13:05:28] [PASSED] yes
[13:05:28] [PASSED] no-and-no
[13:05:28] [PASSED] no-and-yes
[13:05:28] [PASSED] yes-and-no
[13:05:28] [PASSED] yes-and-yes
[13:05:28] [PASSED] no-or-no
[13:05:28] [PASSED] no-or-yes
[13:05:28] [PASSED] yes-or-no
[13:05:28] [PASSED] yes-or-yes
[13:05:28] [PASSED] no-yes-or-yes-no
[13:05:28] [PASSED] no-yes-or-yes-yes
[13:05:28] [PASSED] yes-yes-or-no-yes
[13:05:28] [PASSED] yes-yes-or-yes-yes
[13:05:28] [PASSED] no-no-or-yes-or-no
[13:05:28] [PASSED] or
[13:05:28] [PASSED] or-yes
[13:05:28] [PASSED] or-no
[13:05:28] [PASSED] yes-or
[13:05:28] [PASSED] no-or
[13:05:28] [PASSED] no-or-or-yes
[13:05:28] [PASSED] yes-or-or-no
[13:05:28] [PASSED] no-or-or-no
[13:05:28] [PASSED] missing-context-engine-class
[13:05:28] [PASSED] missing-context-engine-class-or-yes
[13:05:28] [PASSED] missing-context-engine-class-or-or-yes
[13:05:28] =============== [PASSED] xe_rtp_rules_tests ================
[13:05:28] =============== xe_rtp_process_to_sr_tests  ================
[13:05:28] [PASSED] coalesce-same-reg
[13:05:28] [PASSED] coalesce-same-reg-literal-and-func
[13:05:28] [PASSED] no-match-no-add
[13:05:28] [PASSED] two-regs-two-entries
[13:05:28] [PASSED] clr-one-set-other
[13:05:28] [PASSED] set-field
[13:05:28] [PASSED] conflict-duplicate
[13:05:28] [PASSED] conflict-not-disjoint
[13:05:28] [PASSED] conflict-not-disjoint-literal-and-func
[13:05:28] [PASSED] conflict-reg-type
[13:05:28] [PASSED] bad-mcr-reg-forced-to-regular
[13:05:28] [PASSED] bad-regular-reg-forced-to-mcr
[13:05:28] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[13:05:28] ================== xe_rtp_process_tests  ===================
[13:05:28] [PASSED] active1
[13:05:28] [PASSED] active2
[13:05:28] [PASSED] active-inactive
[13:05:28] [PASSED] inactive-active
[13:05:28] [PASSED] inactive-active-inactive
[13:05:28] [PASSED] inactive-inactive-inactive
[13:05:28] ============== [PASSED] xe_rtp_process_tests ===============
[13:05:28] ===================== [PASSED] xe_rtp ======================
[13:05:28] ==================== xe_wa (1 subtest) =====================
[13:05:28] ======================== xe_wa_gt  =========================
[13:05:28] [PASSED] TIGERLAKE B0
[13:05:28] [PASSED] DG1 A0
[13:05:28] [PASSED] DG1 B0
[13:05:28] [PASSED] ALDERLAKE_S A0
[13:05:28] [PASSED] ALDERLAKE_S B0
[13:05:28] [PASSED] ALDERLAKE_S C0
[13:05:28] [PASSED] ALDERLAKE_S D0
[13:05:28] [PASSED] ALDERLAKE_P A0
[13:05:28] [PASSED] ALDERLAKE_P B0
[13:05:28] [PASSED] ALDERLAKE_P C0
[13:05:28] [PASSED] ALDERLAKE_S RPLS D0
[13:05:28] [PASSED] ALDERLAKE_P RPLU E0
[13:05:28] [PASSED] DG2 G10 C0
[13:05:28] [PASSED] DG2 G11 B1
[13:05:28] [PASSED] DG2 G12 A1
[13:05:28] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0
[13:05:28] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0
[13:05:28] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0
[13:05:28] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0
[13:05:28] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0
[13:05:28] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1
[13:05:28] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0
[13:05:28] ==================== [PASSED] xe_wa_gt =====================
[13:05:28] ====================== [PASSED] xe_wa ======================
[13:05:28] ============================================================
[13:05:28] Testing complete. Ran 793 tests: passed: 765, skipped: 28
[13:05:28] Elapsed time: 36.614s total, 1.759s configuring, 34.139s building, 0.687s running

+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[13:05:29] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[13:05:30] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[13:05:55] Starting KUnit Kernel (1/1)...
[13:05:55] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[13:05:55] ============= refcount_interrupt (4 subtests) ==============
[13:05:55] [PASSED] test_single_irq_change
[13:05:55] [PASSED] test_nested_irq_change
[13:05:55] [PASSED] test_multiple_irq_change
[13:05:55] [PASSED] test_irq_save
[13:05:55] =============== [PASSED] refcount_interrupt ================
[13:05:55] ============ drm_test_pick_cmdline (2 subtests) ============
[13:05:55] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[13:05:55] =============== drm_test_pick_cmdline_named  ===============
[13:05:55] [PASSED] NTSC
[13:05:55] [PASSED] NTSC-J
[13:05:55] [PASSED] PAL
[13:05:55] [PASSED] PAL-M
[13:05:55] =========== [PASSED] drm_test_pick_cmdline_named ===========
[13:05:55] ============== [PASSED] drm_test_pick_cmdline ==============
[13:05:55] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[13:05:55] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[13:05:55] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[13:05:55] =========== drm_validate_clone_mode (2 subtests) ===========
[13:05:55] ============== drm_test_check_in_clone_mode  ===============
[13:05:55] [PASSED] in_clone_mode
[13:05:55] [PASSED] not_in_clone_mode
[13:05:55] ========== [PASSED] drm_test_check_in_clone_mode ===========
[13:05:55] =============== drm_test_check_valid_clones  ===============
[13:05:55] [PASSED] not_in_clone_mode
[13:05:55] [PASSED] valid_clone
[13:05:55] [PASSED] invalid_clone
[13:05:55] =========== [PASSED] drm_test_check_valid_clones ===========
[13:05:55] ============= [PASSED] drm_validate_clone_mode =============
[13:05:55] ============= drm_validate_modeset (1 subtest) =============
[13:05:55] [PASSED] drm_test_check_connector_changed_modeset
[13:05:55] ============== [PASSED] drm_validate_modeset ===============
[13:05:55] ====== drm_test_bridge_get_current_state (1 subtest) =======
[13:05:55] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[13:05:55] ======== [PASSED] drm_test_bridge_get_current_state ========
[13:05:55] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[13:05:55] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[13:05:55] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[13:05:55] [PASSED] drm_test_drm_bridge_helper_hdmi_output_bus_fmts
[13:05:55] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[13:05:55] ============== drm_bridge_alloc (2 subtests) ===============
[13:05:55] [PASSED] drm_test_drm_bridge_alloc_basic
[13:05:55] [PASSED] drm_test_drm_bridge_alloc_get_put
[13:05:55] ================ [PASSED] drm_bridge_alloc =================
[13:05:55] ============= drm_bridge_bus_fmt (5 subtests) ==============
[13:05:55] [PASSED] drm_test_bridge_rgb_yuv_rgb
[13:05:55] [PASSED] drm_test_bridge_must_convert_to_yuv444
[13:05:55] [PASSED] drm_test_bridge_hdmi_auto_rgb
[13:05:55] [PASSED] drm_test_bridge_auto_first
[13:05:55] [PASSED] drm_test_bridge_rgb_yuv_no_path
[13:05:55] =============== [PASSED] drm_bridge_bus_fmt ================
[13:05:55] ============= drm_cmdline_parser (40 subtests) =============
[13:05:55] [PASSED] drm_test_cmdline_force_d_only
[13:05:55] [PASSED] drm_test_cmdline_force_D_only_dvi
[13:05:55] [PASSED] drm_test_cmdline_force_D_only_hdmi
[13:05:55] [PASSED] drm_test_cmdline_force_D_only_not_digital
[13:05:55] [PASSED] drm_test_cmdline_force_e_only
[13:05:55] [PASSED] drm_test_cmdline_res
[13:05:55] [PASSED] drm_test_cmdline_res_vesa
[13:05:55] [PASSED] drm_test_cmdline_res_vesa_rblank
[13:05:55] [PASSED] drm_test_cmdline_res_rblank
[13:05:55] [PASSED] drm_test_cmdline_res_bpp
[13:05:55] [PASSED] drm_test_cmdline_res_refresh
[13:05:55] [PASSED] drm_test_cmdline_res_bpp_refresh
[13:05:55] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[13:05:55] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[13:05:55] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[13:05:55] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[13:05:55] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[13:05:55] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[13:05:55] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[13:05:55] [PASSED] drm_test_cmdline_res_margins_force_on
[13:05:55] [PASSED] drm_test_cmdline_res_vesa_margins
[13:05:55] [PASSED] drm_test_cmdline_name
[13:05:55] [PASSED] drm_test_cmdline_name_bpp
[13:05:55] [PASSED] drm_test_cmdline_name_option
[13:05:55] [PASSED] drm_test_cmdline_name_bpp_option
[13:05:55] [PASSED] drm_test_cmdline_rotate_0
[13:05:55] [PASSED] drm_test_cmdline_rotate_90
[13:05:55] [PASSED] drm_test_cmdline_rotate_180
[13:05:55] [PASSED] drm_test_cmdline_rotate_270
[13:05:55] [PASSED] drm_test_cmdline_hmirror
[13:05:55] [PASSED] drm_test_cmdline_vmirror
[13:05:55] [PASSED] drm_test_cmdline_margin_options
[13:05:55] [PASSED] drm_test_cmdline_multiple_options
[13:05:55] [PASSED] drm_test_cmdline_bpp_extra_and_option
[13:05:55] [PASSED] drm_test_cmdline_extra_and_option
[13:05:55] [PASSED] drm_test_cmdline_freestanding_options
[13:05:55] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[13:05:55] [PASSED] drm_test_cmdline_panel_orientation
[13:05:55] ================ drm_test_cmdline_invalid  =================
[13:05:55] [PASSED] margin_only
[13:05:55] [PASSED] interlace_only
[13:05:55] [PASSED] res_missing_x
[13:05:55] [PASSED] res_missing_y
[13:05:55] [PASSED] res_bad_y
[13:05:55] [PASSED] res_missing_y_bpp
[13:05:55] [PASSED] res_bad_bpp
[13:05:55] [PASSED] res_bad_refresh
[13:05:55] [PASSED] res_bpp_refresh_force_on_off
[13:05:55] [PASSED] res_invalid_mode
[13:05:55] [PASSED] res_bpp_wrong_place_mode
[13:05:55] [PASSED] name_bpp_refresh
[13:05:55] [PASSED] name_refresh
[13:05:55] [PASSED] name_refresh_wrong_mode
[13:05:55] [PASSED] name_refresh_invalid_mode
[13:05:55] [PASSED] rotate_multiple
[13:05:55] [PASSED] rotate_invalid_val
[13:05:55] [PASSED] rotate_truncated
[13:05:55] [PASSED] invalid_option
[13:05:55] [PASSED] invalid_tv_option
[13:05:55] [PASSED] truncated_tv_option
[13:05:55] ============ [PASSED] drm_test_cmdline_invalid =============
[13:05:55] =============== drm_test_cmdline_tv_options  ===============
[13:05:55] [PASSED] NTSC
[13:05:55] [PASSED] NTSC_443
[13:05:55] [PASSED] NTSC_J
[13:05:55] [PASSED] PAL
[13:05:55] [PASSED] PAL_M
[13:05:55] [PASSED] PAL_N
[13:05:55] [PASSED] SECAM
[13:05:55] [PASSED] MONO_525
[13:05:55] [PASSED] MONO_625
[13:05:55] =========== [PASSED] drm_test_cmdline_tv_options ===========
[13:05:55] =============== [PASSED] drm_cmdline_parser ================
[13:05:55] ========== drmm_connector_hdmi_init (20 subtests) ==========
[13:05:55] [PASSED] drm_test_connector_hdmi_init_valid
[13:05:55] [PASSED] drm_test_connector_hdmi_init_bpc_8
[13:05:55] [PASSED] drm_test_connector_hdmi_init_bpc_10
[13:05:55] [PASSED] drm_test_connector_hdmi_init_bpc_12
[13:05:55] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[13:05:55] [PASSED] drm_test_connector_hdmi_init_bpc_null
[13:05:55] [PASSED] drm_test_connector_hdmi_init_formats_empty
[13:05:55] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[13:05:55] === drm_test_connector_hdmi_init_formats_yuv420_allowed  ===
[13:05:55] [PASSED] supported_formats=0x9 yuv420_allowed=1
[13:05:55] [PASSED] supported_formats=0x9 yuv420_allowed=0
[13:05:55] [PASSED] supported_formats=0x5 yuv420_allowed=1
[13:05:55] [PASSED] supported_formats=0x5 yuv420_allowed=0
[13:05:55] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[13:05:55] [PASSED] drm_test_connector_hdmi_init_null_ddc
[13:05:55] [PASSED] drm_test_connector_hdmi_init_null_product
[13:05:55] [PASSED] drm_test_connector_hdmi_init_null_vendor
[13:05:55] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[13:05:55] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[13:05:55] [PASSED] drm_test_connector_hdmi_init_product_valid
[13:05:55] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[13:05:55] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[13:05:55] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[13:05:55] ========= drm_test_connector_hdmi_init_type_valid  =========
[13:05:55] [PASSED] HDMI-A
[13:05:55] [PASSED] HDMI-B
[13:05:55] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[13:05:55] ======== drm_test_connector_hdmi_init_type_invalid  ========
[13:05:55] [PASSED] Unknown
[13:05:55] [PASSED] VGA
[13:05:55] [PASSED] DVI-I
[13:05:55] [PASSED] DVI-D
[13:05:55] [PASSED] DVI-A
[13:05:55] [PASSED] Composite
[13:05:55] [PASSED] SVIDEO
[13:05:55] [PASSED] LVDS
[13:05:55] [PASSED] Component
[13:05:55] [PASSED] DIN
[13:05:55] [PASSED] DP
[13:05:55] [PASSED] TV
[13:05:55] [PASSED] eDP
[13:05:55] [PASSED] Virtual
[13:05:55] [PASSED] DSI
[13:05:55] [PASSED] DPI
[13:05:55] [PASSED] Writeback
[13:05:55] [PASSED] SPI
[13:05:55] [PASSED] USB
[13:05:55] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[13:05:55] ============ [PASSED] drmm_connector_hdmi_init =============
[13:05:55] ============= drmm_connector_init (3 subtests) =============
[13:05:55] [PASSED] drm_test_drmm_connector_init
[13:05:55] [PASSED] drm_test_drmm_connector_init_null_ddc
[13:05:55] ========= drm_test_drmm_connector_init_type_valid  =========
[13:05:55] [PASSED] Unknown
[13:05:55] [PASSED] VGA
[13:05:55] [PASSED] DVI-I
[13:05:55] [PASSED] DVI-D
[13:05:55] [PASSED] DVI-A
[13:05:55] [PASSED] Composite
[13:05:55] [PASSED] SVIDEO
[13:05:55] [PASSED] LVDS
[13:05:55] [PASSED] Component
[13:05:55] [PASSED] DIN
[13:05:55] [PASSED] DP
[13:05:55] [PASSED] HDMI-A
[13:05:55] [PASSED] HDMI-B
[13:05:55] [PASSED] TV
[13:05:55] [PASSED] eDP
[13:05:55] [PASSED] Virtual
[13:05:55] [PASSED] DSI
[13:05:55] [PASSED] DPI
[13:05:55] [PASSED] Writeback
[13:05:55] [PASSED] SPI
[13:05:55] [PASSED] USB
[13:05:55] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[13:05:55] =============== [PASSED] drmm_connector_init ===============
[13:05:55] ========= drm_connector_dynamic_init (6 subtests) ==========
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_init
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_init_properties
[13:05:55] ===== drm_test_drm_connector_dynamic_init_type_valid  ======
[13:05:55] [PASSED] Unknown
[13:05:55] [PASSED] VGA
[13:05:55] [PASSED] DVI-I
[13:05:55] [PASSED] DVI-D
[13:05:55] [PASSED] DVI-A
[13:05:55] [PASSED] Composite
[13:05:55] [PASSED] SVIDEO
[13:05:55] [PASSED] LVDS
[13:05:55] [PASSED] Component
[13:05:55] [PASSED] DIN
[13:05:55] [PASSED] DP
[13:05:55] [PASSED] HDMI-A
[13:05:55] [PASSED] HDMI-B
[13:05:55] [PASSED] TV
[13:05:55] [PASSED] eDP
[13:05:55] [PASSED] Virtual
[13:05:55] [PASSED] DSI
[13:05:55] [PASSED] DPI
[13:05:55] [PASSED] Writeback
[13:05:55] [PASSED] SPI
[13:05:55] [PASSED] USB
[13:05:55] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[13:05:55] ======== drm_test_drm_connector_dynamic_init_name  =========
[13:05:55] [PASSED] Unknown
[13:05:55] [PASSED] VGA
[13:05:55] [PASSED] DVI-I
[13:05:55] [PASSED] DVI-D
[13:05:55] [PASSED] DVI-A
[13:05:55] [PASSED] Composite
[13:05:55] [PASSED] SVIDEO
[13:05:55] [PASSED] LVDS
[13:05:55] [PASSED] Component
[13:05:55] [PASSED] DIN
[13:05:55] [PASSED] DP
[13:05:55] [PASSED] HDMI-A
[13:05:55] [PASSED] HDMI-B
[13:05:55] [PASSED] TV
[13:05:55] [PASSED] eDP
[13:05:55] [PASSED] Virtual
[13:05:55] [PASSED] DSI
[13:05:55] [PASSED] DPI
[13:05:55] [PASSED] Writeback
[13:05:55] [PASSED] SPI
[13:05:55] [PASSED] USB
[13:05:55] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[13:05:55] =========== [PASSED] drm_connector_dynamic_init ============
[13:05:55] ==== drm_connector_dynamic_register_early (4 subtests) =====
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[13:05:55] ====== [PASSED] drm_connector_dynamic_register_early =======
[13:05:55] ======= drm_connector_dynamic_register (7 subtests) ========
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[13:05:55] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[13:05:55] ========= [PASSED] drm_connector_dynamic_register ==========
[13:05:55] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[13:05:55] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[13:05:55] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[13:05:55] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[13:05:55] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[13:05:55] ========== drm_test_get_tv_mode_from_name_valid  ===========
[13:05:55] [PASSED] NTSC
[13:05:55] [PASSED] NTSC-443
[13:05:55] [PASSED] NTSC-J
[13:05:55] [PASSED] PAL
[13:05:55] [PASSED] PAL-M
[13:05:55] [PASSED] PAL-N
[13:05:55] [PASSED] SECAM
[13:05:55] [PASSED] Mono
[13:05:55] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[13:05:55] [PASSED] drm_test_get_tv_mode_from_name_truncated
[13:05:55] ============ [PASSED] drm_get_tv_mode_from_name ============
[13:05:55] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[13:05:55] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[13:05:55] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[13:05:55] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[13:05:55] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[13:05:55] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[13:05:55] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[13:05:55] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid  =
[13:05:55] [PASSED] VIC 96
[13:05:55] [PASSED] VIC 97
[13:05:55] [PASSED] VIC 101
[13:05:55] [PASSED] VIC 102
[13:05:55] [PASSED] VIC 106
[13:05:55] [PASSED] VIC 107
[13:05:55] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[13:05:55] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[13:05:55] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[13:05:55] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[13:05:55] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[13:05:55] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[13:05:55] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[13:05:55] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[13:05:55] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name  ====
[13:05:55] [PASSED] Automatic
[13:05:55] [PASSED] Full
[13:05:55] [PASSED] Limited 16:235
[13:05:55] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[13:05:55] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[13:05:55] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[13:05:55] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[13:05:55] === drm_test_drm_hdmi_connector_get_output_format_name  ====
[13:05:55] [PASSED] RGB
[13:05:55] [PASSED] YUV 4:2:0
[13:05:55] [PASSED] YUV 4:2:2
[13:05:55] [PASSED] YUV 4:4:4
[13:05:55] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[13:05:55] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[13:05:55] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[13:05:55] ============= drm_damage_helper (21 subtests) ==============
[13:05:55] [PASSED] drm_test_damage_iter_no_damage
[13:05:55] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[13:05:55] [PASSED] drm_test_damage_iter_no_damage_src_moved
[13:05:55] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[13:05:55] [PASSED] drm_test_damage_iter_no_damage_not_visible
[13:05:55] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[13:05:55] [PASSED] drm_test_damage_iter_no_damage_no_fb
[13:05:55] [PASSED] drm_test_damage_iter_simple_damage
[13:05:55] [PASSED] drm_test_damage_iter_single_damage
[13:05:55] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[13:05:55] [PASSED] drm_test_damage_iter_single_damage_outside_src
[13:05:55] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[13:05:55] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[13:05:55] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[13:05:55] [PASSED] drm_test_damage_iter_single_damage_src_moved
[13:05:55] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[13:05:55] [PASSED] drm_test_damage_iter_damage
[13:05:55] [PASSED] drm_test_damage_iter_damage_one_intersect
[13:05:55] [PASSED] drm_test_damage_iter_damage_one_outside
[13:05:55] [PASSED] drm_test_damage_iter_damage_src_moved
[13:05:55] [PASSED] drm_test_damage_iter_damage_not_visible
[13:05:55] ================ [PASSED] drm_damage_helper ================
[13:05:55] ============== drm_dp_mst_helper (3 subtests) ==============
[13:05:55] ============== drm_test_dp_mst_calc_pbn_mode  ==============
[13:05:55] [PASSED] Clock 154000 BPP 30 DSC disabled
[13:05:55] [PASSED] Clock 234000 BPP 30 DSC disabled
[13:05:55] [PASSED] Clock 297000 BPP 24 DSC disabled
[13:05:55] [PASSED] Clock 332880 BPP 24 DSC enabled
[13:05:55] [PASSED] Clock 324540 BPP 24 DSC enabled
[13:05:55] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[13:05:55] ============== drm_test_dp_mst_calc_pbn_div  ===============
[13:05:55] [PASSED] Link rate 2000000 lane count 4
[13:05:55] [PASSED] Link rate 2000000 lane count 2
[13:05:55] [PASSED] Link rate 2000000 lane count 1
[13:05:55] [PASSED] Link rate 1350000 lane count 4
[13:05:55] [PASSED] Link rate 1350000 lane count 2
[13:05:55] [PASSED] Link rate 1350000 lane count 1
[13:05:55] [PASSED] Link rate 1000000 lane count 4
[13:05:55] [PASSED] Link rate 1000000 lane count 2
[13:05:55] [PASSED] Link rate 1000000 lane count 1
[13:05:55] [PASSED] Link rate 810000 lane count 4
[13:05:55] [PASSED] Link rate 810000 lane count 2
[13:05:55] [PASSED] Link rate 810000 lane count 1
[13:05:55] [PASSED] Link rate 540000 lane count 4
[13:05:55] [PASSED] Link rate 540000 lane count 2
[13:05:55] [PASSED] Link rate 540000 lane count 1
[13:05:55] [PASSED] Link rate 270000 lane count 4
[13:05:55] [PASSED] Link rate 270000 lane count 2
[13:05:55] [PASSED] Link rate 270000 lane count 1
[13:05:55] [PASSED] Link rate 162000 lane count 4
[13:05:55] [PASSED] Link rate 162000 lane count 2
[13:05:55] [PASSED] Link rate 162000 lane count 1
[13:05:55] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[13:05:55] ========= drm_test_dp_mst_sideband_msg_req_decode  =========
[13:05:55] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[13:05:55] [PASSED] DP_POWER_UP_PHY with port number
[13:05:55] [PASSED] DP_POWER_DOWN_PHY with port number
[13:05:55] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[13:05:55] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[13:05:55] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[13:05:55] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[13:05:55] [PASSED] DP_QUERY_PAYLOAD with port number
[13:05:55] [PASSED] DP_QUERY_PAYLOAD with VCPI
[13:05:55] [PASSED] DP_REMOTE_DPCD_READ with port number
[13:05:55] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[13:05:55] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[13:05:55] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[13:05:55] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[13:05:55] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[13:05:55] [PASSED] DP_REMOTE_I2C_READ with port number
[13:05:55] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[13:05:55] [PASSED] DP_REMOTE_I2C_READ with transactions array
[13:05:55] [PASSED] DP_REMOTE_I2C_WRITE with port number
[13:05:55] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[13:05:55] [PASSED] DP_REMOTE_I2C_WRITE with data array
[13:05:55] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[13:05:55] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[13:05:55] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[13:05:55] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[13:05:55] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[13:05:55] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[13:05:55] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[13:05:55] ================ [PASSED] drm_dp_mst_helper ================
[13:05:55] ================== drm_exec (7 subtests) ===================
[13:05:55] [PASSED] sanitycheck
[13:05:55] [PASSED] test_lock
[13:05:55] [PASSED] test_lock_unlock
[13:05:55] [PASSED] test_duplicates
[13:05:55] [PASSED] test_prepare
[13:05:55] [PASSED] test_prepare_array
[13:05:55] [PASSED] test_multiple_loops
[13:05:55] ==================== [PASSED] drm_exec =====================
[13:05:55] =========== drm_format_helper_test (17 subtests) ===========
[13:05:55] ============== drm_test_fb_xrgb8888_to_gray8  ==============
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[13:05:55] ============= drm_test_fb_xrgb8888_to_rgb332  ==============
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[13:05:55] ============= drm_test_fb_xrgb8888_to_rgb565  ==============
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[13:05:55] ============ drm_test_fb_xrgb8888_to_xrgb1555  =============
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[13:05:55] ============ drm_test_fb_xrgb8888_to_argb1555  =============
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[13:05:55] ============ drm_test_fb_xrgb8888_to_rgba5551  =============
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[13:05:55] ============= drm_test_fb_xrgb8888_to_rgb888  ==============
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[13:05:55] ============= drm_test_fb_xrgb8888_to_bgr888  ==============
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[13:05:55] ============ drm_test_fb_xrgb8888_to_argb8888  =============
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[13:05:55] =========== drm_test_fb_xrgb8888_to_xrgb2101010  ===========
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[13:05:55] =========== drm_test_fb_xrgb8888_to_argb2101010  ===========
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[13:05:55] ============== drm_test_fb_xrgb8888_to_mono  ===============
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[13:05:55] ==================== drm_test_fb_swab  =====================
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ================ [PASSED] drm_test_fb_swab =================
[13:05:55] ============ drm_test_fb_xrgb8888_to_xbgr8888  =============
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[13:05:55] ============ drm_test_fb_xrgb8888_to_abgr8888  =============
[13:05:55] [PASSED] single_pixel_source_buffer
[13:05:55] [PASSED] single_pixel_clip_rectangle
[13:05:55] [PASSED] well_known_colors
[13:05:55] [PASSED] destination_pitch
[13:05:55] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[13:05:55] ================= drm_test_fb_clip_offset  =================
[13:05:55] [PASSED] pass through
[13:05:55] [PASSED] horizontal offset
[13:05:55] [PASSED] vertical offset
[13:05:55] [PASSED] horizontal and vertical offset
[13:05:55] [PASSED] horizontal offset (custom pitch)
[13:05:55] [PASSED] vertical offset (custom pitch)
[13:05:55] [PASSED] horizontal and vertical offset (custom pitch)
[13:05:55] ============= [PASSED] drm_test_fb_clip_offset =============
[13:05:55] =================== drm_test_fb_memcpy  ====================
[13:05:55] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[13:05:55] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[13:05:55] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[13:05:55] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[13:05:55] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[13:05:55] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[13:05:55] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[13:05:55] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[13:05:55] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[13:05:55] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[13:05:55] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[13:05:55] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[13:05:55] =============== [PASSED] drm_test_fb_memcpy ================
[13:05:55] ============= [PASSED] drm_format_helper_test ==============
[13:05:55] ================= drm_format (18 subtests) =================
[13:05:55] [PASSED] drm_test_format_block_width_invalid
[13:05:55] [PASSED] drm_test_format_block_width_one_plane
[13:05:55] [PASSED] drm_test_format_block_width_two_plane
[13:05:55] [PASSED] drm_test_format_block_width_three_plane
[13:05:55] [PASSED] drm_test_format_block_width_tiled
[13:05:55] [PASSED] drm_test_format_block_height_invalid
[13:05:55] [PASSED] drm_test_format_block_height_one_plane
[13:05:55] [PASSED] drm_test_format_block_height_two_plane
[13:05:55] [PASSED] drm_test_format_block_height_three_plane
[13:05:55] [PASSED] drm_test_format_block_height_tiled
[13:05:55] [PASSED] drm_test_format_min_pitch_invalid
[13:05:55] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[13:05:55] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[13:05:55] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[13:05:55] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[13:05:55] [PASSED] drm_test_format_min_pitch_two_plane
[13:05:55] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[13:05:55] [PASSED] drm_test_format_min_pitch_tiled
[13:05:55] =================== [PASSED] drm_format ====================
[13:05:55] ============== drm_framebuffer (10 subtests) ===============
[13:05:55] ========== drm_test_framebuffer_check_src_coords  ==========
[13:05:55] [PASSED] Success: source fits into fb
[13:05:55] [PASSED] Fail: overflowing fb with x-axis coordinate
[13:05:55] [PASSED] Fail: overflowing fb with y-axis coordinate
[13:05:55] [PASSED] Fail: overflowing fb with source width
[13:05:55] [PASSED] Fail: overflowing fb with source height
[13:05:55] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[13:05:55] [PASSED] drm_test_framebuffer_cleanup
[13:05:55] =============== drm_test_framebuffer_create  ===============
[13:05:55] [PASSED] ABGR8888 normal sizes
[13:05:55] [PASSED] ABGR8888 max sizes
[13:05:55] [PASSED] ABGR8888 pitch greater than min required
[13:05:55] [PASSED] ABGR8888 pitch less than min required
[13:05:55] [PASSED] ABGR8888 Invalid width
[13:05:55] [PASSED] ABGR8888 Invalid buffer handle
[13:05:55] [PASSED] No pixel format
[13:05:55] [PASSED] ABGR8888 Width 0
[13:05:55] [PASSED] ABGR8888 Height 0
[13:05:55] [PASSED] ABGR8888 Out of bound height * pitch combination
[13:05:55] [PASSED] ABGR8888 Large buffer offset
[13:05:55] [PASSED] ABGR8888 Buffer offset for inexistent plane
[13:05:55] [PASSED] ABGR8888 Invalid flag
[13:05:55] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[13:05:55] [PASSED] ABGR8888 Valid buffer modifier
[13:05:55] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[13:05:55] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[13:05:55] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[13:05:55] [PASSED] NV12 Normal sizes
[13:05:55] [PASSED] NV12 Max sizes
[13:05:55] [PASSED] NV12 Invalid pitch
[13:05:55] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[13:05:55] [PASSED] NV12 different  modifier per-plane
[13:05:55] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[13:05:55] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[13:05:55] [PASSED] NV12 Modifier for inexistent plane
[13:05:55] [PASSED] NV12 Handle for inexistent plane
[13:05:55] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[13:05:55] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[13:05:55] [PASSED] YVU420 Normal sizes
[13:05:55] [PASSED] YVU420 Max sizes
[13:05:55] [PASSED] YVU420 Invalid pitch
[13:05:55] [PASSED] YVU420 Different pitches
[13:05:55] [PASSED] YVU420 Different buffer offsets/pitches
[13:05:55] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[13:05:55] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[13:05:55] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[13:05:55] [PASSED] YVU420 Valid modifier
[13:05:55] [PASSED] YVU420 Different modifiers per plane
[13:05:55] [PASSED] YVU420 Modifier for inexistent plane
[13:05:55] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[13:05:55] [PASSED] X0L2 Normal sizes
[13:05:55] [PASSED] X0L2 Max sizes
[13:05:55] [PASSED] X0L2 Invalid pitch
[13:05:55] [PASSED] X0L2 Pitch greater than minimum required
[13:05:55] [PASSED] X0L2 Handle for inexistent plane
[13:05:55] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[13:05:55] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[13:05:55] [PASSED] X0L2 Valid modifier
[13:05:55] [PASSED] X0L2 Modifier for inexistent plane
[13:05:55] =========== [PASSED] drm_test_framebuffer_create ===========
[13:05:55] [PASSED] drm_test_framebuffer_free
[13:05:55] [PASSED] drm_test_framebuffer_init
[13:05:55] [PASSED] drm_test_framebuffer_init_bad_format
[13:05:55] [PASSED] drm_test_framebuffer_init_dev_mismatch
[13:05:55] [PASSED] drm_test_framebuffer_lookup
[13:05:55] [PASSED] drm_test_framebuffer_lookup_inexistent
[13:05:55] [PASSED] drm_test_framebuffer_modifiers_not_supported
[13:05:55] ================= [PASSED] drm_framebuffer =================
[13:05:55] ================ drm_gem_shmem (8 subtests) ================
[13:05:55] [PASSED] drm_gem_shmem_test_obj_create
[13:05:55] [PASSED] drm_gem_shmem_test_obj_create_private
[13:05:55] [PASSED] drm_gem_shmem_test_pin_pages
[13:05:55] [PASSED] drm_gem_shmem_test_vmap
[13:05:55] [PASSED] drm_gem_shmem_test_get_sg_table
[13:05:55] [PASSED] drm_gem_shmem_test_get_pages_sgt
[13:05:55] [PASSED] drm_gem_shmem_test_madvise
[13:05:55] [PASSED] drm_gem_shmem_test_purge
[13:05:55] ================== [PASSED] drm_gem_shmem ==================
[13:05:55] === drm_atomic_helper_connector_hdmi_check (29 subtests) ===
[13:05:55] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[13:05:55] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[13:05:55] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[13:05:55] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[13:05:55] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[13:05:55] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[13:05:55] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420  =======
[13:05:55] [PASSED] Automatic
[13:05:55] [PASSED] Full
[13:05:55] [PASSED] Limited 16:235
[13:05:55] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[13:05:55] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[13:05:55] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[13:05:55] [PASSED] drm_test_check_disable_connector
[13:05:55] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[13:05:55] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[13:05:55] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[13:05:55] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[13:05:55] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[13:05:55] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[13:05:55] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[13:05:55] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[13:05:55] [PASSED] drm_test_check_output_bpc_dvi
[13:05:55] [PASSED] drm_test_check_output_bpc_format_vic_1
[13:05:55] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[13:05:55] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[13:05:55] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[13:05:55] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[13:05:55] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[13:05:55] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[13:05:55] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[13:05:55] ============ drm_test_check_hdmi_color_format  =============
[13:05:55] [PASSED] AUTO -> RGB
[13:05:55] [PASSED] YCBCR422 -> YUV422
[13:05:55] [PASSED] YCBCR420 -> YUV420
[13:05:55] [PASSED] YCBCR444 -> YUV444
[13:05:55] [PASSED] RGB -> RGB
[13:05:55] ======== [PASSED] drm_test_check_hdmi_color_format =========
[13:05:55] ======== drm_test_check_hdmi_color_format_420_only  ========
[13:05:55] [PASSED] RGB should fail
[13:05:55] [PASSED] YUV444 should fail
[13:05:55] [PASSED] YUV422 should fail
[13:05:55] [PASSED] YUV420 should work
[13:05:55] ==== [PASSED] drm_test_check_hdmi_color_format_420_only ====
[13:05:55] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[13:05:55] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[13:05:55] [PASSED] drm_test_check_broadcast_rgb_value
[13:05:55] [PASSED] drm_test_check_bpc_8_value
[13:05:55] [PASSED] drm_test_check_bpc_10_value
[13:05:55] [PASSED] drm_test_check_bpc_12_value
[13:05:55] [PASSED] drm_test_check_format_value
[13:05:55] [PASSED] drm_test_check_tmds_char_value
[13:05:55] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[13:05:55] = drm_atomic_helper_connector_hdmi_mode_valid (7 subtests) =
[13:05:55] [PASSED] drm_test_check_mode_valid
[13:05:55] [PASSED] drm_test_check_mode_valid_reject
[13:05:55] [PASSED] drm_test_check_mode_valid_reject_rate
[13:05:55] [PASSED] drm_test_check_mode_valid_reject_max_clock
[13:05:55] [PASSED] drm_test_check_mode_valid_yuv420_only_max_clock
[13:05:55] [PASSED] drm_test_check_mode_valid_reject_yuv420_only_connector
[13:05:55] [PASSED] drm_test_check_mode_valid_accept_yuv420_also_connector_rgb
[13:05:55] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[13:05:55] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) =
[13:05:55] [PASSED] drm_test_check_infoframes
[13:05:55] [PASSED] drm_test_check_reject_avi_infoframe
[13:05:55] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8
[13:05:55] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10
[13:05:55] [PASSED] drm_test_check_reject_audio_infoframe
[13:05:55] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes ===
[13:05:55] ================= drm_managed (2 subtests) =================
[13:05:55] [PASSED] drm_test_managed_release_action
[13:05:55] [PASSED] drm_test_managed_run_action
[13:05:55] =================== [PASSED] drm_managed ===================
[13:05:55] =================== drm_mm (6 subtests) ====================
[13:05:55] [PASSED] drm_test_mm_init
[13:05:55] [PASSED] drm_test_mm_debug
[13:05:55] [PASSED] drm_test_mm_align32
[13:05:55] [PASSED] drm_test_mm_align64
[13:05:55] [PASSED] drm_test_mm_lowest
[13:05:55] [PASSED] drm_test_mm_highest
[13:05:55] ===================== [PASSED] drm_mm ======================
[13:05:55] ============= drm_modes_analog_tv (5 subtests) =============
[13:05:55] [PASSED] drm_test_modes_analog_tv_mono_576i
[13:05:55] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[13:05:55] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[13:05:55] [PASSED] drm_test_modes_analog_tv_pal_576i
[13:05:55] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[13:05:55] =============== [PASSED] drm_modes_analog_tv ===============
[13:05:55] ============== drm_plane_helper (2 subtests) ===============
[13:05:55] =============== drm_test_check_plane_state  ================
[13:05:55] [PASSED] clipping_simple
[13:05:55] [PASSED] clipping_rotate_reflect
[13:05:55] [PASSED] positioning_simple
[13:05:55] [PASSED] upscaling
[13:05:55] [PASSED] downscaling
[13:05:55] [PASSED] rounding1
[13:05:55] [PASSED] rounding2
[13:05:55] [PASSED] rounding3
[13:05:55] [PASSED] rounding4
[13:05:55] =========== [PASSED] drm_test_check_plane_state ============
[13:05:55] =========== drm_test_check_invalid_plane_state  ============
[13:05:55] [PASSED] positioning_invalid
[13:05:55] [PASSED] upscaling_invalid
[13:05:55] [PASSED] downscaling_invalid
[13:05:55] ======= [PASSED] drm_test_check_invalid_plane_state ========
[13:05:55] ================ [PASSED] drm_plane_helper =================
[13:05:55] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[13:05:55] ====== drm_test_connector_helper_tv_get_modes_check  =======
[13:05:55] [PASSED] None
[13:05:55] [PASSED] PAL
[13:05:55] [PASSED] NTSC
[13:05:55] [PASSED] Both, NTSC Default
[13:05:55] [PASSED] Both, PAL Default
[13:05:55] [PASSED] Both, NTSC Default, with PAL on command-line
[13:05:55] [PASSED] Both, PAL Default, with NTSC on command-line
[13:05:55] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[13:05:55] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[13:05:55] ================== drm_rect (9 subtests) ===================
[13:05:55] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[13:05:55] [PASSED] drm_test_rect_clip_scaled_not_clipped
[13:05:55] [PASSED] drm_test_rect_clip_scaled_clipped
[13:05:55] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[13:05:55] ================= drm_test_rect_intersect  =================
[13:05:55] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[13:05:55] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[13:05:55] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[13:05:55] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[13:05:55] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[13:05:55] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[13:05:55] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[13:05:55] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[13:05:55] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[13:05:55] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[13:05:55] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[13:05:55] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[13:05:55] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[13:05:55] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[13:05:55] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[13:05:55] ============= [PASSED] drm_test_rect_intersect =============
[13:05:55] ================ drm_test_rect_calc_hscale  ================
[13:05:55] [PASSED] normal use
[13:05:55] [PASSED] out of max range
[13:05:55] [PASSED] out of min range
[13:05:55] [PASSED] zero dst
[13:05:55] [PASSED] negative src
[13:05:55] [PASSED] negative dst
[13:05:55] ============ [PASSED] drm_test_rect_calc_hscale ============
[13:05:55] ================ drm_test_rect_calc_vscale  ================
[13:05:55] [PASSED] normal use
[13:05:55] [PASSED] out of max range
[13:05:55] [PASSED] out of min range
[13:05:55] [PASSED] zero dst
[13:05:55] [PASSED] negative src
[13:05:55] [PASSED] negative dst
[13:05:55] ============ [PASSED] drm_test_rect_calc_vscale ============
[13:05:55] ================== drm_test_rect_rotate  ===================
[13:05:55] [PASSED] reflect-x
[13:05:55] [PASSED] reflect-y
[13:05:55] [PASSED] rotate-0
[13:05:55] [PASSED] rotate-90
[13:05:55] [PASSED] rotate-180
[13:05:55] [PASSED] rotate-270
[13:05:55] ============== [PASSED] drm_test_rect_rotate ===============
[13:05:55] ================ drm_test_rect_rotate_inv  =================
[13:05:55] [PASSED] reflect-x
[13:05:55] [PASSED] reflect-y
[13:05:55] [PASSED] rotate-0
[13:05:55] [PASSED] rotate-90
[13:05:55] [PASSED] rotate-180
[13:05:55] [PASSED] rotate-270
[13:05:55] ============ [PASSED] drm_test_rect_rotate_inv =============
[13:05:55] ==================== [PASSED] drm_rect =====================
[13:05:55] ============ drm_sysfb_modeset_test (1 subtest) ============
[13:05:55] ============ drm_test_sysfb_build_fourcc_list  =============
[13:05:55] [PASSED] no native formats
[13:05:55] [PASSED] XRGB8888 as native format
[13:05:55] [PASSED] remove duplicates
[13:05:55] [PASSED] convert alpha formats
[13:05:55] [PASSED] random formats
[13:05:55] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[13:05:55] ============= [PASSED] drm_sysfb_modeset_test ==============
[13:05:55] ================== drm_fixp (2 subtests) ===================
[13:05:55] [PASSED] drm_test_int2fixp
[13:05:55] [PASSED] drm_test_sm2fixp
[13:05:55] ==================== [PASSED] drm_fixp =====================
[13:05:55] ============================================================
[13:05:55] Testing complete. Ran 641 tests: passed: 641
[13:05:55] Elapsed time: 26.756s total, 1.792s configuring, 24.796s building, 0.151s running

+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[13:05:55] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[13:05:57] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[13:06:07] Starting KUnit Kernel (1/1)...
[13:06:07] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[13:06:07] ============= refcount_interrupt (4 subtests) ==============
[13:06:07] [PASSED] test_single_irq_change
[13:06:07] [PASSED] test_nested_irq_change
[13:06:07] [PASSED] test_multiple_irq_change
[13:06:07] [PASSED] test_irq_save
[13:06:07] =============== [PASSED] refcount_interrupt ================
[13:06:07] ================= ttm_device (5 subtests) ==================
[13:06:07] [PASSED] ttm_device_init_basic
[13:06:07] [PASSED] ttm_device_init_multiple
[13:06:07] [PASSED] ttm_device_fini_basic
[13:06:07] [PASSED] ttm_device_init_no_vma_man
[13:06:07] ================== ttm_device_init_pools  ==================
[13:06:07] [PASSED] No DMA allocations, no DMA32 required
[13:06:07] [PASSED] DMA allocations, DMA32 required
[13:06:07] [PASSED] No DMA allocations, DMA32 required
[13:06:07] [PASSED] DMA allocations, no DMA32 required
[13:06:07] ============== [PASSED] ttm_device_init_pools ==============
[13:06:07] =================== [PASSED] ttm_device ====================
[13:06:07] ================== ttm_pool (8 subtests) ===================
[13:06:07] ================== ttm_pool_alloc_basic  ===================
[13:06:07] [PASSED] One page
[13:06:07] [PASSED] More than one page
[13:06:07] [PASSED] Above the allocation limit
[13:06:07] [PASSED] One page, with coherent DMA mappings enabled
[13:06:07] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[13:06:07] ============== [PASSED] ttm_pool_alloc_basic ===============
[13:06:07] ============== ttm_pool_alloc_basic_dma_addr  ==============
[13:06:07] [PASSED] One page
[13:06:07] [PASSED] More than one page
[13:06:07] [PASSED] Above the allocation limit
[13:06:07] [PASSED] One page, with coherent DMA mappings enabled
[13:06:07] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[13:06:07] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[13:06:07] [PASSED] ttm_pool_alloc_order_caching_match
[13:06:07] [PASSED] ttm_pool_alloc_caching_mismatch
[13:06:07] [PASSED] ttm_pool_alloc_order_mismatch
[13:06:07] [PASSED] ttm_pool_free_dma_alloc
[13:06:07] [PASSED] ttm_pool_free_no_dma_alloc
[13:06:07] [PASSED] ttm_pool_fini_basic
[13:06:07] ==================== [PASSED] ttm_pool =====================
[13:06:07] ================ ttm_resource (8 subtests) =================
[13:06:07] ================= ttm_resource_init_basic  =================
[13:06:07] [PASSED] Init resource in TTM_PL_SYSTEM
[13:06:07] [PASSED] Init resource in TTM_PL_VRAM
[13:06:07] [PASSED] Init resource in a private placement
[13:06:07] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[13:06:07] ============= [PASSED] ttm_resource_init_basic =============
[13:06:07] [PASSED] ttm_resource_init_pinned
[13:06:07] [PASSED] ttm_resource_fini_basic
[13:06:07] [PASSED] ttm_resource_manager_init_basic
[13:06:07] [PASSED] ttm_resource_manager_usage_basic
[13:06:07] [PASSED] ttm_resource_manager_set_used_basic
[13:06:07] [PASSED] ttm_sys_man_alloc_basic
[13:06:07] [PASSED] ttm_sys_man_free_basic
[13:06:07] ================== [PASSED] ttm_resource ===================
[13:06:07] =================== ttm_tt (15 subtests) ===================
[13:06:07] ==================== ttm_tt_init_basic  ====================
[13:06:07] [PASSED] Page-aligned size
[13:06:07] [PASSED] Extra pages requested
[13:06:07] ================ [PASSED] ttm_tt_init_basic ================
[13:06:07] [PASSED] ttm_tt_init_misaligned
[13:06:07] [PASSED] ttm_tt_fini_basic
[13:06:07] [PASSED] ttm_tt_fini_sg
[13:06:07] [PASSED] ttm_tt_fini_shmem
[13:06:07] [PASSED] ttm_tt_create_basic
[13:06:07] [PASSED] ttm_tt_create_invalid_bo_type
[13:06:07] [PASSED] ttm_tt_create_ttm_exists
[13:06:07] [PASSED] ttm_tt_create_failed
[13:06:07] [PASSED] ttm_tt_destroy_basic
[13:06:07] [PASSED] ttm_tt_populate_null_ttm
[13:06:07] [PASSED] ttm_tt_populate_populated_ttm
[13:06:07] [PASSED] ttm_tt_unpopulate_basic
[13:06:07] [PASSED] ttm_tt_unpopulate_empty_ttm
[13:06:07] [PASSED] ttm_tt_swapin_basic
[13:06:07] ===================== [PASSED] ttm_tt ======================
[13:06:07] =================== ttm_bo (14 subtests) ===================
[13:06:07] =========== ttm_bo_reserve_optimistic_no_ticket  ===========
[13:06:07] [PASSED] Cannot be interrupted and sleeps
[13:06:07] [PASSED] Cannot be interrupted, locks straight away
[13:06:07] [PASSED] Can be interrupted, sleeps
[13:06:07] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[13:06:07] [PASSED] ttm_bo_reserve_locked_no_sleep
[13:06:07] [PASSED] ttm_bo_reserve_no_wait_ticket
[13:06:07] [PASSED] ttm_bo_reserve_double_resv
[13:06:07] [PASSED] ttm_bo_reserve_interrupted
[13:06:07] [PASSED] ttm_bo_reserve_deadlock
[13:06:07] [PASSED] ttm_bo_unreserve_basic
[13:06:07] [PASSED] ttm_bo_unreserve_pinned
[13:06:07] [PASSED] ttm_bo_unreserve_bulk
[13:06:07] [PASSED] ttm_bo_fini_basic
[13:06:07] [PASSED] ttm_bo_fini_shared_resv
[13:06:07] [PASSED] ttm_bo_pin_basic
[13:06:07] [PASSED] ttm_bo_pin_unpin_resource
[13:06:07] [PASSED] ttm_bo_multiple_pin_one_unpin
[13:06:07] ===================== [PASSED] ttm_bo ======================
[13:06:07] ============== ttm_bo_validate (22 subtests) ===============
[13:06:07] ============== ttm_bo_init_reserved_sys_man  ===============
[13:06:07] [PASSED] Buffer object for userspace
[13:06:07] [PASSED] Kernel buffer object
[13:06:07] [PASSED] Shared buffer object
[13:06:07] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[13:06:07] ============== ttm_bo_init_reserved_mock_man  ==============
[13:06:07] [PASSED] Buffer object for userspace
[13:06:07] [PASSED] Kernel buffer object
[13:06:07] [PASSED] Shared buffer object
[13:06:07] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[13:06:07] [PASSED] ttm_bo_init_reserved_resv
[13:06:07] ================== ttm_bo_validate_basic  ==================
[13:06:07] [PASSED] Buffer object for userspace
[13:06:07] [PASSED] Kernel buffer object
[13:06:07] [PASSED] Shared buffer object
[13:06:07] ============== [PASSED] ttm_bo_validate_basic ==============
[13:06:07] [PASSED] ttm_bo_validate_invalid_placement
[13:06:07] ============= ttm_bo_validate_same_placement  ==============
[13:06:07] [PASSED] System manager
[13:06:07] [PASSED] VRAM manager
[13:06:07] ========= [PASSED] ttm_bo_validate_same_placement ==========
[13:06:07] [PASSED] ttm_bo_validate_failed_alloc
[13:06:07] [PASSED] ttm_bo_validate_pinned
[13:06:07] [PASSED] ttm_bo_validate_busy_placement
[13:06:07] ================ ttm_bo_validate_multihop  =================
[13:06:07] [PASSED] Buffer object for userspace
[13:06:07] [PASSED] Kernel buffer object
[13:06:07] [PASSED] Shared buffer object
[13:06:07] ============ [PASSED] ttm_bo_validate_multihop =============
[13:06:07] ========== ttm_bo_validate_no_placement_signaled  ==========
[13:06:07] [PASSED] Buffer object in system domain, no page vector
[13:06:07] [PASSED] Buffer object in system domain with an existing page vector
[13:06:07] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[13:06:07] ======== ttm_bo_validate_no_placement_not_signaled  ========
[13:06:07] [PASSED] Buffer object for userspace
[13:06:07] [PASSED] Kernel buffer object
[13:06:07] [PASSED] Shared buffer object
[13:06:07] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[13:06:07] [PASSED] ttm_bo_validate_move_fence_signaled
[13:06:07] ========= ttm_bo_validate_move_fence_not_signaled  =========
[13:06:07] [PASSED] Waits for GPU
[13:06:07] [PASSED] Tries to lock straight away
[13:06:07] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[13:06:07] [PASSED] ttm_bo_validate_swapout
[13:06:07] [PASSED] ttm_bo_validate_happy_evict
[13:06:07] [PASSED] ttm_bo_validate_all_pinned_evict
[13:06:07] [PASSED] ttm_bo_validate_allowed_only_evict
[13:06:07] [PASSED] ttm_bo_validate_deleted_evict
[13:06:07] [PASSED] ttm_bo_validate_busy_domain_evict
[13:06:07] [PASSED] ttm_bo_validate_evict_gutting
[13:06:07] [PASSED] ttm_bo_validate_recrusive_evict
[13:06:07] ================= [PASSED] ttm_bo_validate =================
[13:06:07] ============================================================
[13:06:07] Testing complete. Ran 106 tests: passed: 106
[13:06:07] Elapsed time: 12.016s total, 1.811s configuring, 9.941s building, 0.233s running

+ for kcfg in "${kunitconfigs[@]}"
+ [[ ! -f /kernel/drivers/dma-buf/.kunitconfig ]]
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/dma-buf/.kunitconfig
[13:06:08] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[13:06:09] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[13:06:18] Starting KUnit Kernel (1/1)...
[13:06:18] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[13:06:18] ============= refcount_interrupt (4 subtests) ==============
[13:06:18] [PASSED] test_single_irq_change
[13:06:18] [PASSED] test_nested_irq_change
[13:06:18] [PASSED] test_multiple_irq_change
[13:06:18] [PASSED] test_irq_save
[13:06:18] =============== [PASSED] refcount_interrupt ================
[13:06:18] =============== dma-buf-fence (12 subtests) ================
[13:06:18] [PASSED] test_sanitycheck
[13:06:18] [PASSED] test_signaling
[13:06:18] [PASSED] test_add_callback
[13:06:18] [PASSED] test_late_add_callback
[13:06:18] [PASSED] test_rm_callback
[13:06:18] [PASSED] test_late_rm_callback
[13:06:18] [PASSED] test_status
[13:06:18] [PASSED] test_error
[13:06:18] [PASSED] test_wait
[13:06:18] [PASSED] test_wait_timeout
[13:06:18] [PASSED] test_stub
[13:06:18] [SKIPPED] test_race_signal_callback (requires at least 2 CPUs)
[13:06:18] ================== [PASSED] dma-buf-fence ==================
[13:06:18] ============ dma-buf-fence-chain (11 subtests) =============
[13:06:18] [PASSED] test_sanitycheck
[13:06:18] [PASSED] test_find_seqno
[13:06:18] [PASSED] test_find_signaled
[13:06:18] [PASSED] test_find_out_of_order
[13:06:23] [PASSED] test_find_gap
[13:06:23] [PASSED] test_find_race
[13:06:23] [PASSED] test_signal_forward
[13:06:23] [PASSED] test_signal_backward
[13:06:23] [PASSED] test_wait_forward
[13:06:23] [PASSED] test_wait_backward
[13:06:23] [PASSED] test_wait_random
[13:06:23] =============== [PASSED] dma-buf-fence-chain ===============
[13:06:23] ============ dma-buf-fence-unwrap (10 subtests) ============
[13:06:23] [PASSED] test_sanitycheck
[13:06:23] [PASSED] test_unwrap_array
[13:06:23] [PASSED] test_unwrap_chain
[13:06:23] [PASSED] test_unwrap_chain_array
[13:06:23] [PASSED] test_unwrap_merge
[13:06:23] [PASSED] test_unwrap_merge_duplicate
[13:06:23] [PASSED] test_unwrap_merge_seqno
[13:06:23] [PASSED] test_unwrap_merge_order
[13:06:23] [PASSED] test_unwrap_merge_complex
[13:06:23] [PASSED] test_unwrap_merge_complex_seqno
[13:06:23] ============== [PASSED] dma-buf-fence-unwrap ===============
[13:06:23] ================ dma-buf-resv (5 subtests) =================
[13:06:23] [PASSED] test_sanitycheck
[13:06:23] ===================== test_signaling  ======================
[13:06:23] [PASSED] kernel
[13:06:23] [PASSED] write
[13:06:23] [PASSED] read
[13:06:23] [PASSED] bookkeep
[13:06:23] ================= [PASSED] test_signaling ==================
[13:06:23] ====================== test_for_each  ======================
[13:06:23] [PASSED] kernel
[13:06:23] [PASSED] write
[13:06:23] [PASSED] read
[13:06:23] [PASSED] bookkeep
[13:06:23] ================== [PASSED] test_for_each ==================
[13:06:23] ================= test_for_each_unlocked  ==================
[13:06:23] [PASSED] kernel
[13:06:23] [PASSED] write
[13:06:23] [PASSED] read
[13:06:23] [PASSED] bookkeep
[13:06:23] ============= [PASSED] test_for_each_unlocked ==============
[13:06:23] ===================== test_get_fences  =====================
[13:06:23] [PASSED] kernel
[13:06:23] [PASSED] write
[13:06:23] [PASSED] read
[13:06:23] [PASSED] bookkeep
[13:06:23] ================= [PASSED] test_get_fences =================
[13:06:23] ================== [PASSED] dma-buf-resv ===================
[13:06:23] ============================================================
[13:06:23] Testing complete. Ran 54 tests: passed: 53, skipped: 1
[13:06:23] Elapsed time: 15.832s total, 1.756s configuring, 8.705s building, 5.345s running

+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel



^ permalink raw reply	[flat|nested] 18+ messages in thread

* ✓ Xe.CI.BAT: success for Vswing / Pre-emphasis Override (rev7)
  2026-09-04 12:31 [PATCH v12 0/8] Vswing / Pre-emphasis Override Michał Grzelak
                   ` (9 preceding siblings ...)
  2026-09-04 13:06 ` ✓ CI.KUnit: success " Patchwork
@ 2026-09-04 14:06 ` Patchwork
  2026-09-04 23:39 ` ✗ Xe.CI.FULL: failure " Patchwork
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2026-09-04 14:06 UTC (permalink / raw)
  To: Michał Grzelak; +Cc: intel-xe

[-- Attachment #1: Type: text/plain, Size: 4860 bytes --]

== Series Details ==

Series: Vswing / Pre-emphasis Override (rev7)
URL   : https://patchwork.freedesktop.org/series/167570/
State : success

== Summary ==

CI Bug Log - changes from xe-5694-313da1cc22491f07075c7ae36372343aa235d11e_BAT -> xe-pw-167570v7_BAT
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Participating hosts (14 -> 14)
------------------------------

  Additional (1): bat-bmg-2 
  Missing    (1): bat-nvls-1 

Known issues
------------

  Here are the changes found in xe-pw-167570v7_BAT that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@fbdev@write:
    - bat-bmg-2:          NOTRUN -> [SKIP][1] ([Intel XE#2134]) +4 other tests skip
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/bat-bmg-2/igt@fbdev@write.html

  * igt@kms_addfb_basic@addfb25-y-tiled-small-legacy:
    - bat-bmg-2:          NOTRUN -> [SKIP][2] ([Intel XE#2233])
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/bat-bmg-2/igt@kms_addfb_basic@addfb25-y-tiled-small-legacy.html

  * igt@kms_cursor_legacy@basic-flip-after-cursor-legacy:
    - bat-bmg-2:          NOTRUN -> [SKIP][3] ([Intel XE#2489] / [Intel XE#3419]) +13 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/bat-bmg-2/igt@kms_cursor_legacy@basic-flip-after-cursor-legacy.html

  * igt@kms_flip@basic-flip-vs-modeset:
    - bat-bmg-2:          NOTRUN -> [SKIP][4] ([Intel XE#2482]) +3 other tests skip
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/bat-bmg-2/igt@kms_flip@basic-flip-vs-modeset.html

  * igt@kms_frontbuffer_tracking@basic:
    - bat-bmg-2:          NOTRUN -> [SKIP][5] ([Intel XE#2434] / [Intel XE#2548] / [Intel XE#6314])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/bat-bmg-2/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_psr@psr-sprite-plane-onoff:
    - bat-bmg-2:          NOTRUN -> [SKIP][6] ([Intel XE#2234] / [Intel XE#2850]) +2 other tests skip
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/bat-bmg-2/igt@kms_psr@psr-sprite-plane-onoff.html

  * igt@xe_exec_multi_queue@priority:
    - bat-bmg-2:          NOTRUN -> [SKIP][7] ([Intel XE#8364]) +13 other tests skip
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/bat-bmg-2/igt@xe_exec_multi_queue@priority.html

  * igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit:
    - bat-bmg-2:          NOTRUN -> [SKIP][8] ([Intel XE#2229])
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/bat-bmg-2/igt@xe_live_ktest@xe_bo@xe_ccs_migrate_kunit.html

  * igt@xe_pat@pat-index-xehpc:
    - bat-bmg-2:          NOTRUN -> [SKIP][9] ([Intel XE#1420] / [Intel XE#7590])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/bat-bmg-2/igt@xe_pat@pat-index-xehpc.html

  * igt@xe_pat@pat-index-xelp:
    - bat-bmg-2:          NOTRUN -> [SKIP][10] ([Intel XE#2245] / [Intel XE#7590])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/bat-bmg-2/igt@xe_pat@pat-index-xelp.html

  * igt@xe_pat@pat-index-xelpg:
    - bat-bmg-2:          NOTRUN -> [SKIP][11] ([Intel XE#2236] / [Intel XE#7590])
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/bat-bmg-2/igt@xe_pat@pat-index-xelpg.html

  
  [Intel XE#1420]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1420
  [Intel XE#2134]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2134
  [Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
  [Intel XE#2233]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2233
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2236]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2236
  [Intel XE#2245]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2245
  [Intel XE#2434]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2434
  [Intel XE#2482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2482
  [Intel XE#2489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2489
  [Intel XE#2548]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2548
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#3419]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3419
  [Intel XE#6314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6314
  [Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364


Build changes
-------------

  * Linux: xe-5694-313da1cc22491f07075c7ae36372343aa235d11e -> xe-pw-167570v7

  IGT_9084: 9084
  xe-5694-313da1cc22491f07075c7ae36372343aa235d11e: 313da1cc22491f07075c7ae36372343aa235d11e
  xe-pw-167570v7: 167570v7

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/index.html

[-- Attachment #2: Type: text/html, Size: 5778 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* ✗ Xe.CI.FULL: failure for Vswing / Pre-emphasis Override (rev7)
  2026-09-04 12:31 [PATCH v12 0/8] Vswing / Pre-emphasis Override Michał Grzelak
                   ` (10 preceding siblings ...)
  2026-09-04 14:06 ` ✓ Xe.CI.BAT: " Patchwork
@ 2026-09-04 23:39 ` Patchwork
  11 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2026-09-04 23:39 UTC (permalink / raw)
  To: Michał Grzelak; +Cc: intel-xe

[-- Attachment #1: Type: text/plain, Size: 77710 bytes --]

== Series Details ==

Series: Vswing / Pre-emphasis Override (rev7)
URL   : https://patchwork.freedesktop.org/series/167570/
State : failure

== Summary ==

CI Bug Log - changes from xe-5694-313da1cc22491f07075c7ae36372343aa235d11e_FULL -> xe-pw-167570v7_FULL
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with xe-pw-167570v7_FULL absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in xe-pw-167570v7_FULL, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

Participating hosts (2 -> 2)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in xe-pw-167570v7_FULL:

### IGT changes ###

#### Possible regressions ####

  * igt@xe_compute_preempt@compute-preempt-many-vram-evict@engine-drm_xe_engine_class_compute:
    - shard-bmg:          [PASS][1] -> [INCOMPLETE][2] +1 other test incomplete
   [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-7/igt@xe_compute_preempt@compute-preempt-many-vram-evict@engine-drm_xe_engine_class_compute.html
   [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-3/igt@xe_compute_preempt@compute-preempt-many-vram-evict@engine-drm_xe_engine_class_compute.html

  
Known issues
------------

  Here are the changes found in xe-pw-167570v7_FULL that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@fbdev@eof:
    - shard-lnl:          [PASS][3] -> [SKIP][4] ([Intel XE#2134])
   [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@fbdev@eof.html
   [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@fbdev@eof.html

  * igt@kms_async_flips@alternate-sync-async-flip-atomic:
    - shard-bmg:          [PASS][5] -> [FAIL][6] ([Intel XE#3718] / [Intel XE#6078])
   [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-3/igt@kms_async_flips@alternate-sync-async-flip-atomic.html
   [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-1/igt@kms_async_flips@alternate-sync-async-flip-atomic.html

  * igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-b-dp-2:
    - shard-bmg:          [PASS][7] -> [FAIL][8] ([Intel XE#6078])
   [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-3/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-b-dp-2.html
   [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-1/igt@kms_async_flips@alternate-sync-async-flip-atomic@pipe-b-dp-2.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-bmg:          NOTRUN -> [SKIP][9] ([Intel XE#2370])
   [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html

  * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip:
    - shard-bmg:          NOTRUN -> [SKIP][10] ([Intel XE#7059] / [Intel XE#7085])
   [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-0-hflip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-bmg:          NOTRUN -> [SKIP][11] ([Intel XE#1124]) +2 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180:
    - shard-lnl:          NOTRUN -> [SKIP][12] ([Intel XE#1124]) +1 other test skip
   [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs@pipe-c-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][13] ([Intel XE#2669] / [Intel XE#7389]) +2 other tests skip
   [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs@pipe-c-edp-1.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc:
    - shard-bmg:          NOTRUN -> [SKIP][14] ([Intel XE#2887]) +4 other tests skip
   [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][15] ([Intel XE#3432])
   [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs.html

  * igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs:
    - shard-lnl:          NOTRUN -> [SKIP][16] ([Intel XE#2887]) +3 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs.html

  * igt@kms_chamelium_color@ctm-negative:
    - shard-lnl:          NOTRUN -> [SKIP][17] ([Intel XE#306] / [Intel XE#7358])
   [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_chamelium_color@ctm-negative.html

  * igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4:
    - shard-bmg:          NOTRUN -> [SKIP][18] ([Intel XE#7358])
   [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_chamelium_color_pipeline@plane-lut1d-pre-ctm3x4.html

  * igt@kms_chamelium_edid@hdmi-edid-change-during-hibernate:
    - shard-bmg:          NOTRUN -> [SKIP][19] ([Intel XE#2252]) +1 other test skip
   [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_chamelium_edid@hdmi-edid-change-during-hibernate.html

  * igt@kms_chamelium_frames@hdmi-aspect-ratio:
    - shard-lnl:          NOTRUN -> [SKIP][20] ([Intel XE#373]) +1 other test skip
   [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_chamelium_frames@hdmi-aspect-ratio.html

  * igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d:
    - shard-lnl:          [PASS][21] -> [SKIP][22] ([Intel XE#7006])
   [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d.html
   [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_color_pipeline@plane-lut1d-ctm3x4-lut1d.html

  * igt@kms_content_protection@dp-mst-type-0:
    - shard-bmg:          NOTRUN -> [SKIP][23] ([Intel XE#2390] / [Intel XE#6974])
   [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_content_protection@dp-mst-type-0.html

  * igt@kms_content_protection@dp-mst-type-0-suspend-resume:
    - shard-lnl:          NOTRUN -> [SKIP][24] ([Intel XE#6974])
   [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_content_protection@dp-mst-type-0-suspend-resume.html

  * igt@kms_cursor_crc@cursor-onscreen-max-size:
    - shard-lnl:          NOTRUN -> [SKIP][25] ([Intel XE#1424])
   [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_cursor_crc@cursor-onscreen-max-size.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x170:
    - shard-lnl:          NOTRUN -> [SKIP][26] ([Intel XE#2321] / [Intel XE#7355])
   [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html

  * igt@kms_cursor_crc@cursor-sliding-128x42:
    - shard-bmg:          NOTRUN -> [SKIP][27] ([Intel XE#2320])
   [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_cursor_crc@cursor-sliding-128x42.html

  * igt@kms_cursor_legacy@cursora-vs-flipa-atomic:
    - shard-lnl:          [PASS][28] -> [SKIP][29] ([Intel XE#9125]) +21 other tests skip
   [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_cursor_legacy@cursora-vs-flipa-atomic.html
   [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_cursor_legacy@cursora-vs-flipa-atomic.html

  * igt@kms_cursor_legacy@cursora-vs-flipb-legacy:
    - shard-lnl:          NOTRUN -> [SKIP][30] ([Intel XE#309] / [Intel XE#7343]) +1 other test skip
   [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_cursor_legacy@cursora-vs-flipb-legacy.html

  * igt@kms_dp_aux_dev@basic:
    - shard-lnl:          [PASS][31] -> [SKIP][32] ([Intel XE#3009])
   [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_dp_aux_dev@basic.html
   [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_dp_aux_dev@basic.html

  * igt@kms_dp_link_training@non-uhbr-mst:
    - shard-bmg:          NOTRUN -> [SKIP][33] ([Intel XE#4354] / [Intel XE#5882])
   [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_dp_link_training@non-uhbr-mst.html

  * igt@kms_dsc@dsc-fractional-bpp:
    - shard-bmg:          NOTRUN -> [SKIP][34] ([Intel XE#8265])
   [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_dsc@dsc-fractional-bpp.html

  * igt@kms_dsc@dsc-with-formats-bigjoiner:
    - shard-lnl:          NOTRUN -> [SKIP][35] ([Intel XE#8265])
   [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_dsc@dsc-with-formats-bigjoiner.html

  * igt@kms_fbcon_fbt@psr:
    - shard-lnl:          [PASS][36] -> [SKIP][37] ([Intel XE#8680])
   [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_fbcon_fbt@psr.html
   [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_fbcon_fbt@psr.html

  * igt@kms_feature_discovery@psr1:
    - shard-lnl:          [PASS][38] -> [SKIP][39] ([Intel XE#1135])
   [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_feature_discovery@psr1.html
   [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_feature_discovery@psr1.html

  * igt@kms_flip@flip-vs-expired-vblank@b-edp1:
    - shard-lnl:          [PASS][40] -> [FAIL][41] ([Intel XE#301])
   [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html
   [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-3/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html

  * igt@kms_flip@flip-vs-panning-interruptible:
    - shard-lnl:          [PASS][42] -> [SKIP][43] ([Intel XE#2482]) +2 other tests skip
   [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_flip@flip-vs-panning-interruptible.html
   [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_flip@flip-vs-panning-interruptible.html

  * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling:
    - shard-lnl:          [PASS][44] -> [SKIP][45] ([Intel XE#1745] / [Intel XE#9144]) +1 other test skip
   [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html
   [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling:
    - shard-lnl:          NOTRUN -> [SKIP][46] ([Intel XE#7178] / [Intel XE#7351]) +1 other test skip
   [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html

  * igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-shrfb-msflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][47] ([Intel XE#656] / [Intel XE#7905]) +9 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@drrs-argb161616f-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][48] ([Intel XE#7061] / [Intel XE#7356]) +1 other test skip
   [48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_frontbuffer_tracking@drrs-argb161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@drrshdr-abgr161616f-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][49] ([Intel XE#7061]) +2 other tests skip
   [49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_frontbuffer_tracking@drrshdr-abgr161616f-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][50] ([Intel XE#4141])
   [50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-shrfb-draw-render:
    - shard-lnl:          NOTRUN -> [SKIP][51] ([Intel XE#6312]) +2 other tests skip
   [51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-shrfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-bmg:          NOTRUN -> [SKIP][52] ([Intel XE#2311]) +11 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-shrfb-pgflip-blt:
    - shard-lnl:          NOTRUN -> [SKIP][53] ([Intel XE#7865]) +6 other tests skip
   [53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_frontbuffer_tracking@fbchdr-1p-primscrn-shrfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbchdr-argb161616f-draw-blt:
    - shard-bmg:          NOTRUN -> [SKIP][54] ([Intel XE#7061])
   [54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_frontbuffer_tracking@fbchdr-argb161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt:
    - shard-bmg:          NOTRUN -> [SKIP][55] ([Intel XE#2313]) +13 other tests skip
   [55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc:
    - shard-lnl:          [PASS][56] -> [SKIP][57] ([Intel XE#2548] / [Intel XE#7779]) +9 other tests skip
   [56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html
   [57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-render:
    - shard-lnl:          [PASS][58] -> [SKIP][59] ([Intel XE#7779]) +2 other tests skip
   [58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-render.html
   [59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-lnl:          NOTRUN -> [SKIP][60] ([Intel XE#7905]) +10 other tests skip
   [60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_frontbuffer_tracking@psrhdr-2p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_invalid_mode@zero-hdisplay:
    - shard-lnl:          [PASS][61] -> [SKIP][62] ([Intel XE#2568]) +1 other test skip
   [61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_invalid_mode@zero-hdisplay.html
   [62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_invalid_mode@zero-hdisplay.html

  * igt@kms_joiner@basic-max-non-joiner:
    - shard-lnl:          NOTRUN -> [SKIP][63] ([Intel XE#4298] / [Intel XE#5873])
   [63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_joiner@basic-max-non-joiner.html

  * igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping:
    - shard-lnl:          NOTRUN -> [SKIP][64] ([Intel XE#7283]) +1 other test skip
   [64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping.html

  * igt@kms_plane@pixel-format-4-tiled-modifier:
    - shard-lnl:          [PASS][65] -> [SKIP][66] ([Intel XE#7250] / [Intel XE#9128])
   [65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_plane@pixel-format-4-tiled-modifier.html
   [66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_plane@pixel-format-4-tiled-modifier.html

  * igt@kms_plane@plane-position-hole:
    - shard-lnl:          [PASS][67] -> [SKIP][68] ([Intel XE#9128])
   [67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_plane@plane-position-hole.html
   [68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_plane@plane-position-hole.html

  * igt@kms_plane_multiple@tiling-yf:
    - shard-bmg:          NOTRUN -> [SKIP][69] ([Intel XE#5020] / [Intel XE#7348])
   [69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_plane_multiple@tiling-yf.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25@pipe-a:
    - shard-lnl:          [PASS][70] -> [SKIP][71] ([Intel XE#2763] / [Intel XE#6886]) +1 other test skip
   [70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25@pipe-a.html
   [71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25@pipe-a.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25@pipe-c:
    - shard-lnl:          [PASS][72] -> [SKIP][73] ([Intel XE#2763] / [Intel XE#6886] / [Intel XE#7687] / [Intel XE#9125]) +1 other test skip
   [72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25@pipe-c.html
   [73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_plane_scaling@planes-downscale-factor-0-75-upscale-factor-0-25@pipe-c.html

  * igt@kms_pm_backlight@bad-brightness:
    - shard-lnl:          [PASS][74] -> [SKIP][75] ([Intel XE#870]) +1 other test skip
   [74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_pm_backlight@bad-brightness.html
   [75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_pm_backlight@bad-brightness.html

  * igt@kms_pm_dc@dc3co-after-dc6:
    - shard-bmg:          NOTRUN -> [SKIP][76] ([Intel XE#8395] / [Intel XE#8396]) +1 other test skip
   [76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_pm_dc@dc3co-after-dc6.html

  * igt@kms_pm_dc@dc3co-after-dc6@psr2-xrgb8888:
    - shard-bmg:          NOTRUN -> [SKIP][77] ([Intel XE#8396]) +1 other test skip
   [77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_pm_dc@dc3co-after-dc6@psr2-xrgb8888.html

  * igt@kms_pm_dc@dc5-dpms:
    - shard-lnl:          NOTRUN -> [FAIL][78] ([Intel XE#8399])
   [78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_pm_dc@dc5-dpms.html

  * igt@kms_pm_dc@dc6-dpms:
    - shard-lnl:          [PASS][79] -> [FAIL][80] ([Intel XE#8399])
   [79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_pm_dc@dc6-dpms.html
   [80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_pm_dc@dc6-dpms.html

  * igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf:
    - shard-lnl:          NOTRUN -> [SKIP][81] ([Intel XE#2893] / [Intel XE#7304])
   [81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_psr2_sf@fbc-pr-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf@pipe-b-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][82] ([Intel XE#4608] / [Intel XE#7304]) +2 other tests skip
   [82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_psr2_sf@fbc-psr2-overlay-plane-update-continuous-sf@pipe-b-edp-1.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area:
    - shard-lnl:          NOTRUN -> [SKIP][83] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#7304])
   [83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area.html

  * igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area@pipe-a-edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][84] ([Intel XE#4608]) +2 other tests skip
   [84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_psr2_sf@fbc-psr2-overlay-primary-update-sf-dmg-area@pipe-a-edp-1.html

  * igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-bmg:          NOTRUN -> [SKIP][85] ([Intel XE#1489]) +1 other test skip
   [85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_psr2_sf@pr-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-sf:
    - shard-lnl:          [PASS][86] -> [SKIP][87] ([Intel XE#1489])
   [86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-sf.html
   [87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-sf.html

  * igt@kms_psr@fbc-psr2-primary-render:
    - shard-lnl:          NOTRUN -> [SKIP][88] ([Intel XE#1406] / [Intel XE#7345])
   [88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_psr@fbc-psr2-primary-render.html

  * igt@kms_psr@fbc-psr2-primary-render@edp-1:
    - shard-lnl:          NOTRUN -> [SKIP][89] ([Intel XE#1406] / [Intel XE#4609] / [Intel XE#7345])
   [89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_psr@fbc-psr2-primary-render@edp-1.html

  * igt@kms_psr@pr-primary-render:
    - shard-lnl:          NOTRUN -> [SKIP][90] ([Intel XE#1406])
   [90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_psr@pr-primary-render.html

  * igt@kms_psr@psr2-basic:
    - shard-lnl:          [PASS][91] -> [SKIP][92] ([Intel XE#2850] / [Intel XE#929]) +3 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_psr@psr2-basic.html
   [92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_psr@psr2-basic.html

  * igt@kms_psr@psr2-no-drrs:
    - shard-bmg:          NOTRUN -> [SKIP][93] ([Intel XE#2234] / [Intel XE#2850])
   [93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_psr@psr2-no-drrs.html

  * igt@kms_setmode@invalid-clone-single-crtc:
    - shard-lnl:          NOTRUN -> [SKIP][94] ([Intel XE#1435] / [Intel XE#9142])
   [94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_setmode@invalid-clone-single-crtc.html

  * igt@kms_tv_load_detect@load-detect:
    - shard-lnl:          NOTRUN -> [SKIP][95] ([Intel XE#330] / [Intel XE#5857])
   [95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_tv_load_detect@load-detect.html

  * igt@kms_vrr@flip-basic-fastset:
    - shard-bmg:          NOTRUN -> [SKIP][96] ([Intel XE#1499]) +1 other test skip
   [96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@kms_vrr@flip-basic-fastset.html

  * igt@kms_vrr@negative-basic:
    - shard-lnl:          NOTRUN -> [SKIP][97] ([Intel XE#1499])
   [97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@kms_vrr@negative-basic.html

  * igt@xe_evict@evict-beng-mixed-many-threads-small:
    - shard-lnl:          NOTRUN -> [SKIP][98] ([Intel XE#6540] / [Intel XE#688]) +1 other test skip
   [98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_evict@evict-beng-mixed-many-threads-small.html

  * igt@xe_evict@evict-small-external-multi-queue:
    - shard-bmg:          NOTRUN -> [SKIP][99] ([Intel XE#8370])
   [99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@xe_evict@evict-small-external-multi-queue.html

  * igt@xe_exec_balancer@many-cm-virtual-userptr-rebind:
    - shard-lnl:          NOTRUN -> [SKIP][100] ([Intel XE#7482]) +5 other tests skip
   [100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_exec_balancer@many-cm-virtual-userptr-rebind.html

  * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][101] ([Intel XE#2322] / [Intel XE#7372])
   [101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-rebind.html

  * igt@xe_exec_basic@multigpu-no-exec-basic-defer-bind:
    - shard-lnl:          NOTRUN -> [SKIP][102] ([Intel XE#1392]) +1 other test skip
   [102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_exec_basic@multigpu-no-exec-basic-defer-bind.html

  * igt@xe_exec_fault_mode@once-multi-queue-userptr-invalidate-race-imm:
    - shard-bmg:          NOTRUN -> [SKIP][103] ([Intel XE#8374])
   [103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@xe_exec_fault_mode@once-multi-queue-userptr-invalidate-race-imm.html

  * igt@xe_exec_fault_mode@twice-multi-queue-userptr-invalidate-race:
    - shard-lnl:          NOTRUN -> [SKIP][104] ([Intel XE#8374]) +3 other tests skip
   [104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_exec_fault_mode@twice-multi-queue-userptr-invalidate-race.html

  * igt@xe_exec_multi_queue@many-queues-basic:
    - shard-bmg:          NOTRUN -> [SKIP][105] ([Intel XE#8364]) +7 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@xe_exec_multi_queue@many-queues-basic.html

  * igt@xe_exec_multi_queue@one-queue-close-fd-smem:
    - shard-lnl:          NOTRUN -> [SKIP][106] ([Intel XE#8364]) +7 other tests skip
   [106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_exec_multi_queue@one-queue-close-fd-smem.html

  * igt@xe_exec_reset@cm-multi-queue-cat-error-on-secondary:
    - shard-lnl:          NOTRUN -> [SKIP][107] ([Intel XE#8369])
   [107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_exec_reset@cm-multi-queue-cat-error-on-secondary.html

  * igt@xe_exec_threads@threads-hang-userptr-invalidate-race:
    - shard-bmg:          [PASS][108] -> [FAIL][109] ([Intel XE#9096])
   [108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-2/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html
   [109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-1/igt@xe_exec_threads@threads-hang-userptr-invalidate-race.html

  * igt@xe_exec_threads@threads-multi-queue-cm-fd-userptr-rebind:
    - shard-bmg:          NOTRUN -> [SKIP][110] ([Intel XE#8378]) +1 other test skip
   [110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@xe_exec_threads@threads-multi-queue-cm-fd-userptr-rebind.html

  * igt@xe_exec_threads@threads-multi-queue-cm-shared-vm-rebind:
    - shard-lnl:          NOTRUN -> [SKIP][111] ([Intel XE#8378]) +2 other tests skip
   [111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_exec_threads@threads-multi-queue-cm-shared-vm-rebind.html

  * igt@xe_gpgpu_fill@offset-4x4:
    - shard-bmg:          NOTRUN -> [SKIP][112] ([Intel XE#7954])
   [112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@xe_gpgpu_fill@offset-4x4.html

  * igt@xe_multigpu_svm@mgpu-migration-basic:
    - shard-lnl:          NOTRUN -> [SKIP][113] ([Intel XE#6964])
   [113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_multigpu_svm@mgpu-migration-basic.html

  * igt@xe_page_reclaim@pat-index-xd:
    - shard-bmg:          NOTRUN -> [SKIP][114] ([Intel XE#7793])
   [114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@xe_page_reclaim@pat-index-xd.html

  * igt@xe_pat@pat-sw-hw-compare:
    - shard-lnl:          NOTRUN -> [FAIL][115] ([Intel XE#7695])
   [115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_pat@pat-sw-hw-compare.html

  * igt@xe_pat@xa-app-transient-media-on:
    - shard-bmg:          NOTRUN -> [SKIP][116] ([Intel XE#7590])
   [116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@xe_pat@xa-app-transient-media-on.html

  * igt@xe_pm@s3-exec-after:
    - shard-lnl:          NOTRUN -> [SKIP][117] ([Intel XE#584] / [Intel XE#7369])
   [117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_pm@s3-exec-after.html

  * igt@xe_pmu@engine-activity-load-idle@engine-drm_xe_engine_class_compute0:
    - shard-bmg:          NOTRUN -> [INCOMPLETE][118] ([Intel XE#9031]) +1 other test incomplete
   [118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-10/igt@xe_pmu@engine-activity-load-idle@engine-drm_xe_engine_class_compute0.html

  * igt@xe_prefetch_fault@l2-prefetch-fault:
    - shard-lnl:          NOTRUN -> [SKIP][119] ([Intel XE#8815])
   [119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_prefetch_fault@l2-prefetch-fault.html

  * igt@xe_prefetch_fault@prefetch-fault-svm:
    - shard-bmg:          NOTRUN -> [SKIP][120] ([Intel XE#7599])
   [120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@xe_prefetch_fault@prefetch-fault-svm.html

  * igt@xe_query@multigpu-query-topology-l3-bank-mask:
    - shard-lnl:          NOTRUN -> [SKIP][121] ([Intel XE#944])
   [121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_query@multigpu-query-topology-l3-bank-mask.html

  * igt@xe_query@multigpu-query-uc-fw-version-guc:
    - shard-bmg:          NOTRUN -> [SKIP][122] ([Intel XE#944])
   [122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@xe_query@multigpu-query-uc-fw-version-guc.html

  * igt@xe_sriov_flr@flr-vf1-clear:
    - shard-lnl:          NOTRUN -> [SKIP][123] ([Intel XE#3342])
   [123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_sriov_flr@flr-vf1-clear.html

  * igt@xe_sriov_scheduling@equal-throughput-low-priority:
    - shard-lnl:          NOTRUN -> [SKIP][124] ([Intel XE#8339])
   [124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-7/igt@xe_sriov_scheduling@equal-throughput-low-priority.html

  
#### Possible fixes ####

  * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
    - shard-bmg:          [INCOMPLETE][125] ([Intel XE#7084] / [Intel XE#8150]) -> [PASS][126] +1 other test pass
   [125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-10/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
   [126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-10/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html

  * igt@kms_color@degamma:
    - shard-lnl:          [SKIP][127] ([Intel XE#3297]) -> [PASS][128] +2 other tests pass
   [127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_color@degamma.html
   [128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_color@degamma.html

  * igt@kms_fb_coherency@memset-crc:
    - shard-lnl:          [SKIP][129] -> [PASS][130]
   [129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_fb_coherency@memset-crc.html
   [130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-4/igt@kms_fb_coherency@memset-crc.html

  * igt@kms_flip@flip-vs-panning:
    - shard-lnl:          [SKIP][131] ([Intel XE#2482]) -> [PASS][132]
   [131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_flip@flip-vs-panning.html
   [132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_flip@flip-vs-panning.html

  * igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-mmap-wc:
    - shard-lnl:          [SKIP][133] ([Intel XE#7779]) -> [PASS][134]
   [133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-mmap-wc.html
   [134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_frontbuffer_tracking@fbc-1p-offscreen-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen:
    - shard-lnl:          [SKIP][135] ([Intel XE#2548] / [Intel XE#7779]) -> [PASS][136] +10 other tests pass
   [135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html
   [136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-fullscreen.html

  * igt@kms_hdr@bpc-switch:
    - shard-lnl:          [SKIP][137] ([Intel XE#9125]) -> [PASS][138] +26 other tests pass
   [137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_hdr@bpc-switch.html
   [138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_hdr@bpc-switch.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b:
    - shard-lnl:          [SKIP][139] ([Intel XE#2763] / [Intel XE#6886]) -> [PASS][140] +3 other tests pass
   [139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html
   [140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-4/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html

  * igt@kms_plane_scaling@plane-upscale-20x20-with-rotation:
    - shard-lnl:          [SKIP][141] ([Intel XE#2763] / [Intel XE#6886] / [Intel XE#7687] / [Intel XE#9125]) -> [PASS][142] +3 other tests pass
   [141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation.html
   [142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation.html

  * igt@kms_pm_dc@dc5-pageflip-negative:
    - shard-lnl:          [SKIP][143] ([Intel XE#6927] / [Intel XE#8854]) -> [PASS][144]
   [143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_pm_dc@dc5-pageflip-negative.html
   [144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-4/igt@kms_pm_dc@dc5-pageflip-negative.html

  * igt@kms_pm_rpm@legacy-planes-dpms:
    - shard-lnl:          [SKIP][145] ([Intel XE#4886]) -> [PASS][146]
   [145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_pm_rpm@legacy-planes-dpms.html
   [146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_pm_rpm@legacy-planes-dpms.html

  * igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf:
    - shard-lnl:          [SKIP][147] ([Intel XE#1489]) -> [PASS][148]
   [147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf.html
   [148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_psr2_sf@psr2-overlay-plane-update-continuous-sf.html

  * igt@kms_psr@psr2-suspend:
    - shard-lnl:          [SKIP][149] ([Intel XE#2850] / [Intel XE#929]) -> [PASS][150] +1 other test pass
   [149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_psr@psr2-suspend.html
   [150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_psr@psr2-suspend.html

  * igt@xe_configfs@gt-types-allowed:
    - shard-bmg:          [ABORT][151] ([Intel XE#8007]) -> [PASS][152]
   [151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-4/igt@xe_configfs@gt-types-allowed.html
   [152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-8/igt@xe_configfs@gt-types-allowed.html

  * igt@xe_exec_reset@gt-stress-reset-mixed-engine-usage:
    - shard-bmg:          [INCOMPLETE][153] ([Intel XE#9041]) -> [PASS][154]
   [153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-1/igt@xe_exec_reset@gt-stress-reset-mixed-engine-usage.html
   [154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-7/igt@xe_exec_reset@gt-stress-reset-mixed-engine-usage.html

  
#### Warnings ####

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
    - shard-lnl:          [SKIP][155] ([Intel XE#9125]) -> [SKIP][156] ([Intel XE#3658] / [Intel XE#7360])
   [155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
   [156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html

  * igt@kms_big_fb@linear-32bpp-rotate-90:
    - shard-lnl:          [SKIP][157] ([Intel XE#9125]) -> [SKIP][158] ([Intel XE#1407]) +2 other tests skip
   [157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_big_fb@linear-32bpp-rotate-90.html
   [158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_big_fb@linear-32bpp-rotate-90.html

  * igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip:
    - shard-lnl:          [SKIP][159] ([Intel XE#9125]) -> [SKIP][160] ([Intel XE#7059] / [Intel XE#7085])
   [159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html
   [160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-4/igt@kms_big_fb@linear-max-hw-stride-64bpp-rotate-0-hflip.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-90:
    - shard-lnl:          [SKIP][161] ([Intel XE#1407]) -> [SKIP][162] ([Intel XE#9125]) +2 other tests skip
   [161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html
   [162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-32bpp-rotate-0:
    - shard-lnl:          [SKIP][163] ([Intel XE#9125]) -> [SKIP][164] ([Intel XE#1124]) +4 other tests skip
   [163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_big_fb@y-tiled-32bpp-rotate-0.html
   [164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_big_fb@y-tiled-32bpp-rotate-0.html

  * igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
    - shard-lnl:          [SKIP][165] ([Intel XE#1477] / [Intel XE#7361]) -> [SKIP][166] ([Intel XE#9125])
   [165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html
   [166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html

  * igt@kms_big_fb@yf-tiled-64bpp-rotate-0:
    - shard-lnl:          [SKIP][167] ([Intel XE#1124]) -> [SKIP][168] ([Intel XE#9125]) +4 other tests skip
   [167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_big_fb@yf-tiled-64bpp-rotate-0.html
   [168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_big_fb@yf-tiled-64bpp-rotate-0.html

  * igt@kms_bw@connected-linear-tiling-4-displays-target-1920x1080p:
    - shard-lnl:          [SKIP][169] ([Intel XE#9125]) -> [SKIP][170] ([Intel XE#8365])
   [169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_bw@connected-linear-tiling-4-displays-target-1920x1080p.html
   [170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-4/igt@kms_bw@connected-linear-tiling-4-displays-target-1920x1080p.html

  * igt@kms_bw@linear-tiling-2-displays-target-2160x1440p:
    - shard-lnl:          [SKIP][171] ([Intel XE#367]) -> [SKIP][172] ([Intel XE#9125])
   [171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_bw@linear-tiling-2-displays-target-2160x1440p.html
   [172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_bw@linear-tiling-2-displays-target-2160x1440p.html

  * igt@kms_bw@linear-tiling-3-displays-target-3840x2160p:
    - shard-lnl:          [SKIP][173] ([Intel XE#9125]) -> [SKIP][174] ([Intel XE#367])
   [173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_bw@linear-tiling-3-displays-target-3840x2160p.html
   [174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-4/igt@kms_bw@linear-tiling-3-displays-target-3840x2160p.html

  * igt@kms_bw@linear-tiling-4-displays-target-2160x1440p:
    - shard-lnl:          [SKIP][175] ([Intel XE#8365]) -> [SKIP][176] ([Intel XE#9125])
   [175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_bw@linear-tiling-4-displays-target-2160x1440p.html
   [176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_bw@linear-tiling-4-displays-target-2160x1440p.html

  * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc:
    - shard-lnl:          [SKIP][177] ([Intel XE#2887]) -> [SKIP][178] ([Intel XE#9125]) +4 other tests skip
   [177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc.html
   [178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc.html

  * igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs:
    - shard-lnl:          [SKIP][179] ([Intel XE#9125]) -> [SKIP][180] ([Intel XE#2669] / [Intel XE#7389])
   [179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html
   [180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs:
    - shard-lnl:          [SKIP][181] ([Intel XE#2669] / [Intel XE#7389]) -> [SKIP][182] ([Intel XE#9125])
   [181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs.html
   [182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs:
    - shard-lnl:          [SKIP][183] ([Intel XE#9125]) -> [SKIP][184] ([Intel XE#3432])
   [183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs.html
   [184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs.html

  * igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs:
    - shard-lnl:          [SKIP][185] ([Intel XE#3432]) -> [SKIP][186] ([Intel XE#9125]) +1 other test skip
   [185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html
   [186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html

  * igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs:
    - shard-lnl:          [SKIP][187] ([Intel XE#9125]) -> [SKIP][188] ([Intel XE#2887]) +6 other tests skip
   [187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs.html
   [188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_ccs@missing-ccs-buffer-y-tiled-ccs.html

  * igt@kms_cdclk@mode-transition:
    - shard-lnl:          [SKIP][189] ([Intel XE#4417] / [Intel XE#5447]) -> [SKIP][190] ([Intel XE#9125])
   [189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_cdclk@mode-transition.html
   [190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_cdclk@mode-transition.html

  * igt@kms_content_protection@dp-mst-lic-type-0:
    - shard-lnl:          [SKIP][191] ([Intel XE#9125]) -> [SKIP][192] ([Intel XE#307] / [Intel XE#6974])
   [191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_content_protection@dp-mst-lic-type-0.html
   [192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_content_protection@dp-mst-lic-type-0.html

  * igt@kms_content_protection@suspend-resume:
    - shard-lnl:          [SKIP][193] ([Intel XE#7642]) -> [SKIP][194] ([Intel XE#9125]) +2 other tests skip
   [193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_content_protection@suspend-resume.html
   [194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_content_protection@suspend-resume.html

  * igt@kms_cursor_crc@cursor-random-512x170:
    - shard-lnl:          [SKIP][195] ([Intel XE#9125]) -> [SKIP][196] ([Intel XE#2321] / [Intel XE#7355]) +1 other test skip
   [195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_cursor_crc@cursor-random-512x170.html
   [196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_cursor_crc@cursor-random-512x170.html

  * igt@kms_cursor_crc@cursor-rapid-movement-max-size:
    - shard-lnl:          [SKIP][197] ([Intel XE#1424]) -> [SKIP][198] ([Intel XE#9125]) +2 other tests skip
   [197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html
   [198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_cursor_crc@cursor-rapid-movement-max-size.html

  * igt@kms_cursor_crc@cursor-sliding-64x21:
    - shard-lnl:          [SKIP][199] ([Intel XE#9125]) -> [SKIP][200] ([Intel XE#1424]) +1 other test skip
   [199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_cursor_crc@cursor-sliding-64x21.html
   [200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_cursor_crc@cursor-sliding-64x21.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
    - shard-lnl:          [SKIP][201] ([Intel XE#9125]) -> [SKIP][202] ([Intel XE#309] / [Intel XE#7343]) +1 other test skip
   [201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
   [202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size:
    - shard-lnl:          [SKIP][203] ([Intel XE#309] / [Intel XE#7343]) -> [SKIP][204] ([Intel XE#9125]) +2 other tests skip
   [203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html
   [204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_cursor_legacy@cursorb-vs-flipa-varying-size.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-lnl:          [SKIP][205] ([Intel XE#323] / [Intel XE#6035]) -> [SKIP][206] ([Intel XE#9125])
   [205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
   [206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

  * igt@kms_dsc@dsc-basic-ultrajoiner:
    - shard-lnl:          [SKIP][207] ([Intel XE#8265]) -> [SKIP][208] ([Intel XE#9125]) +1 other test skip
   [207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_dsc@dsc-basic-ultrajoiner.html
   [208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_dsc@dsc-basic-ultrajoiner.html

  * igt@kms_dsc@dsc-with-bpc-formats:
    - shard-lnl:          [SKIP][209] ([Intel XE#9125]) -> [SKIP][210] ([Intel XE#8265]) +1 other test skip
   [209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_dsc@dsc-with-bpc-formats.html
   [210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_dsc@dsc-with-bpc-formats.html

  * igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling:
    - shard-lnl:          [SKIP][211] ([Intel XE#1397] / [Intel XE#1745] / [Intel XE#7385] / [Intel XE#9144]) -> [SKIP][212] ([Intel XE#1745] / [Intel XE#9144]) +1 other test skip
   [211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling.html
   [212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_flip_scaled_crc@flip-64bpp-linear-to-16bpp-linear-downscaling.html

  * igt@kms_frontbuffer_tracking@drrs-1p-offscreen-pri-shrfb-draw-mmap-wc:
    - shard-lnl:          [SKIP][213] ([Intel XE#7779]) -> [SKIP][214] ([Intel XE#6312]) +5 other tests skip
   [213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@drrs-1p-offscreen-pri-shrfb-draw-mmap-wc.html
   [214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-4/igt@kms_frontbuffer_tracking@drrs-1p-offscreen-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc:
    - shard-lnl:          [SKIP][215] ([Intel XE#656] / [Intel XE#7905]) -> [SKIP][216] ([Intel XE#2548] / [Intel XE#7779]) +17 other tests skip
   [215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc.html
   [216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-tiling-y:
    - shard-lnl:          [SKIP][217] ([Intel XE#2548] / [Intel XE#7779]) -> [SKIP][218] ([Intel XE#1469] / [Intel XE#7399])
   [217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbc-tiling-y.html
   [218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_frontbuffer_tracking@fbc-tiling-y.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-blt:
    - shard-lnl:          [SKIP][219] ([Intel XE#6312] / [Intel XE#651]) -> [SKIP][220] ([Intel XE#2548] / [Intel XE#7779]) +6 other tests skip
   [219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-blt.html
   [220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-2p-rte:
    - shard-lnl:          [SKIP][221] ([Intel XE#2548] / [Intel XE#7779]) -> [SKIP][222] ([Intel XE#656] / [Intel XE#7905]) +16 other tests skip
   [221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-rte.html
   [222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-4/igt@kms_frontbuffer_tracking@fbcdrrs-2p-rte.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt:
    - shard-lnl:          [SKIP][223] ([Intel XE#7779]) -> [SKIP][224] ([Intel XE#7061] / [Intel XE#7356]) +1 other test skip
   [223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt.html
   [224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcdrrs-abgr161616f-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-render:
    - shard-lnl:          [SKIP][225] ([Intel XE#2548] / [Intel XE#7779]) -> [SKIP][226] ([Intel XE#6312] / [Intel XE#651]) +7 other tests skip
   [225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-render.html
   [226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-4/igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-render.html

  * igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-offscreen-pri-shrfb-draw-blt:
    - shard-lnl:          [SKIP][227] ([Intel XE#6312]) -> [SKIP][228] ([Intel XE#7779]) +9 other tests skip
   [227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-offscreen-pri-shrfb-draw-blt.html
   [228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcdrrshdr-1p-offscreen-pri-shrfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-mmap-wc:
    - shard-lnl:          [SKIP][229] ([Intel XE#7779]) -> [SKIP][230] ([Intel XE#7061]) +3 other tests skip
   [229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-mmap-wc.html
   [230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_frontbuffer_tracking@fbchdr-abgr161616f-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-draw-blt:
    - shard-lnl:          [SKIP][231] ([Intel XE#7779]) -> [SKIP][232] ([Intel XE#7865]) +14 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-draw-blt.html
   [232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_frontbuffer_tracking@fbcpsrhdr-1p-primscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-y:
    - shard-lnl:          [SKIP][233] ([Intel XE#7399]) -> [SKIP][234] ([Intel XE#7779])
   [233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-y.html
   [234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_frontbuffer_tracking@fbcpsrhdr-tiling-y.html

  * igt@kms_frontbuffer_tracking@hdr-2p-primscrn-cur-indfb-draw-mmap-wc:
    - shard-lnl:          [SKIP][235] ([Intel XE#7779]) -> [SKIP][236] ([Intel XE#7905]) +20 other tests skip
   [235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_frontbuffer_tracking@hdr-2p-primscrn-cur-indfb-draw-mmap-wc.html
   [236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_frontbuffer_tracking@hdr-2p-primscrn-cur-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-pri-shrfb-draw-mmap-wc:
    - shard-lnl:          [SKIP][237] ([Intel XE#7905]) -> [SKIP][238] ([Intel XE#7779]) +23 other tests skip
   [237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html
   [238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_frontbuffer_tracking@hdr-2p-scndscrn-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-indfb-plflip-blt:
    - shard-lnl:          [SKIP][239] ([Intel XE#7865]) -> [SKIP][240] ([Intel XE#7779]) +13 other tests skip
   [239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-indfb-plflip-blt.html
   [240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_frontbuffer_tracking@psrhdr-1p-primscrn-indfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psrhdr-abgr161616f-draw-render:
    - shard-lnl:          [SKIP][241] ([Intel XE#7061]) -> [SKIP][242] ([Intel XE#7779]) +1 other test skip
   [241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_frontbuffer_tracking@psrhdr-abgr161616f-draw-render.html
   [242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_frontbuffer_tracking@psrhdr-abgr161616f-draw-render.html

  * igt@kms_plane_multiple@2x-tiling-none:
    - shard-lnl:          [SKIP][243] ([Intel XE#4596] / [Intel XE#5854]) -> [SKIP][244] ([Intel XE#9125])
   [243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_plane_multiple@2x-tiling-none.html
   [244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_plane_multiple@2x-tiling-none.html

  * igt@kms_plane_scaling@2x-scaler-multi-pipe:
    - shard-lnl:          [SKIP][245] ([Intel XE#309] / [Intel XE#7343]) -> [SKIP][246] ([Intel XE#7343] / [Intel XE#7687] / [Intel XE#9125])
   [245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
   [246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_plane_scaling@2x-scaler-multi-pipe.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-c:
    - shard-lnl:          [SKIP][247] ([Intel XE#2763] / [Intel XE#6886]) -> [SKIP][248] ([Intel XE#2763] / [Intel XE#6886] / [Intel XE#7687] / [Intel XE#9125]) +1 other test skip
   [247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-c.html
   [248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-c.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling:
    - shard-lnl:          [SKIP][249] ([Intel XE#2763] / [Intel XE#6886] / [Intel XE#7687] / [Intel XE#9125]) -> [SKIP][250] ([Intel XE#2763] / [Intel XE#6886]) +1 other test skip
   [249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling.html
   [250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_plane_scaling@planes-downscale-factor-0-5-unity-scaling.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf:
    - shard-lnl:          [SKIP][251] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#7304]) -> [SKIP][252] ([Intel XE#1489]) +1 other test skip
   [251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf.html
   [252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-fully-sf.html

  * igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf:
    - shard-lnl:          [SKIP][253] ([Intel XE#1489]) -> [SKIP][254] ([Intel XE#2893] / [Intel XE#4608] / [Intel XE#7304]) +1 other test skip
   [253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html
   [254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-4/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html

  * igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area:
    - shard-lnl:          [SKIP][255] ([Intel XE#1489]) -> [SKIP][256] ([Intel XE#2893] / [Intel XE#7304]) +1 other test skip
   [255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area.html
   [256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-4/igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb:
    - shard-lnl:          [SKIP][257] ([Intel XE#2893] / [Intel XE#7304]) -> [SKIP][258] ([Intel XE#1489])
   [257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-7/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb.html
   [258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_psr2_sf@pr-primary-plane-update-sf-dmg-area-big-fb.html

  * igt@kms_psr@fbc-psr2-primary-blt:
    - shard-lnl:          [SKIP][259] ([Intel XE#1406] / [Intel XE#7345]) -> [SKIP][260] ([Intel XE#2850] / [Intel XE#929]) +1 other test skip
   [259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_psr@fbc-psr2-primary-blt.html
   [260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_psr@fbc-psr2-primary-blt.html

  * igt@kms_psr@pr-no-drrs:
    - shard-lnl:          [SKIP][261] ([Intel XE#2850] / [Intel XE#929]) -> [SKIP][262] ([Intel XE#1406]) +3 other tests skip
   [261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_psr@pr-no-drrs.html
   [262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_psr@pr-no-drrs.html

  * igt@kms_psr@pr-sprite-blt:
    - shard-lnl:          [SKIP][263] ([Intel XE#1406]) -> [SKIP][264] ([Intel XE#2850] / [Intel XE#929])
   [263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_psr@pr-sprite-blt.html
   [264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_psr@pr-sprite-blt.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
    - shard-lnl:          [SKIP][265] ([Intel XE#9125]) -> [SKIP][266] ([Intel XE#1127] / [Intel XE#5813])
   [265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
   [266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-4/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html

  * igt@kms_rotation_crc@sprite-rotation-90:
    - shard-lnl:          [SKIP][267] ([Intel XE#9125]) -> [SKIP][268] ([Intel XE#3414] / [Intel XE#3904] / [Intel XE#7342])
   [267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-6/igt@kms_rotation_crc@sprite-rotation-90.html
   [268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-1/igt@kms_rotation_crc@sprite-rotation-90.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-bmg:          [SKIP][269] ([Intel XE#2426] / [Intel XE#5848]) -> [SKIP][270] ([Intel XE#2509] / [Intel XE#7437])
   [269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-bmg-2/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
   [270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-bmg-1/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_vrr@lobf-dc3co:
    - shard-lnl:          [SKIP][271] ([Intel XE#8397]) -> [SKIP][272] ([Intel XE#9125])
   [271]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-5694-313da1cc22491f07075c7ae36372343aa235d11e/shard-lnl-5/igt@kms_vrr@lobf-dc3co.html
   [272]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/shard-lnl-6/igt@kms_vrr@lobf-dc3co.html

  
  [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
  [Intel XE#1127]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1127
  [Intel XE#1135]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1135
  [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
  [Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397
  [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
  [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407
  [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424
  [Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
  [Intel XE#1469]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1469
  [Intel XE#1477]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1477
  [Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
  [Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
  [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745
  [Intel XE#2134]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2134
  [Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
  [Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
  [Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
  [Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
  [Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
  [Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
  [Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
  [Intel XE#2370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2370
  [Intel XE#2390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2390
  [Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
  [Intel XE#2482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2482
  [Intel XE#2509]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2509
  [Intel XE#2548]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2548
  [Intel XE#2568]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2568
  [Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669
  [Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
  [Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
  [Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
  [Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
  [Intel XE#3009]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3009
  [Intel XE#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301
  [Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
  [Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
  [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
  [Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
  [Intel XE#3297]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3297
  [Intel XE#330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/330
  [Intel XE#3342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3342
  [Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
  [Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
  [Intel XE#3658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3658
  [Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
  [Intel XE#3718]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3718
  [Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
  [Intel XE#3904]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3904
  [Intel XE#4141]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4141
  [Intel XE#4298]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4298
  [Intel XE#4354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4354
  [Intel XE#4417]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4417
  [Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
  [Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
  [Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
  [Intel XE#4886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4886
  [Intel XE#5020]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5020
  [Intel XE#5447]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5447
  [Intel XE#5813]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5813
  [Intel XE#584]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/584
  [Intel XE#5848]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5848
  [Intel XE#5854]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5854
  [Intel XE#5857]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5857
  [Intel XE#5873]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5873
  [Intel XE#5882]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5882
  [Intel XE#6035]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6035
  [Intel XE#6078]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6078
  [Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312
  [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
  [Intel XE#6540]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6540
  [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
  [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
  [Intel XE#6886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6886
  [Intel XE#6927]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6927
  [Intel XE#6964]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6964
  [Intel XE#6974]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6974
  [Intel XE#7006]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7006
  [Intel XE#7059]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7059
  [Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061
  [Intel XE#7084]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7084
  [Intel XE#7085]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7085
  [Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178
  [Intel XE#7250]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7250
  [Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283
  [Intel XE#7304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7304
  [Intel XE#7342]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7342
  [Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343
  [Intel XE#7345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7345
  [Intel XE#7348]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7348
  [Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351
  [Intel XE#7355]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7355
  [Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356
  [Intel XE#7358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7358
  [Intel XE#7360]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7360
  [Intel XE#7361]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7361
  [Intel XE#7369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7369
  [Intel XE#7372]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7372
  [Intel XE#7385]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7385
  [Intel XE#7389]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7389
  [Intel XE#7399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7399
  [Intel XE#7437]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7437
  [Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482
  [Intel XE#7590]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7590
  [Intel XE#7599]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7599
  [Intel XE#7642]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7642
  [Intel XE#7687]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7687
  [Intel XE#7695]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7695
  [Intel XE#7779]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7779
  [Intel XE#7793]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7793
  [Intel XE#7865]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7865
  [Intel XE#7905]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7905
  [Intel XE#7954]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7954
  [Intel XE#8007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8007
  [Intel XE#8150]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8150
  [Intel XE#8265]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8265
  [Intel XE#8339]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8339
  [Intel XE#8364]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8364
  [Intel XE#8365]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8365
  [Intel XE#8369]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8369
  [Intel XE#8370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8370
  [Intel XE#8374]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8374
  [Intel XE#8378]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8378
  [Intel XE#8395]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8395
  [Intel XE#8396]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8396
  [Intel XE#8397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8397
  [Intel XE#8399]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8399
  [Intel XE#8680]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8680
  [Intel XE#870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/870
  [Intel XE#8815]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8815
  [Intel XE#8854]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/8854
  [Intel XE#9031]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9031
  [Intel XE#9041]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9041
  [Intel XE#9096]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9096
  [Intel XE#9125]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9125
  [Intel XE#9128]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9128
  [Intel XE#9142]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9142
  [Intel XE#9144]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/9144
  [Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
  [Intel XE#944]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/944


Build changes
-------------

  * Linux: xe-5694-313da1cc22491f07075c7ae36372343aa235d11e -> xe-pw-167570v7

  IGT_9084: 9084
  xe-5694-313da1cc22491f07075c7ae36372343aa235d11e: 313da1cc22491f07075c7ae36372343aa235d11e
  xe-pw-167570v7: 167570v7

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-167570v7/index.html

[-- Attachment #2: Type: text/html, Size: 94750 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2026-09-04 23:39 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-04 12:31 [PATCH v12 0/8] Vswing / Pre-emphasis Override Michał Grzelak
2026-09-04 12:31 ` [PATCH v12 1/8] drm/i915/bios: search for VBT #57 by default Michał Grzelak
2026-09-04 12:31 ` [PATCH v12 2/8] drm/i915/bios: store VBT #57's metadata in intel_vbt_data Michał Grzelak
2026-09-04 12:43   ` sashiko-bot
2026-09-04 12:31 ` [PATCH v12 3/8] drm/i915/bios: print VS/PE-O port info Michał Grzelak
2026-09-04 12:50   ` sashiko-bot
2026-09-04 12:31 ` [PATCH v12 4/8] drm/i915/bios: de/allocate VS/PE-O buffers for each port Michał Grzelak
2026-09-04 12:46   ` sashiko-bot
2026-09-04 12:31 ` [PATCH v12 5/8] drm/i915/buf_trans: add vfunc for VS/PE-O Michał Grzelak
2026-09-04 12:31 ` [PATCH v12 6/8] drm/i915: override Snps's VS/PE when requested Michał Grzelak
2026-09-04 12:53   ` sashiko-bot
2026-09-04 12:31 ` [PATCH v12 7/8] drm/i915: override Combo's " Michał Grzelak
2026-09-04 12:59   ` sashiko-bot
2026-09-04 12:31 ` [PATCH v12 8/8] drm/i915/bios: remove VS/PE-O warning Michał Grzelak
2026-09-04 13:04 ` ✗ CI.checkpatch: warning for Vswing / Pre-emphasis Override (rev7) Patchwork
2026-09-04 13:06 ` ✓ CI.KUnit: success " Patchwork
2026-09-04 14:06 ` ✓ Xe.CI.BAT: " Patchwork
2026-09-04 23:39 ` ✗ Xe.CI.FULL: failure " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox