From 91d2dcb1cbe09b51e7ba693fecc8ebdea4fb0f64 Mon Sep 17 00:00:00 2001 From: Rudolf Cornelissen Date: Sat, 3 Apr 2004 09:04:19 +0000 Subject: [PATCH] small cleanup for registerarea clonefix git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7142 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/accelerants/neomagic/InitAccelerant.c | 13 +++---------- .../kernel/drivers/graphics/neomagic/driver.c | 4 +++- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/add-ons/accelerants/neomagic/InitAccelerant.c b/src/add-ons/accelerants/neomagic/InitAccelerant.c index 720e1e85a9..4d1bb7497e 100644 --- a/src/add-ons/accelerants/neomagic/InitAccelerant.c +++ b/src/add-ons/accelerants/neomagic/InitAccelerant.c @@ -46,16 +46,9 @@ static status_t init_common(int the_fd) { { /* we can't clone as no register area exists! */ LOG(2,("InitACC: Can't clone register area, integrated in framebuffer!\n")); - switch (si->ps.card_type) - { - case NM2070: - regs = (uint32 *)((uint8 *)si->framebuffer + 0x100000); - break; - case NM2090: - case NM2093: - regs = (uint32 *)((uint8 *)si->framebuffer + 0x200000); - break; - } + + /* the kerneldriver already did some calcs for us */ + regs = si->clone_bugfix_regs; /* not used */ regs2 = 0; } diff --git a/src/add-ons/kernel/drivers/graphics/neomagic/driver.c b/src/add-ons/kernel/drivers/graphics/neomagic/driver.c index 0874ba1ec6..f7650647cc 100644 --- a/src/add-ons/kernel/drivers/graphics/neomagic/driver.c +++ b/src/add-ons/kernel/drivers/graphics/neomagic/driver.c @@ -5,7 +5,7 @@ Other authors: Mark Watson; Apsed; - Rudolf Cornelissen 5/2002-1/2004. + Rudolf Cornelissen 5/2002-4/2004. */ /* standard kernel driver stuff */ @@ -483,11 +483,13 @@ static status_t map_device(device_info *di) case 0x0001: /* NM2070 cards */ di->regs = (uint32 *)((uint8 *)si->framebuffer + 0x100000); + si->clone_bugfix_regs = (uint32 *) di->regs; break; case 0x0002: case 0x0003: /* NM2090 and NM2093 cards */ di->regs = (uint32 *)((uint8 *)si->framebuffer + 0x200000); + si->clone_bugfix_regs = (uint32 *) di->regs; break; }