diff options
author | Dave Airlie <airlied@linux.ie> | 2009-09-21 00:15:10 -0400 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2009-09-21 00:15:10 -0400 |
commit | 18a4cd2e9147dd41234dade56edb62c6222832eb (patch) | |
tree | 77abc5c8477129e66b6071a94f03eddc7c33610b | |
parent | fe62e1a45d8b11cf653cba79e244fc07bb9a84b0 (diff) |
drm/radeon/kms: r420 idle after programming GA_ENHANCE
https://bugs.freedesktop.org/show_bug.cgi?id=24041
The idle allows rs690 to startup properly.
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | drivers/gpu/drm/radeon/r420.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/r420.c b/drivers/gpu/drm/radeon/r420.c index 9b38956e91c7..49a2fdc57d27 100644 --- a/drivers/gpu/drm/radeon/r420.c +++ b/drivers/gpu/drm/radeon/r420.c | |||
@@ -64,6 +64,11 @@ void r420_pipes_init(struct radeon_device *rdev) | |||
64 | 64 | ||
65 | /* GA_ENHANCE workaround TCL deadlock issue */ | 65 | /* GA_ENHANCE workaround TCL deadlock issue */ |
66 | WREG32(0x4274, (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3)); | 66 | WREG32(0x4274, (1 << 0) | (1 << 1) | (1 << 2) | (1 << 3)); |
67 | /* add idle wait as per freedesktop.org bug 24041 */ | ||
68 | if (r100_gui_wait_for_idle(rdev)) { | ||
69 | printk(KERN_WARNING "Failed to wait GUI idle while " | ||
70 | "programming pipes. Bad things might happen.\n"); | ||
71 | } | ||
67 | /* get max number of pipes */ | 72 | /* get max number of pipes */ |
68 | gb_pipe_select = RREG32(0x402C); | 73 | gb_pipe_select = RREG32(0x402C); |
69 | num_pipes = ((gb_pipe_select >> 12) & 3) + 1; | 74 | num_pipes = ((gb_pipe_select >> 12) & 3) + 1; |