OSDN Git Service

drm/i915/guc: Enable the timer expired interrupt for GuC
authorMatthew Brost <matthew.brost@intel.com>
Tue, 27 Jul 2021 00:23:29 +0000 (17:23 -0700)
committerJohn Harrison <John.C.Harrison@Intel.com>
Wed, 28 Jul 2021 00:31:54 +0000 (17:31 -0700)
The GuC can implement execution qunatums, detect hung contexts and
other such things but it requires the timer expired interrupt to do so.

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
CC: John Harrison <John.C.Harrison@Intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210727002348.97202-15-matthew.brost@intel.com
drivers/gpu/drm/i915/gt/intel_rps.c

index 06e9a8e..0c8e7f2 100644 (file)
@@ -1877,6 +1877,10 @@ void intel_rps_init(struct intel_rps *rps)
 
        if (GRAPHICS_VER(i915) >= 8 && GRAPHICS_VER(i915) < 11)
                rps->pm_intrmsk_mbz |= GEN8_PMINTR_DISABLE_REDIRECT_TO_GUC;
+
+       /* GuC needs ARAT expired interrupt unmasked */
+       if (intel_uc_uses_guc_submission(&rps_to_gt(rps)->uc))
+               rps->pm_intrmsk_mbz |= ARAT_EXPIRED_INTRMSK;
 }
 
 void intel_rps_sanitize(struct intel_rps *rps)