In some cases, BIOS doesn't initializes DSI panel.DSI and
backlight registers are thereby not initialized. Programming
the same in driver backlight setup.

Signed-off-by: Uma Shankar <uma.shan...@intel.com>
---
 drivers/gpu/drm/i915/i915_reg.h    |    3 +++
 drivers/gpu/drm/i915/intel_panel.c |   11 +++++++++++
 2 files changed, 14 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 8407b5c..10f73b1 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -7166,6 +7166,9 @@ enum skl_disp_power_wells {
 #define  TRANS_MSA_12_BPC              (3<<5)
 #define  TRANS_MSA_16_BPC              (4<<5)
 
+/* Max CDCLK freq for BXT in HZ */
+#define BXT_CDCLK_MAX                   624000000
+
 /* LCPLL Control */
 #define LCPLL_CTL                      0x130040
 #define  LCPLL_PLL_DISABLE             (1<<31)
diff --git a/drivers/gpu/drm/i915/intel_panel.c 
b/drivers/gpu/drm/i915/intel_panel.c
index 9fcf86c..8225cea 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1427,6 +1427,17 @@ bxt_setup_backlight(struct intel_connector *connector, 
enum pipe unused)
        panel->backlight.max = I915_READ(
                        BXT_BLC_PWM_FREQ(panel->backlight.controller));
 
+       if (!panel->backlight.max) {
+               DRM_DEBUG_KMS("PWM freq not programmed by BIOS\n");
+               DRM_DEBUG_KMS("Programming PWM freq\n");
+
+               /* Max Backlight = Max CD Clock / pwm freq) */
+               panel->backlight.max = (BXT_CDCLK_MAX /
+                               dev_priv->vbt.backlight.pwm_freq_hz);
+               I915_WRITE(BXT_BLC_PWM_FREQ(panel->backlight.controller),
+                               panel->backlight.max);
+       }
+
        val = bxt_get_backlight(connector);
        panel->backlight.level = intel_panel_compute_brightness(connector, val);
 
-- 
1.7.9.5

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to