[PATCH i-g-t 19/27] tools/intel_vbt_decode: Decode block 28 (EFP DTD)
Ville Syrjala
ville.syrjala at linux.intel.com
Fri Jun 7 13:57:50 UTC 2024
From: Ville Syrjälä <ville.syrjala at linux.intel.com>
Decode VBT block 28 (EFP DTD). Some kind of list of modes for EFPs.
These seem to be related to the "EDIDless EFP" stuff declared in
block 2.
Example output from HSW:
BDB block 28 (54 bytes, min 54 bytes) - EFP DTD:
0000: 1c 36 00 d6 09 80 90 20 e0 1d 10 08 60 22 00 00
0010: 00 00 00 00 1e d6 09 80 90 20 e0 1d 10 08 60 22
0020: 00 00 00 00 00 00 1e d6 09 80 90 20 e0 1d 10 08
0030: 60 22 00 00 00 00 00 00 1e
EFP DTD #1:
hdisplay: 640
hsync [648, 744] -sync
htotal: 784
vdisplay: 480
vsync [482, 484] -sync
vtotal: 509
clock: 25180
...
EFP DTD #3:
hdisplay: 640
hsync [648, 744] -sync
htotal: 784
vdisplay: 480
vsync [482, 484] -sync
vtotal: 509
clock: 25180
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
tools/intel_vbt_decode.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/tools/intel_vbt_decode.c b/tools/intel_vbt_decode.c
index e88216c30a69..75be36e49b3c 100644
--- a/tools/intel_vbt_decode.c
+++ b/tools/intel_vbt_decode.c
@@ -362,6 +362,8 @@ static size_t block_min_size(const struct context *context, int section_id)
return sizeof(struct bdb_tv_options);
case BDB_EDP:
return sizeof(struct bdb_edp);
+ case BDB_EFP_DTD:
+ return sizeof(struct bdb_efp_dtd);
case BDB_DISPLAY_SELECT_IVB:
return sizeof(struct bdb_display_select_ivb);
case BDB_DISPLAY_REMOVE_IVB:
@@ -2458,6 +2460,17 @@ static void dump_edp(struct context *context,
}
}
+static void dump_efp_dtd(struct context *context,
+ const struct bdb_block *block)
+{
+ const struct bdb_efp_dtd *efp = block_data(block);
+
+ for (int n = 0; n < ARRAY_SIZE(efp->dtd); n++) {
+ printf("\tEFP DTD #%d:\n", n + 1);
+ print_detail_timing_data(&efp->dtd[n]);
+ }
+}
+
static void dump_psr(struct context *context,
const struct bdb_block *block)
{
@@ -3502,6 +3515,11 @@ struct dumper dumpers[] = {
.name = "eDP block",
.dump = dump_edp,
},
+ {
+ .id = BDB_EFP_DTD,
+ .name = "EFP DTD",
+ .dump = dump_efp_dtd,
+ },
{
.id = BDB_DISPLAY_SELECT_IVB,
.name = "Display toggle list (IVB)",
--
2.44.2
More information about the igt-dev
mailing list