Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/1] drm/i915: LT's support for Vswing / Pre-emphasis Override
@ 2026-11-03  0:15 Michał Grzelak
  2026-11-03  0:15 ` [PATCH v1 1/1] drm/i915: override LT's default Vswing / Pre-emphasis when requested Michał Grzelak
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Michał Grzelak @ 2026-11-03  0:15 UTC (permalink / raw)
  To: intel-gfx, intel-xe
  Cc: Suraj Kandpal, Jani Nikula, Michał Grzelak,
	Michał Grzelak

This patch continues on series [1]. NVL+ support has been excluded
from past series due to missing columns in VBT#57. With that fixed
support for NVL+ can follow.

IGT part v7 is available at [2].

I have stripped Suraj's R-B trailer since it is a new series and the
patch has changed overall.

Loaded xe with custom VBT on NVL. Block 57 has been filled with default
register values for NVL from kernel.

Dump of Block 57 decoded with [2] of VBT under test:

Block 57 min size 2 less than block size 962
BDB block 57 (962 bytes, min 2 bytes) - Vswing Preemph:
        Number of vswing tables: 3
        Number of columns: 5
        Number of rows: 16
        PHY type: LT
        Vswing Table #1 (eDP):
                Preset #01: txswing: 0x0000000c, txswing_level: 0x00000000, main-cursor: 0x00000000, pre-cursor: 0x00000001, post-cursor: 0x00000000
                Preset #02: txswing: 0x0000000d, txswing_level: 0x00000000, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #03: txswing: 0x0000000f, txswing_level: 0x00000000, main-cursor: 0x00000003, pre-cursor: 0x00000001, post-cursor: 0x00000002
                Preset #04: txswing: 0x00000013, txswing_level: 0x00000000, main-cursor: 0x00000007, pre-cursor: 0x00000001, post-cursor: 0x00000003
                Preset #05: txswing: 0x0000000e, txswing_level: 0x00000000, main-cursor: 0x00000000, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #06: txswing: 0x00000010, txswing_level: 0x00000000, main-cursor: 0x00000002, pre-cursor: 0x00000001, post-cursor: 0x00000002
                Preset #07: txswing: 0x00000015, txswing_level: 0x00000000, main-cursor: 0x00000005, pre-cursor: 0x00000001, post-cursor: 0x00000003
                Preset #08: txswing: 0x00000012, txswing_level: 0x00000000, main-cursor: 0x00000000, pre-cursor: 0x00000001, post-cursor: 0x00000002
                Preset #09: txswing: 0x00000016, txswing_level: 0x00000000, main-cursor: 0x00000004, pre-cursor: 0x00000001, post-cursor: 0x00000003
                Preset #10: txswing: 0x0000001a, txswing_level: 0x00000000, main-cursor: 0x00000000, pre-cursor: 0x00000001, post-cursor: 0x00000003
                Preset #11: txswing: 0x00000000, txswing_level: 0x00000000, main-cursor: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #12: txswing: 0x00000000, txswing_level: 0x00000000, main-cursor: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #13: txswing: 0x00000000, txswing_level: 0x00000000, main-cursor: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #14: txswing: 0x00000000, txswing_level: 0x00000000, main-cursor: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #15: txswing: 0x00000000, txswing_level: 0x00000000, main-cursor: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
                Preset #16: txswing: 0x00000000, txswing_level: 0x00000000, main-cursor: 0x00000000, pre-cursor: 0x00000000, post-cursor: 0x00000000
        Vswing Table #2 (DP 1.4):
                Preset #01: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #02: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #03: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #04: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #05: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #06: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #07: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #08: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #09: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #10: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #11: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #12: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #13: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #14: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #15: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
                Preset #16: txswing: 0x00000001, txswing_level: 0x00000001, main-cursor: 0x00000001, pre-cursor: 0x00000001, post-cursor: 0x00000001
        Vswing Table #3 (DP 2.0):
                Preset #01: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #02: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #03: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #04: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #05: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #06: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #07: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #08: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #09: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #10: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #11: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #12: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #13: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #14: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #15: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002
                Preset #16: txswing: 0x00000002, txswing_level: 0x00000002, main-cursor: 0x00000002, pre-cursor: 0x00000002, post-cursor: 0x00000002

BR,
Michał

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

Michał Grzelak (1):
  drm/i915: override LT's default Vswing / Pre-emphasis when requested

 drivers/gpu/drm/i915/display/intel_bios.c     | 46 +++++++++++++++++++
 drivers/gpu/drm/i915/display/intel_bios.h     |  3 ++
 .../drm/i915/display/intel_ddi_buf_trans.c    | 16 +++++++
 3 files changed, 65 insertions(+)

-- 
2.45.2


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

end of thread, other threads:[~2026-11-03  3:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-03  0:15 [PATCH v1 0/1] drm/i915: LT's support for Vswing / Pre-emphasis Override Michał Grzelak
2026-11-03  0:15 ` [PATCH v1 1/1] drm/i915: override LT's default Vswing / Pre-emphasis when requested Michał Grzelak
2026-11-03  0:31   ` sashiko-bot
2026-11-03  1:32 ` ✓ i915.CI.BAT: success for drm/i915: LT's support for Vswing / Pre-emphasis Override Patchwork
2026-11-03  3:22 ` ✗ i915.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