From f532a74ba98144efd2bf999857be8e5d482653f9 Mon Sep 17 00:00:00 2001
From: Rudolf Cornelissen
Date: Wed, 28 Oct 2009 21:58:53 +0000
Subject: [PATCH] fixed RAM access errors on coldstarted G450s. If this
introduces trouble on other G450s or G550s please file a bug report. Bumped
version to 0.32.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33822 a95241bf-73f2-0310-859d-f6bbb57e9c96
---
.../accelerants/matrox/engine/mga_general.c | 14 ++++++++++----
.../kernel/drivers/graphics/matrox/UPDATE.html | 6 +++++-
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/add-ons/accelerants/matrox/engine/mga_general.c b/src/add-ons/accelerants/matrox/engine/mga_general.c
index 6f4f7953f7..153b0a2fbb 100644
--- a/src/add-ons/accelerants/matrox/engine/mga_general.c
+++ b/src/add-ons/accelerants/matrox/engine/mga_general.c
@@ -1,7 +1,7 @@
/* Authors:
Mark Watson 12/1999,
Apsed,
- Rudolf Cornelissen 10/2002-5/2006
+ Rudolf Cornelissen 10/2002-10/2009
*/
#define MODULE_BIT 0x00008000
@@ -54,7 +54,7 @@ status_t gx00_general_powerup()
status_t status;
uint8 card_class;
- LOG(1,("POWERUP: Haiku Matrox Accelerant 0.31 running.\n"));
+ LOG(1,("POWERUP: Haiku Matrox Accelerant 0.32 running.\n"));
/* log VBLANK INT usability status */
if (si->ps.int_assigned)
@@ -720,8 +720,14 @@ status_t g450_general_powerup()
}
/* create positive flank to generate memory reset */
- ACCW(MACCESS, (maccess & 0xffff7fff));
- ACCW(MACCESS, (maccess | 0x00008000));
+ //fixme: G550 is still noted as a G450, fix upon trouble..
+ if (si->ps.card_type == G450) {
+ ACCW(MACCESS, (maccess & 0xffff3fff));
+ ACCW(MACCESS, (maccess | 0x0000c000));
+ } else { //G550
+ ACCW(MACCESS, (maccess & 0xffff7fff));
+ ACCW(MACCESS, (maccess | 0x00008000));
+ }
snooze(250);
/* start memory refresh */
diff --git a/src/add-ons/kernel/drivers/graphics/matrox/UPDATE.html b/src/add-ons/kernel/drivers/graphics/matrox/UPDATE.html
index 56ccb84fc4..23be039f70 100644
--- a/src/add-ons/kernel/drivers/graphics/matrox/UPDATE.html
+++ b/src/add-ons/kernel/drivers/graphics/matrox/UPDATE.html
@@ -4,7 +4,7 @@
Changes done for each driverversion:
-head (svn 0.31, Rudolf)
+head (svn 0.32, Rudolf)
- G100-G200:
@@ -16,6 +16,10 @@
- The overlay engine code now respects the B_OVERLAY_COLOR_KEY flag instead of forcing keying ON.
+- G450:
+
+- Coldstarting now works on more cards: fixed RAM reset trouble so RAM access now works (no more ghosting on the screen).
+
- General:
- Hook GET_ACCELERANT_DEVICE_INFO now returns more detailed info about the card in use;