diff options
Diffstat (limited to 'tools/intel_vbt_decode.c')
-rw-r--r-- | tools/intel_vbt_decode.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tools/intel_vbt_decode.c b/tools/intel_vbt_decode.c index 574aa255..29857e41 100644 --- a/tools/intel_vbt_decode.c +++ b/tools/intel_vbt_decode.c @@ -903,6 +903,39 @@ static void dump_lvds_ptr_data(struct context *context, const struct bdb_lvds_lfp_data_ptrs *ptrs = block_data(block); printf("\tNumber of entries: %d\n", ptrs->lvds_entries); + + for (int i = 0; i < 16; i++) { + if (i != context->panel_type && !context->dump_all_panel_types) + continue; + + printf("\tPanel %d%s\n", i, context->panel_type == i ? " *" : ""); + + if (ptrs->lvds_entries >= 1) { + printf("\t\tFP timing offset: %d\n", + ptrs->ptr[i].fp_timing.offset); + printf("\t\tFP timing table size: %d\n", + ptrs->ptr[i].fp_timing.table_size); + } + if (ptrs->lvds_entries >= 2) { + printf("\t\tDVO timing offset: %d\n", + ptrs->ptr[i].dvo_timing.offset); + printf("\t\tDVO timing table size: %d\n", + ptrs->ptr[i].dvo_timing.table_size); + } + if (ptrs->lvds_entries >= 3) { + printf("\t\tPanel PnP ID offset: %d\n", + ptrs->ptr[i].panel_pnp_id.offset); + printf("\t\tPanel PnP ID table size: %d\n", + ptrs->ptr[i].panel_pnp_id.table_size); + } + } + + if (ptrs->panel_name.table_size) { + printf("\tPanel name offset: %d\n", + ptrs->panel_name.offset); + printf("\tPanel name table size: %d\n", + ptrs->panel_name.table_size); + } } static char *decode_pnp_id(u16 mfg_name, char str[4]) |