]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
drm/i915: Skip bw stuff if per-crtc sagv state doesn't change
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 26 Mar 2025 16:25:43 +0000 (18:25 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 4 Apr 2025 17:02:46 +0000 (20:02 +0300)
commitda885fdaf9c1a07f9b1c99e105139ef4053004e6
treea0ad7ef80bd73a59a3f12ad5fb56c09bdc69a9b1
parent4d5204b3045473cc007aa119e6501db367979aa6
drm/i915: Skip bw stuff if per-crtc sagv state doesn't change

If there are no changes to intel_crtc_can_enable_sagv() there
is no need to do all the sagv bw_state recomputation.

The only slight caveat here is hw state takeover where we
initially disable SAGV, and want it to get re-enabled once
we've determined that it's safe to do so.  That can now be
achieved by having intel_crtc_can_enable_sagv() reject SAGV
as long as the crtc_state->inherited flag is set. Once the
flag gets cleared (during initial commit for inactive pipes,
during the first userspace commit for active pipes), we
will naturally recompute all the sagv related state.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250326162544.3642-14-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_bw.c
drivers/gpu/drm/i915/display/skl_watermark.c