drm/amdgpu: add DCE golden setting for ELM/BAF
authorFlora Cui <Flora.Cui@amd.com>
Thu, 29 Oct 2015 09:25:48 +0000 (17:25 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 May 2016 00:24:38 +0000 (20:24 -0400)
Signed-off-by: Flora Cui <Flora.Cui@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/dce_v11_0.c

index d0eae2c41cd82a3b14a6ff8c034c5819b0c57556..61afc5eab1b5cd1eef930728d20ba0d8ad14e69d 100644 (file)
@@ -132,6 +132,22 @@ static const u32 stoney_golden_settings_a11[] =
        mmFBC_MISC, 0x1f311fff, 0x14302000,
 };
 
+static const u32 baffin_golden_settings_a11[] =
+{
+       mmDCI_CLK_CNTL, 0x00000080, 0x00000000,
+       mmFBC_DEBUG_COMP, 0x000000f0, 0x00000070,
+       mmFBC_DEBUG1, 0xffffffff, 0x00000008,
+       mmFBC_MISC, 0x9f313fff, 0x14300008,
+       mmHDMI_CONTROL, 0x313f031f, 0x00000011,
+};
+
+static const u32 ellesmere_golden_settings_a11[] =
+{
+       mmDCI_CLK_CNTL, 0x00000080, 0x00000000,
+       mmFBC_DEBUG_COMP, 0x000000f0, 0x00000070,
+       mmFBC_MISC, 0x9f313fff, 0x14300008,
+       mmHDMI_CONTROL, 0x313f031f, 0x00000011,
+};
 
 static void dce_v11_0_init_golden_registers(struct amdgpu_device *adev)
 {
@@ -149,6 +165,16 @@ static void dce_v11_0_init_golden_registers(struct amdgpu_device *adev)
                                                 stoney_golden_settings_a11,
                                                 (const u32)ARRAY_SIZE(stoney_golden_settings_a11));
                break;
+       case CHIP_BAFFIN:
+               amdgpu_program_register_sequence(adev,
+                                                baffin_golden_settings_a11,
+                                                (const u32)ARRAY_SIZE(baffin_golden_settings_a11));
+               break;
+       case CHIP_ELLESMERE:
+               amdgpu_program_register_sequence(adev,
+                                                ellesmere_golden_settings_a11,
+                                                (const u32)ARRAY_SIZE(ellesmere_golden_settings_a11));
+               break;
        default:
                break;
        }