[PATCH] SWDEV-231280 CentOS-AWS Guest driver reload 3 failed with call trace in guest

Gu, JiaWei (Will) JiaWei.Gu at amd.com
Tue Apr 21 03:55:37 UTC 2020


[AMD Official Use Only - Internal Distribution Only]

Ping......

-----Original Message-----
From: Jiawei <Jiawei.Gu at amd.com> 
Sent: Monday, April 20, 2020 7:34 PM
To: amd-gfx at lists.freedesktop.org
Cc: Gu, JiaWei (Will) <JiaWei.Gu at amd.com>
Subject: [PATCH] SWDEV-231280 CentOS-AWS Guest driver reload 3 failed with call trace in guest

root cause:
X enables vblank, but driver skips shutting down vblank during unloading under sriov, which causes kernel call trace

solution:
move vblank shutdown logic  into dce_virtual_crtc_disable() to avoid sriov skip

Signed-off-by: Jiawei <Jiawei.Gu at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/dce_virtual.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
index 3f739efead61..c02797f2ee7f 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
@@ -191,8 +191,9 @@ static void dce_virtual_crtc_disable(struct drm_crtc *crtc)  {
 	struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
 
-	dce_virtual_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);
+	drm_crtc_vblank_off(crtc);
 
+	amdgpu_crtc->enabled = false;
 	amdgpu_crtc->pll_id = ATOM_PPLL_INVALID;
 	amdgpu_crtc->encoder = NULL;
 	amdgpu_crtc->connector = NULL;
--
2.20.1


More information about the amd-gfx mailing list