summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2022-03-12 13:19:16 +0200
committerVille Syrjälä <ville.syrjala@linux.intel.com>2022-06-22 15:38:52 +0300
commitd9635b344c0b9b4302cd3c1ba2310e2ec5261711 (patch)
treed73e172e30e3dae300f6054f2ecb4595f206745a
parent364533f8f449bd097fe403922ebd31b22314bcaf (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.c33
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])