diff options
author | Dave Airlie <airlied@redhat.com> | 2009-12-08 23:15:38 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-12-10 00:25:45 -0500 |
commit | 550e2d9270e2f0a10c3b063899f70e4cca25fe72 (patch) | |
tree | 46878bc39515eae9ee1485ce046e16e8e47fda90 /drivers/gpu/drm/radeon/r300.c | |
parent | 779720a3209849be202ac36a811e934865c50971 (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/r300.c')
-rw-r--r-- | drivers/gpu/drm/radeon/r300.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c index 86065dcc1982..83378c39d0e3 100644 --- a/drivers/gpu/drm/radeon/r300.c +++ b/drivers/gpu/drm/radeon/r300.c | |||
@@ -1250,6 +1250,8 @@ int r300_resume(struct radeon_device *rdev) | |||
1250 | radeon_combios_asic_init(rdev->ddev); | 1250 | radeon_combios_asic_init(rdev->ddev); |
1251 | /* Resume clock after posting */ | 1251 | /* Resume clock after posting */ |
1252 | r300_clock_startup(rdev); | 1252 | r300_clock_startup(rdev); |
1253 | /* Initialize surface registers */ | ||
1254 | radeon_surface_init(rdev); | ||
1253 | return r300_startup(rdev); | 1255 | return r300_startup(rdev); |
1254 | } | 1256 | } |
1255 | 1257 | ||