OSDN Git Service

drm/i915: Fix SKL i_boost level
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Wed, 11 Nov 2015 13:15:54 +0000 (15:15 +0200)
committerAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Fri, 13 Nov 2015 09:50:45 +0000 (11:50 +0200)
The i_boost level in the DDI translation tables are stored per level.
However, skl_ddi_set_iboos() would choose an entry of that table based
on the port argument.

Cc: Jim Bride <jim.bride@linux.intel.com>
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Reviewed-by: Jim Bride <jim.bride@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1447247754-802-1-git-send-email-ander.conselvan.de.oliveira@intel.com
drivers/gpu/drm/i915/intel_ddi.c

index da46edd..8cfdad2 100644 (file)
@@ -2085,21 +2085,21 @@ static void skl_ddi_set_iboost(struct drm_device *dev, u32 level,
                        iboost = dp_iboost;
                } else {
                        ddi_translations = skl_get_buf_trans_dp(dev, &n_entries);
-                       iboost = ddi_translations[port].i_boost;
+                       iboost = ddi_translations[level].i_boost;
                }
        } else if (type == INTEL_OUTPUT_EDP) {
                if (dp_iboost) {
                        iboost = dp_iboost;
                } else {
                        ddi_translations = skl_get_buf_trans_edp(dev, &n_entries);
-                       iboost = ddi_translations[port].i_boost;
+                       iboost = ddi_translations[level].i_boost;
                }
        } else if (type == INTEL_OUTPUT_HDMI) {
                if (hdmi_iboost) {
                        iboost = hdmi_iboost;
                } else {
                        ddi_translations = skl_get_buf_trans_hdmi(dev, &n_entries);
-                       iboost = ddi_translations[port].i_boost;
+                       iboost = ddi_translations[level].i_boost;
                }
        } else {
                return;