diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2011-10-11 13:43:02 -0400 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-10-21 02:21:56 -0400 |
commit | d4270e57efe9e2536798c59e1ed2fd0a1e5cdfcf (patch) | |
tree | 7f274fbd8a757d08947c8633a79b9ad4c6f85cae /drivers/gpu/drm/i915/intel_dp.c | |
parent | d64311ab4bd8d1c1e984ce3f0e772266dde95380 (diff) |
drm/i915: export a CPT mode set verification function
At the point where we check, we can't do much about the failure, but it
can aid debugging. Note that the auto-train override bit will be reset
as part of normal mode setting with this patch if a pipe ever does get
stuck, but that's consistent with the workaround for CPT provided by the
hardware team. This patch helped catch the fact that the pipe wasn't
running in the !composite sync FDI case on my IVB SDV, so has already
shown to be useful.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Tested-By: Eugeni Dodonov <eugeni.dodonov@intel.com>
Reviewed-By: Eugeni Dodonov <eugeni.dodonov@intel.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 3009d2aaaa3a..74c835272292 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
@@ -1191,6 +1191,8 @@ static void intel_dp_prepare(struct drm_encoder *encoder) | |||
1191 | static void intel_dp_commit(struct drm_encoder *encoder) | 1191 | static void intel_dp_commit(struct drm_encoder *encoder) |
1192 | { | 1192 | { |
1193 | struct intel_dp *intel_dp = enc_to_intel_dp(encoder); | 1193 | struct intel_dp *intel_dp = enc_to_intel_dp(encoder); |
1194 | struct drm_device *dev = encoder->dev; | ||
1195 | struct intel_crtc *intel_crtc = to_intel_crtc(intel_dp->base.base.crtc); | ||
1194 | 1196 | ||
1195 | ironlake_edp_panel_vdd_on(intel_dp); | 1197 | ironlake_edp_panel_vdd_on(intel_dp); |
1196 | intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON); | 1198 | intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON); |
@@ -1202,6 +1204,9 @@ static void intel_dp_commit(struct drm_encoder *encoder) | |||
1202 | ironlake_edp_backlight_on(intel_dp); | 1204 | ironlake_edp_backlight_on(intel_dp); |
1203 | 1205 | ||
1204 | intel_dp->dpms_mode = DRM_MODE_DPMS_ON; | 1206 | intel_dp->dpms_mode = DRM_MODE_DPMS_ON; |
1207 | |||
1208 | if (HAS_PCH_CPT(dev)) | ||
1209 | intel_cpt_verify_modeset(dev, intel_crtc->pipe); | ||
1205 | } | 1210 | } |
1206 | 1211 | ||
1207 | static void | 1212 | static void |