[PATCH 00/35] drm/i915/bios: Define (almost) all BDB blocks

Ville Syrjala ville.syrjala at linux.intel.com
Fri May 3 12:24:14 UTC 2024


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

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



More information about the Intel-gfx mailing list