drm/i915: Read DRRS MSA timing delay from VBT
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 10 Mar 2022 00:47:53 +0000 (02:47 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 10 Mar 2022 15:03:45 +0000 (17:03 +0200)
VBT hsa a field for the MSA timing delay, which supposedly
should be used with DRRS. Extract the data from the VBT.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220310004802.16310-5-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_bios.c
drivers/gpu/drm/i915/i915_drv.h

index a559a19..93dc32f 100644 (file)
@@ -888,6 +888,9 @@ parse_edp(struct drm_i915_private *i915, const struct bdb_header *bdb)
                        i915->vbt.edp.low_vswing = vswing == 0;
                }
        }
+
+       i915->vbt.edp.drrs_msa_timing_delay =
+               (edp->sdrrs_msa_timing_delay >> (panel_type * 2)) & 3;
 }
 
 static void
index 29cc6f7..6b22d46 100644 (file)
@@ -356,10 +356,11 @@ struct intel_vbt_data {
                int lanes;
                int preemphasis;
                int vswing;
-               bool low_vswing;
-               bool initialized;
                int bpp;
                struct edp_power_seq pps;
+               u8 drrs_msa_timing_delay;
+               bool low_vswing;
+               bool initialized;
                bool hobl;
        } edp;