drm/i915: Get rid of crtc_state->fb_changed
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Fri, 20 Sep 2019 11:42:18 +0000 (13:42 +0200)
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Wed, 25 Sep 2019 11:30:13 +0000 (13:30 +0200)
We had this as an optimization to not do a plane update, but we killed
it off because there are so many reasons we may have to do a plane
update or fastset that it's best to just assume everything changed.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190920114235.22411-6-maarten.lankhorst@linux.intel.com
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
drivers/gpu/drm/i915/display/intel_atomic.c
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_display_types.h

index 698802d..f7a981f 100644 (file)
@@ -199,7 +199,6 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
        crtc_state->disable_cxsr = false;
        crtc_state->update_wm_pre = false;
        crtc_state->update_wm_post = false;
-       crtc_state->fb_changed = false;
        crtc_state->fifo_changed = false;
        crtc_state->wm.need_postvbl_update = false;
        crtc_state->fb_bits = 0;
index 31698a5..292be4b 100644 (file)
@@ -11582,7 +11582,6 @@ int intel_plane_atomic_calc_changes(const struct intel_crtc_state *old_crtc_stat
        bool was_crtc_enabled = old_crtc_state->base.active;
        bool is_crtc_enabled = crtc_state->base.active;
        bool turn_off, turn_on, visible, was_visible;
-       struct drm_framebuffer *fb = plane_state->base.fb;
        int ret;
 
        if (INTEL_GEN(dev_priv) >= 9 && plane->id != PLANE_CURSOR) {
@@ -11616,18 +11615,11 @@ int intel_plane_atomic_calc_changes(const struct intel_crtc_state *old_crtc_stat
        if (!was_visible && !visible)
                return 0;
 
-       if (fb != old_plane_state->base.fb)
-               crtc_state->fb_changed = true;
-
        turn_off = was_visible && (!visible || mode_changed);
        turn_on = visible && (!was_visible || mode_changed);
 
-       DRM_DEBUG_ATOMIC("[CRTC:%d:%s] has [PLANE:%d:%s] with fb %i\n",
+       DRM_DEBUG_ATOMIC("[CRTC:%d:%s] with [PLANE:%d:%s] visible %i -> %i, off %i, on %i, ms %i\n",
                         crtc->base.base.id, crtc->base.name,
-                        plane->base.base.id, plane->base.name,
-                        fb ? fb->base.id : -1);
-
-       DRM_DEBUG_ATOMIC("[PLANE:%d:%s] visible %i -> %i, off %i, on %i, ms %i\n",
                         plane->base.base.id, plane->base.name,
                         was_visible, visible,
                         turn_off, turn_on, mode_changed);
index 6b0a646..a33644f 100644 (file)
@@ -766,7 +766,6 @@ struct intel_crtc_state {
        bool update_pipe; /* can a fast modeset be performed? */
        bool disable_cxsr;
        bool update_wm_pre, update_wm_post; /* watermarks are updated */
-       bool fb_changed; /* fb on any of the planes is changed */
        bool fifo_changed; /* FIFO split is changed */
 
        /* Pipe source size (ie. panel fitter input size)