drm/i915: Precompute can_sagv for each wm level
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 6 Nov 2020 17:30:40 +0000 (19:30 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 16 Nov 2020 19:14:35 +0000 (21:14 +0200)
commit9c31212b247832d71882a9942f37025544264892
tree48712286cb87c23f1beee88e28bec7973d8e9af1
parenta582354c92d102616dc890c1ec261a880befae4f
drm/i915: Precompute can_sagv for each wm level

In order to remove intel_atomic_crtc_state_for_each_plane_state()
from skl_crtc_can_enable_sagv() we can simply precompute whether
each wm level can tolerate the SAGV block time latency or not.

This has the nice side benefit that we remove the duplicated
wm level latency calculation. In fact the copy of that code
we had in skl_crtc_can_enable_sagv() didn't even handle
WaIncreaseLatencyIPCEnabled/Display WA #1141 whereas the copy
in skl_compute_plane_wm() did. So now we just have the one
copy which handles all the w/as.

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