aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTao Zhou <tao.zhou1@amd.com>2019-07-29 02:10:54 -0400
committerAlex Deucher <alexander.deucher@amd.com>2019-08-02 11:30:38 -0400
commit33b97cf896d4ec6c05e8febdf73ee30c508a0481 (patch)
treeafdd2e63aec687c30816c7687377bac08c0a7cc0
parenta55c8d7bda4f83e86e2b7ed7b1704e762ed50db3 (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.h13
-rw-r--r--drivers/gpu/drm/amd/amdgpu/umc_v6_1.h2
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
24struct amdgpu_umc_funcs { 24struct 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
31struct amdgpu_umc { 35struct 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