diff options
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 58f4b02151f2..33aaad30c0bc 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -9530,6 +9530,19 @@ static void i915_disable_vga(struct drm_device *dev) | |||
9530 | POSTING_READ(vga_reg); | 9530 | POSTING_READ(vga_reg); |
9531 | } | 9531 | } |
9532 | 9532 | ||
9533 | static void ivb_pch_pwm_override(struct drm_device *dev) | ||
9534 | { | ||
9535 | struct drm_i915_private *dev_priv = dev->dev_private; | ||
9536 | |||
9537 | /* | ||
9538 | * IVB has CPU eDP backlight regs too, set things up to let the | ||
9539 | * PCH regs control the backlight | ||
9540 | */ | ||
9541 | I915_WRITE(BLC_PWM_CPU_CTL2, PWM_ENABLE); | ||
9542 | I915_WRITE(BLC_PWM_CPU_CTL, 0); | ||
9543 | I915_WRITE(BLC_PWM_PCH_CTL1, PWM_ENABLE | (1<<30)); | ||
9544 | } | ||
9545 | |||
9533 | void intel_modeset_init_hw(struct drm_device *dev) | 9546 | void intel_modeset_init_hw(struct drm_device *dev) |
9534 | { | 9547 | { |
9535 | struct drm_i915_private *dev_priv = dev->dev_private; | 9548 | struct drm_i915_private *dev_priv = dev->dev_private; |
@@ -9545,6 +9558,9 @@ void intel_modeset_init_hw(struct drm_device *dev) | |||
9545 | gen6_enable_rps(dev_priv); | 9558 | gen6_enable_rps(dev_priv); |
9546 | gen6_update_ring_freq(dev_priv); | 9559 | gen6_update_ring_freq(dev_priv); |
9547 | } | 9560 | } |
9561 | |||
9562 | if (IS_IVYBRIDGE(dev)) | ||
9563 | ivb_pch_pwm_override(dev); | ||
9548 | } | 9564 | } |
9549 | 9565 | ||
9550 | void intel_modeset_init(struct drm_device *dev) | 9566 | void intel_modeset_init(struct drm_device *dev) |