From: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: kamil.konieczny@linux.intel.com,
Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Subject: [PATCH i-g-t 1/2] tools/intel_vbt_decode: sync intel_vbt_defs.h with commit 4d33c77cf2c3
Date: Mon, 23 Feb 2026 09:38:58 +0530 [thread overview]
Message-ID: <20260223040859.1362813-2-ankit.k.nautiyal@intel.com> (raw)
In-Reply-To: <20260223040859.1362813-1-ankit.k.nautiyal@intel.com>
Synchronize intel_vbt_defs.h with kernel commit:
4d33c77cf2c3 ("drm/i915/vbt: Add eDP Data rate overrride field in VBT")
v2: Correct the commit id that matches with changes in intel_vbt_defs.h
(Kamil)
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
---
tools/intel_vbt_decode.c | 36 ++++++++++++++++++++++++++++++++++++
tools/intel_vbt_defs.h | 18 ++++++++++++++++++
2 files changed, 54 insertions(+)
diff --git a/tools/intel_vbt_decode.c b/tools/intel_vbt_decode.c
index d4aada743e42..6f6f70dcee63 100644
--- a/tools/intel_vbt_decode.c
+++ b/tools/intel_vbt_decode.c
@@ -1125,6 +1125,39 @@ static const char * const hdmi_frl_rate_str[] = {
[5] = "12 GT/s",
};
+static void dump_edp_data_rate_override(uint32_t edp_data_rate_override)
+{
+ int i;
+ static const uint32_t link_rates[BDB_263_VBT_EDP_NUM_RATES][2] = {
+ { BDB_263_VBT_EDP_LINK_RATE_1_62, 162000 },
+ { BDB_263_VBT_EDP_LINK_RATE_2_16, 216000 },
+ { BDB_263_VBT_EDP_LINK_RATE_2_43, 243000 },
+ { BDB_263_VBT_EDP_LINK_RATE_2_7, 270000 },
+ { BDB_263_VBT_EDP_LINK_RATE_3_24, 324000 },
+ { BDB_263_VBT_EDP_LINK_RATE_4_32, 432000 },
+ { BDB_263_VBT_EDP_LINK_RATE_5_4, 540000 },
+ { BDB_263_VBT_EDP_LINK_RATE_6_75, 675000 },
+ { BDB_263_VBT_EDP_LINK_RATE_8_1, 810000 },
+ { BDB_263_VBT_EDP_LINK_RATE_10, 1000000 },
+ { BDB_263_VBT_EDP_LINK_RATE_13_5, 1350000 },
+ { BDB_263_VBT_EDP_LINK_RATE_20, 2000000},
+ };
+
+ edp_data_rate_override &= BDB_263_VBT_EDP_RATES_MASK;
+
+ printf("\t\teDP data rate override:");
+
+ if (!edp_data_rate_override) {
+ printf("(none)\n");
+ return;
+ }
+ printf("\n");
+
+ for (i = 0; i < BDB_263_VBT_EDP_NUM_RATES; i++)
+ if (link_rates[i][0] & edp_data_rate_override)
+ printf("\t\t\t%d kbps\n", link_rates[i][1]);
+}
+
static void dump_child_device(struct context *context,
const struct child_device_config *child)
{
@@ -1285,6 +1318,9 @@ static void dump_child_device(struct context *context,
if (context->bdb->version >= 256)
printf("\t\tEFP panel index: %d\n", child->efp_index);
+
+ if (context->bdb->version >= 263)
+ dump_edp_data_rate_override(child->edp_data_rate_override);
}
static void dump_child_devices(struct context *context, const uint8_t *devices,
diff --git a/tools/intel_vbt_defs.h b/tools/intel_vbt_defs.h
index 6612d3a4ec49..932305df2320 100644
--- a/tools/intel_vbt_defs.h
+++ b/tools/intel_vbt_defs.h
@@ -437,6 +437,22 @@ enum vbt_gmbus_ddi {
#define BDB_230_VBT_DP_MAX_LINK_RATE_UHBR13P5 6
#define BDB_230_VBT_DP_MAX_LINK_RATE_UHBR20 7
+/* EDP link rate 263+ */
+#define BDB_263_VBT_EDP_LINK_RATE_1_62 (1 << 0)
+#define BDB_263_VBT_EDP_LINK_RATE_2_16 (1 << 1)
+#define BDB_263_VBT_EDP_LINK_RATE_2_43 (1 << 2)
+#define BDB_263_VBT_EDP_LINK_RATE_2_7 (1 << 3)
+#define BDB_263_VBT_EDP_LINK_RATE_3_24 (1 << 4)
+#define BDB_263_VBT_EDP_LINK_RATE_4_32 (1 << 5)
+#define BDB_263_VBT_EDP_LINK_RATE_5_4 (1 << 6)
+#define BDB_263_VBT_EDP_LINK_RATE_6_75 (1 << 7)
+#define BDB_263_VBT_EDP_LINK_RATE_8_1 (1 << 8)
+#define BDB_263_VBT_EDP_LINK_RATE_10 (1 << 9)
+#define BDB_263_VBT_EDP_LINK_RATE_13_5 (1 << 10)
+#define BDB_263_VBT_EDP_LINK_RATE_20 (1 << 11)
+#define BDB_263_VBT_EDP_NUM_RATES 12
+#define BDB_263_VBT_EDP_RATES_MASK 0xfff
+
/*
* The child device config, aka the display device data structure, provides a
* description of a port and its configuration on the platform.
@@ -547,6 +563,8 @@ struct child_device_config {
u8 dp_max_link_rate:3; /* 216+ */
u8 dp_max_link_rate_reserved:5; /* 216+ */
u8 efp_index; /* 256+ */
+ u32 edp_data_rate_override:12; /* 263+ */
+ u32 edp_data_rate_override_reserved:20; /* 263+ */
} __packed;
struct bdb_general_definitions {
--
2.45.2
next prev parent reply other threads:[~2026-02-23 4:24 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-23 4:08 [PATCH i-g-t 0/2] intel_vbt_decode: Sync intel_vbt_defs.h with latest changes Ankit Nautiyal
2026-02-23 4:08 ` Ankit Nautiyal [this message]
2026-02-23 6:41 ` [PATCH i-g-t 1/2] tools/intel_vbt_decode: sync intel_vbt_defs.h with commit 4d33c77cf2c3 Ville Syrjälä
2026-02-23 14:12 ` Nautiyal, Ankit K
2026-02-23 4:08 ` [PATCH i-g-t 2/2] tools/intel_vbt_decode: sync intel_vbt_defs.h with commit 1b85a9b04681 Ankit Nautiyal
2026-02-23 6:41 ` ✓ Xe.CI.BAT: success for intel_vbt_decode: Sync intel_vbt_defs.h with latest changes (rev2) Patchwork
2026-02-23 6:48 ` ✓ i915.CI.BAT: " Patchwork
2026-02-23 12:05 ` ✗ i915.CI.Full: failure " Patchwork
2026-02-23 19:45 ` ✗ Xe.CI.FULL: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260223040859.1362813-2-ankit.k.nautiyal@intel.com \
--to=ankit.k.nautiyal@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=kamil.konieczny@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox