adev->gfx.rlc.funcs->enter_safe_mode(adev);
 
        if (enable && (adev->cg_flags & AMD_CG_SUPPORT_GFX_CGCG)) {
-               /* 1 enable cntx_empty_int_enable/cntx_busy_int_enable/
-                * Cmp_busy/GFX_Idle interrupts
-                */
-               gfx_v8_0_enable_gui_idle_interrupt(adev, true);
-
                temp1 = data1 = RREG32(mmRLC_CGTT_MGCG_OVERRIDE);
                data1 &= ~RLC_CGTT_MGCG_OVERRIDE__CGCG_MASK;
                if (temp1 != data1)
                        WREG32(mmRLC_CGTT_MGCG_OVERRIDE, data1);
 
-               /* 2 wait for RLC_SERDES_CU_MASTER & RLC_SERDES_NONCU_MASTER idle */
+               /* : wait for RLC_SERDES_CU_MASTER & RLC_SERDES_NONCU_MASTER idle */
                gfx_v8_0_wait_for_rlc_serdes(adev);
 
-               /* 3 - clear cgcg override */
+               /* 2 - clear cgcg override */
                gfx_v8_0_send_serdes_cmd(adev, BPM_REG_CGCG_OVERRIDE, CLE_BPM_SERDES_CMD);
 
                /* wait for RLC_SERDES_CU_MASTER & RLC_SERDES_NONCU_MASTER idle */
                gfx_v8_0_wait_for_rlc_serdes(adev);
 
-               /* 4 - write cmd to set CGLS */
+               /* 3 - write cmd to set CGLS */
                gfx_v8_0_send_serdes_cmd(adev, BPM_REG_CGLS_EN, SET_BPM_SERDES_CMD);
 
-               /* 5 - enable cgcg */
+               /* 4 - enable cgcg */
                data |= RLC_CGCG_CGLS_CTRL__CGCG_EN_MASK;
 
                if (adev->cg_flags & AMD_CG_SUPPORT_GFX_CGLS) {
 
                if (temp != data)
                        WREG32(mmRLC_CGCG_CGLS_CTRL, data);
+
+               /* 5 enable cntx_empty_int_enable/cntx_busy_int_enable/
+                * Cmp_busy/GFX_Idle interrupts
+                */
+               gfx_v8_0_enable_gui_idle_interrupt(adev, true);
        } else {
                /* disable cntx_empty_int_enable & GFX Idle interrupt */
                gfx_v8_0_enable_gui_idle_interrupt(adev, false);