[Intel-gfx] [PATCH 3/8] drm/i915: Make dirty_pipes refer to pipes
Lisovskiy, Stanislav
stanislav.lisovskiy at intel.com
Wed Oct 16 14:28:06 UTC 2019
On Fri, 2019-10-11 at 23:09 +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Despite the its name dirty_pipes refers to crtc indexes. Let's
> change its behaviout to match the name.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 9 +++------
> drivers/gpu/drm/i915/intel_pm.c | 13 ++++++-------
> 2 files changed, 9 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> b/drivers/gpu/drm/i915/display/intel_display.c
> index a146ec02a0c1..b9b51bd0c956 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -13883,7 +13883,6 @@ static void skl_commit_modeset_enables(struct
> intel_atomic_state *state)
> struct intel_crtc_state *old_crtc_state, *new_crtc_state;
> unsigned int updated = 0;
> bool progress;
> - enum pipe pipe;
> int i;
> u8 hw_enabled_slices = dev_priv->wm.skl_hw.ddb.enabled_slices;
> u8 required_slices = state->wm_results.ddb.enabled_slices;
> @@ -13908,12 +13907,10 @@ static void
> skl_commit_modeset_enables(struct intel_atomic_state *state)
> progress = false;
>
> for_each_oldnew_intel_crtc_in_state(state, crtc,
> old_crtc_state, new_crtc_state, i) {
> + enum pipe pipe = crtc->pipe;
> bool vbl_wait = false;
> - unsigned int cmask = drm_crtc_mask(&crtc-
> >base);
> -
> - pipe = crtc->pipe;
>
> - if (updated & cmask || !new_crtc_state-
> >base.active)
> + if (updated & BIT(crtc->pipe) ||
> !new_crtc_state->base.active)
> continue;
>
> if
> (skl_ddb_allocation_overlaps(&new_crtc_state->wm.skl.ddb,
> @@ -13921,7 +13918,7 @@ static void skl_commit_modeset_enables(struct
> intel_atomic_state *state)
> INTEL_NUM_PIPES
> (dev_priv), i))
> continue;
>
> - updated |= cmask;
> + updated |= BIT(pipe);
> entries[i] = new_crtc_state->wm.skl.ddb;
>
> /*
> diff --git a/drivers/gpu/drm/i915/intel_pm.c
> b/drivers/gpu/drm/i915/intel_pm.c
> index 3536c2e975e7..2b71d52a4ede 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -5575,7 +5575,7 @@ skl_compute_wm(struct intel_atomic_state
> *state)
> if (!skl_pipe_wm_equals(crtc,
> &old_crtc_state-
> >wm.skl.optimal,
> &new_crtc_state-
> >wm.skl.optimal))
> - results->dirty_pipes |= drm_crtc_mask(&crtc-
> >base);
> + results->dirty_pipes |= BIT(crtc->pipe);
> }
>
> ret = skl_compute_ddb(state);
> @@ -5595,7 +5595,7 @@ static void skl_atomic_update_crtc_wm(struct
> intel_atomic_state *state,
> struct skl_pipe_wm *pipe_wm = &crtc_state->wm.skl.optimal;
> enum pipe pipe = crtc->pipe;
>
> - if (!(state->wm_results.dirty_pipes & drm_crtc_mask(&crtc-
> >base)))
> + if ((state->wm_results.dirty_pipes & BIT(crtc->pipe)) == 0)
> return;
>
> I915_WRITE(PIPE_WM_LINETIME(pipe), pipe_wm->linetime);
> @@ -5604,12 +5604,11 @@ static void skl_atomic_update_crtc_wm(struct
> intel_atomic_state *state,
> static void skl_initial_wm(struct intel_atomic_state *state,
> struct intel_crtc_state *crtc_state)
> {
> - struct intel_crtc *intel_crtc = to_intel_crtc(crtc_state-
> >base.crtc);
> - struct drm_device *dev = intel_crtc->base.dev;
> - struct drm_i915_private *dev_priv = to_i915(dev);
> + struct intel_crtc *crtc = to_intel_crtc(crtc_state->base.crtc);
> + struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> struct skl_ddb_values *results = &state->wm_results;
>
> - if ((results->dirty_pipes & drm_crtc_mask(&intel_crtc->base))
> == 0)
> + if ((results->dirty_pipes & BIT(crtc->pipe)) == 0)
> return;
>
> mutex_lock(&dev_priv->wm.wm_mutex);
> @@ -5758,7 +5757,7 @@ void skl_wm_get_hw_state(struct
> drm_i915_private *dev_priv)
> skl_pipe_wm_get_hw_state(crtc, &crtc_state-
> >wm.skl.optimal);
>
> if (crtc->active)
> - hw->dirty_pipes |= drm_crtc_mask(&crtc->base);
> + hw->dirty_pipes |= BIT(crtc->pipe);
> }
>
> if (dev_priv->active_pipes) {
More information about the Intel-gfx
mailing list