Ping ......
>-----Original Message----- >From: amd-gfx <amd-gfx-boun...@lists.freedesktop.org> On Behalf Of Emily >Deng >Sent: Saturday, December 29, 2018 5:56 PM >To: amd-gfx@lists.freedesktop.org >Cc: Deng, Emily <emily.d...@amd.com> >Subject: [PATCH] drm/amdgpu/sriov:Correct pfvf exchange logic > >The pfvf exchange need be in exclusive mode. And add pfvf exchange in gpu >reset. > >Signed-off-by: Emily Deng <emily.d...@amd.com> >--- > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 ++++---- > drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c | 2 +- > 2 files changed, 5 insertions(+), 5 deletions(-) > >diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >index 98df8e4..7ff3a28 100644 >--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c >@@ -1701,8 +1701,10 @@ static int amdgpu_device_ip_init(struct >amdgpu_device *adev) > amdgpu_xgmi_add_device(adev); > amdgpu_amdkfd_device_init(adev); > >- if (amdgpu_sriov_vf(adev)) >+ if (amdgpu_sriov_vf(adev)) { >+ amdgpu_virt_init_data_exchange(adev); > amdgpu_virt_release_full_gpu(adev, true); >+ } > > return 0; > } >@@ -2632,9 +2634,6 @@ int amdgpu_device_init(struct amdgpu_device *adev, > goto failed; > } > >- if (amdgpu_sriov_vf(adev)) >- amdgpu_virt_init_data_exchange(adev); >- > amdgpu_fbdev_init(adev); > > r = amdgpu_pm_sysfs_init(adev); >@@ -3226,6 +3225,7 @@ static int amdgpu_device_reset_sriov(struct >amdgpu_device *adev, > r = amdgpu_ib_ring_tests(adev); > > error: >+ amdgpu_virt_init_data_exchange(adev); > amdgpu_virt_release_full_gpu(adev, true); > if (!r && adev->virt.gim_feature & >AMDGIM_FEATURE_GIM_FLR_VRAMLOST) { > atomic_inc(&adev->vram_lost_counter); >diff --git a/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c >b/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c >index 8cbb465..b11a1c17 100644 >--- a/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c >+++ b/drivers/gpu/drm/amd/amdgpu/mxgpu_ai.c >@@ -174,7 +174,7 @@ static int xgpu_ai_send_access_requests(struct >amdgpu_device *adev, > return r; > } > /* Retrieve checksum from mailbox2 */ >- if (req == IDH_REQ_GPU_INIT_ACCESS) { >+ if (req == IDH_REQ_GPU_INIT_ACCESS || req == >+IDH_REQ_GPU_RESET_ACCESS) { > adev->virt.fw_reserve.checksum_key = > RREG32_NO_KIQ(SOC15_REG_OFFSET(NBIO, 0, > > mmBIF_BX_PF0_MAILBOX_MSGBUF_RCV_DW2)); >-- >2.7.4 > >_______________________________________________ >amd-gfx mailing list >amd-gfx@lists.freedesktop.org >https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx