*
* @adev: amdgpu_device pointer
*
- * Second resume function for hardware IPs. The list of all the hardware
+ * First resume function for hardware IPs. The list of all the hardware
* IPs that make up the asic is walked and the resume callbacks are run for
* all blocks except COMMON, GMC, and IH. resume puts the hardware into a
* functional state after a suspend and updates the software state as
if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON ||
adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC ||
adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH ||
- adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_DCE ||
adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP)
continue;
r = adev->ip_blocks[i].version->funcs->resume(adev);
return 0;
}
-/**
- * amdgpu_device_ip_resume_phase3 - run resume for hardware IPs
- *
- * @adev: amdgpu_device pointer
- *
- * Third resume function for hardware IPs. The list of all the hardware
- * IPs that make up the asic is walked and the resume callbacks are run for
- * all DCE. resume puts the hardware into a functional state after a suspend
- * and updates the software state as necessary. This function is also used
- * for restoring the GPU after a GPU reset.
- *
- * Returns 0 on success, negative error code on failure.
- */
-static int amdgpu_device_ip_resume_phase3(struct amdgpu_device *adev)
-{
- int i, r;
-
- for (i = 0; i < adev->num_ip_blocks; i++) {
- if (!adev->ip_blocks[i].status.valid || adev->ip_blocks[i].status.hw)
- continue;
- if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_DCE) {
- r = adev->ip_blocks[i].version->funcs->resume(adev);
- if (r)
- return r;
- }
- }
-
- return 0;
-}
-
/**
* amdgpu_device_ip_resume - run resume for hardware IPs
*
r = amdgpu_device_ip_resume_phase2(adev);
- if (r)
- return r;
-
- amdgpu_fence_driver_hw_init(adev);
-
- r = amdgpu_device_ip_resume_phase3(adev);
-
return r;
}
dev_err(adev->dev, "amdgpu_device_ip_resume failed (%d).\n", r);
return r;
}
+ amdgpu_fence_driver_hw_init(adev);
r = amdgpu_device_ip_late_init(adev);
if (r)
if (r)
goto out;
- r = amdgpu_device_ip_resume_phase3(tmp_adev);
- if (r)
- goto out;
-
if (vram_lost)
amdgpu_device_fill_reset_magic(tmp_adev);