On Thu, Feb 27, 2020 at 05:09:35PM +0200, Stanislav Lisovskiy wrote: > There seems to be a bit of confusing redundancy in a way, how > plane data rate/min cdclk are calculated. > In fact both min cdclk, pixel rate and plane data rate are all > part of the same formula as per BSpec. > > However currently we have intel_plane_data_rate, which is used > to calculate plane data rate and which is also used in bandwidth > calculations. However for calculating min_cdclk we have another > piece of code, doing almost same calculation, but a bit differently > and in a different place. However as both are actually part of same > formula, probably would be wise to use plane data rate calculations > as a basis anyway, thus avoiding code duplication and possible bugs > related to this. > > Another thing is that I've noticed that during min_cdclk calculations > we account for plane scaling, while for plane data rate, we don't. > crtc->pixel_rate seems to account only for pipe ratio, however it is > clearly stated in BSpec that plane data rate also need to account > plane ratio as well. > > So what this commit does is: > - Adds a plane ratio calculation to intel_plane_data_rate > - Removes redundant calculations from skl_plane_min_cdclk which is > used for gen9+ and now uses intel_plane_data_rate as a basis from > there as well. > > v2: - Don't use 64 division if not needed(Ville Syrjälä) > - Now use intel_plane_pixel_rate as a basis for calculations both > at intel_plane_data_rate and skl_plane_min_cdclk(Ville Syrjälä) > > v3: - Again fix the division macro > - Fix plane_pixel_rate to pixel_rate at intel_plane_pixel_rate > callsites > > v4: - Renamed skl_plane_ratio function back(Ville Syrjälä) > > v5: - Don't precalculate plane pixel rate for invisible plane, > check for visibility first, as in invisible case it will > have dst_w and dst_h equal to zero, causing divide error. > > v6: - Removed useless warn in intel_plane_pixel_rate(Ville Syrjälä) > - Fixed alignment in intel_plane_data_rate(Ville Syrjälä) > - Changed pixel_rate type to be unsigned int in > skl_plane_min_cdclk(Ville Syrjälä) > > Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@xxxxxxxxx> Thanks. Pushed to dinq. -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx