[Intel-gfx] [PATCH 04/11] CHROMIUM: drm/i915/vlv: Initialize pipe B backlight to A's value
clinton.a.taylor at intel.com
clinton.a.taylor at intel.com
Wed Jul 16 23:49:40 CEST 2014
From: Ben Widawsky <benjamin.widawsky at intel.com>
Not sure if this is needed or not. The code still falls back to a
potentially bad value if PIPE_A was not set.
Signed-off-by: Ben Widawsky <ben at bwidawsk.net>
Signed-off-by: Wayne Boyer <wayne.boyer at intel.com>
Change-Id: I54eb5d4d9fd93e86878c9fa1daec19bdb6b3bd0b
Reviewed-on: https://chromium-review.googlesource.com/196605
Reviewed-by: Aaron Durbin <adurbin at chromium.org>
Tested-by: Wayne Boyer <wayne.boyer at intel.com>
Commit-Queue: Wayne Boyer <wayne.boyer at intel.com>
Conflicts:
drivers/gpu/drm/i915/intel_panel.c
---
drivers/gpu/drm/i915/intel_panel.c | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 40e0cb08..b3327d0 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1080,15 +1080,24 @@ static int vlv_setup_backlight(struct intel_connector *connector)
u32 ctl, ctl2, val;
for_each_pipe(pipe) {
- u32 cur_val = I915_READ(VLV_BLC_PWM_CTL(pipe));
+ u32 duty = I915_READ(VLV_BLC_PWM_CTL(pipe)) & BACKLIGHT_DUTY_CYCLE_MASK;
+ u32 freq = I915_READ(VLV_BLC_PWM_CTL(pipe)) & ~BACKLIGHT_DUTY_CYCLE_MASK;
- /* Skip if the modulation freq is already set */
- if (cur_val & ~BACKLIGHT_DUTY_CYCLE_MASK)
+ if (freq) {
+ /* Skip if the modulation freq is already set */
continue;
+ }
+
+ if (WARN_ON(pipe == PIPE_A)) {
+ /* Assume BLC for pipe A is the default. Therefore, A
+ * must be non-zero. */
+ freq = (VLV_DEFAULT_BACKLIGHT_MOD_FREQ << 16);
+ } else
+ freq = I915_READ(VLV_BLC_PWM_CTL(PIPE_A)) & ~BACKLIGHT_DUTY_CYCLE_MASK;
- cur_val &= BACKLIGHT_DUTY_CYCLE_MASK;
- I915_WRITE(VLV_BLC_PWM_CTL(pipe), (0xf42 << 16) |
- cur_val);
+ if (WARN_ON(freq == 0))
+ freq = (VLV_DEFAULT_BACKLIGHT_MOD_FREQ << 16);
+ I915_WRITE(VLV_BLC_PWM_CTL(pipe), freq | duty);
}
ctl2 = I915_READ(VLV_BLC_PWM_CTL2(PIPE_A));
--
1.7.9.5
More information about the Intel-gfx
mailing list