aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/ni.c
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2012-06-27 12:25:01 -0400
committerDave Airlie <airlied@redhat.com>2012-07-19 22:28:07 -0400
commit440a7cd87e2bea9b8cf7b8b07aecad9c2f8638dd (patch)
treeccf65cfd96affbdf67e35703791edf49b0ab001e /drivers/gpu/drm/radeon/ni.c
parent4dbdf0aea9585add9359e7ca5535256f866ec85c (diff)
drm/radeon: improve GPU lockup debugging info on r6xx/r7xx/r8xx/r9xx
Print various CP register that have valuable informations regarding GPU lockup. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/ni.c')
-rw-r--r--drivers/gpu/drm/radeon/ni.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
index ddfef8cdd838..9945d86d9001 100644
--- a/drivers/gpu/drm/radeon/ni.c
+++ b/drivers/gpu/drm/radeon/ni.c
@@ -1122,6 +1122,14 @@ static int cayman_gpu_soft_reset(struct radeon_device *rdev)
1122 RREG32(GRBM_STATUS_SE1)); 1122 RREG32(GRBM_STATUS_SE1));
1123 dev_info(rdev->dev, " SRBM_STATUS=0x%08X\n", 1123 dev_info(rdev->dev, " SRBM_STATUS=0x%08X\n",
1124 RREG32(SRBM_STATUS)); 1124 RREG32(SRBM_STATUS));
1125 dev_info(rdev->dev, " R_008674_CP_STALLED_STAT1 = 0x%08X\n",
1126 RREG32(CP_STALLED_STAT1));
1127 dev_info(rdev->dev, " R_008678_CP_STALLED_STAT2 = 0x%08X\n",
1128 RREG32(CP_STALLED_STAT2));
1129 dev_info(rdev->dev, " R_00867C_CP_BUSY_STAT = 0x%08X\n",
1130 RREG32(CP_BUSY_STAT));
1131 dev_info(rdev->dev, " R_008680_CP_STAT = 0x%08X\n",
1132 RREG32(CP_STAT));
1125 dev_info(rdev->dev, " VM_CONTEXT0_PROTECTION_FAULT_ADDR 0x%08X\n", 1133 dev_info(rdev->dev, " VM_CONTEXT0_PROTECTION_FAULT_ADDR 0x%08X\n",
1126 RREG32(0x14F8)); 1134 RREG32(0x14F8));
1127 dev_info(rdev->dev, " VM_CONTEXT0_PROTECTION_FAULT_STATUS 0x%08X\n", 1135 dev_info(rdev->dev, " VM_CONTEXT0_PROTECTION_FAULT_STATUS 0x%08X\n",
@@ -1170,6 +1178,14 @@ static int cayman_gpu_soft_reset(struct radeon_device *rdev)
1170 RREG32(GRBM_STATUS_SE1)); 1178 RREG32(GRBM_STATUS_SE1));
1171 dev_info(rdev->dev, " SRBM_STATUS=0x%08X\n", 1179 dev_info(rdev->dev, " SRBM_STATUS=0x%08X\n",
1172 RREG32(SRBM_STATUS)); 1180 RREG32(SRBM_STATUS));
1181 dev_info(rdev->dev, " R_008674_CP_STALLED_STAT1 = 0x%08X\n",
1182 RREG32(CP_STALLED_STAT1));
1183 dev_info(rdev->dev, " R_008678_CP_STALLED_STAT2 = 0x%08X\n",
1184 RREG32(CP_STALLED_STAT2));
1185 dev_info(rdev->dev, " R_00867C_CP_BUSY_STAT = 0x%08X\n",
1186 RREG32(CP_BUSY_STAT));
1187 dev_info(rdev->dev, " R_008680_CP_STAT = 0x%08X\n",
1188 RREG32(CP_STAT));
1173 evergreen_mc_resume(rdev, &save); 1189 evergreen_mc_resume(rdev, &save);
1174 return 0; 1190 return 0;
1175} 1191}