diff options
author | Rex Zhu <Rex.Zhu@amd.com> | 2016-07-29 07:26:36 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-08-08 11:33:06 -0400 |
commit | 6391b6ab3246fe23840ed3635b17ad83f0fd0942 (patch) | |
tree | 2884f0fbea4473f80719746a2ab80da2eb0b483e /drivers | |
parent | 5765a36d4c88d7ea2ff53e35cccca751c74716d8 (diff) |
drm/amd/powrplay: workaround Memory EDC Error for certain partner boards.
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c index ba8f57a415c7..d829076ed9ea 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | |||
@@ -77,6 +77,8 @@ int hwmgr_init(struct amd_pp_init *pp_init, struct pp_instance *handle) | |||
77 | hwmgr->chip_family = pp_init->chip_family; | 77 | hwmgr->chip_family = pp_init->chip_family; |
78 | hwmgr->chip_id = pp_init->chip_id; | 78 | hwmgr->chip_id = pp_init->chip_id; |
79 | hwmgr->hw_revision = pp_init->rev_id; | 79 | hwmgr->hw_revision = pp_init->rev_id; |
80 | hwmgr->sub_sys_id = pp_init->sub_sys_id; | ||
81 | hwmgr->sub_vendor_id = pp_init->sub_vendor_id; | ||
80 | hwmgr->usec_timeout = AMD_MAX_USEC_TIMEOUT; | 82 | hwmgr->usec_timeout = AMD_MAX_USEC_TIMEOUT; |
81 | hwmgr->power_source = PP_PowerSource_AC; | 83 | hwmgr->power_source = PP_PowerSource_AC; |
82 | 84 | ||
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c index 60cfcbde6f27..7d552966de3e 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c | |||
@@ -3133,7 +3133,10 @@ int polaris10_patch_voltage_workaround(struct pp_hwmgr *hwmgr) | |||
3133 | table_info->vddc_lookup_table; | 3133 | table_info->vddc_lookup_table; |
3134 | uint32_t i; | 3134 | uint32_t i; |
3135 | 3135 | ||
3136 | if (hwmgr->chip_id == CHIP_POLARIS10 && hwmgr->hw_revision == 0xC7) { | 3136 | if (hwmgr->chip_id == CHIP_POLARIS10 && hwmgr->hw_revision == 0xC7 && |
3137 | ((hwmgr->sub_sys_id == 0xb37 && hwmgr->sub_vendor_id == 0x1002) || | ||
3138 | (hwmgr->sub_sys_id == 0x4a8 && hwmgr->sub_vendor_id == 0x1043) || | ||
3139 | (hwmgr->sub_sys_id == 0x9480 && hwmgr->sub_vendor_id == 0x1682))) { | ||
3137 | if (lookup_table->entries[dep_mclk_table->entries[dep_mclk_table->count-1].vddInd].us_vdd >= 1000) | 3140 | if (lookup_table->entries[dep_mclk_table->entries[dep_mclk_table->count-1].vddInd].us_vdd >= 1000) |
3138 | return 0; | 3141 | return 0; |
3139 | 3142 | ||