[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