enable_rc6 = false;
        }
 
-       if (!((intel_uncore_read(uncore, PWRCTX_MAXCNT_RCSUNIT) & IDLE_TIME_MASK) > 1 &&
-             (intel_uncore_read(uncore, PWRCTX_MAXCNT_VCSUNIT0) & IDLE_TIME_MASK) > 1 &&
-             (intel_uncore_read(uncore, PWRCTX_MAXCNT_BCSUNIT) & IDLE_TIME_MASK) > 1 &&
-             (intel_uncore_read(uncore, PWRCTX_MAXCNT_VECSUNIT) & IDLE_TIME_MASK) > 1)) {
+       if (!((intel_uncore_read(uncore, PWRCTX_MAXCNT(RENDER_RING_BASE)) & IDLE_TIME_MASK) > 1 &&
+             (intel_uncore_read(uncore, PWRCTX_MAXCNT(GEN6_BSD_RING_BASE)) & IDLE_TIME_MASK) > 1 &&
+             (intel_uncore_read(uncore, PWRCTX_MAXCNT(BLT_RING_BASE)) & IDLE_TIME_MASK) > 1 &&
+             (intel_uncore_read(uncore, PWRCTX_MAXCNT(VEBOX_RING_BASE)) & IDLE_TIME_MASK) > 1)) {
                drm_dbg(&i915->drm,
                        "Engine Idle wait time not set properly.\n");
                enable_rc6 = false;
 
 #define           RC6_CTX_IN_DRAM                      (1 << 0)
 #define  RC6_CTX_BASE                          _MMIO(0xD48)
 #define    RC6_CTX_BASE_MASK                   0xFFFFFFF0
-#define  PWRCTX_MAXCNT_RCSUNIT                 _MMIO(0x2054)
-#define  PWRCTX_MAXCNT_VCSUNIT0                        _MMIO(0x12054)
-#define  PWRCTX_MAXCNT_BCSUNIT                 _MMIO(0x22054)
-#define  PWRCTX_MAXCNT_VECSUNIT                        _MMIO(0x1A054)
-#define  PWRCTX_MAXCNT_VCSUNIT1                        _MMIO(0x1C054)
+#define  PWRCTX_MAXCNT(base)                   _MMIO((base) + 0x54)
 #define    IDLE_TIME_MASK                      0xFFFFF
 #define  FORCEWAKE                             _MMIO(0xA18C)
 #define  FORCEWAKE_VLV                         _MMIO(0x1300b0)