SLPC has its own waiboost variables and lock mechanism.
No need for these extra stuff, in special no need for the
timer.
v2: At early stages we can't use uc's 'uses' function, but the
'wants' ones in order to make those decisions.
Cc: Ashutosh Dixit <[email protected]>
Signed-off-by: Rodrigo Vivi <[email protected]>
---
drivers/gpu/drm/i915/gt/intel_rps.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c
b/drivers/gpu/drm/i915/gt/intel_rps.c
index 28b399fa1abe..f0c75f088c88 100644
--- a/drivers/gpu/drm/i915/gt/intel_rps.c
+++ b/drivers/gpu/drm/i915/gt/intel_rps.c
@@ -57,6 +57,13 @@ static bool rps_uses_slpc(struct intel_rps *rps)
return intel_uc_uses_guc_slpc(>->uc);
}
+static bool rps_wants_slpc(struct intel_rps *rps)
+{
+ struct intel_gt *gt = rps_to_gt(rps);
+
+ return intel_uc_wants_guc_slpc(>->uc);
+}
+
static u32 rps_pm_sanitize_mask(struct intel_rps *rps, u32 mask)
{
return mask & ~rps->pm_intrmsk_mbz;
@@ -1955,6 +1962,9 @@ void gen5_rps_irq_handler(struct intel_rps *rps)
void intel_rps_init_early(struct intel_rps *rps)
{
+ if (rps_wants_slpc(rps))
+ return;
+
mutex_init(&rps->lock);
mutex_init(&rps->power.mutex);
--
2.37.2