aboutsummaryrefslogtreecommitdiffstats
path: root/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5173-drm-amdgpu-Set-clock-ungate-state-when-suspend-fini.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5173-drm-amdgpu-Set-clock-ungate-state-when-suspend-fini.patch')
-rw-r--r--meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5173-drm-amdgpu-Set-clock-ungate-state-when-suspend-fini.patch131
1 files changed, 0 insertions, 131 deletions
diff --git a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5173-drm-amdgpu-Set-clock-ungate-state-when-suspend-fini.patch b/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5173-drm-amdgpu-Set-clock-ungate-state-when-suspend-fini.patch
deleted file mode 100644
index fe5f8256..00000000
--- a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5173-drm-amdgpu-Set-clock-ungate-state-when-suspend-fini.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From 63d33c319ab6f97cbf22e86bba32ad46c33e1b3b Mon Sep 17 00:00:00 2001
-From: Rex Zhu <Rex.Zhu@amd.com>
-Date: Tue, 14 Aug 2018 17:28:46 +0800
-Subject: [PATCH 5173/5725] drm/amdgpu: Set clock ungate state when
- suspend/fini
-
-After set power ungate state, set clock ungate state
-before when suspend or fini.
-
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-Signed-off-by: Raveendra Talabattula <raveendra.talabattula@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 56 +++---------------------------
- 1 file changed, 5 insertions(+), 51 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
-index cb99579..b5d0c9c 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
-@@ -1750,6 +1750,7 @@ static bool amdgpu_device_check_vram_lost(struct amdgpu_device *adev)
- * Fini or suspend, pass disabling clockgating for hardware IPs.
- * Returns 0 on success, negative error code on failure.
- */
-+
- static int amdgpu_device_set_cg_state(struct amdgpu_device *adev,
- enum amd_clockgating_state state)
- {
-@@ -1869,21 +1870,13 @@ static int amdgpu_device_ip_fini(struct amdgpu_device *adev)
- amdgpu_amdkfd_device_fini(adev);
-
- amdgpu_device_set_pg_state(adev, AMD_PG_STATE_UNGATE);
-+ amdgpu_device_set_cg_state(adev, AMD_CG_STATE_UNGATE);
-+
- /* need to disable SMC first */
- for (i = 0; i < adev->num_ip_blocks; i++) {
- if (!adev->ip_blocks[i].status.hw)
- continue;
-- if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SMC &&
-- adev->ip_blocks[i].version->funcs->set_clockgating_state) {
-- /* ungate blocks before hw fini so that we can shutdown the blocks safely */
-- r = adev->ip_blocks[i].version->funcs->set_clockgating_state((void *)adev,
-- AMD_CG_STATE_UNGATE);
-- if (r) {
-- DRM_ERROR("set_clockgating_state(ungate) of IP block <%s> failed %d\n",
-- adev->ip_blocks[i].version->funcs->name, r);
-- return r;
-- }
--
-+ if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SMC) {
- r = adev->ip_blocks[i].version->funcs->hw_fini((void *)adev);
- /* XXX handle errors */
- if (r) {
-@@ -1899,20 +1892,6 @@ static int amdgpu_device_ip_fini(struct amdgpu_device *adev)
- if (!adev->ip_blocks[i].status.hw)
- continue;
-
-- if (adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_UVD &&
-- adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_VCE &&
-- adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_VCN &&
-- adev->ip_blocks[i].version->funcs->set_clockgating_state) {
-- /* ungate blocks before hw fini so that we can shutdown the blocks safely */
-- r = adev->ip_blocks[i].version->funcs->set_clockgating_state((void *)adev,
-- AMD_CG_STATE_UNGATE);
-- if (r) {
-- DRM_ERROR("set_clockgating_state(ungate) of IP block <%s> failed %d\n",
-- adev->ip_blocks[i].version->funcs->name, r);
-- return r;
-- }
-- }
--
- r = adev->ip_blocks[i].version->funcs->hw_fini((void *)adev);
- /* XXX handle errors */
- if (r) {
-@@ -2006,21 +1985,13 @@ static int amdgpu_device_ip_suspend_phase1(struct amdgpu_device *adev)
- amdgpu_virt_request_full_gpu(adev, false);
-
- amdgpu_device_set_pg_state(adev, AMD_PG_STATE_UNGATE);
-+ amdgpu_device_set_cg_state(adev, AMD_CG_STATE_UNGATE);
-
- for (i = adev->num_ip_blocks - 1; i >= 0; i--) {
- if (!adev->ip_blocks[i].status.valid)
- continue;
- /* displays are handled separately */
- if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_DCE) {
-- /* ungate blocks so that suspend can properly shut them down */
-- if (adev->ip_blocks[i].version->funcs->set_clockgating_state) {
-- r = adev->ip_blocks[i].version->funcs->set_clockgating_state((void *)adev,
-- AMD_CG_STATE_UNGATE);
-- if (r) {
-- DRM_ERROR("set_clockgating_state(ungate) of IP block <%s> failed %d\n",
-- adev->ip_blocks[i].version->funcs->name, r);
-- }
-- }
- /* XXX handle errors */
- r = adev->ip_blocks[i].version->funcs->suspend(adev);
- /* XXX handle errors */
-@@ -2055,29 +2026,12 @@ static int amdgpu_device_ip_suspend_phase2(struct amdgpu_device *adev)
- if (amdgpu_sriov_vf(adev))
- amdgpu_virt_request_full_gpu(adev, false);
-
-- /* ungate SMC block first */
-- r = amdgpu_device_ip_set_clockgating_state(adev, AMD_IP_BLOCK_TYPE_SMC,
-- AMD_CG_STATE_UNGATE);
-- if (r) {
-- DRM_ERROR("set_clockgating_state(ungate) SMC failed %d\n", r);
-- }
--
- for (i = adev->num_ip_blocks - 1; i >= 0; i--) {
- if (!adev->ip_blocks[i].status.valid)
- continue;
- /* displays are handled in phase1 */
- if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_DCE)
- continue;
-- /* ungate blocks so that suspend can properly shut them down */
-- if (adev->ip_blocks[i].version->type != AMD_IP_BLOCK_TYPE_SMC &&
-- adev->ip_blocks[i].version->funcs->set_clockgating_state) {
-- r = adev->ip_blocks[i].version->funcs->set_clockgating_state((void *)adev,
-- AMD_CG_STATE_UNGATE);
-- if (r) {
-- DRM_ERROR("set_clockgating_state(ungate) of IP block <%s> failed %d\n",
-- adev->ip_blocks[i].version->funcs->name, r);
-- }
-- }
- /* XXX handle errors */
- r = adev->ip_blocks[i].version->funcs->suspend(adev);
- /* XXX handle errors */
---
-2.7.4
-