drm/i915: Extract bdw_get_buf_trans_edp()
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 12 Jul 2016 12:59:36 +0000 (15:59 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 2 Aug 2016 12:09:20 +0000 (15:09 +0300)
Make the BDW and SKL code a bit more similar by extracting the
low vswing handling for BDW into a helper, as we already have
it like that for SKL+.

Cc: Mika Kahola <mika.kahola@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1468328376-6380-10-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Imre Deak <imre.deak@intel.com>
drivers/gpu/drm/i915/intel_ddi.c

index c581751a645acb76e01a5b286ce5bcc683e824bc..fc2ef2d76091aea201b8af3ca7e3cac4996f36b9 100644 (file)
@@ -319,6 +319,18 @@ enum port intel_ddi_get_encoder_port(struct intel_encoder *encoder)
        }
 }
 
+static const struct ddi_buf_trans *
+bdw_get_buf_trans_edp(struct drm_i915_private *dev_priv, int *n_entries)
+{
+       if (dev_priv->vbt.edp.low_vswing) {
+               *n_entries = ARRAY_SIZE(bdw_ddi_translations_edp);
+               return bdw_ddi_translations_edp;
+       } else {
+               *n_entries = ARRAY_SIZE(bdw_ddi_translations_dp);
+               return bdw_ddi_translations_dp;
+       }
+}
+
 static const struct ddi_buf_trans *
 skl_get_buf_trans_dp(struct drm_i915_private *dev_priv, int *n_entries)
 {
@@ -436,13 +448,7 @@ void intel_prepare_dp_ddi_buffers(struct intel_encoder *encoder)
        } else if (IS_BROADWELL(dev_priv)) {
                ddi_translations_fdi = bdw_ddi_translations_fdi;
                ddi_translations_dp = bdw_ddi_translations_dp;
-               if (dev_priv->vbt.edp.low_vswing) {
-                       ddi_translations_edp = bdw_ddi_translations_edp;
-                       n_edp_entries = ARRAY_SIZE(bdw_ddi_translations_edp);
-               } else {
-                       ddi_translations_edp = bdw_ddi_translations_dp;
-                       n_edp_entries = ARRAY_SIZE(bdw_ddi_translations_dp);
-               }
+               ddi_translations_edp = bdw_get_buf_trans_edp(dev_priv, &n_edp_entries);
                n_dp_entries = ARRAY_SIZE(bdw_ddi_translations_dp);
        } else if (IS_HASWELL(dev_priv)) {
                ddi_translations_fdi = hsw_ddi_translations_fdi;