[PATCH 9/9] drm/amdgpu:fix random missing of FLR NOTIFY
Christian König
ckoenig.leichtzumerken at gmail.com
Thu Oct 26 07:22:30 UTC 2017
Am 25.10.2017 um 11:22 schrieb Monk Liu:
> Signed-off-by: Monk Liu <Monk.Liu at amd.com>
No idea if this is correct or not, but it looks like an important fix
which should go into the branch first.
Feel free to add my Acked-by: Christian König <christian.koenig at amd.com>.
Regards,
Christian.
> ---
> drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 14 +++++++++++---
> 1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c b/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c
> index f8522a0..a43cffb 100644
> --- a/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c
> +++ b/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c
> @@ -282,9 +282,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;
More information about the amd-gfx
mailing list