[PATCH 034/109] drm/amd/ras: add ext_umc_mask to RAS TA init
Alex Deucher <[email protected]>
| Newsgroups | org.freedesktop.lists.amd-gfx |
|---|---|
| Message-ID | <[email protected]> |
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/ras/core/ras_psp.c | 1 + drivers/gpu/drm/amd/ras/core/ras_psp.h | 1 + drivers/gpu/drm/amd/ras/core/ta_if.h | 1 + drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c | 3 ++- 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/ras/core/ras_psp.c b/drivers/gpu/drm/amd/ras/core/ras_psp.c index da49ee79711d9..4835228993181 100644 --- a/drivers/gpu/drm/amd/ras/core/ras_psp.c +++ b/drivers/gpu/drm/amd/ras/core/ras_psp.c @@ -515,6 +515,7 @@ static int send_load_ta_fw_cmd(struct ras_core_context *ras_core, ta_init_flags->nps_mode = ta_ctx->init_param.nps_mode; ta_init_flags->active_umc_mask = ta_ctx->init_param.active_umc_mask; ta_init_flags->vram_type = ta_ctx->init_param.vram_type; + ta_init_flags->ext_umc_mask = ta_ctx->init_param.ext_umc_mask; /* Setup load ras ta command */ memset(&psp_load_ta_cmd, 0, sizeof(psp_load_ta_cmd)); diff --git a/drivers/gpu/drm/amd/ras/core/ras_psp.h b/drivers/gpu/drm/amd/ras/core/ras_psp.h index dbc06c85d4aec..f1d32f31a64ee 100644 --- a/drivers/gpu/drm/amd/ras/core/ras_psp.h +++ b/drivers/gpu/drm/amd/ras/core/ras_psp.h @@ -54,6 +54,7 @@ struct ras_ta_init_param { uint8_t nps_mode; uint32_t active_umc_mask; uint8_t vram_type; + uint32_t ext_umc_mask; }; struct gpu_mem_block { diff --git a/drivers/gpu/drm/amd/ras/core/ta_if.h b/drivers/gpu/drm/amd/ras/core/ta_if.h index 5d4cea459954d..30c058a524db7 100644 --- a/drivers/gpu/drm/amd/ras/core/ta_if.h +++ b/drivers/gpu/drm/amd/ras/core/ta_if.h @@ -202,6 +202,7 @@ struct ras_ta_init_flags { uint8_t nps_mode; uint32_t active_umc_mask; uint8_t vram_type; + uint32_t ext_umc_mask; }; struct ras_ta_mca_addr { diff --git a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c index 9f193cf2ab385..4b9384bc87b38 100644 --- a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c +++ b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c @@ -278,8 +278,9 @@ static int amdgpu_ras_mgr_get_ras_ta_init_param(struct ras_core_context *ras_cor ras_ta_param->xcc_mask = adev->gfx.xcc_mask; ras_ta_param->channel_dis_num = hweight32(adev->gmc.m_half_use) * 2; - ras_ta_param->active_umc_mask = adev->umc.active_mask; + ras_ta_param->active_umc_mask = lower_32_bits(adev->umc.active_mask); ras_ta_param->vram_type = (uint8_t)adev->gmc.vram_type; + ras_ta_param->ext_umc_mask = upper_32_bits(adev->umc.active_mask); if (!amdgpu_ras_mgr_get_curr_nps_mode(adev, &nps_mode)) ras_ta_param->nps_mode = nps_mode; -- 2.55.0