On 6/24/2021 00:05, Matthew Brost wrote:
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.br...@intel.com>
CC: John Harrison <john.c.harri...@intel.com>
Reviewed-by: John Harrison <john.c.harri...@intel.com>

---
  drivers/gpu/drm/i915/gt/intel_rps.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c 
b/drivers/gpu/drm/i915/gt/intel_rps.c
index 06e9a8ed4e03..0c8e7f2b06f0 100644
--- a/drivers/gpu/drm/i915/gt/intel_rps.c
+++ b/drivers/gpu/drm/i915/gt/intel_rps.c
@@ -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)

Reply via email to