drm/amd: Use amdgpu_device_pcie_dynamic_switching_supported() for SMU7
SMU7 does a check if the dGPU is inserted into a Rocket Lake system, to turn off DPM. Extend this check to all systems that have problems with dynamic switching by using the amdgpu_device_pcie_dynamic_switching_supported() helper. Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Reviewed-by: Evan Quan <evan.quan@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
fdf0eaf114
commit
60a2dae490
|
@ -1798,17 +1798,6 @@ static int smu7_disable_dpm_tasks(struct pp_hwmgr *hwmgr)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool intel_core_rkl_chk(void)
|
|
||||||
{
|
|
||||||
#if IS_ENABLED(CONFIG_X86_64)
|
|
||||||
struct cpuinfo_x86 *c = &cpu_data(0);
|
|
||||||
|
|
||||||
return (c->x86 == 6 && c->x86_model == INTEL_FAM6_ROCKETLAKE);
|
|
||||||
#else
|
|
||||||
return false;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static void smu7_init_dpm_defaults(struct pp_hwmgr *hwmgr)
|
static void smu7_init_dpm_defaults(struct pp_hwmgr *hwmgr)
|
||||||
{
|
{
|
||||||
struct smu7_hwmgr *data = (struct smu7_hwmgr *)(hwmgr->backend);
|
struct smu7_hwmgr *data = (struct smu7_hwmgr *)(hwmgr->backend);
|
||||||
|
@ -1835,7 +1824,8 @@ static void smu7_init_dpm_defaults(struct pp_hwmgr *hwmgr)
|
||||||
data->mclk_dpm_key_disabled = hwmgr->feature_mask & PP_MCLK_DPM_MASK ? false : true;
|
data->mclk_dpm_key_disabled = hwmgr->feature_mask & PP_MCLK_DPM_MASK ? false : true;
|
||||||
data->sclk_dpm_key_disabled = hwmgr->feature_mask & PP_SCLK_DPM_MASK ? false : true;
|
data->sclk_dpm_key_disabled = hwmgr->feature_mask & PP_SCLK_DPM_MASK ? false : true;
|
||||||
data->pcie_dpm_key_disabled =
|
data->pcie_dpm_key_disabled =
|
||||||
intel_core_rkl_chk() || !(hwmgr->feature_mask & PP_PCIE_DPM_MASK);
|
!amdgpu_device_pcie_dynamic_switching_supported() ||
|
||||||
|
!(hwmgr->feature_mask & PP_PCIE_DPM_MASK);
|
||||||
/* need to set voltage control types before EVV patching */
|
/* need to set voltage control types before EVV patching */
|
||||||
data->voltage_control = SMU7_VOLTAGE_CONTROL_NONE;
|
data->voltage_control = SMU7_VOLTAGE_CONTROL_NONE;
|
||||||
data->vddci_control = SMU7_VOLTAGE_CONTROL_NONE;
|
data->vddci_control = SMU7_VOLTAGE_CONTROL_NONE;
|
||||||
|
|
Loading…
Reference in New Issue