[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