diff options
| author | Alex Deucher <alexander.deucher@amd.com> | 2015-12-18 11:28:49 -0500 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2016-01-13 12:13:26 -0500 |
| commit | 5f57642672dd90e3183efcd9e6afbff1305a133a (patch) | |
| tree | 7b0e2f83bb4e023ca9e6d2e2e98bffc697cc742c /drivers/gpu | |
| parent | 044c0629b55d73235161557a48870d663d0072f5 (diff) | |
drm/amdgpu/cz: force uvd clocks when sclks are forced
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/cz_dpm.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/cz_dpm.c b/drivers/gpu/drm/amd/amdgpu/cz_dpm.c index 02cba49f13a8..bdf5a22ba450 100644 --- a/drivers/gpu/drm/amd/amdgpu/cz_dpm.c +++ b/drivers/gpu/drm/amd/amdgpu/cz_dpm.c | |||
| @@ -1971,25 +1971,49 @@ static int cz_dpm_force_dpm_level(struct amdgpu_device *adev, | |||
| 1971 | 1971 | ||
| 1972 | switch (level) { | 1972 | switch (level) { |
| 1973 | case AMDGPU_DPM_FORCED_LEVEL_HIGH: | 1973 | case AMDGPU_DPM_FORCED_LEVEL_HIGH: |
| 1974 | /* sclk */ | ||
| 1974 | ret = cz_dpm_unforce_dpm_levels(adev); | 1975 | ret = cz_dpm_unforce_dpm_levels(adev); |
| 1975 | if (ret) | 1976 | if (ret) |
| 1976 | return ret; | 1977 | return ret; |
| 1977 | ret = cz_dpm_force_highest(adev); | 1978 | ret = cz_dpm_force_highest(adev); |
| 1978 | if (ret) | 1979 | if (ret) |
| 1979 | return ret; | 1980 | return ret; |
| 1981 | |||
| 1982 | /* uvd */ | ||
| 1983 | ret = cz_dpm_unforce_uvd_dpm_levels(adev); | ||
| 1984 | if (ret) | ||
| 1985 | return ret; | ||
| 1986 | ret = cz_dpm_uvd_force_highest(adev); | ||
| 1987 | if (ret) | ||
| 1988 | return ret; | ||
| 1980 | break; | 1989 | break; |
| 1981 | case AMDGPU_DPM_FORCED_LEVEL_LOW: | 1990 | case AMDGPU_DPM_FORCED_LEVEL_LOW: |
| 1991 | /* sclk */ | ||
| 1982 | ret = cz_dpm_unforce_dpm_levels(adev); | 1992 | ret = cz_dpm_unforce_dpm_levels(adev); |
| 1983 | if (ret) | 1993 | if (ret) |
| 1984 | return ret; | 1994 | return ret; |
| 1985 | ret = cz_dpm_force_lowest(adev); | 1995 | ret = cz_dpm_force_lowest(adev); |
| 1986 | if (ret) | 1996 | if (ret) |
| 1987 | return ret; | 1997 | return ret; |
| 1998 | |||
| 1999 | /* uvd */ | ||
| 2000 | ret = cz_dpm_unforce_uvd_dpm_levels(adev); | ||
| 2001 | if (ret) | ||
| 2002 | return ret; | ||
| 2003 | ret = cz_dpm_uvd_force_lowest(adev); | ||
| 2004 | if (ret) | ||
| 2005 | return ret; | ||
| 1988 | break; | 2006 | break; |
| 1989 | case AMDGPU_DPM_FORCED_LEVEL_AUTO: | 2007 | case AMDGPU_DPM_FORCED_LEVEL_AUTO: |
| 2008 | /* sclk */ | ||
| 1990 | ret = cz_dpm_unforce_dpm_levels(adev); | 2009 | ret = cz_dpm_unforce_dpm_levels(adev); |
| 1991 | if (ret) | 2010 | if (ret) |
| 1992 | return ret; | 2011 | return ret; |
| 2012 | |||
| 2013 | /* uvd */ | ||
| 2014 | ret = cz_dpm_unforce_uvd_dpm_levels(adev); | ||
| 2015 | if (ret) | ||
| 2016 | return ret; | ||
| 1993 | break; | 2017 | break; |
| 1994 | default: | 2018 | default: |
| 1995 | break; | 2019 | break; |
