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. -- Ville Syrjälä Intel