Good point. — Sincerely Yours, Pixel
On 07/02/2017, 1:54 PM, "Zhang, Jerry" <[email protected]> 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:[email protected]] On Behalf Of >> Pixel Ding >> Sent: Tuesday, February 07, 2017 13:49 >> To: Zhou, David(ChunMing); Koenig, Christian >> Cc: Ding, Pixel; [email protected] >> 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 <[email protected]> >> --- >> 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 >> [email protected] >> https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/amd-gfx
