drm/i915: DP_PIPE_ENABLED must check transcoder on CPT
authorKeith Packard <keithp@keithp.com>
Tue, 26 Jul 2011 05:12:43 +0000 (22:12 -0700)
committerKeith Packard <keithp@keithp.com>
Thu, 28 Jul 2011 22:47:22 +0000 (15:47 -0700)
commitf0575e92974d328e8816ed89704c985a7d7d90ac
tree15bc2e0bf6bb8138685117432ddc72ac2bbf2568
parent59f3e272d788305e16098f0b18309919c9216d67
drm/i915: DP_PIPE_ENABLED must check transcoder on CPT

Display port pipe selection on CPT is not done with a bit in the
output register, rather it is controlled by a couple of bits in the
separate transcoder register which indicate which display port output
is connected to the transcoder.

This patch replaces the simplistic macro DP_PIPE_ENABLED with the
rather more complicated function dp_pipe_enabled which checks the
output register to see if that is enabled, and then goes on to either
check the output register pipe selection bit (on non-CPT) or the
transcoder DP selection bits (on CPT).

Before this patch, any time the mode of pipe A was changed, any
display port outputs on pipe B would get disabled as
intel_disable_pch_ports would ensure that the mode setting operation
could occur on pipe A without interference from other outputs
connected to that pch port

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_display.c