drm/i915/eDP: do not write power sequence registers for ghost eDP
authorJani Nikula <jani.nikula@intel.com>
Wed, 16 Jan 2013 08:53:40 +0000 (10:53 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 16 Jan 2013 09:23:01 +0000 (10:23 +0100)
commitf30d26e468322b50d5e376bec40658683aff8ece
treedfcb6c81c81d29aab7bb1cc19b57c52d7cd9b5f2
parent0f3b6849dd55943d915f4b461d7db5e8308d4083
drm/i915/eDP: do not write power sequence registers for ghost eDP

Some machines detect an eDP port even if it's not really there, and eDP
initialization has a fail path for this. Typically such machines have an
LVDS display instead. A regression introduced in

commit 82ed61fa1a4e08d5f9e86fb1b715b50ed678b6ac
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Sat Oct 20 20:57:41 2012 +0200

    drm/i915: make edp panel power sequence setup more robust

updated the power sequence registers PCH_PP_ON_DELAYS, PCH_PP_OFF_DELAYS,
and PCH_PP_DIVISOR also in the ghost eDP case, messing up the LVDS display.

Split the power sequencer initialization into two, delaying the register
updates until after we know the eDP is real.

Note: Keep the PP_CONTROL unlocking in the first part, even if it does not
update registers, per the commit message of the above mentioned commit.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=52601
Reported-and-tested-by: Ryan Coe <ryan@rycomotorsports.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_dp.c