drm/i915/slpc: Balance the inc/dec for num_waiters
authorVinay Belgaumkar <vinay.belgaumkar@intel.com>
Mon, 28 Apr 2025 18:35:55 +0000 (11:35 -0700)
committerDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Thu, 1 May 2025 20:02:28 +0000 (13:02 -0700)
commitd26e55085f4b7a63677670db827541209257b313
treee4e601478a7f7dbaaed7bf9eeabb6b7e79dafc9e
parentce7743bc1b93cd81b5234b8bb9587607af3f6c2a
drm/i915/slpc: Balance the inc/dec for num_waiters

As seen in some recent failures, SLPC num_waiters value is < 0.
This happens because the inc/dec are not balanced. We should skip
decrement for the same conditions as the increment. Currently, we
do that for power saving profile mode. This patch also ensures that
num_waiters is incremented in the case min_softlimit is at boost
freq. It ensures that we don't reduce the frequency while this request
is in flight.

v2: Add Fixes tags

Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13598
Fixes: f864a29afc32 ("drm/i915/slpc: Optmize waitboost for SLPC")
Fixes: 4a82ceb04ad4 ("drm/i915/slpc: Add sysfs for SLPC power profiles")
Cc: Sk Anirban <sk.anirban@intel.com>
Reviewed-by: Sk Anirban <sk.anirban@intel.com>
Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://lore.kernel.org/r/20250428183555.3250021-1-vinay.belgaumkar@intel.com
drivers/gpu/drm/i915/gt/intel_rps.c