[Intel-gfx] [PATCH 03/14] drm/i915: Fix PLL 8x/3 divider for MIPI video mode

Vidya Srinivas vidya.srinivas at intel.com
Mon Jan 9 09:15:45 UTC 2017


From: Uma Shankar <uma.shankar at intel.com>

MIPI Video Mode for high res panels (requiring dual link), need a
8X/3 divider to be programmed as 0x2. Modifying the same
in this patch.

Signed-off-by: Uma Shankar <uma.shankar at intel.com>
---
 drivers/gpu/drm/i915/intel_dsi_pll.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dsi_pll.c b/drivers/gpu/drm/i915/intel_dsi_pll.c
index 61440e5..8b4fcc2 100644
--- a/drivers/gpu/drm/i915/intel_dsi_pll.c
+++ b/drivers/gpu/drm/i915/intel_dsi_pll.c
@@ -416,11 +416,13 @@ static void bxt_dsi_program_clocks(struct drm_device *dev, enum port port,
 	rx_div_lower = rx_div & RX_DIVIDER_BIT_1_2;
 	rx_div_upper = (rx_div & RX_DIVIDER_BIT_3_4) >> 2;
 
-	/* As per bpsec program the 8/3X clock divider to the below value */
-	if (dev_priv->vbt.dsi.config->is_cmd_mode)
-		mipi_8by3_divider = 0x2;
-	else
-		mipi_8by3_divider = 0x3;
+	/*
+	 * As per bpsec program the 8/3X clock divider to the below value
+	 * The Value of 0x2 only, works for dual link Video Mode. 0x3 mentioned
+	 * in bspec causes garbage screen and corrupted display. Programming it
+	 * as 0x2 for both video and command mode.
+	 */
+	mipi_8by3_divider = 0x2;
 
 	tmp |= BXT_MIPI_8X_BY3_DIVIDER(port, mipi_8by3_divider);
 	tmp |= BXT_MIPI_TX_ESCLK_DIVIDER(port, tx_div);
-- 
1.9.1



More information about the Intel-gfx mailing list