drm/i915: Clean up CHV lane soft reset programming
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 9 Jul 2015 17:14:11 +0000 (20:14 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 1 Sep 2015 09:43:37 +0000 (11:43 +0200)
commita8f327fb8464875e5b764008a1c50dbc0b384c17
tree863eabf12d14ca4dbed3b46e3a4bf1db83d892de
parent2bbe6bbb0dc94fd4ce287bdac9e1bd184e23057b
drm/i915: Clean up CHV lane soft reset programming

Currently we release the lane soft reset before lane stagger settings
have been programmed. I believe that means we don't actually do lane
staggering. So move the soft reset deassert to happen after lane
staggering has been programmed.

The one confusing thing in this is that when we remove the power down
override from the lanes, they power up with defaul register values,
which do not have the soft reset overrides enabled. And according to
some docs by default the data lane resets are tied to cmnreset. So that
would mean that lanes would come out of reset without staggering as
soon as the power down overrides are removed. But since we can't access
either the lane stagger register nor the soft reset override registers
until the lanes are powered on, we can't really do anything about it.
So let's just set the soft reset overrides as soon as the lane is
powered on and hope for the best.

v2: Fix typos in commit message (Daniel)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_hdmi.c