diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-24 15:06:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-24 15:06:40 -0400 |
commit | 98b98d316349e9a028e632629fe813d07fa5afdd (patch) | |
tree | caaf6a662a86c5e2a418f0929ca05f0748803ac5 /drivers/gpu/drm/radeon/evergreen.c | |
parent | 0d66cba1ac3ad38614077443d604d6a09cec99de (diff) | |
parent | 931474c4c30633400ff0dff8fb452ae20e01d067 (diff) |
Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
* 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (169 commits)
drivers/gpu/drm/radeon/atom.c: fix warning
drm/radeon/kms: bump kms version number
drm/radeon/kms: properly set num banks for fusion asics
drm/radeon/kms/atom: move dig phy init out of modesetting
drm/radeon/kms/cayman: fix typo in register mask
drm/radeon/kms: fix typo in spread spectrum code
drm/radeon/kms: fix tile_config value reported to userspace on cayman.
drm/radeon/kms: fix incorrect comparison in cayman setup code.
drm/radeon/kms: add wait idle ioctl for eg->cayman
drm/radeon/cayman: setup hdp to invalidate and flush when asked
drm/radeon/evergreen/btc/fusion: setup hdp to invalidate and flush when asked
agp/uninorth: Fix lockups with radeon KMS and >1x.
drm/radeon/kms: the SS_Id field in the LCD table if for LVDS only
drm/radeon/kms: properly set the CLK_REF bit for DCE3 devices
drm/radeon/kms: fixup eDP connector handling
drm/radeon/kms: bail early for eDP in hotplug callback
drm/radeon/kms: simplify hotplug handler logic
drm/radeon/kms: rewrite DP handling
drm/radeon/kms/atom: add support for setting DP panel mode
drm/radeon/kms: atombios.h updates for DP panel mode
...
Diffstat (limited to 'drivers/gpu/drm/radeon/evergreen.c')
-rw-r--r-- | drivers/gpu/drm/radeon/evergreen.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c index 9073e3bfb08c..7c37638095f7 100644 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c | |||
@@ -1578,7 +1578,7 @@ static void evergreen_gpu_init(struct radeon_device *rdev) | |||
1578 | u32 sq_stack_resource_mgmt_2; | 1578 | u32 sq_stack_resource_mgmt_2; |
1579 | u32 sq_stack_resource_mgmt_3; | 1579 | u32 sq_stack_resource_mgmt_3; |
1580 | u32 vgt_cache_invalidation; | 1580 | u32 vgt_cache_invalidation; |
1581 | u32 hdp_host_path_cntl; | 1581 | u32 hdp_host_path_cntl, tmp; |
1582 | int i, j, num_shader_engines, ps_thread_count; | 1582 | int i, j, num_shader_engines, ps_thread_count; |
1583 | 1583 | ||
1584 | switch (rdev->family) { | 1584 | switch (rdev->family) { |
@@ -1936,8 +1936,12 @@ static void evergreen_gpu_init(struct radeon_device *rdev) | |||
1936 | rdev->config.evergreen.tile_config |= (3 << 0); | 1936 | rdev->config.evergreen.tile_config |= (3 << 0); |
1937 | break; | 1937 | break; |
1938 | } | 1938 | } |
1939 | rdev->config.evergreen.tile_config |= | 1939 | /* num banks is 8 on all fusion asics */ |
1940 | ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT) << 4; | 1940 | if (rdev->flags & RADEON_IS_IGP) |
1941 | rdev->config.evergreen.tile_config |= 8 << 4; | ||
1942 | else | ||
1943 | rdev->config.evergreen.tile_config |= | ||
1944 | ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT) << 4; | ||
1941 | rdev->config.evergreen.tile_config |= | 1945 | rdev->config.evergreen.tile_config |= |
1942 | ((mc_arb_ramcfg & BURSTLENGTH_MASK) >> BURSTLENGTH_SHIFT) << 8; | 1946 | ((mc_arb_ramcfg & BURSTLENGTH_MASK) >> BURSTLENGTH_SHIFT) << 8; |
1943 | rdev->config.evergreen.tile_config |= | 1947 | rdev->config.evergreen.tile_config |= |
@@ -2141,6 +2145,10 @@ static void evergreen_gpu_init(struct radeon_device *rdev) | |||
2141 | for (i = SQ_ALU_CONST_BUFFER_SIZE_HS_0; i < 0x29000; i += 4) | 2145 | for (i = SQ_ALU_CONST_BUFFER_SIZE_HS_0; i < 0x29000; i += 4) |
2142 | WREG32(i, 0); | 2146 | WREG32(i, 0); |
2143 | 2147 | ||
2148 | tmp = RREG32(HDP_MISC_CNTL); | ||
2149 | tmp |= HDP_FLUSH_INVALIDATE_CACHE; | ||
2150 | WREG32(HDP_MISC_CNTL, tmp); | ||
2151 | |||
2144 | hdp_host_path_cntl = RREG32(HDP_HOST_PATH_CNTL); | 2152 | hdp_host_path_cntl = RREG32(HDP_HOST_PATH_CNTL); |
2145 | WREG32(HDP_HOST_PATH_CNTL, hdp_host_path_cntl); | 2153 | WREG32(HDP_HOST_PATH_CNTL, hdp_host_path_cntl); |
2146 | 2154 | ||