[Intel-gfx] [PATCH 2/4] drm/i915: Add intel_atomic_add_affected_planes()

Navare, Manasi manasi.d.navare at intel.com
Mon Nov 30 22:51:39 UTC 2020


On Tue, Nov 24, 2020 at 10:11:54PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> drm_atomic_add_affected_planes() only considers planes which
> are logically enabled in the uapi state. For bigjoiner we need
> to consider planes logically enabled in the hw state. Add a
> helper for that.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

Reviewed-by: Manasi Navare <manasi.d.navare at intel.com>

Manasi
> ---
>  drivers/gpu/drm/i915/display/intel_cdclk.c   |  3 +--
>  drivers/gpu/drm/i915/display/intel_display.c | 13 +++++++++++++
>  drivers/gpu/drm/i915/display/intel_display.h |  2 ++
>  3 files changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
> index c449d28d0560..9034a2093da0 100644
> --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> @@ -2415,8 +2415,7 @@ static int intel_modeset_all_pipes(struct intel_atomic_state *state)
>  		if (ret)
>  			return ret;
>  
> -		ret = drm_atomic_add_affected_planes(&state->base,
> -						     &crtc->base);
> +		ret = intel_atomic_add_affected_planes(state, crtc);
>  		if (ret)
>  			return ret;
>  
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 068892e4d2f0..fa6ca6191480 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -15107,6 +15107,19 @@ static int intel_crtc_add_planes_to_state(struct intel_atomic_state *state,
>  	return 0;
>  }
>  
> +int intel_atomic_add_affected_planes(struct intel_atomic_state *state,
> +				     struct intel_crtc *crtc)
> +{
> +	const struct intel_crtc_state *old_crtc_state =
> +		intel_atomic_get_old_crtc_state(state, crtc);
> +	const struct intel_crtc_state *new_crtc_state =
> +		intel_atomic_get_new_crtc_state(state, crtc);
> +
> +	return intel_crtc_add_planes_to_state(state, crtc,
> +					      old_crtc_state->enabled_planes |
> +					      new_crtc_state->enabled_planes);
> +}
> +
>  static bool active_planes_affects_min_cdclk(struct drm_i915_private *dev_priv)
>  {
>  	/* See {hsw,vlv,ivb}_plane_ratio() */
> diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h
> index 5e0d42d82c11..a5771bfecba6 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.h
> +++ b/drivers/gpu/drm/i915/display/intel_display.h
> @@ -499,6 +499,8 @@ enum phy_fia {
>  			     ((connector) = to_intel_connector((__state)->base.connectors[__i].ptr), \
>  			     (new_connector_state) = to_intel_digital_connector_state((__state)->base.connectors[__i].new_state), 1))
>  
> +int intel_atomic_add_affected_planes(struct intel_atomic_state *state,
> +				     struct intel_crtc *crtc);
>  u8 intel_calc_active_pipes(struct intel_atomic_state *state,
>  			   u8 active_pipes);
>  void intel_link_compute_m_n(u16 bpp, int nlanes,
> -- 
> 2.26.2
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list