drm/i915: Fix the IBX transcoder B workarounds
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 5 May 2015 14:17:34 +0000 (17:17 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 21 May 2015 21:07:45 +0000 (23:07 +0200)
commit1612c8bd4cef20dd06e8622bb8ab9bbe9f90c0e5
treec4bfdf1a397a069bcdc6ef4629cea4dd72065d93
parente8504ee293f62b380b55b727d2da7aa429db8f8d
drm/i915: Fix the IBX transcoder B workarounds

Currently the IBX transcoder B workarounds are not working correctly.
Well, the HDMI one seems to be working somewhat, but the DP one is
definitely busted.

After a bit of experimentation it looks like the best way to make this
work is first disable the port on transcoder B, and then re-enable it
transcoder A, and immediately disable it again.

We can also clean up the code by noting that we can't be called without
a valid crtc. And also note that port A on ILK does not need the
workaround, so let's check for that one too.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_dp.c
drivers/gpu/drm/i915/intel_hdmi.c
drivers/gpu/drm/i915/intel_sdvo.c