drm/i915/lvds: Connect the PWM to the LVDS pipe
... and do not just assume to always use pipe B. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
b9e68670cc
commit
17fe698110
|
@ -1012,10 +1012,18 @@ bool intel_lvds_init(struct drm_device *dev)
|
||||||
out:
|
out:
|
||||||
if (HAS_PCH_SPLIT(dev)) {
|
if (HAS_PCH_SPLIT(dev)) {
|
||||||
u32 pwm;
|
u32 pwm;
|
||||||
/* make sure PWM is enabled */
|
|
||||||
|
pipe = (I915_READ(PCH_LVDS) & LVDS_PIPEB_SELECT) ? 1 : 0;
|
||||||
|
|
||||||
|
/* make sure PWM is enabled and locked to the LVDS pipe */
|
||||||
pwm = I915_READ(BLC_PWM_CPU_CTL2);
|
pwm = I915_READ(BLC_PWM_CPU_CTL2);
|
||||||
pwm |= (PWM_ENABLE | PWM_PIPE_B);
|
if (pipe == 0 && (pwm & PWM_PIPE_B))
|
||||||
I915_WRITE(BLC_PWM_CPU_CTL2, pwm);
|
I915_WRITE(BLC_PWM_CPU_CTL2, pwm & ~PWM_ENABLE);
|
||||||
|
if (pipe)
|
||||||
|
pwm |= PWM_PIPE_B;
|
||||||
|
else
|
||||||
|
pwm &= ~PWM_PIPE_B;
|
||||||
|
I915_WRITE(BLC_PWM_CPU_CTL2, pwm | PWM_ENABLE);
|
||||||
|
|
||||||
pwm = I915_READ(BLC_PWM_PCH_CTL1);
|
pwm = I915_READ(BLC_PWM_PCH_CTL1);
|
||||||
pwm |= PWM_PCH_ENABLE;
|
pwm |= PWM_PCH_ENABLE;
|
||||||
|
|
Loading…
Reference in New Issue