[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