drm/i915: Use atomic state in tv load detection.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1455697119-31416-4-git-send-email-maarten.lankhorst@linux.intel.com
This commit is contained in:
Maarten Lankhorst 2016-02-17 09:18:37 +01:00
parent c8ecb2f162
commit 0eadc62462
1 changed files with 4 additions and 7 deletions

View File

@ -1182,10 +1182,9 @@ static int
intel_tv_detect_type(struct intel_tv *intel_tv, intel_tv_detect_type(struct intel_tv *intel_tv,
struct drm_connector *connector) struct drm_connector *connector)
{ {
struct drm_encoder *encoder = &intel_tv->base.base; struct drm_crtc *crtc = connector->state->crtc;
struct drm_crtc *crtc = encoder->crtc;
struct intel_crtc *intel_crtc = to_intel_crtc(crtc); struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
struct drm_device *dev = encoder->dev; struct drm_device *dev = connector->dev;
struct drm_i915_private *dev_priv = dev->dev_private; struct drm_i915_private *dev_priv = dev->dev_private;
u32 tv_ctl, save_tv_ctl; u32 tv_ctl, save_tv_ctl;
u32 tv_dac, save_tv_dac; u32 tv_dac, save_tv_dac;
@ -1234,8 +1233,7 @@ intel_tv_detect_type(struct intel_tv *intel_tv,
I915_WRITE(TV_DAC, tv_dac); I915_WRITE(TV_DAC, tv_dac);
POSTING_READ(TV_DAC); POSTING_READ(TV_DAC);
intel_wait_for_vblank(intel_tv->base.base.dev, intel_wait_for_vblank(dev, intel_crtc->pipe);
to_intel_crtc(intel_tv->base.base.crtc)->pipe);
type = -1; type = -1;
tv_dac = I915_READ(TV_DAC); tv_dac = I915_READ(TV_DAC);
@ -1265,8 +1263,7 @@ intel_tv_detect_type(struct intel_tv *intel_tv,
POSTING_READ(TV_CTL); POSTING_READ(TV_CTL);
/* For unknown reasons the hw barfs if we don't do this vblank wait. */ /* For unknown reasons the hw barfs if we don't do this vblank wait. */
intel_wait_for_vblank(intel_tv->base.base.dev, intel_wait_for_vblank(dev, intel_crtc->pipe);
to_intel_crtc(intel_tv->base.base.crtc)->pipe);
/* Restore interrupt config */ /* Restore interrupt config */
if (connector->polled & DRM_CONNECTOR_POLL_HPD) { if (connector->polled & DRM_CONNECTOR_POLL_HPD) {