[igt-dev] [PATCH i-g-t 00/23] tools/intel_vbt_decode: Improve the parser
Ville Syrjala
ville.syrjala at linux.intel.com
Tue Jun 14 23:30:37 UTC 2022
From: Ville Syrjälä <ville.syrjala at linux.intel.com>
Change the igt VBT parser to make copies of the BDB data blocks
(just as we do in the kernel parser now). This makes it less
hazardous/confusing if your block definition don't happent to
match reality.
Eg. with the current scheme we could very easily misinterpret
random bits from other blocks/etc. as our block data by just
using an overly large structure for decoding. With the block
copies being at least as big as out struct definitions the
worst that can happen is that we just decode some extra zeroes
rather than some random other bits.
The other thing I'm bringing over is the data pointer generation
stuff for modern VBTS (which lack the LFP data table pointes block).
That lets us keep decoding the LFP data block in exactly the
same way on old and new VBTs.
And naturally we have massive gaps in what data the tool actually
parses from the VBT. So lots of patches to just parse more stuff.
I didn't do an exhaustive study on this topic, so still probably
missing some useful things.
Ville Syrjälä (23):
tools/intel_vbt_decode: update vbt defs from kernel
tools/intel_vbt_decode: Decode more DVO ports
tools/intel_vbt_decode: Decode mode HDMI data rates
tools/intel_vbt_decode: Clean up SSC freq decoding
tools/intel_vbt_decode: Decode DP max link rate
tools/intel_vbt_decode: Unify panel type handling
tools/intel_vbt_decode: Dump the block size
tools/intel_vbt_decode: Decode the LFP power block
tools/intel_vbt_decode: Dump the LVDS panel options
tools/intel_vbt_decode: Decode new fast link training rate
tools/intel_vbt_decode: Parse the old fast link training rate
correctly
tools/intel_vbt_decode: Parse the new eDP max link rate
tools/intel_vbt_decode: Include BDB block header in hex dump
tools/intel_vbt_decode: Make copies of the BDB blocks
tools/intel_vbt_decode: Specify a minimum size for the BDB block copy
tools/intel_vbt_decode: Convert LFP data pointers to be relative to
the data block
tools/intel_vbt_decode: Simplify LVDS data block parsing
tools/intel_vbt_decode: Dump the panel PNP ID
tools/intel_vbt_decode: Decode the end of the LFP data
tools/intel_vbt_decode: Dump the LVDS data ptrs
tools/intel_vbt_decode: Validate LVDS data table pointers
tools/intel_vbt_decode: Generate LVDS data table pointes if not
provided
tools/intel_vbt_decode: Warn if we lack the full definiton of the BDB
block
tools/intel_vbt_decode.c | 919 ++++++++++++++++++++++++++++++++++-----
tools/intel_vbt_defs.h | 254 ++++++++---
2 files changed, 1018 insertions(+), 155 deletions(-)
--
2.35.1
More information about the igt-dev
mailing list