From 1cd26293f98864de2bbd2cff67484182db74fdd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Tue, 23 Jun 2009 16:12:54 +0200 Subject: [PATCH] --- yaml --- r: 154327 b: refs/heads/master c: b1e3a6d1c4d0ac75ad8289bcfd69efcc9b1bc6e5 h: refs/heads/master i: 154325: 837a4716a1e42c546cad71b3c5cb3ecf3eb67ad1 154323: 9fe62c3c9dbde9110f28bb487c5fd8a254523995 154319: 8c934f2fbdc1a0ef1a2d1cdceaf2796fe0f959e3 v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/radeon/radeon_device.c | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 0efb05b4fc74..1bc9d48901a7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 696d4df1dbfe0b054e94c1990b49c1727ffc1ff0 +refs/heads/master: b1e3a6d1c4d0ac75ad8289bcfd69efcc9b1bc6e5 diff --git a/trunk/drivers/gpu/drm/radeon/radeon_device.c b/trunk/drivers/gpu/drm/radeon/radeon_device.c index 3f48a57531b5..f97563db4e59 100644 --- a/trunk/drivers/gpu/drm/radeon/radeon_device.c +++ b/trunk/drivers/gpu/drm/radeon/radeon_device.c @@ -34,6 +34,23 @@ #include "radeon_asic.h" #include "atom.h" +/* + * Clear GPU surface registers. + */ +static void radeon_surface_init(struct radeon_device *rdev) +{ + /* FIXME: check this out */ + if (rdev->family < CHIP_R600) { + int i; + + for (i = 0; i < 8; i++) { + WREG32(RADEON_SURFACE0_INFO + + i * (RADEON_SURFACE1_INFO - RADEON_SURFACE0_INFO), + 0); + } + } +} + /* * GPU scratch registers helpers function. */ @@ -496,6 +513,9 @@ int radeon_device_init(struct radeon_device *rdev, radeon_errata(rdev); /* Initialize scratch registers */ radeon_scratch_init(rdev); + /* Initialize surface registers */ + radeon_surface_init(rdev); + /* TODO: disable VGA need to use VGA request */ /* BIOS*/ if (!radeon_get_bios(rdev)) {