From: Uma Shankar <[email protected]>

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 <[email protected]>
---
 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

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to