aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu
diff options
context:
space:
mode:
authorDavid Zhang <david1.zhang@amd.com>2015-07-07 13:28:20 -0400
committerAlex Deucher <alexander.deucher@amd.com>2015-08-17 16:50:26 -0400
commit843908604d72a1988d94936d9c34768eb8de97a6 (patch)
tree59e0954ed61904d39ceee4da07f1f65f807f6b22 /drivers/gpu/drm/amd/amdgpu
parent8e711e1a1ad3a95883ae15deead593d22e57c3f1 (diff)
drm/amdgpu: Add Fiji support to the DCE 10.0 IP module (v2)
v2: agd5f: fix up XDMA golden settings Signed-off-by: David Zhang <david1.zhang@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/dce_v10_0.c23
-rw-r--r--drivers/gpu/drm/amd/amdgpu/vi.c7
2 files changed, 30 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
index a72254a5120e..4b255ac3043c 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c
@@ -126,9 +126,31 @@ static const u32 tonga_mgcg_cgcg_init[] =
126 mmXDMA_MEM_POWER_CNTL, 0x00000101, 0x00000000, 126 mmXDMA_MEM_POWER_CNTL, 0x00000101, 0x00000000,
127}; 127};
128 128
129static const u32 golden_settings_fiji_a10[] =
130{
131 mmDCI_CLK_CNTL, 0x00000080, 0x00000000,
132 mmFBC_DEBUG_COMP, 0x000000f0, 0x00000070,
133 mmFBC_MISC, 0x1f311fff, 0x12300000,
134 mmHDMI_CONTROL, 0x31000111, 0x00000011,
135};
136
137static const u32 fiji_mgcg_cgcg_init[] =
138{
139 mmXDMA_CLOCK_GATING_CNTL, 0xffffffff, 0x00000100,
140 mmXDMA_MEM_POWER_CNTL, 0x00000101, 0x00000000,
141};
142
129static void dce_v10_0_init_golden_registers(struct amdgpu_device *adev) 143static void dce_v10_0_init_golden_registers(struct amdgpu_device *adev)
130{ 144{
131 switch (adev->asic_type) { 145 switch (adev->asic_type) {
146 case CHIP_FIJI:
147 amdgpu_program_register_sequence(adev,
148 fiji_mgcg_cgcg_init,
149 (const u32)ARRAY_SIZE(fiji_mgcg_cgcg_init));
150 amdgpu_program_register_sequence(adev,
151 golden_settings_fiji_a10,
152 (const u32)ARRAY_SIZE(golden_settings_fiji_a10));
153 break;
132 case CHIP_TONGA: 154 case CHIP_TONGA:
133 amdgpu_program_register_sequence(adev, 155 amdgpu_program_register_sequence(adev,
134 tonga_mgcg_cgcg_init, 156 tonga_mgcg_cgcg_init,
@@ -2888,6 +2910,7 @@ static int dce_v10_0_early_init(void *handle)
2888 dce_v10_0_set_irq_funcs(adev); 2910 dce_v10_0_set_irq_funcs(adev);
2889 2911
2890 switch (adev->asic_type) { 2912 switch (adev->asic_type) {
2913 case CHIP_FIJI:
2891 case CHIP_TONGA: 2914 case CHIP_TONGA:
2892 adev->mode_info.num_crtc = 6; /* XXX 7??? */ 2915 adev->mode_info.num_crtc = 6; /* XXX 7??? */
2893 adev->mode_info.num_hpd = 6; 2916 adev->mode_info.num_hpd = 6;
diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c
index 505d9c2ca482..aeeaaca7cf4c 100644
--- a/drivers/gpu/drm/amd/amdgpu/vi.c
+++ b/drivers/gpu/drm/amd/amdgpu/vi.c
@@ -1195,6 +1195,13 @@ static const struct amdgpu_ip_block_version fiji_ip_blocks[] =
1195 .rev = 0, 1195 .rev = 0,
1196 .funcs = &fiji_dpm_ip_funcs, 1196 .funcs = &fiji_dpm_ip_funcs,
1197 }, 1197 },
1198 {
1199 .type = AMD_IP_BLOCK_TYPE_DCE,
1200 .major = 10,
1201 .minor = 1,
1202 .rev = 0,
1203 .funcs = &dce_v10_0_ip_funcs,
1204 },
1198}; 1205};
1199 1206
1200static const struct amdgpu_ip_block_version cz_ip_blocks[] = 1207static const struct amdgpu_ip_block_version cz_ip_blocks[] =