diff options
author | 2021-10-06 07:55:44 +0300 | |
---|---|---|
committer | 2021-10-06 07:55:44 +0300 | |
commit | e700ac213a0f793fb4f83098413303e3dd080892 (patch) | |
tree | 52130e5a24ec9ea55b2f81899b8a45bed0f17f7c /drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | |
parent | bus: ti-sysc: Add break in switch statement in sysc_init_soc() (diff) | |
parent | soc: ti: omap-prm: Fix external abort for am335x pruss (diff) | |
download | wireguard-linux-e700ac213a0f793fb4f83098413303e3dd080892.tar.xz wireguard-linux-e700ac213a0f793fb4f83098413303e3dd080892.zip |
Merge branch 'pruss-fix' into fixes
Merge in a fix for pruss reset issue caused by enabling pruss for am335x.
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c b/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c index 3ee481557fc9..23b066bcffb2 100644 --- a/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c +++ b/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c @@ -252,12 +252,14 @@ static void xgpu_ai_mailbox_flr_work(struct work_struct *work) * otherwise the mailbox msg will be ruined/reseted by * the VF FLR. */ - if (!down_read_trylock(&adev->reset_sem)) + if (!down_write_trylock(&adev->reset_sem)) return; amdgpu_virt_fini_data_exchange(adev); atomic_set(&adev->in_gpu_reset, 1); + xgpu_ai_mailbox_trans_msg(adev, IDH_READY_TO_RESET, 0, 0, 0); + do { if (xgpu_ai_mailbox_peek_msg(adev) == IDH_FLR_NOTIFICATION_CMPL) goto flr_done; @@ -268,7 +270,7 @@ static void xgpu_ai_mailbox_flr_work(struct work_struct *work) flr_done: atomic_set(&adev->in_gpu_reset, 0); - up_read(&adev->reset_sem); + up_write(&adev->reset_sem); /* Trigger recovery for world switch failure if no TDR */ if (amdgpu_device_should_recover_gpu(adev) |