The legacy watermark infrastructure is now unused, so remove it.

Changes since v1:
- Rebase on top of legacy_cursor_update fix.

Signed-off-by: Maarten Lankhorst <maarten.lankho...@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_drv.h      |  1 -
 drivers/gpu/drm/i915/intel_atomic.c  |  2 -
 drivers/gpu/drm/i915/intel_display.c | 74 ++----------------------------------
 drivers/gpu/drm/i915/intel_drv.h     |  2 -
 drivers/gpu/drm/i915/intel_pm.c      | 42 --------------------
 5 files changed, 4 insertions(+), 117 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 95a988b058f4..9da3fa7b7caa 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -710,7 +710,6 @@ struct drm_i915_display_funcs {
        void (*optimize_watermarks)(struct intel_atomic_state *state,
                                    struct intel_crtc_state *cstate);
        int (*compute_global_watermarks)(struct drm_atomic_state *state);
-       void (*update_wm)(struct intel_crtc *crtc);
        int (*modeset_calc_cdclk)(struct drm_atomic_state *state);
        /* Returns the active state of the crtc, and if the crtc is active,
         * fills out the pipe-config with the hw state. */
diff --git a/drivers/gpu/drm/i915/intel_atomic.c 
b/drivers/gpu/drm/i915/intel_atomic.c
index 36d4e635e4ce..e2b4ca518a04 100644
--- a/drivers/gpu/drm/i915/intel_atomic.c
+++ b/drivers/gpu/drm/i915/intel_atomic.c
@@ -173,8 +173,6 @@ intel_crtc_duplicate_state(struct drm_crtc *crtc)
        crtc_state->update_pipe = false;
        crtc_state->disable_lp_wm = false;
        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;
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index 3671d586003f..3717a006f911 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5036,8 +5036,6 @@ static void intel_post_plane_update(struct 
intel_crtc_state *old_crtc_state)
 
        intel_frontbuffer_flip(to_i915(crtc->base.dev), pipe_config->fb_bits);
 
-       if (pipe_config->update_wm_post && pipe_config->base.active)
-               intel_update_watermarks(crtc);
 
        if (old_pri_state) {
                struct intel_plane_state *primary_state =
@@ -5130,8 +5128,6 @@ static void intel_pre_plane_update(struct 
intel_crtc_state *old_crtc_state,
        if (dev_priv->display.initial_watermarks != NULL)
                dev_priv->display.initial_watermarks(old_intel_state,
                                                     pipe_config);
-       else if (pipe_config->update_wm_pre)
-               intel_update_watermarks(crtc);
 }
 
 static void intel_crtc_disable_planes(struct drm_crtc *crtc, unsigned 
plane_mask)
@@ -5815,8 +5811,6 @@ static void i9xx_crtc_enable(struct intel_crtc_state 
*pipe_config,
        if (dev_priv->display.initial_watermarks != NULL)
                dev_priv->display.initial_watermarks(old_intel_state,
                                                     intel_crtc->config);
-       else
-               intel_update_watermarks(intel_crtc);
        intel_enable_pipe(intel_crtc);
 
        assert_vblank_disabled(crtc);
@@ -5881,9 +5875,6 @@ static void i9xx_crtc_disable(struct intel_crtc_state 
*old_crtc_state,
        if (!IS_GEN2(dev_priv))
                intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, false);
 
-       if (!dev_priv->display.initial_watermarks)
-               intel_update_watermarks(intel_crtc);
-
        /* clock the pipe down to 640x480@60 to potentially save power */
        if (IS_I830(dev_priv))
                i830_enable_pipe(dev_priv, pipe);
@@ -5944,7 +5935,6 @@ static void intel_crtc_disable_noatomic(struct drm_crtc 
*crtc,
                encoder->base.crtc = NULL;
 
        intel_fbc_disable(intel_crtc);
-       intel_update_watermarks(intel_crtc);
        intel_disable_shared_dpll(intel_crtc);
 
        domains = intel_crtc->enabled_power_domains;
@@ -10211,40 +10201,6 @@ static void intel_crtc_destroy(struct drm_crtc *crtc)
        kfree(intel_crtc);
 }
 
-/**
- * intel_wm_need_update - Check whether watermarks need updating
- * @plane: drm plane
- * @state: new plane state
- *
- * Check current plane state versus the new one to determine whether
- * watermarks need to be recalculated.
- *
- * Returns true or false.
- */
-static bool intel_wm_need_update(struct drm_plane *plane,
-                                struct drm_plane_state *state)
-{
-       struct intel_plane_state *new = to_intel_plane_state(state);
-       struct intel_plane_state *cur = to_intel_plane_state(plane->state);
-
-       /* Update watermarks on tiling or size changes. */
-       if (new->base.visible != cur->base.visible)
-               return true;
-
-       if (!cur->base.fb || !new->base.fb)
-               return false;
-
-       if (cur->base.fb->modifier != new->base.fb->modifier ||
-           cur->base.rotation != new->base.rotation ||
-           drm_rect_width(&new->base.src) != drm_rect_width(&cur->base.src) ||
-           drm_rect_height(&new->base.src) != drm_rect_height(&cur->base.src) 
||
-           drm_rect_width(&new->base.dst) != drm_rect_width(&cur->base.dst) ||
-           drm_rect_height(&new->base.dst) != drm_rect_height(&cur->base.dst))
-               return true;
-
-       return false;
-}
-
 static bool needs_scaling(const struct intel_plane_state *state)
 {
        int src_w = drm_rect_width(&state->base.src) >> 16;
@@ -10321,27 +10277,9 @@ int intel_plane_atomic_calc_changes(const struct 
intel_crtc_state *old_crtc_stat
                         was_visible, visible,
                         turn_off, turn_on, mode_changed);
 
-       if (turn_on) {
-               if (INTEL_GEN(dev_priv) < 5 && !IS_G4X(dev_priv))
-                       pipe_config->update_wm_pre = true;
-
-               /* must disable cxsr around plane enable/disable */
-               if (plane->id != PLANE_CURSOR)
-                       pipe_config->disable_cxsr = true;
-       } else if (turn_off) {
-               if (INTEL_GEN(dev_priv) < 5 && !IS_G4X(dev_priv))
-                       pipe_config->update_wm_post = true;
-
-               /* must disable cxsr around plane enable/disable */
-               if (plane->id != PLANE_CURSOR)
-                       pipe_config->disable_cxsr = true;
-       } else if (intel_wm_need_update(&plane->base, plane_state)) {
-               if (INTEL_GEN(dev_priv) < 5 && !IS_G4X(dev_priv)) {
-                       /* FIXME bollocks */
-                       pipe_config->update_wm_pre = true;
-                       pipe_config->update_wm_post = true;
-               }
-       }
+       /* must disable cxsr around plane enable/disable */
+       if ((turn_on || turn_off) && plane->id != PLANE_CURSOR)
+               pipe_config->disable_cxsr = true;
 
        if (visible || was_visible)
                pipe_config->fb_bits |= plane->frontbuffer_bit;
@@ -10402,9 +10340,6 @@ static int intel_crtc_atomic_check(struct drm_crtc 
*crtc,
        int ret;
        bool mode_changed = needs_modeset(crtc_state);
 
-       if (mode_changed && !crtc_state->active)
-               pipe_config->update_wm_post = true;
-
        if (mode_changed && crtc_state->enable &&
            dev_priv->display.crtc_compute_clock &&
            !WARN_ON(pipe_config->shared_dpll)) {
@@ -12544,8 +12479,7 @@ static int intel_atomic_commit(struct drm_device *dev,
                int i;
 
                for_each_new_intel_crtc_in_state(intel_state, crtc, 
new_crtc_state, i)
-                       if (new_crtc_state->wm.need_postvbl_update ||
-                           new_crtc_state->update_wm_post)
+                       if (new_crtc_state->wm.need_postvbl_update)
                                state->legacy_cursor_update = false;
        }
 
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 1f4c36201e25..ace03d2358f7 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -637,7 +637,6 @@ struct intel_crtc_state {
        unsigned fb_bits; /* framebuffers to flip */
        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 */
 
@@ -1883,7 +1882,6 @@ bool chv_phy_powergate_ch(struct drm_i915_private 
*dev_priv, enum dpio_phy phy,
 void intel_init_clock_gating(struct drm_i915_private *dev_priv);
 void intel_suspend_hw(struct drm_i915_private *dev_priv);
 int ilk_wm_max_level(const struct drm_i915_private *dev_priv);
-void intel_update_watermarks(struct intel_crtc *crtc);
 void intel_init_pm(struct drm_i915_private *dev_priv);
 void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv);
 void intel_pm_setup(struct drm_i915_private *dev_priv);
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index ae8bad10145c..3ca703d18ffb 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -5309,8 +5309,6 @@ skl_compute_wm(struct drm_atomic_state *state)
                if ((results->dirty_pipes & drm_crtc_mask(crtc)) == 0)
                        /* This pipe's WM's did not change */
                        continue;
-
-               intel_cstate->update_wm_pre = true;
        }
 
        skl_print_wm_changes(state);
@@ -6014,46 +6012,6 @@ void ilk_wm_get_hw_state(struct drm_device *dev)
                !(I915_READ(DISP_ARB_CTL) & DISP_FBC_WM_DIS);
 }
 
-/**
- * intel_update_watermarks - update FIFO watermark values based on current 
modes
- *
- * Calculate watermark values for the various WM regs based on current mode
- * and plane configuration.
- *
- * There are several cases to deal with here:
- *   - normal (i.e. non-self-refresh)
- *   - self-refresh (SR) mode
- *   - lines are large relative to FIFO size (buffer can hold up to 2)
- *   - lines are small relative to FIFO size (buffer can hold more than 2
- *     lines), so need to account for TLB latency
- *
- *   The normal calculation is:
- *     watermark = dotclock * bytes per pixel * latency
- *   where latency is platform & configuration dependent (we assume pessimal
- *   values here).
- *
- *   The SR calculation is:
- *     watermark = (trunc(latency/line time)+1) * surface width *
- *       bytes per pixel
- *   where
- *     line time = htotal / dotclock
- *     surface width = hdisplay for normal plane and 64 for cursor
- *   and latency is assumed to be high, as above.
- *
- * The final value programmed to the register should always be rounded up,
- * and include an extra 2 entries to account for clock crossings.
- *
- * We don't use the sprite, so we can ignore that.  And on Crestline we have
- * to set the non-SR watermarks to 8.
- */
-void intel_update_watermarks(struct intel_crtc *crtc)
-{
-       struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
-
-       if (dev_priv->display.update_wm)
-               dev_priv->display.update_wm(crtc);
-}
-
 void intel_enable_ipc(struct drm_i915_private *dev_priv)
 {
        u32 val;
-- 
2.15.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to