drm/i915: Unconditionally clear the pm/guc GT IIR upon acking
Having stored the IIR for action, we should always clear it. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180802100631.31305-2-chris@chris-wilson.co.uk
This commit is contained in:
@@ -1534,11 +1534,8 @@ static void gen8_gt_irq_ack(struct drm_i915_private *i915,
|
|||||||
|
|
||||||
if (master_ctl & (GEN8_GT_PM_IRQ | GEN8_GT_GUC_IRQ)) {
|
if (master_ctl & (GEN8_GT_PM_IRQ | GEN8_GT_GUC_IRQ)) {
|
||||||
gt_iir[2] = raw_reg_read(regs, GEN8_GT_IIR(2));
|
gt_iir[2] = raw_reg_read(regs, GEN8_GT_IIR(2));
|
||||||
if (likely(gt_iir[2] & (i915->pm_rps_events |
|
if (likely(gt_iir[2]))
|
||||||
i915->pm_guc_events)))
|
raw_reg_write(regs, GEN8_GT_IIR(2), gt_iir[2]);
|
||||||
raw_reg_write(regs, GEN8_GT_IIR(2),
|
|
||||||
gt_iir[2] & (i915->pm_rps_events |
|
|
||||||
i915->pm_guc_events));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (master_ctl & GEN8_GT_VECS_IRQ) {
|
if (master_ctl & GEN8_GT_VECS_IRQ) {
|
||||||
|
|||||||
Reference in New Issue
Block a user