Commit 00f54b97 authored by Huang Rui's avatar Huang Rui Committed by Alex Deucher

drm/amdgpu: use pp_feature member to store the mask

Signed-off-by: default avatarHuang Rui <ray.huang@amd.com>
Reviewed-by: default avatarHawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Acked-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 775b0c11
...@@ -1430,6 +1430,7 @@ enum amd_hw_ip_block_type { ...@@ -1430,6 +1430,7 @@ enum amd_hw_ip_block_type {
struct amd_powerplay { struct amd_powerplay {
void *pp_handle; void *pp_handle;
const struct amd_pm_funcs *pp_funcs; const struct amd_pm_funcs *pp_funcs;
uint32_t pp_feature;
}; };
#define AMDGPU_RESET_MAGIC_NUM 64 #define AMDGPU_RESET_MAGIC_NUM 64
......
...@@ -1545,6 +1545,8 @@ static int amdgpu_device_ip_early_init(struct amdgpu_device *adev) ...@@ -1545,6 +1545,8 @@ static int amdgpu_device_ip_early_init(struct amdgpu_device *adev)
return -EAGAIN; return -EAGAIN;
} }
adev->powerplay.pp_feature = amdgpu_pp_feature_mask;
for (i = 0; i < adev->num_ip_blocks; i++) { for (i = 0; i < adev->num_ip_blocks; i++) {
if ((amdgpu_ip_block_mask & (1 << i)) == 0) { if ((amdgpu_ip_block_mask & (1 << i)) == 0) {
DRM_ERROR("disabled ip block: %d <%s>\n", DRM_ERROR("disabled ip block: %d <%s>\n",
......
...@@ -5903,7 +5903,7 @@ static int ci_dpm_init(struct amdgpu_device *adev) ...@@ -5903,7 +5903,7 @@ static int ci_dpm_init(struct amdgpu_device *adev)
pi->pcie_dpm_key_disabled = 0; pi->pcie_dpm_key_disabled = 0;
pi->thermal_sclk_dpm_enabled = 0; pi->thermal_sclk_dpm_enabled = 0;
if (amdgpu_pp_feature_mask & PP_SCLK_DEEP_SLEEP_MASK) if (adev->powerplay.pp_feature & PP_SCLK_DEEP_SLEEP_MASK)
pi->caps_sclk_ds = true; pi->caps_sclk_ds = true;
else else
pi->caps_sclk_ds = false; pi->caps_sclk_ds = false;
......
...@@ -2817,7 +2817,7 @@ static int kv_dpm_init(struct amdgpu_device *adev) ...@@ -2817,7 +2817,7 @@ static int kv_dpm_init(struct amdgpu_device *adev)
pi->caps_tcp_ramping = true; pi->caps_tcp_ramping = true;
} }
if (amdgpu_pp_feature_mask & PP_SCLK_DEEP_SLEEP_MASK) if (adev->powerplay.pp_feature & PP_SCLK_DEEP_SLEEP_MASK)
pi->caps_sclk_ds = true; pi->caps_sclk_ds = true;
else else
pi->caps_sclk_ds = false; pi->caps_sclk_ds = false;
......
...@@ -53,7 +53,7 @@ static int amd_powerplay_create(struct amdgpu_device *adev) ...@@ -53,7 +53,7 @@ static int amd_powerplay_create(struct amdgpu_device *adev)
mutex_init(&hwmgr->smu_lock); mutex_init(&hwmgr->smu_lock);
hwmgr->chip_family = adev->family; hwmgr->chip_family = adev->family;
hwmgr->chip_id = adev->asic_type; hwmgr->chip_id = adev->asic_type;
hwmgr->feature_mask = amdgpu_pp_feature_mask; hwmgr->feature_mask = adev->powerplay.pp_feature;
hwmgr->display_config = &adev->pm.pm_display_cfg; hwmgr->display_config = &adev->pm.pm_display_cfg;
adev->powerplay.pp_handle = hwmgr; adev->powerplay.pp_handle = hwmgr;
adev->powerplay.pp_funcs = &pp_dpm_funcs; adev->powerplay.pp_funcs = &pp_dpm_funcs;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment