diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2024-05-02 16:19:42 +0300 |
---|---|---|
committer | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2024-06-13 20:12:17 +0300 |
commit | 38148ed8bf6b56d0795f093000dcdb78073c0dd8 (patch) | |
tree | 86360ac087af52aa1d3d460c296433a007051fd3 /tools | |
parent | 0a3225cfeef3143e51a7ef1e17a3c0bea58b2ae9 (diff) |
tools/intel_vbt_decode: Decode block 26 (TV Options)
Decode VBT block 26 (TV Options). Nothing particularly interesting
in there for us.
Example output from CST:
BDB block 26 (2 bytes, min 2 bytes) - TV options:
0000: 1a 02 00 00 00
D connector support: no
Add modes to avoid overscan issue: no
Undescan/Overscan for HDTV via DVI: Neither
Undescan/Overscan for HDTV via component: Neither
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.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tools/intel_vbt_decode.c b/tools/intel_vbt_decode.c index 8213cda45..8aaf530f8 100644 --- a/tools/intel_vbt_decode.c +++ b/tools/intel_vbt_decode.c @@ -358,6 +358,8 @@ static size_t block_min_size(const struct context *context, int section_id) return sizeof(struct bdb_sdvo_lvds_pnp_id); case BDB_SDVO_LVDS_PPS: return sizeof(struct bdb_sdvo_lvds_pps); + case BDB_TV_OPTIONS: + return sizeof(struct bdb_tv_options); case BDB_EDP: return sizeof(struct bdb_edp); case BDB_DISPLAY_SELECT_IVB: @@ -2294,6 +2296,28 @@ static void dump_efp_list(struct context *context, } } +static const char * const underscan_overscan[] = { + "Neither", + "Underscan/Overscan", + "Overscan only", + "Underscan only", +}; + +static void dump_tv_options(struct context *context, + const struct bdb_block *block) +{ + const struct bdb_tv_options *tv = block_data(block); + + printf("\tD connector support: %s\n", + YESNO(tv->d_connector_support)); + printf("\tAdd modes to avoid overscan issue: %s\n", + YESNO(tv->add_modes_to_avoid_overscan_issue)); + printf("\tUndescan/Overscan for HDTV via DVI: %s\n", + underscan_overscan[tv->underscan_overscan_hdtv_dvi]); + printf("\tUndescan/Overscan for HDTV via component: %s\n", + underscan_overscan[tv->underscan_overscan_hdtv_component]); +} + static void dump_edp(struct context *context, const struct bdb_block *block) { @@ -3469,6 +3493,11 @@ struct dumper dumpers[] = { .dump = dump_sdvo_lvds_pps, }, { + .id = BDB_TV_OPTIONS, + .name = "TV options", + .dump = dump_tv_options, + }, + { .id = BDB_EDP, .name = "eDP block", .dump = dump_edp, |