[PATCH] drm/amdgpu:use hw_init for sriov_gpu_reset
Deucher, Alexander
Alexander.Deucher at amd.com
Thu Feb 9 14:37:01 UTC 2017
> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf
> Of Monk Liu
> Sent: Thursday, February 09, 2017 12:46 AM
> To: amd-gfx at 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.Liu at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list