Check if port uses vswing/preemph override tables. Print info about port
when requested.

Signed-off-by: Michał Grzelak <[email protected]>
---
 drivers/gpu/drm/i915/display/intel_bios.c | 11 +++++++++++
 drivers/gpu/drm/i915/display/intel_bios.h |  1 +
 2 files changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_bios.c 
b/drivers/gpu/drm/i915/display/intel_bios.c
index f88f330d21ae..6c618f17f772 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -2764,6 +2764,11 @@ static void print_ddi_port(const struct 
intel_bios_encoder_data *devdata)
                            "Port %c supports dynamic DDI allocation in TCSS\n",
                            port_name(port));
 
+       if (intel_bios_encoder_overrides_vswing(devdata))
+               drm_dbg_kms(display->drm,
+                           "Port %c overrides VBT vswing/preemphasis tables\n",
+                           port_name(port));
+
        hdmi_level_shift = intel_bios_hdmi_level_shift(devdata);
        if (hdmi_level_shift >= 0) {
                drm_dbg_kms(display->drm,
@@ -3795,6 +3800,12 @@ bool intel_bios_encoder_supports_tbt(const struct 
intel_bios_encoder_data *devda
        return devdata->display->vbt.version >= 209 && devdata->child.tbt;
 }
 
+bool intel_bios_encoder_overrides_vswing(const struct intel_bios_encoder_data 
*devdata)
+{
+       return devdata->display->vbt.version >= 218 &&
+               devdata->child.use_vbt_vswing;
+}
+
 bool intel_bios_encoder_is_dedicated_external(const struct 
intel_bios_encoder_data *devdata)
 {
        return devdata->display->vbt.version >= 264 &&
diff --git a/drivers/gpu/drm/i915/display/intel_bios.h 
b/drivers/gpu/drm/i915/display/intel_bios.h
index 75dff27b4228..50c8fc91fbe8 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.h
+++ b/drivers/gpu/drm/i915/display/intel_bios.h
@@ -73,6 +73,7 @@ bool intel_bios_get_dsc_params(struct intel_encoder *encoder,
 const struct intel_bios_encoder_data *
 intel_bios_encoder_data_lookup(struct intel_display *display, enum port port);
 
+bool intel_bios_encoder_overrides_vswing(const struct intel_bios_encoder_data 
*devdata);
 bool intel_bios_encoder_supports_dvi(const struct intel_bios_encoder_data 
*devdata);
 bool intel_bios_encoder_supports_hdmi(const struct intel_bios_encoder_data 
*devdata);
 bool intel_bios_encoder_supports_dp(const struct intel_bios_encoder_data 
*devdata);
-- 
2.45.2

Reply via email to