]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
drm/i915: Check for eDP inside edp panel on/off funcs
authorKeith Packard <keithp@keithp.com>
Wed, 28 Sep 2011 23:23:51 +0000 (16:23 -0700)
committerKeith Packard <keithp@keithp.com>
Fri, 30 Sep 2011 23:23:46 +0000 (16:23 -0700)
Cleans up code dealing with eDP a bit. Remove redundant checks in
callers

Signed-off-by: Keith Packard <keithp@keithp.com>
drivers/gpu/drm/i915/intel_dp.c

index 9c2158c9c1377bf8d3e0db58265fd96c5f444e55..f80ff327d8737b9ff71cb784d6977baecb7c4249 100644 (file)
@@ -832,6 +832,8 @@ static void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp)
        struct drm_i915_private *dev_priv = dev->dev_private;
        u32 pp;
 
+       if (!is_edp(intel_dp))
+               return;
        /*
         * If the panel wasn't on, make sure there's not a currently
         * active PP sequence before enabling AUX VDD.
@@ -853,6 +855,8 @@ static void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp)
        struct drm_i915_private *dev_priv = dev->dev_private;
        u32 pp;
 
+       if (!is_edp(intel_dp))
+               return;
        pp = I915_READ(PCH_PP_CONTROL);
        pp &= ~PANEL_UNLOCK_MASK;
        pp |= PANEL_UNLOCK_REGS;
@@ -871,6 +875,8 @@ static bool ironlake_edp_panel_on (struct intel_dp *intel_dp)
        struct drm_i915_private *dev_priv = dev->dev_private;
        u32 pp, idle_on_mask = PP_ON | PP_SEQUENCE_STATE_ON_IDLE;
 
+       if (!is_edp(intel_dp))
+               return;
        if (I915_READ(PCH_PP_STATUS) & PP_ON)
                return true;
 
@@ -905,6 +911,8 @@ static void ironlake_edp_panel_off (struct drm_device *dev)
        u32 pp, idle_off_mask = PP_ON | PP_SEQUENCE_MASK |
                PP_CYCLE_DELAY_ACTIVE | PP_SEQUENCE_STATE_MASK;
 
+       if (!is_edp(intel_dp))
+               return;
        pp = I915_READ(PCH_PP_CONTROL);
        pp &= ~PANEL_UNLOCK_MASK;
        pp |= PANEL_UNLOCK_REGS;
@@ -1041,15 +1049,12 @@ static void intel_dp_commit(struct drm_encoder *encoder)
        struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
        struct drm_device *dev = encoder->dev;
 
-       if (is_edp(intel_dp))
-               ironlake_edp_panel_vdd_on(intel_dp);
+       ironlake_edp_panel_vdd_on(intel_dp);
 
        intel_dp_start_link_train(intel_dp);
 
-       if (is_edp(intel_dp)) {
-               ironlake_edp_panel_on(intel_dp);
-               ironlake_edp_panel_vdd_off(intel_dp);
-       }
+       ironlake_edp_panel_on(intel_dp);
+       ironlake_edp_panel_vdd_off(intel_dp);
 
        intel_dp_complete_link_train(intel_dp);
 
@@ -1072,20 +1077,16 @@ intel_dp_dpms(struct drm_encoder *encoder, int mode)
                        ironlake_edp_backlight_off(dev);
                intel_dp_sink_dpms(intel_dp, mode);
                intel_dp_link_down(intel_dp);
-               if (is_edp(intel_dp))
-                       ironlake_edp_panel_off(dev);
+               ironlake_edp_panel_off(dev);
                if (is_edp(intel_dp) && !is_pch_edp(intel_dp))
                        ironlake_edp_pll_off(encoder);
        } else {
-               if (is_edp(intel_dp))
-                       ironlake_edp_panel_vdd_on(intel_dp);
+               ironlake_edp_panel_vdd_on(intel_dp);
                intel_dp_sink_dpms(intel_dp, mode);
                if (!(dp_reg & DP_PORT_EN)) {
                        intel_dp_start_link_train(intel_dp);
-                       if (is_edp(intel_dp)) {
-                               ironlake_edp_panel_on(intel_dp);
-                               ironlake_edp_panel_vdd_off(intel_dp);
-                       }
+                       ironlake_edp_panel_on(intel_dp);
+                       ironlake_edp_panel_vdd_off(intel_dp);
                        intel_dp_complete_link_train(intel_dp);
                }
                if (is_edp(intel_dp))