drm/i915: Fix SKL i_boost level

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: default avatarAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Reviewed-by: default avatarJim 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
parent ca1283d5
...@@ -2085,21 +2085,21 @@ static void skl_ddi_set_iboost(struct drm_device *dev, u32 level, ...@@ -2085,21 +2085,21 @@ static void skl_ddi_set_iboost(struct drm_device *dev, u32 level,
iboost = dp_iboost; iboost = dp_iboost;
} else { } else {
ddi_translations = skl_get_buf_trans_dp(dev, &n_entries); 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) { } else if (type == INTEL_OUTPUT_EDP) {
if (dp_iboost) { if (dp_iboost) {
iboost = dp_iboost; iboost = dp_iboost;
} else { } else {
ddi_translations = skl_get_buf_trans_edp(dev, &n_entries); 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) { } else if (type == INTEL_OUTPUT_HDMI) {
if (hdmi_iboost) { if (hdmi_iboost) {
iboost = hdmi_iboost; iboost = hdmi_iboost;
} else { } else {
ddi_translations = skl_get_buf_trans_hdmi(dev, &n_entries); ddi_translations = skl_get_buf_trans_hdmi(dev, &n_entries);
iboost = ddi_translations[port].i_boost; iboost = ddi_translations[level].i_boost;
} }
} else { } else {
return; return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment