summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c
diff options
context:
space:
mode:
authorTao Zhou <tao.zhou1@amd.com>2024-10-29 14:46:44 +0300
committerAlex Deucher <alexander.deucher@amd.com>2024-12-10 18:26:46 +0300
commit71a0e9630027f77d7646c5b750593c9ecfaa27d3 (patch)
tree03dcb0701ad964b6ed77c3dec7cbb5d08431831a /drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c
parent07dd49e1fc42fcb67a1786c2b2f71e0dd0079935 (diff)
downloadlinux-71a0e9630027f77d7646c5b750593c9ecfaa27d3.tar.xz
drm/amdgpu: save UMC global channel index to eeprom
Save the global channel index returned by RAS TA to eeprom. We can get memory physical address by MCA address and channel index. Signed-off-by: Tao Zhou <tao.zhou1@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c
index 984af815fb38..4107b78d9dda 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c
@@ -495,10 +495,9 @@ out:
int amdgpu_umc_mca_to_addr(struct amdgpu_device *adev,
uint64_t err_addr, uint32_t ch, uint32_t umc,
uint32_t node, uint32_t socket,
- uint64_t *addr, bool dump_addr)
+ struct ta_ras_query_address_output *addr_out, bool dump_addr)
{
struct ta_ras_query_address_input addr_in;
- struct ta_ras_query_address_output addr_out;
int ret;
memset(&addr_in, 0, sizeof(addr_in));
@@ -510,14 +509,12 @@ int amdgpu_umc_mca_to_addr(struct amdgpu_device *adev,
if (adev->umc.ras && adev->umc.ras->convert_ras_err_addr) {
ret = adev->umc.ras->convert_ras_err_addr(adev, NULL, &addr_in,
- &addr_out, dump_addr);
+ addr_out, dump_addr);
if (ret)
return ret;
} else {
return 0;
}
- *addr = addr_out.pa.pa;
-
return 0;
}