|
@@ -34,6 +34,23 @@
|
|
#include "radeon_asic.h"
|
|
#include "radeon_asic.h"
|
|
#include "atom.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.
|
|
* GPU scratch registers helpers function.
|
|
*/
|
|
*/
|
|
@@ -496,6 +513,9 @@ int radeon_device_init(struct radeon_device *rdev,
|
|
radeon_errata(rdev);
|
|
radeon_errata(rdev);
|
|
/* Initialize scratch registers */
|
|
/* Initialize scratch registers */
|
|
radeon_scratch_init(rdev);
|
|
radeon_scratch_init(rdev);
|
|
|
|
+ /* Initialize surface registers */
|
|
|
|
+ radeon_surface_init(rdev);
|
|
|
|
+
|
|
/* TODO: disable VGA need to use VGA request */
|
|
/* TODO: disable VGA need to use VGA request */
|
|
/* BIOS*/
|
|
/* BIOS*/
|
|
if (!radeon_get_bios(rdev)) {
|
|
if (!radeon_get_bios(rdev)) {
|