diff options
author | Tao Zhou <tao.zhou1@amd.com> | 2019-07-29 02:10:54 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2019-08-02 11:30:38 -0400 |
commit | 33b97cf896d4ec6c05e8febdf73ee30c508a0481 (patch) | |
tree | afdd2e63aec687c30816c7687377bac08c0a7cc0 | |
parent | a55c8d7bda4f83e86e2b7ed7b1704e762ed50db3 (diff) |
drm/amdgpu: add more parameters and functions to amdgpu_umc structure
expose more parameters and functions of specific umc version to common
umc layer, so amdgpu_umc layer and other blocks could access them
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>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h | 13 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/umc_v6_1.h | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h index dfa1a39e57af..2604f5076867 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_umc.h | |||
@@ -22,15 +22,28 @@ | |||
22 | #define __AMDGPU_UMC_H__ | 22 | #define __AMDGPU_UMC_H__ |
23 | 23 | ||
24 | struct amdgpu_umc_funcs { | 24 | struct amdgpu_umc_funcs { |
25 | void (*ras_init)(struct amdgpu_device *adev); | ||
25 | void (*query_ras_error_count)(struct amdgpu_device *adev, | 26 | void (*query_ras_error_count)(struct amdgpu_device *adev, |
26 | void *ras_error_status); | 27 | void *ras_error_status); |
27 | void (*query_ras_error_address)(struct amdgpu_device *adev, | 28 | void (*query_ras_error_address)(struct amdgpu_device *adev, |
28 | void *ras_error_status); | 29 | void *ras_error_status); |
30 | void (*enable_umc_index_mode)(struct amdgpu_device *adev, | ||
31 | uint32_t umc_instance); | ||
32 | void (*disable_umc_index_mode)(struct amdgpu_device *adev); | ||
29 | }; | 33 | }; |
30 | 34 | ||
31 | struct amdgpu_umc { | 35 | struct amdgpu_umc { |
32 | /* max error count in one ras query call */ | 36 | /* max error count in one ras query call */ |
33 | uint32_t max_ras_err_cnt_per_query; | 37 | uint32_t max_ras_err_cnt_per_query; |
38 | /* number of umc channel instance with memory map register access */ | ||
39 | uint32_t channel_inst_num; | ||
40 | /* number of umc instance with memory map register access */ | ||
41 | uint32_t umc_inst_num; | ||
42 | /* UMC regiser per channel offset */ | ||
43 | uint32_t channel_offs; | ||
44 | /* channel index table of interleaved memory */ | ||
45 | const uint32_t *channel_idx_tbl; | ||
46 | |||
34 | const struct amdgpu_umc_funcs *funcs; | 47 | const struct amdgpu_umc_funcs *funcs; |
35 | }; | 48 | }; |
36 | 49 | ||
diff --git a/drivers/gpu/drm/amd/amdgpu/umc_v6_1.h b/drivers/gpu/drm/amd/amdgpu/umc_v6_1.h index d25ae414f4d8..bddaf14a77f9 100644 --- a/drivers/gpu/drm/amd/amdgpu/umc_v6_1.h +++ b/drivers/gpu/drm/amd/amdgpu/umc_v6_1.h | |||
@@ -31,6 +31,8 @@ | |||
31 | #define UMC_V6_1_CHANNEL_INSTANCE_NUM 4 | 31 | #define UMC_V6_1_CHANNEL_INSTANCE_NUM 4 |
32 | /* number of umc instance with memory map register access */ | 32 | /* number of umc instance with memory map register access */ |
33 | #define UMC_V6_1_UMC_INSTANCE_NUM 8 | 33 | #define UMC_V6_1_UMC_INSTANCE_NUM 8 |
34 | /* total channel instances in one umc block */ | ||
35 | #define UMC_V6_1_TOTAL_CHANNEL_NUM (UMC_V6_1_CHANNEL_INSTANCE_NUM * UMC_V6_1_UMC_INSTANCE_NUM) | ||
34 | /* UMC regiser per channel offset */ | 36 | /* UMC regiser per channel offset */ |
35 | #define UMC_V6_1_PER_CHANNEL_OFFSET 0x800 | 37 | #define UMC_V6_1_PER_CHANNEL_OFFSET 0x800 |
36 | 38 | ||