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. 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(-) -- 2.43.2