diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2022-03-12 13:19:16 +0200 |
---|---|---|
committer | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2022-06-22 15:38:52 +0300 |
commit | d9635b344c0b9b4302cd3c1ba2310e2ec5261711 (patch) | |
tree | d73e172e30e3dae300f6054f2ecb4595f206745a | |
parent | 364533f8f449bd097fe403922ebd31b22314bcaf (diff) |
tools/intel_vbt_decode: Dump the LVDS data ptrs
Decoede the LVDS data pointers. The offsets are specificed from
the start of the whole VBT, but we've fixed them up to be relative
to the start of the block already. For human parsing printing
them as relative from the start of the block seems more useful
anywya.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-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]) |