diff --git a/tools/intel_vbt_decode.c b/tools/intel_vbt_decode.c index cee1d5196a9ada55ac1a8e0dfa34dc441c3881e7..1fb83225357af593a457b4ea7a55c892f26d989d 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++) + printf("\tToggle list #%d: %s (0x%04x)\n", + i+1, child_device_handle(context, t->list[i]), + t->list[i]); +} + static void dump_legacy_child_devices(struct context *context, const struct bdb_block *block) { @@ -2727,6 +2743,11 @@ struct dumper dumpers[] = { .name = "General definitions block", .dump = dump_general_definitions, }, + { + .id = BDB_DISPLAY_TOGGLE, + .name = "Display toggle option block", + .dump = dump_display_toggle, + }, { .id = BDB_PSR, .min_bdb_version = 165,