mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 11:33:36 -04:00
drm/amdgpu: Improve error checking in amdgpu_virt_rlcg_reg_rw (v2)
The current error detection only looks for a timeout. This should be changed to also check scratch_reg1 for any errors returned from RLCG. v2: remove new error value Signed-off-by: Victor Lu <victorchengchi.lu@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -979,7 +979,7 @@ u32 amdgpu_virt_rlcg_reg_rw(struct amdgpu_device *adev, u32 offset, u32 v, u32 f
|
||||
* SCRATCH_REG0 = read/write value
|
||||
* SCRATCH_REG1[30:28] = command
|
||||
* SCRATCH_REG1[19:0] = address in dword
|
||||
* SCRATCH_REG1[26:24] = Error reporting
|
||||
* SCRATCH_REG1[27:24] = Error reporting
|
||||
*/
|
||||
writel(v, scratch_reg0);
|
||||
writel((offset | flag), scratch_reg1);
|
||||
@@ -993,7 +993,8 @@ u32 amdgpu_virt_rlcg_reg_rw(struct amdgpu_device *adev, u32 offset, u32 v, u32 f
|
||||
udelay(10);
|
||||
}
|
||||
|
||||
if (i >= timeout) {
|
||||
tmp = readl(scratch_reg1);
|
||||
if (i >= timeout || (tmp & AMDGPU_RLCG_SCRATCH1_ERROR_MASK) != 0) {
|
||||
if (amdgpu_sriov_rlcg_error_report_enabled(adev)) {
|
||||
if (tmp & AMDGPU_RLCG_VFGATE_DISABLED) {
|
||||
dev_err(adev->dev,
|
||||
|
||||
Reference in New Issue
Block a user