All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: [PATCH 2/2] amd/amdgpu/sriov use resume for smc recover under sriov
       [not found] <20191227065718.3314-1-Jack.Zhang1@amd.com>
@ 2019-12-27  6:59 ` Zhang, Jack (Jian)
  0 siblings, 0 replies; only message in thread
From: Zhang, Jack (Jian) @ 2019-12-27  6:59 UTC (permalink / raw)
  To: Feng, Kenneth, Deucher, Alexander, Quan, Evan, Wang, Kevin(Yang),
	Tao, Yintian, Deng, Emily, Min, Frank, Liu, Monk, amd-gfx
  Cc: Zhang, Jack (Jian)



-----Original Message-----
From: Jack Zhang <Jack.Zhang1@amd.com> 
Sent: Friday, December 27, 2019 2:57 PM
To: amd-gfx@lists.freedesktop.org
Cc: Zhang, Jack (Jian) <Jack.Zhang1@amd.com>
Subject: [PATCH 2/2] amd/amdgpu/sriov use resume for smc recover under sriov

Under sriov and pp_onevf mode,
1.take resume function for smc recover to avoid potential memory leak.

2.add return condition inside smc resume function for sriov_pp_onevf_mode and pm_enabled param.

Signed-off-by: Jack Zhang <Jack.Zhang1@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +++++-  drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 6 ++++++
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 6a4b142..547fa3e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -2458,7 +2458,11 @@ static int amdgpu_device_ip_reinit_late_sriov(struct amdgpu_device *adev)
 				block->status.hw)
 				continue;
 
-			r = block->version->funcs->hw_init(adev);
+			if (block->version->type == AMD_IP_BLOCK_TYPE_SMC)
+				r = block->version->funcs->resume(adev);
+			else
+				r = block->version->funcs->hw_init(adev);
+
 			DRM_INFO("RE-INIT-late: %s %s\n", block->version->funcs->name, r?"failed":"succeeded");
 			if (r)
 				return r;
diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
index 42c0a6d..7cad358 100644
--- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
@@ -1416,6 +1416,12 @@ static int smu_resume(void *handle)
 	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
 	struct smu_context *smu = &adev->smu;
 
+	if (amdgpu_sriov_vf(adev)&& !amdgpu_sriov_is_pp_one_vf(adev))
+		return 0;
+
+	if (!smu->pm_enabled)
+		return 0;
+
 	pr_info("SMU is resuming...\n");
 
 	ret = smu_start_smc_engine(smu);
--
2.7.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2019-12-27  6:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20191227065718.3314-1-Jack.Zhang1@amd.com>
2019-12-27  6:59 ` [PATCH 2/2] amd/amdgpu/sriov use resume for smc recover under sriov Zhang, Jack (Jian)

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.