drm/i915: Pre-calculate plane relative data rate
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 3 Mar 2022 19:12:01 +0000 (21:12 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 21 Mar 2022 15:48:39 +0000 (17:48 +0200)
commitc034363ca898ea0f809efb113e232dfd0b3e59f2
treef6ef8e155f5e7772c8db1553b7c0ef88cd933e41
parent943ed3cc02191b220eb430dc855509ccc2c1a28e
drm/i915: Pre-calculate plane relative data rate

Handle the plane relative data rate in exactly the same
way as we already handle the real data rate. Ie. pre-calculate
it during intel_plane_atomic_check_with_state(), and assign/clear
it for the Y plane as needed. This should guarantee that the
tracking is 100% consistent, and makes me have to think less
when the same apporach is used by both types of data rate.

We might even want to consider replacing the relative
data rate with the real data rate entirely, but it's not
clear if that will produce less optimal plane ddb
allocations. So for now lets keep using the current approach.

v2: Rebase due to async flip wm optimization

Reviewed-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220303191207.27931-4-ville.syrjala@linux.intel.com
drivers/gpu/drm/i915/display/intel_atomic_plane.c
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_display_types.h
drivers/gpu/drm/i915/intel_pm.c