aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/rs600.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2009-12-08 23:15:38 -0500
committerDave Airlie <airlied@redhat.com>2009-12-10 00:25:45 -0500
commit550e2d9270e2f0a10c3b063899f70e4cca25fe72 (patch)
tree46878bc39515eae9ee1485ce046e16e8e47fda90 /drivers/gpu/drm/radeon/rs600.c
parent779720a3209849be202ac36a811e934865c50971 (diff)
drm/radeon/kms: restore surface registers on resume.
On resume on my rv530 laptop surface cntl was left disabled, so wierd stuff would happen with rendering to a tiled front buffer. This checks if the surface regs are assigned to bos and reprograms the surface registers on resume using the same path that clears them all on init. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/rs600.c')
-rw-r--r--drivers/gpu/drm/radeon/rs600.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c
index fd5ab01f6ad1..4f8ea4260572 100644
--- a/drivers/gpu/drm/radeon/rs600.c
+++ b/drivers/gpu/drm/radeon/rs600.c
@@ -586,6 +586,8 @@ int rs600_resume(struct radeon_device *rdev)
586 atom_asic_init(rdev->mode_info.atom_context); 586 atom_asic_init(rdev->mode_info.atom_context);
587 /* Resume clock after posting */ 587 /* Resume clock after posting */
588 rv515_clock_startup(rdev); 588 rv515_clock_startup(rdev);
589 /* Initialize surface registers */
590 radeon_surface_init(rdev);
589 return rs600_startup(rdev); 591 return rs600_startup(rdev);
590} 592}
591 593