[Intel-gfx] [PATCH] drm/i915: Recalculate CDCLK if plane scaling ratio changes

Lisovskiy, Stanislav stanislav.lisovskiy at intel.com
Thu Jan 13 07:29:05 UTC 2022


On Wed, Jan 12, 2022 at 04:50:01PM +0200, Ville Syrjälä wrote:
> On Wed, Jan 12, 2022 at 04:39:17PM +0200, Lisovskiy, Stanislav wrote:
> > On Wed, Jan 12, 2022 at 03:50:05PM +0200, Ville Syrjälä wrote:
> > > On Tue, Jan 11, 2022 at 06:08:12PM +0200, Stanislav Lisovskiy wrote:
> > > > Currently we only recalculate CDCLK if active plane mask changes
> > > > or if we do a full modeset, however according to BSpec
> > > > required Dbuf bandwidth calculations also depend on pipe/plane
> > > > scaling ratio, which means that CDCLK must be recalculated
> > > > everytime plane scaling ratio changes,
> > > 
> > > Already handled by the plane min_cdclk stuff.
> > 
> > Problem is that plane min_cdclk will only be called for those
> > which are added to the state.
> > In intel_atomic_check_planes we call intel_crtc_add_planes_to_state
> > only if active_planes_affects_min_cdclk is true and active_planes
> > mask got changed.
> > However if we got one of planes scaling ratio changed, we need to
> > recalculate CDCLK once again and make sure we have all the active
> > planes in state for that. Don't we need all active planes 
> > in state to calculate it properly?
> 
> If the plane's scaling ratio is changing then that plane is already
> in the state. The min_cdclk/data_rate/etc. are all then cached in
> the crtc state so that plane isn't needed again until its scaling
> ratio (or whatever else) changes again.

Yep, was just wondering that according to this logic why we do
call intel_crtc_add_planes_to_state, once active plane mask changes then.

Stan

> 
> -- 
> Ville Syrjälä
> Intel


More information about the Intel-gfx mailing list