gfx_v8_0_rlc_reset(adev);
 
-       if (!adev->firmware.smu_load) {
-               /* legacy rlc firmware loading */
-               r = gfx_v8_0_rlc_load_microcode(adev);
-               if (r)
-                       return r;
-       } else {
-               r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
-                                               AMDGPU_UCODE_ID_RLC_G);
-               if (r)
-                       return -EINVAL;
+       if (!amdgpu_powerplay) {
+               if (!adev->firmware.smu_load) {
+                       /* legacy rlc firmware loading */
+                       r = gfx_v8_0_rlc_load_microcode(adev);
+                       if (r)
+                               return r;
+               } else {
+                       r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
+                                                       AMDGPU_UCODE_ID_RLC_G);
+                       if (r)
+                               return -EINVAL;
+               }
        }
 
        gfx_v8_0_rlc_start(adev);
        if (!(adev->flags & AMD_IS_APU))
                gfx_v8_0_enable_gui_idle_interrupt(adev, false);
 
-       if (!adev->firmware.smu_load) {
-               /* legacy firmware loading */
-               r = gfx_v8_0_cp_gfx_load_microcode(adev);
-               if (r)
-                       return r;
-
-               r = gfx_v8_0_cp_compute_load_microcode(adev);
-               if (r)
-                       return r;
-       } else {
-               r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
-                                               AMDGPU_UCODE_ID_CP_CE);
-               if (r)
-                       return -EINVAL;
-
-               r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
-                                               AMDGPU_UCODE_ID_CP_PFP);
-               if (r)
-                       return -EINVAL;
-
-               r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
-                                               AMDGPU_UCODE_ID_CP_ME);
-               if (r)
-                       return -EINVAL;
+       if (!amdgpu_powerplay) {
+               if (!adev->firmware.smu_load) {
+                       /* legacy firmware loading */
+                       r = gfx_v8_0_cp_gfx_load_microcode(adev);
+                       if (r)
+                               return r;
 
-               r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
-                                               AMDGPU_UCODE_ID_CP_MEC1);
-               if (r)
-                       return -EINVAL;
+                       r = gfx_v8_0_cp_compute_load_microcode(adev);
+                       if (r)
+                               return r;
+               } else {
+                       r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
+                                                       AMDGPU_UCODE_ID_CP_CE);
+                       if (r)
+                               return -EINVAL;
+
+                       r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
+                                                       AMDGPU_UCODE_ID_CP_PFP);
+                       if (r)
+                               return -EINVAL;
+
+                       r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
+                                                       AMDGPU_UCODE_ID_CP_ME);
+                       if (r)
+                               return -EINVAL;
+
+                       r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
+                                                       AMDGPU_UCODE_ID_CP_MEC1);
+                       if (r)
+                               return -EINVAL;
+               }
        }
 
        r = gfx_v8_0_cp_gfx_resume(adev);
 
 {
        int r, i;
 
-       if (!adev->firmware.smu_load) {
-               r = sdma_v3_0_load_microcode(adev);
-               if (r)
-                       return r;
-       } else {
-               for (i = 0; i < adev->sdma.num_instances; i++) {
-                       r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
-                                                                        (i == 0) ?
-                                                                        AMDGPU_UCODE_ID_SDMA0 :
-                                                                        AMDGPU_UCODE_ID_SDMA1);
+       if (!amdgpu_powerplay) {
+               if (!adev->firmware.smu_load) {
+                       r = sdma_v3_0_load_microcode(adev);
                        if (r)
-                               return -EINVAL;
+                               return r;
+               } else {
+                       for (i = 0; i < adev->sdma.num_instances; i++) {
+                               r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
+                                                                                (i == 0) ?
+                                                                                AMDGPU_UCODE_ID_SDMA0 :
+                                                                                AMDGPU_UCODE_ID_SDMA1);
+                               if (r)
+                                       return -EINVAL;
+                       }
                }
        }