]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
drm/amdgpu: initialize new parameters and functions for amdgpu_umc structure
authorTao Zhou <tao.zhou1@amd.com>
Mon, 29 Jul 2019 06:28:35 +0000 (14:28 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 2 Aug 2019 15:30:38 +0000 (10:30 -0500)
add initialization for new members of amdgpu_umc structure

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>
drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c
drivers/gpu/drm/amd/amdgpu/umc_v6_1.c
drivers/gpu/drm/amd/amdgpu/umc_v6_1.h

index 7c4d9d99c6d18a58651added476abfb49c28386a..24387026fdeebe61efbb281caec2cdd99d39291a 100644 (file)
@@ -635,8 +635,11 @@ static void gmc_v9_0_set_umc_funcs(struct amdgpu_device *adev)
 {
        switch (adev->asic_type) {
        case CHIP_VEGA20:
-               adev->umc.max_ras_err_cnt_per_query =
-                       UMC_V6_1_UMC_INSTANCE_NUM * UMC_V6_1_CHANNEL_INSTANCE_NUM;
+               adev->umc.max_ras_err_cnt_per_query = UMC_V6_1_TOTAL_CHANNEL_NUM;
+               adev->umc.channel_inst_num = UMC_V6_1_CHANNEL_INSTANCE_NUM;
+               adev->umc.umc_inst_num = UMC_V6_1_UMC_INSTANCE_NUM;
+               adev->umc.channel_offs = UMC_V6_1_PER_CHANNEL_OFFSET;
+               adev->umc.channel_idx_tbl = &umc_v6_1_channel_idx_tbl[0][0];
                adev->umc.funcs = &umc_v6_1_funcs;
                break;
        default:
index 035e4fea472c56f58b49e3e4df27060557e5d74c..9ba015d7eb57f0b5c70ece95eb242472164f366e 100644 (file)
@@ -41,7 +41,7 @@
 /* offset in 256B block */
 #define OFFSET_IN_256B_BLOCK(addr)             ((addr) & 0xffULL)
 
-static uint32_t
+const uint32_t
        umc_v6_1_channel_idx_tbl[UMC_V6_1_UMC_INSTANCE_NUM][UMC_V6_1_CHANNEL_INSTANCE_NUM] = {
                {2, 18, 11, 27},        {4, 20, 13, 29},
                {1, 17, 8, 24},         {7, 23, 14, 30},
@@ -235,7 +235,15 @@ static void umc_v6_1_query_ras_error_address(struct amdgpu_device *adev,
        umc_v6_1_disable_umc_index_mode(adev);
 }
 
+static void umc_v6_1_ras_init(struct amdgpu_device *adev)
+{
+
+}
+
 const struct amdgpu_umc_funcs umc_v6_1_funcs = {
+       .ras_init = umc_v6_1_ras_init,
        .query_ras_error_count = umc_v6_1_query_ras_error_count,
        .query_ras_error_address = umc_v6_1_query_ras_error_address,
+       .enable_umc_index_mode = umc_v6_1_enable_umc_index_mode,
+       .disable_umc_index_mode = umc_v6_1_disable_umc_index_mode,
 };
index bddaf14a77f965fc22d707e169fd9950f60b40a4..ad4598c0e49582549eb91fa3bc93f98ed1b20d0b 100644 (file)
@@ -24,6 +24,7 @@
 #define __UMC_V6_1_H__
 
 #include "soc15_common.h"
+#include "amdgpu.h"
 
 /* HBM  Memory Channel Width */
 #define UMC_V6_1_HBM_MEMORY_CHANNEL_WIDTH      128
@@ -37,5 +38,7 @@
 #define UMC_V6_1_PER_CHANNEL_OFFSET            0x800
 
 extern const struct amdgpu_umc_funcs umc_v6_1_funcs;
+extern const uint32_t
+       umc_v6_1_channel_idx_tbl[UMC_V6_1_UMC_INSTANCE_NUM][UMC_V6_1_CHANNEL_INSTANCE_NUM];
 
 #endif