diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2015-12-10 00:49:32 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-07-07 14:50:38 -0400 |
commit | 2254c21982becbaa6921fc4cf488f53a3ad26404 (patch) | |
tree | c5dcfce3f02b991a906d0b55c7365090b5c4188d /drivers/gpu/drm/amd/amdgpu/ci_dpm.c | |
parent | cc7d8c79792e626546ef7ef7086882b2c83b89e1 (diff) |
drm/amdgpu: load different smc firmware on some CI variants
The power tables on some variants require different firmware.
This fixes stability issues on some newer CI parts.
bug:
https://bugs.freedesktop.org/show_bug.cgi?id=91880
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/ci_dpm.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/ci_dpm.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c index 5ec1f1e9c983..102d400ef44e 100644 --- a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c +++ b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c | |||
@@ -50,7 +50,9 @@ | |||
50 | #include "gmc/gmc_7_1_sh_mask.h" | 50 | #include "gmc/gmc_7_1_sh_mask.h" |
51 | 51 | ||
52 | MODULE_FIRMWARE("radeon/bonaire_smc.bin"); | 52 | MODULE_FIRMWARE("radeon/bonaire_smc.bin"); |
53 | MODULE_FIRMWARE("radeon/bonaire_k_smc.bin"); | ||
53 | MODULE_FIRMWARE("radeon/hawaii_smc.bin"); | 54 | MODULE_FIRMWARE("radeon/hawaii_smc.bin"); |
55 | MODULE_FIRMWARE("radeon/hawaii_k_smc.bin"); | ||
54 | 56 | ||
55 | #define MC_CG_ARB_FREQ_F0 0x0a | 57 | #define MC_CG_ARB_FREQ_F0 0x0a |
56 | #define MC_CG_ARB_FREQ_F1 0x0b | 58 | #define MC_CG_ARB_FREQ_F1 0x0b |
@@ -5754,10 +5756,18 @@ static int ci_dpm_init_microcode(struct amdgpu_device *adev) | |||
5754 | 5756 | ||
5755 | switch (adev->asic_type) { | 5757 | switch (adev->asic_type) { |
5756 | case CHIP_BONAIRE: | 5758 | case CHIP_BONAIRE: |
5757 | chip_name = "bonaire"; | 5759 | if ((adev->pdev->revision == 0x80) || |
5760 | (adev->pdev->revision == 0x81) || | ||
5761 | (adev->pdev->device == 0x665f)) | ||
5762 | chip_name = "bonaire_k"; | ||
5763 | else | ||
5764 | chip_name = "bonaire"; | ||
5758 | break; | 5765 | break; |
5759 | case CHIP_HAWAII: | 5766 | case CHIP_HAWAII: |
5760 | chip_name = "hawaii"; | 5767 | if (adev->pdev->revision == 0x80) |
5768 | chip_name = "hawaii_k"; | ||
5769 | else | ||
5770 | chip_name = "hawaii"; | ||
5761 | break; | 5771 | break; |
5762 | case CHIP_KAVERI: | 5772 | case CHIP_KAVERI: |
5763 | case CHIP_KABINI: | 5773 | case CHIP_KABINI: |