> The interrupt after FLR is missed sometimes due to hardware reason, so > guest driver get the notification of FLR completion via polling message. Then > host doesn't write VALID bit to avoid sending interrupt, otherwise the > completion will be handled twice. > > So there's a valid message without VALID bit for FLR completion, driver > should handle it without checking. > > Signed-off-by: Pixel Ding <Pixel.Ding at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c > b/drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c > index 3164d61..285d54c 100644 > --- a/drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c > +++ b/drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c > @@ -369,7 +369,7 @@ static int xgpu_vi_mailbox_rcv_msg(struct > amdgpu_device *adev, > u32 mask = REG_FIELD_MASK(MAILBOX_CONTROL, > RCV_MSG_VALID); > > reg = RREG32_NO_KIQ(mmMAILBOX_CONTROL); > - if (!(reg & mask)) > + if (!(reg & mask) && (event != IDH_FLR_NOTIFICATION_CMPL)) > return -ENOENT; Small nitpick: better to move event check to top and add a comment. > reg = RREG32_NO_KIQ(mmMAILBOX_MSGBUF_RCV_DW0); > -- > 2.7.4 > > _______________________________________________ > amd-gfx mailing list > amd-gfx at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx