diff options
| author | David Zhang <david1.zhang@amd.com> | 2015-07-07 13:28:20 -0400 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2015-08-17 16:50:26 -0400 |
| commit | 843908604d72a1988d94936d9c34768eb8de97a6 (patch) | |
| tree | 59e0954ed61904d39ceee4da07f1f65f807f6b22 /drivers/gpu/drm/amd/amdgpu | |
| parent | 8e711e1a1ad3a95883ae15deead593d22e57c3f1 (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.c | 23 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/vi.c | 7 |
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 | ||
| 129 | static 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 | |||
| 137 | static const u32 fiji_mgcg_cgcg_init[] = | ||
| 138 | { | ||
| 139 | mmXDMA_CLOCK_GATING_CNTL, 0xffffffff, 0x00000100, | ||
| 140 | mmXDMA_MEM_POWER_CNTL, 0x00000101, 0x00000000, | ||
| 141 | }; | ||
| 142 | |||
| 129 | static void dce_v10_0_init_golden_registers(struct amdgpu_device *adev) | 143 | static 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 | ||
| 1200 | static const struct amdgpu_ip_block_version cz_ip_blocks[] = | 1207 | static const struct amdgpu_ip_block_version cz_ip_blocks[] = |
