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; }