On Tue, Nov 24, 2020 at 10:11:54PM +0200, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > 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@xxxxxxxxxxxxxxx> Reviewed-by: Manasi Navare <manasi.d.navare@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx