mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 02:21:52 +09:00
drm/amdgpu:fix random missing of FLR NOTIFY
[ Upstream commit 34a4d2bf06 ]
Signed-off-by: Monk Liu <Monk.Liu@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0049457bfd
commit
5d8c64ea75
@@ -276,9 +276,17 @@ static int xgpu_ai_mailbox_rcv_irq(struct amdgpu_device *adev,
|
||||
/* see what event we get */
|
||||
r = xgpu_ai_mailbox_rcv_msg(adev, IDH_FLR_NOTIFICATION);
|
||||
|
||||
/* only handle FLR_NOTIFY now */
|
||||
if (!r)
|
||||
schedule_work(&adev->virt.flr_work);
|
||||
/* sometimes the interrupt is delayed to inject to VM, so under such case
|
||||
* the IDH_FLR_NOTIFICATION is overwritten by VF FLR from GIM side, thus
|
||||
* above recieve message could be failed, we should schedule the flr_work
|
||||
* anyway
|
||||
*/
|
||||
if (r) {
|
||||
DRM_ERROR("FLR_NOTIFICATION is missed\n");
|
||||
xgpu_ai_mailbox_send_ack(adev);
|
||||
}
|
||||
|
||||
schedule_work(&adev->virt.flr_work);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user