[PATCH i-g-t 04/27] tools/intel_vbt_decode: Decode block 3 (Display Toggle Option)

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Jun 13 17:19:59 UTC 2024


On Thu, Jun 13, 2024 at 12:14:45PM +0300, Jani Nikula wrote:
> On Fri, 07 Jun 2024, Ville Syrjala <ville.syrjala at linux.intel.com> wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >
> > Decode VBT block 3 (Display Toggle Option).
> >
> > On ALM the block appears to contain some kind of actual toggle
> > list of child devices, on all more modern machines it just has
> > the feature bits.
> >
> > Example output from ALM:
> > BDB block 3 (27 bytes, min 3 bytes) - Display toggle option block:
> >         0000: 03 1b 00 00 0c 00 08 00  01 00 09 00 02 00 00 00
> >         0010: 00 00 00 00 00 00 00 00  00 00 00 00 00 00
> >
> >         Feature bits: 0x00
> >         Num entries: 12
> >         Toggle list #1: LFP1 (0x0008)
> >         Toggle list #2: CRT (0x0001)
> >         Toggle list #3: CRT,LFP1 (0x0009)
> >         Toggle list #4: TV (0x0002)
> >         Toggle list #5: none (0x0000)
> >         Toggle list #6: none (0x0000)
> >         Toggle list #7: none (0x0000)
> >         Toggle list #8: none (0x0000)
> >         Toggle list #9: none (0x0000)
> >         Toggle list #10: none (0x0000)
> >         Toggle list #11: none (0x0000)
> >         Toggle list #12: none (0x0000)
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > ---
> >  tools/intel_vbt_decode.c | 21 +++++++++++++++++++++
> >  1 file changed, 21 insertions(+)
> >
> > diff --git a/tools/intel_vbt_decode.c b/tools/intel_vbt_decode.c
> > index cee1d5196a9a..4281bd7e520e 100644
> > --- a/tools/intel_vbt_decode.c
> > +++ b/tools/intel_vbt_decode.c
> > @@ -316,6 +316,8 @@ static size_t block_min_size(const struct context *context, int section_id)
> >  		return sizeof(struct bdb_general_features);
> >  	case BDB_GENERAL_DEFINITIONS:
> >  		return sizeof(struct bdb_general_definitions);
> > +	case BDB_DISPLAY_TOGGLE:
> > +		return sizeof(struct bdb_display_toggle);
> >  	case BDB_PSR:
> >  		return sizeof(struct bdb_psr);
> >  	case BDB_CHILD_DEVICE_TABLE:
> > @@ -1249,6 +1251,20 @@ static void dump_general_definitions(struct context *context,
> >  			   child_dev_num, defs->child_dev_size);
> >  }
> >  
> > +static void dump_display_toggle(struct context *context,
> > +				const struct bdb_block *block)
> > +{
> > +	const struct bdb_display_toggle *t = block_data(block);
> > +
> > +	printf("\tFeature bits: 0x%02x\n", t->feature_bits);
> > +	printf("\tNum entries: %d\n", t->num_entries);
> > +
> > +	for (int i = 0 ; i < t->num_entries; i++)
> 
> Superfluous space before ; there. Seems to have been copy-pasted to a
> few patches in the series.

Fixed those up while pushing. Thanks.

-- 
Ville Syrjälä
Intel


More information about the igt-dev mailing list