]> git.karo-electronics.de Git - linux-beck.git/commitdiff
drm/i915/fbc: set fbc->active from the new activation functions
authorPaulo Zanoni <paulo.r.zanoni@intel.com>
Fri, 29 Jan 2016 20:57:40 +0000 (18:57 -0200)
committerPaulo Zanoni <paulo.r.zanoni@intel.com>
Thu, 4 Feb 2016 16:18:22 +0000 (14:18 -0200)
Now that we have top-level gen-independent hw_activate and
hw_deactivate functions, set fbc->active directly from them, removing
the duplicated code.

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1454101060-23198-3-git-send-email-paulo.r.zanoni@intel.com
drivers/gpu/drm/i915/intel_fbc.c

index 8d3caf26fc53f563d5ef1eb486f8c3b48c142931..3614a951736b395ed5e615beb881a0ec7ee51631 100644 (file)
@@ -115,8 +115,6 @@ static void i8xx_fbc_deactivate(struct drm_i915_private *dev_priv)
 {
        u32 fbc_ctl;
 
-       dev_priv->fbc.active = false;
-
        /* Disable compression */
        fbc_ctl = I915_READ(FBC_CONTROL);
        if ((fbc_ctl & FBC_CTL_EN) == 0)
@@ -139,8 +137,6 @@ static void i8xx_fbc_activate(struct drm_i915_private *dev_priv)
        int i;
        u32 fbc_ctl;
 
-       dev_priv->fbc.active = true;
-
        /* Note: fbc.threshold == 1 for i8xx */
        cfb_pitch = params->cfb_size / FBC_LL_SIZE;
        if (params->fb.stride < cfb_pitch)
@@ -187,8 +183,6 @@ static void g4x_fbc_activate(struct drm_i915_private *dev_priv)
        struct intel_fbc_reg_params *params = &dev_priv->fbc.params;
        u32 dpfc_ctl;
 
-       dev_priv->fbc.active = true;
-
        dpfc_ctl = DPFC_CTL_PLANE(params->crtc.plane) | DPFC_SR_EN;
        if (drm_format_plane_cpp(params->fb.pixel_format, 0) == 2)
                dpfc_ctl |= DPFC_CTL_LIMIT_2X;
@@ -206,8 +200,6 @@ static void g4x_fbc_deactivate(struct drm_i915_private *dev_priv)
 {
        u32 dpfc_ctl;
 
-       dev_priv->fbc.active = false;
-
        /* Disable compression */
        dpfc_ctl = I915_READ(DPFC_CONTROL);
        if (dpfc_ctl & DPFC_CTL_EN) {
@@ -234,8 +226,6 @@ static void ilk_fbc_activate(struct drm_i915_private *dev_priv)
        u32 dpfc_ctl;
        int threshold = dev_priv->fbc.threshold;
 
-       dev_priv->fbc.active = true;
-
        dpfc_ctl = DPFC_CTL_PLANE(params->crtc.plane);
        if (drm_format_plane_cpp(params->fb.pixel_format, 0) == 2)
                threshold++;
@@ -274,8 +264,6 @@ static void ilk_fbc_deactivate(struct drm_i915_private *dev_priv)
 {
        u32 dpfc_ctl;
 
-       dev_priv->fbc.active = false;
-
        /* Disable compression */
        dpfc_ctl = I915_READ(ILK_DPFC_CONTROL);
        if (dpfc_ctl & DPFC_CTL_EN) {
@@ -295,8 +283,6 @@ static void gen7_fbc_activate(struct drm_i915_private *dev_priv)
        u32 dpfc_ctl;
        int threshold = dev_priv->fbc.threshold;
 
-       dev_priv->fbc.active = true;
-
        dpfc_ctl = 0;
        if (IS_IVYBRIDGE(dev_priv))
                dpfc_ctl |= IVB_DPFC_CTL_PLANE(params->crtc.plane);
@@ -355,6 +341,10 @@ static bool intel_fbc_hw_is_active(struct drm_i915_private *dev_priv)
 
 static void intel_fbc_hw_activate(struct drm_i915_private *dev_priv)
 {
+       struct intel_fbc *fbc = &dev_priv->fbc;
+
+       fbc->active = true;
+
        if (INTEL_INFO(dev_priv)->gen >= 7)
                gen7_fbc_activate(dev_priv);
        else if (INTEL_INFO(dev_priv)->gen >= 5)
@@ -367,6 +357,10 @@ static void intel_fbc_hw_activate(struct drm_i915_private *dev_priv)
 
 static void intel_fbc_hw_deactivate(struct drm_i915_private *dev_priv)
 {
+       struct intel_fbc *fbc = &dev_priv->fbc;
+
+       fbc->active = false;
+
        if (INTEL_INFO(dev_priv)->gen >= 5)
                ilk_fbc_deactivate(dev_priv);
        else if (IS_GM45(dev_priv))