From: Candice Li <[email protected]>

Add ext_umc_mask for the upper half of
adev->umc.active_mask and fill both fields
when building RAS TA init message.

Signed-off-by: Candice Li <[email protected]>
Reviewed-by: Hawking Zhang <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 3 ++-
 drivers/gpu/drm/amd/amdgpu/ta_ras_if.h  | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index 2a0ab763f59ac..a77b87966fee9 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -2453,8 +2453,9 @@ int psp_ras_initialize(struct psp_context *psp)
        if (adev->gmc.gmc_funcs->query_mem_partition_mode)
                ras_cmd->ras_in_message.init_flags.nps_mode =
                        adev->gmc.gmc_funcs->query_mem_partition_mode(adev);
-       ras_cmd->ras_in_message.init_flags.active_umc_mask = 
adev->umc.active_mask;
+       ras_cmd->ras_in_message.init_flags.active_umc_mask = 
lower_32_bits(adev->umc.active_mask);
        ras_cmd->ras_in_message.init_flags.vram_type = 
(uint8_t)adev->gmc.vram_type;
+       ras_cmd->ras_in_message.init_flags.ext_umc_mask = 
upper_32_bits(adev->umc.active_mask);
 
        ret = psp_ta_load(psp, &psp->ras_context.context);
 
diff --git a/drivers/gpu/drm/amd/amdgpu/ta_ras_if.h 
b/drivers/gpu/drm/amd/amdgpu/ta_ras_if.h
index f6178da910d35..3110140f739a9 100644
--- a/drivers/gpu/drm/amd/amdgpu/ta_ras_if.h
+++ b/drivers/gpu/drm/amd/amdgpu/ta_ras_if.h
@@ -156,6 +156,7 @@ struct ta_ras_init_flags {
        uint8_t nps_mode;
        uint32_t active_umc_mask;
        uint8_t vram_type;
+       uint32_t ext_umc_mask;
 };
 
 struct ta_ras_mca_addr {
-- 
2.55.0

Reply via email to