mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
amdgpu: Don't print L2 status if there's nothing to print
If a 2nd fault comes in before the 1st is handled, the 1st fault will clear out the FAULT STATUS registers before the 2nd fault is handled. Thus we get a lot of zeroes. If status=0, just skip the L2 fault status information, to avoid confusion of why some VM fault status prints in dmesg are all zeroes. Signed-off-by: Kent Russell <kent.russell@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
5605a0d363
commit
3c0be69bad
@@ -175,7 +175,10 @@ static int gmc_v10_0_process_interrupt(struct amdgpu_device *adev,
|
||||
addr, entry->client_id,
|
||||
soc15_ih_clientid_name[entry->client_id]);
|
||||
|
||||
if (!amdgpu_sriov_vf(adev))
|
||||
/* Only print L2 fault status if the status register could be read and
|
||||
* contains useful information
|
||||
*/
|
||||
if (status != 0)
|
||||
hub->vmhub_funcs->print_l2_protection_fault_status(adev,
|
||||
status);
|
||||
|
||||
|
||||
@@ -144,7 +144,10 @@ static int gmc_v11_0_process_interrupt(struct amdgpu_device *adev,
|
||||
dev_err(adev->dev, " in page starting at address 0x%016llx from client %d\n",
|
||||
addr, entry->client_id);
|
||||
|
||||
if (!amdgpu_sriov_vf(adev))
|
||||
/* Only print L2 fault status if the status register could be read and
|
||||
* contains useful information
|
||||
*/
|
||||
if (status != 0)
|
||||
hub->vmhub_funcs->print_l2_protection_fault_status(adev, status);
|
||||
}
|
||||
|
||||
|
||||
@@ -137,7 +137,10 @@ static int gmc_v12_0_process_interrupt(struct amdgpu_device *adev,
|
||||
dev_err(adev->dev, " in page starting at address 0x%016llx from client %d\n",
|
||||
addr, entry->client_id);
|
||||
|
||||
if (!amdgpu_sriov_vf(adev))
|
||||
/* Only print L2 fault status if the status register could be read and
|
||||
* contains useful information
|
||||
*/
|
||||
if (status != 0)
|
||||
hub->vmhub_funcs->print_l2_protection_fault_status(adev, status);
|
||||
}
|
||||
|
||||
|
||||
@@ -672,6 +672,12 @@ static int gmc_v9_0_process_interrupt(struct amdgpu_device *adev,
|
||||
(amdgpu_ip_version(adev, GC_HWIP, 0) >= IP_VERSION(9, 4, 2)))
|
||||
return 0;
|
||||
|
||||
/* Only print L2 fault status if the status register could be read and
|
||||
* contains useful information
|
||||
*/
|
||||
if (!status)
|
||||
return 0;
|
||||
|
||||
if (!amdgpu_sriov_vf(adev))
|
||||
WREG32_P(hub->vm_l2_pro_fault_cntl, 1, ~1);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user