diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2013-07-27 17:53:25 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2013-07-29 18:14:38 -0400 |
commit | b2d70917e4b9fc5bddfbd025bfb1f15185e74971 (patch) | |
tree | bea479c9e67cc991306e62b3eb8db58bf452398b /drivers/gpu | |
parent | 46348dc29bc936360057e9b41003274284ec0a47 (diff) |
drm/radeon: properly handle cg on asics without UVD
Don't try and enable clockgating if the asic doesn't have
UVD. Use rdev->has_uvd rather than using local checks.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/radeon/si.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c index d325280e2f9f..1d656f7b13f2 100644 --- a/drivers/gpu/drm/radeon/si.c +++ b/drivers/gpu/drm/radeon/si.c | |||
@@ -5215,14 +5215,12 @@ static void si_enable_mc_ls(struct radeon_device *rdev, | |||
5215 | 5215 | ||
5216 | static void si_init_cg(struct radeon_device *rdev) | 5216 | static void si_init_cg(struct radeon_device *rdev) |
5217 | { | 5217 | { |
5218 | bool has_uvd = true; | ||
5219 | |||
5220 | si_enable_mgcg(rdev, true); | 5218 | si_enable_mgcg(rdev, true); |
5221 | si_enable_cgcg(rdev, true); | 5219 | si_enable_cgcg(rdev, true); |
5222 | /* disable MC LS on Tahiti */ | 5220 | /* disable MC LS on Tahiti */ |
5223 | if (rdev->family == CHIP_TAHITI) | 5221 | if (rdev->family == CHIP_TAHITI) |
5224 | si_enable_mc_ls(rdev, false); | 5222 | si_enable_mc_ls(rdev, false); |
5225 | if (has_uvd) { | 5223 | if (rdev->has_uvd) { |
5226 | si_enable_uvd_mgcg(rdev, true); | 5224 | si_enable_uvd_mgcg(rdev, true); |
5227 | si_init_uvd_internal_cg(rdev); | 5225 | si_init_uvd_internal_cg(rdev); |
5228 | } | 5226 | } |
@@ -5230,9 +5228,7 @@ static void si_init_cg(struct radeon_device *rdev) | |||
5230 | 5228 | ||
5231 | static void si_fini_cg(struct radeon_device *rdev) | 5229 | static void si_fini_cg(struct radeon_device *rdev) |
5232 | { | 5230 | { |
5233 | bool has_uvd = true; | 5231 | if (rdev->has_uvd) |
5234 | |||
5235 | if (has_uvd) | ||
5236 | si_enable_uvd_mgcg(rdev, false); | 5232 | si_enable_uvd_mgcg(rdev, false); |
5237 | si_enable_cgcg(rdev, false); | 5233 | si_enable_cgcg(rdev, false); |
5238 | si_enable_mgcg(rdev, false); | 5234 | si_enable_mgcg(rdev, false); |