Am 09.02.2017 um 15:37 schrieb Deucher, Alexander:
-----Original Message-----
From: amd-gfx [mailto:amd-gfx-boun...@lists.freedesktop.org] On Behalf
Of Monk Liu
Sent: Thursday, February 09, 2017 12:46 AM
To: amd-gfx@lists.freedesktop.org
Cc: Liu, Monk
Subject: [PATCH] drm/amdgpu:use hw_init for sriov_gpu_reset

no suspend invoked so after VF FLR by host, we just
call hw_init to reinitialize IPs.

Change-Id: If09cb42b09bee6acc84e6b239ef537ad5a3df41c
Signed-off-by: Monk Liu <monk....@amd.com>
Reviewed-by: Alex Deucher <alexander.deuc...@amd.com>

Reviewed-by: Christian König <christian.koe...@amd.com>.


---
  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 12 ++++++------
  1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 0d33bc9..7e64110 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -1604,7 +1604,7 @@ int amdgpu_suspend(struct amdgpu_device
*adev)
        return 0;
  }

-static int amdgpu_sriov_resume_early(struct amdgpu_device *adev)
+static int amdgpu_sriov_reinit_early(struct amdgpu_device *adev)
  {
        int i, r;

@@ -1615,7 +1615,7 @@ static int amdgpu_sriov_resume_early(struct
amdgpu_device *adev)
                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)
-                       r = adev->ip_blocks[i].version->funcs-
resume(adev);
+                       r = adev->ip_blocks[i].version->funcs-
hw_init(adev);
                if (r) {
                        DRM_ERROR("resume of IP block <%s> failed %d\n",
@@ -1627,7 +1627,7 @@ static int amdgpu_sriov_resume_early(struct
amdgpu_device *adev)
        return 0;
  }

-static int amdgpu_sriov_resume_late(struct amdgpu_device *adev)
+static int amdgpu_sriov_reinit_late(struct amdgpu_device *adev)
  {
        int i, r;

@@ -1640,7 +1640,7 @@ static int amdgpu_sriov_resume_late(struct
amdgpu_device *adev)
                                adev->ip_blocks[i].version->type ==
AMD_IP_BLOCK_TYPE_IH )
                        continue;

-               r = adev->ip_blocks[i].version->funcs->resume(adev);
+               r = adev->ip_blocks[i].version->funcs->hw_init(adev);
                if (r) {
                        DRM_ERROR("resume of IP block <%s> failed %d\n",
                                  adev->ip_blocks[i].version->funcs->name,
r);
@@ -2433,13 +2433,13 @@ int amdgpu_sriov_gpu_reset(struct
amdgpu_device *adev, bool voluntary)


        /* Resume IP prior to SMC */
-       amdgpu_sriov_resume_early(adev);
+       amdgpu_sriov_reinit_early(adev);

        /* we need recover gart prior to run SMC/CP/SDMA resume */
        amdgpu_ttm_recover_gart(adev);

        /* now we are okay to resume SMC/CP/SDMA */
-       amdgpu_sriov_resume_late(adev);
+       amdgpu_sriov_reinit_late(adev);

        amdgpu_irq_gpu_reset_resume_helper(adev);

--
2.7.4

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


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

Reply via email to