summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2024-05-02 16:19:42 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2024-06-13 20:12:16 +0300
commit0188b3aa75219447911981f7be9195ffc075fbe2 (patch)
tree7683b0c0325f97e1300d6bf67725b80bd0002d11 /tools
parent2d67abdafb5b463203c154a72d130e7def696cae (diff)
tools/intel_vbt_decode: Decode block 4 (Mode Support List)
Decode VBT block 4 (Mode Support List). The contents are just some kind of list of "Intel mode numbers" (whateer those are). Example output: BDB block 4 (28 bytes, min 2 bytes) - Mode support list: 0000: 04 1c 00 30 32 34 36 38 3a 3c 40 42 44 46 48 4a 0010: 4c 50 52 54 56 58 5a 5c 80 81 82 83 84 1a 00 Intel mode numbers: 0x30 ... 0x84 Mode list length: 26 Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Acked-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/intel_vbt_decode.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/intel_vbt_decode.c b/tools/intel_vbt_decode.c
index 1fb832253..b7ff59b19 100644
--- a/tools/intel_vbt_decode.c
+++ b/tools/intel_vbt_decode.c
@@ -318,6 +318,8 @@ static size_t block_min_size(const struct context *context, int section_id)
return sizeof(struct bdb_general_definitions);
case BDB_DISPLAY_TOGGLE:
return sizeof(struct bdb_display_toggle);
+ case BDB_MODE_SUPPORT_LIST:
+ return sizeof(struct bdb_mode_support_list);
case BDB_PSR:
return sizeof(struct bdb_psr);
case BDB_CHILD_DEVICE_TABLE:
@@ -1265,6 +1267,20 @@ static void dump_display_toggle(struct context *context,
t->list[i]);
}
+static void dump_mode_support_list(struct context *context,
+ const struct bdb_block *block)
+{
+ const struct bdb_mode_support_list *l =
+ block_data(block) + block->size - sizeof(*l);
+ const uint8_t *mode_number = block_data(block);
+
+ printf("\tIntel mode numbers:\n");
+ for (int i = 0; i < l->mode_list_length; i++)
+ printf("\t\t0x%02x\n", mode_number[i]);
+
+ printf("\tMode list length: %d\n", l->mode_list_length);
+}
+
static void dump_legacy_child_devices(struct context *context,
const struct bdb_block *block)
{
@@ -2749,6 +2765,11 @@ struct dumper dumpers[] = {
.dump = dump_display_toggle,
},
{
+ .id = BDB_MODE_SUPPORT_LIST,
+ .name = "Mode support list",
+ .dump = dump_mode_support_list,
+ },
+ {
.id = BDB_PSR,
.min_bdb_version = 165,
.name = "PSR block",