mirror of https://gitee.com/openkylin/linux.git
drm/amdgpu: use pp_feature member to store the mask
Signed-off-by: Huang Rui <ray.huang@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
775b0c11e2
commit
00f54b97d7
|
@ -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)
|
||||||
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)
|
||||||
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)
|
||||||
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)
|
||||||
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;
|
||||||
|
|
Loading…
Reference in New Issue