if (unlikely(!intr))
                return;
 
-       if (class <= COPY_ENGINE_CLASS)
+       if (class <= COPY_ENGINE_CLASS || class == COMPUTE_CLASS)
                return gen11_engine_irq_handler(gt, class, instance, intr);
 
        if (class == OTHER_CLASS)
        /* Disable RCS, BCS, VCS and VECS class engines. */
        intel_uncore_write(uncore, GEN11_RENDER_COPY_INTR_ENABLE, 0);
        intel_uncore_write(uncore, GEN11_VCS_VECS_INTR_ENABLE,    0);
+       if (CCS_MASK(gt))
+               intel_uncore_write(uncore, GEN12_CCS_RSVD_INTR_ENABLE, 0);
 
        /* Restore masks irqs on RCS, BCS, VCS and VECS engines. */
        intel_uncore_write(uncore, GEN11_RCS0_RSVD_INTR_MASK,   ~0);
        intel_uncore_write(uncore, GEN11_VECS0_VECS1_INTR_MASK, ~0);
        if (HAS_ENGINE(gt, VECS2) || HAS_ENGINE(gt, VECS3))
                intel_uncore_write(uncore, GEN12_VECS2_VECS3_INTR_MASK, ~0);
+       if (HAS_ENGINE(gt, CCS0) || HAS_ENGINE(gt, CCS1))
+               intel_uncore_write(uncore, GEN12_CCS0_CCS1_INTR_MASK, ~0);
+       if (HAS_ENGINE(gt, CCS2) || HAS_ENGINE(gt, CCS3))
+               intel_uncore_write(uncore, GEN12_CCS2_CCS3_INTR_MASK, ~0);
 
        intel_uncore_write(uncore, GEN11_GPM_WGBOXPERF_INTR_ENABLE, 0);
        intel_uncore_write(uncore, GEN11_GPM_WGBOXPERF_INTR_MASK,  ~0);
        /* Enable RCS, BCS, VCS and VECS class interrupts. */
        intel_uncore_write(uncore, GEN11_RENDER_COPY_INTR_ENABLE, dmask);
        intel_uncore_write(uncore, GEN11_VCS_VECS_INTR_ENABLE, dmask);
+       if (CCS_MASK(gt))
+               intel_uncore_write(uncore, GEN12_CCS_RSVD_INTR_ENABLE, smask);
 
        /* Unmask irqs on RCS, BCS, VCS and VECS engines. */
        intel_uncore_write(uncore, GEN11_RCS0_RSVD_INTR_MASK, ~smask);
        intel_uncore_write(uncore, GEN11_VECS0_VECS1_INTR_MASK, ~dmask);
        if (HAS_ENGINE(gt, VECS2) || HAS_ENGINE(gt, VECS3))
                intel_uncore_write(uncore, GEN12_VECS2_VECS3_INTR_MASK, ~dmask);
+       if (HAS_ENGINE(gt, CCS0) || HAS_ENGINE(gt, CCS1))
+               intel_uncore_write(uncore, GEN12_CCS0_CCS1_INTR_MASK, ~dmask);
+       if (HAS_ENGINE(gt, CCS2) || HAS_ENGINE(gt, CCS3))
+               intel_uncore_write(uncore, GEN12_CCS2_CCS3_INTR_MASK, ~dmask);
+
        /*
         * RPS interrupts will get enabled/disabled on demand when RPS itself
         * is enabled/disabled.
 
 #define GEN11_GPM_WGBOXPERF_INTR_ENABLE                _MMIO(0x19003c)
 #define GEN11_CRYPTO_RSVD_INTR_ENABLE          _MMIO(0x190040)
 #define GEN11_GUNIT_CSME_INTR_ENABLE           _MMIO(0x190044)
+#define GEN12_CCS_RSVD_INTR_ENABLE             _MMIO(0x190048)
 
 #define GEN11_INTR_IDENTITY_REG(x)             _MMIO(0x190060 + ((x) * 4))
 #define   GEN11_INTR_DATA_VALID                        (1 << 31)
 #define GEN11_GPM_WGBOXPERF_INTR_MASK          _MMIO(0x1900ec)
 #define GEN11_CRYPTO_RSVD_INTR_MASK            _MMIO(0x1900f0)
 #define GEN11_GUNIT_CSME_INTR_MASK             _MMIO(0x1900f4)
+#define GEN12_CCS0_CCS1_INTR_MASK              _MMIO(0x190100)
+#define GEN12_CCS2_CCS3_INTR_MASK              _MMIO(0x190104)
 
 #define GEN12_SFC_DONE(n)                      _MMIO(0x1cc000 + (n) * 0x1000)