drm/i915/fbc: Nuke fbc.enabled
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 27 Nov 2019 20:12:18 +0000 (22:12 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 9 Dec 2019 14:10:58 +0000 (16:10 +0200)
fbc.enabled == (fbc.crtc != NULL), so let's just nuke fbc.enabled.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191127201222.16669-11-ville.syrjala@linux.intel.com
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
drivers/gpu/drm/i915/display/intel_fbc.c
drivers/gpu/drm/i915/i915_drv.h

index 79218a2..3ade7e6 100644 (file)
@@ -840,7 +840,7 @@ void intel_fbc_pre_update(struct intel_crtc *crtc,
 
        mutex_lock(&fbc->lock);
 
-       if (!fbc->enabled || fbc->crtc != crtc)
+       if (fbc->crtc != crtc)
                goto unlock;
 
        intel_fbc_update_state_cache(crtc, crtc_state, plane_state);
@@ -864,14 +864,13 @@ static void __intel_fbc_disable(struct drm_i915_private *dev_priv)
        struct intel_crtc *crtc = fbc->crtc;
 
        WARN_ON(!mutex_is_locked(&fbc->lock));
-       WARN_ON(!fbc->enabled);
+       WARN_ON(!fbc->crtc);
        WARN_ON(fbc->active);
 
        DRM_DEBUG_KMS("Disabling FBC on pipe %c\n", pipe_name(crtc->pipe));
 
        __intel_fbc_cleanup_cfb(dev_priv);
 
-       fbc->enabled = false;
        fbc->crtc = NULL;
 }
 
@@ -882,7 +881,7 @@ static void __intel_fbc_post_update(struct intel_crtc *crtc)
 
        WARN_ON(!mutex_is_locked(&fbc->lock));
 
-       if (!fbc->enabled || fbc->crtc != crtc)
+       if (fbc->crtc != crtc)
                return;
 
        fbc->flip_pending = false;
@@ -922,7 +921,7 @@ void intel_fbc_post_update(struct intel_crtc *crtc)
 
 static unsigned int intel_fbc_get_frontbuffer_bit(struct intel_fbc *fbc)
 {
-       if (fbc->enabled)
+       if (fbc->crtc)
                return to_intel_plane(fbc->crtc->base.primary)->frontbuffer_bit;
        else
                return fbc->possible_framebuffer_bits;
@@ -944,7 +943,7 @@ void intel_fbc_invalidate(struct drm_i915_private *dev_priv,
 
        fbc->busy_bits |= intel_fbc_get_frontbuffer_bit(fbc) & frontbuffer_bits;
 
-       if (fbc->enabled && fbc->busy_bits)
+       if (fbc->crtc && fbc->busy_bits)
                intel_fbc_deactivate(dev_priv, "frontbuffer write");
 
        mutex_unlock(&fbc->lock);
@@ -965,7 +964,7 @@ void intel_fbc_flush(struct drm_i915_private *dev_priv,
        if (origin == ORIGIN_GTT || origin == ORIGIN_FLIP)
                goto out;
 
-       if (!fbc->busy_bits && fbc->enabled &&
+       if (!fbc->busy_bits && fbc->crtc &&
            (frontbuffer_bits & intel_fbc_get_frontbuffer_bit(fbc))) {
                if (fbc->active)
                        intel_fbc_recompress(dev_priv);
@@ -1061,8 +1060,7 @@ void intel_fbc_enable(struct intel_crtc *crtc,
 
        mutex_lock(&fbc->lock);
 
-       if (fbc->enabled) {
-               WARN_ON(fbc->crtc == NULL);
+       if (fbc->crtc) {
                if (fbc->crtc == crtc) {
                        WARN_ON(!crtc_state->enable_fbc);
                        WARN_ON(fbc->active);
@@ -1074,7 +1072,6 @@ void intel_fbc_enable(struct intel_crtc *crtc,
                goto out;
 
        WARN_ON(fbc->active);
-       WARN_ON(fbc->crtc != NULL);
 
        intel_fbc_update_state_cache(crtc, crtc_state, plane_state);
 
@@ -1099,7 +1096,6 @@ void intel_fbc_enable(struct intel_crtc *crtc,
        DRM_DEBUG_KMS("Enabling FBC on pipe %c\n", pipe_name(crtc->pipe));
        fbc->no_fbc_reason = "FBC enabled but not active yet\n";
 
-       fbc->enabled = true;
        fbc->crtc = crtc;
 out:
        mutex_unlock(&fbc->lock);
@@ -1139,7 +1135,7 @@ void intel_fbc_global_disable(struct drm_i915_private *dev_priv)
                return;
 
        mutex_lock(&fbc->lock);
-       if (fbc->enabled) {
+       if (fbc->crtc) {
                WARN_ON(fbc->crtc->active);
                __intel_fbc_disable(dev_priv);
        }
@@ -1155,7 +1151,7 @@ static void intel_fbc_underrun_work_fn(struct work_struct *work)
        mutex_lock(&fbc->lock);
 
        /* Maybe we were scheduled twice. */
-       if (fbc->underrun_detected || !fbc->enabled)
+       if (fbc->underrun_detected || !fbc->crtc)
                goto out;
 
        DRM_DEBUG_KMS("Disabling FBC due to FIFO underrun.\n");
@@ -1278,7 +1274,6 @@ void intel_fbc_init(struct drm_i915_private *dev_priv)
 
        INIT_WORK(&fbc->underrun_work, intel_fbc_underrun_work_fn);
        mutex_init(&fbc->lock);
-       fbc->enabled = false;
        fbc->active = false;
 
        if (!drm_mm_initialized(&dev_priv->mm.stolen))
index 4b2d090..729f542 100644 (file)
@@ -373,7 +373,6 @@ struct intel_fbc {
 
        bool false_color;
 
-       bool enabled;
        bool active;
        bool flip_pending;