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