Good point. â?? Sincerely Yours, Pixel On 07/02/2017, 1:54 PM, "Zhang, Jerry" <Jerry.Zhang at amd.com> wrote: >Maybe we can get the some useful info from IV entry. > >Regards, >Jerry (Junwei Zhang) > >Linux Base Graphics >SRDC Software Development >_____________________________________ > > >> -----Original Message----- >> From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf Of >> Pixel Ding >> Sent: Tuesday, February 07, 2017 13:49 >> To: Zhou, David(ChunMing); Koenig, Christian >> Cc: Ding, Pixel; amd-gfx at lists.freedesktop.org >> Subject: [PATCH] drm/amdgpu/virt: skip VM fault handler for VF >> >> VF uses KIQ to access registers. When VM fault occurs, the driver can't get back >> the fence of KIQ submission and runs into CPU soft lockup. >> >> Signed-off-by: Pixel Ding <Pixel.Ding at amd.com> >> --- >> drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c >> b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c >> index 7669b32..ff4fb37 100644 >> --- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c >> +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c >> @@ -1237,6 +1237,11 @@ static int gmc_v8_0_process_interrupt(struct >> amdgpu_device *adev, { >> u32 addr, status, mc_client; >> >> + if (amdgpu_sriov_vf(adev)) { >> + dev_err(adev->dev, "GPU fault detected on VF, can't access VM >> registers\n"); >> + return 0; >> + } >> + >> addr = RREG32(mmVM_CONTEXT1_PROTECTION_FAULT_ADDR); >> status = RREG32(mmVM_CONTEXT1_PROTECTION_FAULT_STATUS); >> mc_client = >> RREG32(mmVM_CONTEXT1_PROTECTION_FAULT_MCCLIENT); >> -- >> 2.7.4 >> >> _______________________________________________ >> amd-gfx mailing list >> amd-gfx at lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx