aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/si_dpm.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2017-01-24 16:59:35 -0500
committerAlex Deucher <alexander.deucher@amd.com>2017-01-27 12:20:39 -0500
commit85d2fce605e4625871a4028b36e9c352de2d1ee9 (patch)
treeeb0317f19014a9cce7301841934080ac68915abf /drivers/gpu/drm/amd/amdgpu/si_dpm.c
parent3b2c69328280278593e0cd87e83da51bbc748ce7 (diff)
drm/amdgpu: drop pitcairn dpm quirks
No longer necessary with the new 58 mc ucode. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/si_dpm.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/si_dpm.c47
1 files changed, 1 insertions, 46 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/si_dpm.c b/drivers/gpu/drm/amd/amdgpu/si_dpm.c
index 4f12da1e7ebf..ab2dd5924978 100644
--- a/drivers/gpu/drm/amd/amdgpu/si_dpm.c
+++ b/drivers/gpu/drm/amd/amdgpu/si_dpm.c
@@ -3009,29 +3009,6 @@ static int si_init_smc_spll_table(struct amdgpu_device *adev)
3009 return ret; 3009 return ret;
3010} 3010}
3011 3011
3012struct si_dpm_quirk {
3013 u32 chip_vendor;
3014 u32 chip_device;
3015 u32 subsys_vendor;
3016 u32 subsys_device;
3017 u32 max_sclk;
3018 u32 max_mclk;
3019};
3020
3021/* cards with dpm stability problems */
3022static struct si_dpm_quirk si_dpm_quirk_list[] = {
3023 /* PITCAIRN - https://bugs.freedesktop.org/show_bug.cgi?id=76490 */
3024 { PCI_VENDOR_ID_ATI, 0x6810, 0x1462, 0x3036, 0, 120000 },
3025 { PCI_VENDOR_ID_ATI, 0x6811, 0x174b, 0xe271, 0, 120000 },
3026 { PCI_VENDOR_ID_ATI, 0x6811, 0x174b, 0x2015, 0, 120000 },
3027 { PCI_VENDOR_ID_ATI, 0x6810, 0x174b, 0xe271, 85000, 90000 },
3028 { PCI_VENDOR_ID_ATI, 0x6811, 0x1462, 0x2015, 0, 120000 },
3029 { PCI_VENDOR_ID_ATI, 0x6811, 0x1043, 0x2015, 0, 120000 },
3030 { PCI_VENDOR_ID_ATI, 0x6811, 0x148c, 0x2015, 0, 120000 },
3031 { PCI_VENDOR_ID_ATI, 0x6810, 0x1682, 0x9275, 0, 120000 },
3032 { 0, 0, 0, 0 },
3033};
3034
3035static u16 si_get_lower_of_leakage_and_vce_voltage(struct amdgpu_device *adev, 3012static u16 si_get_lower_of_leakage_and_vce_voltage(struct amdgpu_device *adev,
3036 u16 vce_voltage) 3013 u16 vce_voltage)
3037{ 3014{
@@ -3477,18 +3454,8 @@ static void si_apply_state_adjust_rules(struct amdgpu_device *adev,
3477 u32 max_sclk_vddc, max_mclk_vddci, max_mclk_vddc; 3454 u32 max_sclk_vddc, max_mclk_vddci, max_mclk_vddc;
3478 u32 max_sclk = 0, max_mclk = 0; 3455 u32 max_sclk = 0, max_mclk = 0;
3479 int i; 3456 int i;
3480 struct si_dpm_quirk *p = si_dpm_quirk_list;
3481 3457
3482 /* limit all SI kickers */ 3458 if (adev->asic_type == CHIP_HAINAN) {
3483 if (adev->asic_type == CHIP_PITCAIRN) {
3484 if ((adev->pdev->revision == 0x81) ||
3485 (adev->pdev->device == 0x6810) ||
3486 (adev->pdev->device == 0x6811) ||
3487 (adev->pdev->device == 0x6816) ||
3488 (adev->pdev->device == 0x6817) ||
3489 (adev->pdev->device == 0x6806))
3490 max_mclk = 120000;
3491 } else if (adev->asic_type == CHIP_HAINAN) {
3492 if ((adev->pdev->revision == 0x81) || 3459 if ((adev->pdev->revision == 0x81) ||
3493 (adev->pdev->revision == 0x83) || 3460 (adev->pdev->revision == 0x83) ||
3494 (adev->pdev->revision == 0xC3) || 3461 (adev->pdev->revision == 0xC3) ||
@@ -3498,18 +3465,6 @@ static void si_apply_state_adjust_rules(struct amdgpu_device *adev,
3498 max_sclk = 75000; 3465 max_sclk = 75000;
3499 } 3466 }
3500 } 3467 }
3501 /* Apply dpm quirks */
3502 while (p && p->chip_device != 0) {
3503 if (adev->pdev->vendor == p->chip_vendor &&
3504 adev->pdev->device == p->chip_device &&
3505 adev->pdev->subsystem_vendor == p->subsys_vendor &&
3506 adev->pdev->subsystem_device == p->subsys_device) {
3507 max_sclk = p->max_sclk;
3508 max_mclk = p->max_mclk;
3509 break;
3510 }
3511 ++p;
3512 }
3513 3468
3514 if (rps->vce_active) { 3469 if (rps->vce_active) {
3515 rps->evclk = adev->pm.dpm.vce_states[adev->pm.dpm.vce_level].evclk; 3470 rps->evclk = adev->pm.dpm.vce_states[adev->pm.dpm.vce_level].evclk;