summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManasi Navare <manasi.d.navare@intel.com>2018-03-28 14:58:03 -0700
committerPaulo Zanoni <paulo.r.zanoni@intel.com>2018-04-30 16:16:17 -0700
commit36cf89f53b0ccdbd6bdaedfe1435a574609f0de5 (patch)
tree700f24b4e485dbe2f56890a31baaeb4f6d8644ab
parentfb5c8e9d4350cb20eba1d692213d9efbb7298256 (diff)
downloadop-kernel-dev-36cf89f53b0ccdbd6bdaedfe1435a574609f0de5.zip
op-kernel-dev-36cf89f53b0ccdbd6bdaedfe1435a574609f0de5.tar.gz
drm/i915/icl: Fix the DP Max Voltage for ICL
On clock recovery this function is called to find out the max voltage swing level that we could go. However gen 9 functions use the old buffer translation tables to figure that out. ICL uses different set of tables for eDP and DP for both Combo and MG PHY ports. This patch adds the hook for ICL for getting this information from appropriate buf trans tables. v5 (from Paulo): * New rebase after changes to earlier patches. v4: * Rebase. v3: * Follow the coding conventions here (https://cgit.freedesktop.org/drm-intel/tree/Documentation/process/codin g-style.rst#n191) (Paulo) v2: * Rebase after patch that adds voltage check inside buf trans function (Rodrigo) Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180328215803.13835-9-paulo.r.zanoni@intel.com
-rw-r--r--drivers/gpu/drm/i915/intel_ddi.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 0edbdb6..8225d22 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -2064,7 +2064,13 @@ u8 intel_ddi_dp_voltage_max(struct intel_encoder *encoder)
enum port port = encoder->port;
int n_entries;
- if (IS_CANNONLAKE(dev_priv)) {
+ if (IS_ICELAKE(dev_priv)) {
+ if (port == PORT_A || port == PORT_B)
+ icl_get_combo_buf_trans(dev_priv, port, encoder->type,
+ &n_entries);
+ else
+ n_entries = ARRAY_SIZE(icl_mg_phy_ddi_translations);
+ } else if (IS_CANNONLAKE(dev_priv)) {
if (encoder->type == INTEL_OUTPUT_EDP)
cnl_get_buf_trans_edp(dev_priv, &n_entries);
else
OpenPOWER on IntegriCloud