diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2017-01-24 16:59:35 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-01-27 12:20:39 -0500 |
commit | 85d2fce605e4625871a4028b36e9c352de2d1ee9 (patch) | |
tree | eb0317f19014a9cce7301841934080ac68915abf /drivers/gpu/drm/amd/amdgpu/si_dpm.c | |
parent | 3b2c69328280278593e0cd87e83da51bbc748ce7 (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.c | 47 |
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 | ||
3012 | struct 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 */ | ||
3022 | static 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 | |||
3035 | static u16 si_get_lower_of_leakage_and_vce_voltage(struct amdgpu_device *adev, | 3012 | static 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; |