[PATCH 3/3] SWDEV-247673 - stop data_exchange work thread before reset
Alex Deucher
alexdeucher at gmail.com
Wed Sep 16 21:07:40 UTC 2020
On Wed, Sep 16, 2020 at 11:05 AM Bokun Zhang <Bokun.Zhang at amd.com> wrote:
>
> From: Tiecheng Zhou <Tiecheng.Zhou at amd.com>
>
> In FLR routine, init_data_exchange is called at reset_sriov
> while fini_data_exchange is not. This will duplicating work
> thread.
>
> So call fini_data_exchange before reset for SRIOV
>
> Change-Id: I974c6a3c5de86736eebefc386c03fe0e18e1fae3
> Signed-off-by: Tiecheng Zhou <Tiecheng.Zhou at amd.com>
> Signed-off-by: Bokun Zhang <Bokun.Zhang at amd.com>
Please drop the SWDEV reference from the subject and prefix the patch
with drm/amdgpu:
Alex
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 483ec0136332..e71cf3b34e15 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -4080,6 +4080,11 @@ static int amdgpu_device_pre_asic_reset(struct amdgpu_device *adev,
>
> amdgpu_debugfs_wait_dump(adev);
>
> + if (amdgpu_sriov_vf(adev)) {
> + /* stop the data exchange thread */
> + amdgpu_virt_fini_data_exchange(adev);
> + }
> +
> /* block all schedulers and reset given job's ring */
> for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
> struct amdgpu_ring *ring = adev->rings[i];
> --
> 2.20.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