drm/i915: don't save/restore backlight hist ctl registers
authorJani Nikula <jani.nikula@intel.com>
Wed, 12 Nov 2014 14:25:43 +0000 (16:25 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 14 Nov 2014 09:29:28 +0000 (10:29 +0100)
This is not used within the driver, and merely saving/restoring these
registers isn't going to do any good anyway. In fact, it's possible it's
actively harmful. Any code enabling the feature should handle this
completely in the regular platform specific enable/disable backlight
functions.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_suspend.c
drivers/gpu/drm/i915/i915_ums.c

index 45ca10937e3e465b134a4f904ebbbb5d97c63784..3f3035ce30e69b3915514c3ba1d39e0c051f7e4f 100644 (file)
@@ -799,7 +799,6 @@ struct i915_suspend_saved_registers {
        u32 saveBLC_HIST_CTL;
        u32 saveBLC_PWM_CTL;
        u32 saveBLC_PWM_CTL2;
-       u32 saveBLC_HIST_CTL_B;
        u32 saveBLC_CPU_PWM_CTL;
        u32 saveBLC_CPU_PWM_CTL2;
        u32 saveFPB0;
index df2b7f18a67995d126cc173c49b375d9f37a6285..3c1fccfacac118dcd3ee9376a919ab1b771c6ae1 100644 (file)
@@ -207,14 +207,8 @@ static void i915_save_display(struct drm_device *dev)
                dev_priv->regfile.savePP_CONTROL = I915_READ(PCH_PP_CONTROL);
                if (HAS_PCH_IBX(dev) || HAS_PCH_CPT(dev))
                        dev_priv->regfile.saveLVDS = I915_READ(PCH_LVDS);
-       } else if (IS_VALLEYVIEW(dev)) {
-               dev_priv->regfile.saveBLC_HIST_CTL =
-                       I915_READ(VLV_BLC_HIST_CTL(PIPE_A));
-               dev_priv->regfile.saveBLC_HIST_CTL_B =
-                       I915_READ(VLV_BLC_HIST_CTL(PIPE_B));
-       } else {
+       } else if (!IS_VALLEYVIEW(dev)) {
                dev_priv->regfile.savePP_CONTROL = I915_READ(PP_CONTROL);
-               dev_priv->regfile.saveBLC_HIST_CTL = I915_READ(BLC_HIST_CTL);
                if (IS_MOBILE(dev) && !IS_I830(dev))
                        dev_priv->regfile.saveLVDS = I915_READ(LVDS);
        }
@@ -262,13 +256,7 @@ static void i915_restore_display(struct drm_device *dev)
                I915_WRITE(PCH_PP_OFF_DELAYS, dev_priv->regfile.savePP_OFF_DELAYS);
                I915_WRITE(PCH_PP_DIVISOR, dev_priv->regfile.savePP_DIVISOR);
                I915_WRITE(PCH_PP_CONTROL, dev_priv->regfile.savePP_CONTROL);
-       } else if (IS_VALLEYVIEW(dev)) {
-               I915_WRITE(VLV_BLC_HIST_CTL(PIPE_A),
-                          dev_priv->regfile.saveBLC_HIST_CTL);
-               I915_WRITE(VLV_BLC_HIST_CTL(PIPE_B),
-                          dev_priv->regfile.saveBLC_HIST_CTL);
-       } else {
-               I915_WRITE(BLC_HIST_CTL, dev_priv->regfile.saveBLC_HIST_CTL);
+       } else if (!IS_VALLEYVIEW(dev)) {
                I915_WRITE(PP_ON_DELAYS, dev_priv->regfile.savePP_ON_DELAYS);
                I915_WRITE(PP_OFF_DELAYS, dev_priv->regfile.savePP_OFF_DELAYS);
                I915_WRITE(PP_DIVISOR, dev_priv->regfile.savePP_DIVISOR);
index 0e03c36107190ee8695395404584edb385e47183..d10fe3e9c49f69d8712d81e812e43dad68a3c273 100644 (file)
@@ -290,6 +290,7 @@ void i915_save_display_reg(struct drm_device *dev)
                dev_priv->regfile.saveBLC_PWM_CTL = I915_READ(BLC_PWM_CTL);
                if (INTEL_INFO(dev)->gen >= 4)
                        dev_priv->regfile.saveBLC_PWM_CTL2 = I915_READ(BLC_PWM_CTL2);
+               dev_priv->regfile.saveBLC_HIST_CTL = I915_READ(BLC_HIST_CTL);
        }
 
        return;
@@ -319,6 +320,7 @@ void i915_restore_display_reg(struct drm_device *dev)
                if (INTEL_INFO(dev)->gen >= 4)
                        I915_WRITE(BLC_PWM_CTL2, dev_priv->regfile.saveBLC_PWM_CTL2);
                I915_WRITE(BLC_PWM_CTL, dev_priv->regfile.saveBLC_PWM_CTL);
+               I915_WRITE(BLC_HIST_CTL, dev_priv->regfile.saveBLC_HIST_CTL);
        }
 
        /* Panel fitter */