[PATCH 3/4] drm/amdgpu: Add kfd init_complete flag to check from amdgpu side
Alex Deucher
alexdeucher at gmail.com
Tue Feb 23 16:30:39 UTC 2021
On Thu, Feb 18, 2021 at 8:19 PM shaoyunl <shaoyun.liu at amd.com> wrote:
>
> amdgpu driver may in reset state duirng init which will not initialize the kfd,
grammer "may be in"
typo duirng -> during
> driver need to initialize the KFD after reset by check the flag
>
> Signed-off-by: shaoyunl <shaoyun.liu at amd.com>
> Change-Id: Ic1684b55b27e0afd42bee8b9b431c4fb0afcec15
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 3 ++-
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 1 +
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 7 +++++++
> 3 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> index c5343a5eecbe..a876dc3af017 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> @@ -165,7 +165,8 @@ void amdgpu_amdkfd_device_init(struct amdgpu_device *adev)
> adev->doorbell_index.last_non_cp;
> }
>
> - kgd2kfd_device_init(adev->kfd.dev, adev_to_drm(adev), &gpu_resources);
> + adev->kfd.init_complete = kgd2kfd_device_init(adev->kfd.dev,
> + adev_to_drm(adev), &gpu_resources);
> }
> }
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
> index 4687ff2961e1..3182dd97840e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
> @@ -80,6 +80,7 @@ struct amdgpu_amdkfd_fence {
> struct amdgpu_kfd_dev {
> struct kfd_dev *dev;
> uint64_t vram_used;
> + bool init_complete;
> };
>
> enum kgd_engine_type {
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 9f574fd151bc..e898fce96f75 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -4841,6 +4841,13 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev,
> /*unlock kfd: SRIOV would do it separately */
> if (!need_emergency_restart && !amdgpu_sriov_vf(tmp_adev))
> amdgpu_amdkfd_post_reset(tmp_adev);
> +
> + /*kfd_post_reset will do nothing if kfd device is not initialized,
> + *need to bring up kfd here if it's not be initialized before
> + */
Fix up the comment here. Need a space between * and the comment.
E.g., /* kfd_post_reset ...
Also, I think this patch also needs to come before patch 1.
With those comments addressed:
Acked-by: Alex Deucher <alexander.deucher at amd.com>
> + if (!adev->kfd.init_complete)
> + amdgpu_amdkfd_device_init(adev);
> +
> if (audio_suspended)
> amdgpu_device_resume_display_audio(tmp_adev);
> amdgpu_device_unlock_adev(tmp_adev);
> --
> 2.17.1
>
> _______________________________________________
> 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