]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/bxt: Fix PPS lost state after suspend breaking eDP link training
authorImre Deak <imre.deak@intel.com>
Thu, 16 Jun 2016 13:37:20 +0000 (16:37 +0300)
committerImre Deak <imre.deak@intel.com>
Wed, 22 Jun 2016 16:15:41 +0000 (19:15 +0300)
commit2d57673f5719607cf5bad07116d177689b20cb09
treea3afeaf0eb0bf41338e51a4515d5894aeb613915
parent709702ecfd8b29953341f44978cb04aab6e46409
drm/i915/bxt: Fix PPS lost state after suspend breaking eDP link training

The PPS registers are backed by power well #0 and as such may be reset
after system or runtime suspend (both implying a possible DC9
transition). Fix this by reusing the VLV/CHV PPS pipe-reassignment
logic. The difference on BXT is that the PPS instances are not pipe but
port (or more accurately pin) specific, so we only need to care about
the lost HW state. As opposed to VLV/CHV the SW state is fixed and
initialized during connector init.

This also paves the way towards using the actual port->PPS instance
mapping based on VBT.

This fixes eDP link training errors on BXT after suspend, where we
started the link training too early due to an incorrect T3 (panel power
on) register value.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96436
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1466084243-5388-2-git-send-email-imre.deak@intel.com
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_runtime_pm.c