On Thu, Feb 18, 2021 at 8:19 PM shaoyunl <shaoyun.liu@xxxxxxx> 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@xxxxxxx> > 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@xxxxxxx> > + 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@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx