Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[pandora-kernel.git] / drivers / gpu / drm / i915 / intel_crt.c
index d03fc05..e93f93c 100644 (file)
@@ -305,13 +305,11 @@ static bool intel_crt_detect_ddc(struct drm_connector *connector)
 }
 
 static enum drm_connector_status
-intel_crt_load_detect(struct drm_crtc *crtc, struct intel_crt *crt)
+intel_crt_load_detect(struct intel_crt *crt)
 {
-       struct drm_encoder *encoder = &crt->base.base;
-       struct drm_device *dev = encoder->dev;
+       struct drm_device *dev = crt->base.base.dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
-       struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
-       uint32_t pipe = intel_crtc->pipe;
+       uint32_t pipe = to_intel_crtc(crt->base.base.crtc)->pipe;
        uint32_t save_bclrpat;
        uint32_t save_vtotal;
        uint32_t vtotal, vactive;
@@ -432,7 +430,6 @@ intel_crt_detect(struct drm_connector *connector, bool force)
        struct drm_device *dev = connector->dev;
        struct intel_crt *crt = intel_attached_crt(connector);
        struct drm_crtc *crtc;
-       int dpms_mode;
        enum drm_connector_status status;
 
        if (I915_HAS_HOTPLUG(dev)) {
@@ -454,17 +451,18 @@ intel_crt_detect(struct drm_connector *connector, bool force)
        /* for pre-945g platforms use load detect */
        crtc = crt->base.base.crtc;
        if (crtc && crtc->enabled) {
-               status = intel_crt_load_detect(crtc, crt);
+               status = intel_crt_load_detect(crt);
        } else {
-               crtc = intel_get_load_detect_pipe(&crt->base, connector,
-                                                 NULL, &dpms_mode);
-               if (crtc) {
+               struct intel_load_detect_pipe tmp;
+
+               if (intel_get_load_detect_pipe(&crt->base, connector, NULL,
+                                              &tmp)) {
                        if (intel_crt_detect_ddc(connector))
                                status = connector_status_connected;
                        else
-                               status = intel_crt_load_detect(crtc, crt);
-                       intel_release_load_detect_pipe(&crt->base,
-                                                      connector, dpms_mode);
+                               status = intel_crt_load_detect(crt);
+                       intel_release_load_detect_pipe(&crt->base, connector,
+                                                      &tmp);
                } else
                        status = connector_status_unknown;
        }