diff options
author | Dave Airlie <airlied@redhat.com> | 2013-07-29 19:43:28 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2013-07-29 19:43:28 -0400 |
commit | 782cf7d84a723c93f05c29ce2a2a03e56427fa5b (patch) | |
tree | 7dad0ecafc38d22ff269666e8f53ca970880f220 /drivers/gpu/drm/radeon/si.c | |
parent | 5ae90d8e467e625e447000cb4335c4db973b1095 (diff) | |
parent | 63f22d0e98cf74adf4ecfb25099607239b00c751 (diff) |
Merge branch 'drm-fixes-3.11' of git://people.freedesktop.org/~agd5f/linux
Alex writes:
A few more radeon bug fixes, mostly for SI dpm. At this point dpm is
pretty solid across the majority of asics. I think we mostly just have
corner cases and fixing up some of the trickier features at this point.
* 'drm-fixes-3.11' of git://people.freedesktop.org/~agd5f/linux:
drm/radeon/dpm: fix and enable reclocking on SI
drm/radeon/dpm: disable cac setup on SI
drm/radeon/si: disable cgcg and pg for now
drm/radeon/dpm: fix forcing performance state to low on cayman
drm/radeon/atom: fix fb when fetching engine params
drm/radeon: properly handle cg on asics without UVD
drm/radeon/dpm: fix powertune handling for pci id 0x6835
drm/radeon/dpm: fix si_calculate_memory_refresh_rate()
drm/radeon/dpm: fix display gap programming on SI
drm/radeon: fix audio dto programming on DCE4+
Diffstat (limited to 'drivers/gpu/drm/radeon/si.c')
-rw-r--r-- | drivers/gpu/drm/radeon/si.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c index d325280e2f9f..6ca904673a4f 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, false); |
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); |
@@ -5241,11 +5237,11 @@ static void si_fini_cg(struct radeon_device *rdev) | |||
5241 | static void si_init_pg(struct radeon_device *rdev) | 5237 | static void si_init_pg(struct radeon_device *rdev) |
5242 | { | 5238 | { |
5243 | bool has_pg = false; | 5239 | bool has_pg = false; |
5244 | 5240 | #if 0 | |
5245 | /* only cape verde supports PG */ | 5241 | /* only cape verde supports PG */ |
5246 | if (rdev->family == CHIP_VERDE) | 5242 | if (rdev->family == CHIP_VERDE) |
5247 | has_pg = true; | 5243 | has_pg = true; |
5248 | 5244 | #endif | |
5249 | if (has_pg) { | 5245 | if (has_pg) { |
5250 | si_init_ao_cu_mask(rdev); | 5246 | si_init_ao_cu_mask(rdev); |
5251 | si_init_dma_pg(rdev); | 5247 | si_init_dma_pg(rdev); |