[PATCH 11/20] drm/amdgpu:add lock_reset for SRIOV

Deucher, Alexander Alexander.Deucher at amd.com
Tue Feb 7 15:47:57 UTC 2017


> -----Original Message-----
> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf
> Of Monk Liu
> Sent: Tuesday, February 07, 2017 1:11 AM
> To: amd-gfx at lists.freedesktop.org
> Cc: Liu, Monk
> Subject: [PATCH 11/20] drm/amdgpu:add lock_reset for SRIOV
> 
> this lock is used for sriov_gpu_reset, only get this mutex
> can run into sriov_gpu_reset.
> 
> we have two cases triggers gpu_reset for SRIOV:
> 1) we have submit timedout and trigger reset voluntarily
> 2) hypervisor found world switch hang and trigger flr and notify we to
>    do gpu reset.
> 
> both cases need take care and we need a mutex to protect the consistency
> of
> reset routine.
> 
> Change-Id: I37aabccfaef1cde32dc350062a519d32c9d51c02
> 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_virt.c | 1 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> index 82a70db..ac035ab 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
> @@ -99,6 +99,7 @@ void amdgpu_virt_init_setting(struct amdgpu_device
> *adev)
>  	adev->enable_virtual_display = true;
> 
>  	mutex_init(&adev->virt.lock_kiq);
> +	mutex_init(&adev->virt.lock_reset);
>  }
> 
>  uint32_t amdgpu_virt_kiq_rreg(struct amdgpu_device *adev, uint32_t reg)
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
> index 7020ff2..4b05568 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h
> @@ -47,6 +47,7 @@ struct amdgpu_virt {
>  	bool chained_ib_support;
>  	uint32_t			reg_val_offs;
>  	struct mutex			lock_kiq;
> +	struct mutex                    lock_reset;
>  	struct amdgpu_irq_src		ack_irq;
>  	struct amdgpu_irq_src		rcv_irq;
>  	struct delayed_work		flr_work;
> --
> 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