On Tue, Nov 24, 2020 at 10:11:54PM +0200, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrj...@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.syrj...@linux.intel.com>

Reviewed-by: Manasi Navare <manasi.d.nav...@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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to