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 <ashutosh.dixit@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> --- 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