drm/amd/pm: drop unnecessary gfxoff controls
Those gfxoff controls added for some specific ASICs are unnecessary. The functionalities are not affected without them. Also to align with other ASICs, they should also be dropped. Signed-off-by: Evan Quan <evan.quan@amd.com> Reviewed-by: Lijo Lazar <lijo.lazar@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
837d542a09
commit
3bce90bfba
@ -1542,8 +1542,6 @@ static int smu_reset(struct smu_context *smu)
|
||||
struct amdgpu_device *adev = smu->adev;
|
||||
int ret;
|
||||
|
||||
amdgpu_gfx_off_ctrl(smu->adev, false);
|
||||
|
||||
ret = smu_hw_fini(adev);
|
||||
if (ret)
|
||||
return ret;
|
||||
@ -1556,8 +1554,6 @@ static int smu_reset(struct smu_context *smu)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
amdgpu_gfx_off_ctrl(smu->adev, true);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1036,10 +1036,6 @@ static int sienna_cichlid_print_clk_levels(struct smu_context *smu,
|
||||
if (ret)
|
||||
goto print_clk_out;
|
||||
|
||||
/* no need to disable gfxoff when retrieving the current gfxclk */
|
||||
if ((clk_type == SMU_GFXCLK) || (clk_type == SMU_SCLK))
|
||||
amdgpu_gfx_off_ctrl(adev, false);
|
||||
|
||||
ret = smu_v11_0_get_dpm_level_count(smu, clk_type, &count);
|
||||
if (ret)
|
||||
goto print_clk_out;
|
||||
@ -1168,25 +1164,18 @@ static int sienna_cichlid_print_clk_levels(struct smu_context *smu,
|
||||
}
|
||||
|
||||
print_clk_out:
|
||||
if ((clk_type == SMU_GFXCLK) || (clk_type == SMU_SCLK))
|
||||
amdgpu_gfx_off_ctrl(adev, true);
|
||||
|
||||
return size;
|
||||
}
|
||||
|
||||
static int sienna_cichlid_force_clk_levels(struct smu_context *smu,
|
||||
enum smu_clk_type clk_type, uint32_t mask)
|
||||
{
|
||||
struct amdgpu_device *adev = smu->adev;
|
||||
int ret = 0;
|
||||
uint32_t soft_min_level = 0, soft_max_level = 0, min_freq = 0, max_freq = 0;
|
||||
|
||||
soft_min_level = mask ? (ffs(mask) - 1) : 0;
|
||||
soft_max_level = mask ? (fls(mask) - 1) : 0;
|
||||
|
||||
if ((clk_type == SMU_GFXCLK) || (clk_type == SMU_SCLK))
|
||||
amdgpu_gfx_off_ctrl(adev, false);
|
||||
|
||||
switch (clk_type) {
|
||||
case SMU_GFXCLK:
|
||||
case SMU_SCLK:
|
||||
@ -1220,9 +1209,6 @@ static int sienna_cichlid_force_clk_levels(struct smu_context *smu,
|
||||
}
|
||||
|
||||
forec_level_out:
|
||||
if ((clk_type == SMU_GFXCLK) || (clk_type == SMU_SCLK))
|
||||
amdgpu_gfx_off_ctrl(adev, true);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1865,16 +1851,7 @@ static int sienna_cichlid_get_dpm_ultimate_freq(struct smu_context *smu,
|
||||
enum smu_clk_type clk_type,
|
||||
uint32_t *min, uint32_t *max)
|
||||
{
|
||||
struct amdgpu_device *adev = smu->adev;
|
||||
int ret;
|
||||
|
||||
if (clk_type == SMU_GFXCLK)
|
||||
amdgpu_gfx_off_ctrl(adev, false);
|
||||
ret = smu_v11_0_get_dpm_ultimate_freq(smu, clk_type, min, max);
|
||||
if (clk_type == SMU_GFXCLK)
|
||||
amdgpu_gfx_off_ctrl(adev, true);
|
||||
|
||||
return ret;
|
||||
return smu_v11_0_get_dpm_ultimate_freq(smu, clk_type, min, max);
|
||||
}
|
||||
|
||||
static void sienna_cichlid_dump_od_table(struct smu_context *smu,
|
||||
|
@ -1798,7 +1798,6 @@ int smu_v11_0_set_soft_freq_limited_range(struct smu_context *smu,
|
||||
uint32_t min,
|
||||
uint32_t max)
|
||||
{
|
||||
struct amdgpu_device *adev = smu->adev;
|
||||
int ret = 0, clk_id = 0;
|
||||
uint32_t param;
|
||||
|
||||
@ -1811,9 +1810,6 @@ int smu_v11_0_set_soft_freq_limited_range(struct smu_context *smu,
|
||||
if (clk_id < 0)
|
||||
return clk_id;
|
||||
|
||||
if (clk_type == SMU_GFXCLK)
|
||||
amdgpu_gfx_off_ctrl(adev, false);
|
||||
|
||||
if (max > 0) {
|
||||
param = (uint32_t)((clk_id << 16) | (max & 0xffff));
|
||||
ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxByFreq,
|
||||
@ -1831,9 +1827,6 @@ int smu_v11_0_set_soft_freq_limited_range(struct smu_context *smu,
|
||||
}
|
||||
|
||||
out:
|
||||
if (clk_type == SMU_GFXCLK)
|
||||
amdgpu_gfx_off_ctrl(adev, true);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -1533,7 +1533,6 @@ int smu_v13_0_set_soft_freq_limited_range(struct smu_context *smu,
|
||||
uint32_t min,
|
||||
uint32_t max)
|
||||
{
|
||||
struct amdgpu_device *adev = smu->adev;
|
||||
int ret = 0, clk_id = 0;
|
||||
uint32_t param;
|
||||
|
||||
@ -1546,9 +1545,6 @@ int smu_v13_0_set_soft_freq_limited_range(struct smu_context *smu,
|
||||
if (clk_id < 0)
|
||||
return clk_id;
|
||||
|
||||
if (clk_type == SMU_GFXCLK)
|
||||
amdgpu_gfx_off_ctrl(adev, false);
|
||||
|
||||
if (max > 0) {
|
||||
param = (uint32_t)((clk_id << 16) | (max & 0xffff));
|
||||
ret = smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_SetSoftMaxByFreq,
|
||||
@ -1566,9 +1562,6 @@ int smu_v13_0_set_soft_freq_limited_range(struct smu_context *smu,
|
||||
}
|
||||
|
||||
out:
|
||||
if (clk_type == SMU_GFXCLK)
|
||||
amdgpu_gfx_off_ctrl(adev, true);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user