[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