From: "Michał Grzelak" <michal.grzelak@intel.com>
To: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Cc: "Michał Grzelak" <michal.grzelak@intel.com>
Subject: [RFC v1 02/11] drm/i915/bios: cache V/P Override block
Date: Sun, 8 Mar 2026 14:24:37 +0100 [thread overview]
Message-ID: <20260308132446.3320848-3-michal.grzelak@intel.com> (raw)
In-Reply-To: <20260308132446.3320848-1-michal.grzelak@intel.com>
Add field into VBT data structure for pointer to Block 57. Cache the
pointer into it during VBT parsing.
In case firmware lacks Block 57 it will not be found during
init_bdb_blocks(). In turn it will not be appended to ->vbt.bdb_blocks
list. Thus bdb_find_section() will set .vswing to NULL.
Init the field to NULL when no VBT was provided.
Signed-off-by: Michał Grzelak <michal.grzelak@intel.com>
---
drivers/gpu/drm/i915/display/intel_bios.c | 11 +++++++++++
drivers/gpu/drm/i915/display/intel_display_core.h | 2 ++
2 files changed, 13 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 5700de438fdf..ae33b93772ef 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -2185,6 +2185,15 @@ parse_compression_parameters(struct intel_display *display)
}
}
+static void
+cache_vswing_preemph_block(struct intel_display *display)
+{
+ const u32 *block;
+
+ block = bdb_find_section(display, BDB_VSWING_PREEMPH);
+ display->vbt.override_vswing = block;
+}
+
static u8 translate_iboost(struct intel_display *display, u8 val)
{
static const u8 mapping[] = { 1, 3, 7 }; /* See VBT spec */
@@ -3046,6 +3055,7 @@ init_vbt_missing_defaults(struct intel_display *display)
child->device_type, port_name(port));
}
+ display->vbt.override_vswing = NULL;
/* Bypass some minimum baseline VBT version checks */
display->vbt.version = 155;
}
@@ -3276,6 +3286,7 @@ void intel_bios_init(struct intel_display *display)
/* Depends on child device list */
parse_compression_parameters(display);
+ cache_vswing_preemph_block(display);
out:
if (!vbt) {
diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index d708d322aa85..f974df3becef 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -233,6 +233,8 @@ struct intel_vbt_data {
struct list_head display_devices;
struct list_head bdb_blocks;
+ const u32 *override_vswing;
+
struct sdvo_device_mapping {
u8 initialized;
u8 dvo_port;
--
2.45.2
next prev parent reply other threads:[~2026-03-08 13:25 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-08 13:24 [RFC v1 00/11] support for vswing/preemphasis override Michał Grzelak
2026-03-08 13:24 ` [RFC v1 01/11] drm/i915/bios: search for Block 57 by default Michał Grzelak
2026-03-08 13:24 ` Michał Grzelak [this message]
2026-03-08 13:24 ` [RFC v1 03/11] drm/i915/bios: remove V/P Override warning Michał Grzelak
2026-03-08 13:24 ` [RFC v1 04/11] drm/i915/bios: print V/P Override port info Michał Grzelak
2026-03-08 13:24 ` [RFC v1 05/11] drm/i915/buf_trans: add intel_dp_above_hbr1() helper Michał Grzelak
2026-03-11 9:17 ` Jani Nikula
2026-03-08 13:24 ` [RFC v1 06/11] drm/i915/buf_trans: add intel_edp_above_hbr2() helper Michał Grzelak
2026-03-11 9:19 ` Jani Nikula
2026-03-08 13:24 ` [RFC v1 07/11] drm/i915/lt: align xe3plpd with V/P Override layout Michał Grzelak
2026-03-08 13:24 ` [RFC v1 08/11] drm/i915/buf_trans: switch from u8 to u32 Michał Grzelak
2026-03-08 13:24 ` [RFC v1 09/11] drm/i915/xe3p: add V/P Override support for xe3p Michał Grzelak
2026-03-08 13:24 ` [RFC v1 10/11] drm/i915/dg2: warn on V/P Override request on dg2 Michał Grzelak
2026-03-08 13:24 ` [RFC v1 11/11] drm/i915/mtl: add V/P Override support for mtl+ Michał Grzelak
2026-03-11 9:51 ` Jani Nikula
2026-03-08 14:19 ` ✓ i915.CI.BAT: success for support for vswing/preemphasis override Patchwork
2026-03-08 16:09 ` ✗ i915.CI.Full: failure " 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=20260308132446.3320848-3-michal.grzelak@intel.com \
--to=michal.grzelak@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
/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