OSDN Git Service

drm/amdgpu: Print UTCL2 client ID on a gpuvm fault
authorOak Zeng <Oak.Zeng@amd.com>
Mon, 6 Apr 2020 17:11:31 +0000 (12:11 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 9 Apr 2020 14:43:15 +0000 (10:43 -0400)
UTCL2 client ID is useful information to get which
UTCL2 client caused the gpuvm fault. Print it out
for debug purpose

Signed-off-by: Oak Zeng <Oak.Zeng@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian Konig <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c

index 78d769e..94a6096 100644 (file)
@@ -170,6 +170,9 @@ static int gmc_v10_0_process_interrupt(struct amdgpu_device *adev,
                        dev_err(adev->dev,
                                "GCVM_L2_PROTECTION_FAULT_STATUS:0x%08X\n",
                                status);
+                       dev_err(adev->dev, "\t Faulty UTCL2 client ID: 0x%lx\n",
+                               REG_GET_FIELD(status,
+                               GCVM_L2_PROTECTION_FAULT_STATUS, CID));
                        dev_err(adev->dev, "\t MORE_FAULTS: 0x%lx\n",
                                REG_GET_FIELD(status,
                                GCVM_L2_PROTECTION_FAULT_STATUS, MORE_FAULTS));
index 8606f87..fecdbc4 100644 (file)
@@ -362,6 +362,9 @@ static int gmc_v9_0_process_interrupt(struct amdgpu_device *adev,
                        dev_err(adev->dev,
                                "VM_L2_PROTECTION_FAULT_STATUS:0x%08X\n",
                                status);
+                       dev_err(adev->dev, "\t Faulty UTCL2 client ID: 0x%lx\n",
+                               REG_GET_FIELD(status,
+                               VM_L2_PROTECTION_FAULT_STATUS, CID));
                        dev_err(adev->dev, "\t MORE_FAULTS: 0x%lx\n",
                                REG_GET_FIELD(status,
                                VM_L2_PROTECTION_FAULT_STATUS, MORE_FAULTS));