On Fri, 03 May 2024, Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > I got curious about what gems (or turds) might be hiding > inside the BDB blocks we aren't parsing. So I undertook the > effort to dig up the definition for pretty much all of them. > > Unfortunately I didn't find anything really interesting, but > might as well stick the definitions into the header for > posterity. And I do have a followup to intel_vbt_decode to > parse pretty much everything. > > I left out a few VBIOS only blocks, as well as the obsolete > compression parameters block. > > The details were dug up from varius sources: > - some came from various copies of the spec > - some were derived from VBIOS sources > - some I just had to reverse engineer by hand > > And I still have a few VBTs with a bunch of completely unknown > blocks: one VLV with blocks 60-65, and one ADL with block 212. > No clue as of now what those might be. I R-b'd the ones that I could quickly look up and bothered to review, and the rest is Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx> for merging. > > Ville Syrjälä (35): > drm/i915/bios: Define eDP DSC disable bit > drm/i915/bios: Remove version number comment from DEVICE_HANDLE_EFP4 > drm/i915/bios: Indicate which VBT structures are based on EDID > drm/i915/bios: Get rid of "LVDS" from all LFP data stuff > drm/i915/bios: Rename SDVO DTD blocks a bit > drm/i915/bios: Define "TV" child device handle > drm/i915/bios: Flag "VBIOS only" VBT data blocks > drm/i915/bios: Add version notes for some blocks > drm/i915/bios: Define VBT block 3 (Display Toggle Option) contents > drm/i915/bios: Define VBT block 4 (Mode Support List) contents > drm/i915/bios: Define VBT block 5 (Generic Mode Table) > drm/i915/bios: Define VBT blocks 6,7,8 (register tables) contents > drm/i915/bios: Define VBT block 10 (Mode Removal Table) contents > drm/i915/bios: Define VBT block 12 (Driver Persistent Algorithm) > contents > drm/i915/bios: Define VBT block 15 (Dot Clock Override Table) contents > drm/i915/bios: Define ALM only VBT block 9 contents > drm/i915/bios: Define VBT block 17 (SV Test Functions) contents > drm/i915/bios: Define VBT block 18 (Driver Rotation) contents > drm/i915/bios: Define VBT blocks 16,29,31 (Toggle List) contents > drm/i915/bios: Define VBT blocks 19,30,32 (Display Configuration > Removal Table) contents > drm/i915/bios: Define VBT block 20 (OEM Customizable Modes) contents > drm/i915/bios: Define VBT block 21 (EFP List) contents > drm/i915/bios: Define VBT block 24 (SDVO LVDS PnP ID) contents > drm/i915/bios: Define VBT block 25 (SDVO LVDS PPS) contents > drm/i915/bios: Define VBT block 26 (TV Options) contents > drm/i915/bios: Define VBT block 28 (EFP DTD) contents > drm/i915/bios: Define VBT block 45 (eDP BFI) contents > drm/i915/bios: Define VBT block 46 (Chromaticity For Narrow Gamut > Panel) contents > drm/i915/bios: Define VBT block 51 (Fixed Set Mode Table) contents > drm/i915/bios: Define VBT block 55 (RGB Palette Table) contents > drm/i915/bios: Define VBT block 57 (Vswing PreEmphasis Table) contents > drm/i915/bios: Define VBT block 50 (MIPI) contents > drm/i915/bios: Define VBT block 55 (Compression Parameters) > drm/i915/bios: Define VBT block 252 (int15 Hook) > drm/i915/bios: Define VBT block 253 (PRD Table) contents > > drivers/gpu/drm/i915/display/intel_bios.c | 229 +++--- > .../drm/i915/display/intel_display_types.h | 2 +- > drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 2 +- > drivers/gpu/drm/i915/display/intel_panel.c | 2 +- > drivers/gpu/drm/i915/display/intel_vbt_defs.h | 714 +++++++++++++++--- > 5 files changed, 742 insertions(+), 207 deletions(-) -- Jani Nikula, Intel