diff --git a/src/add-ons/accelerants/nvidia/engine/nv_acc.c b/src/add-ons/accelerants/nvidia/engine/nv_acc.c index 8d6a641a67..9f6fde0ba2 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_acc.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_acc.c @@ -1,6 +1,6 @@ /* NV Acceleration functions */ /* Author: - Rudolf Cornelissen 8/2003-5/2005. + Rudolf Cornelissen 8/2003-5/2009. This code was possible thanks to: - the Linux XFree86 NV driver, @@ -85,9 +85,9 @@ status_t nv_acc_init() uint16 cnt; /* a hanging engine only recovers from a complete power-down/power-up cycle */ - NV_REG32(NV32_PWRUPCTRL) = 0x13110011; + NV_REG32(NV32_PWRUPCTRL) = 0xffff00ff; snooze(1000); - NV_REG32(NV32_PWRUPCTRL) = 0x13111111; + NV_REG32(NV32_PWRUPCTRL) = 0xffffffff; /* setup PTIMER: */ //fixme? how about NV28 setup as just after coldstarting? (see nv_info.c) diff --git a/src/add-ons/accelerants/nvidia/engine/nv_acc_dma.c b/src/add-ons/accelerants/nvidia/engine/nv_acc_dma.c index cefdf2023b..6a6ec90b13 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_acc_dma.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_acc_dma.c @@ -1,7 +1,7 @@ /* NV Acceleration functions */ /* Author: - Rudolf Cornelissen 8/2003-9/2007. + Rudolf Cornelissen 8/2003-5/2009. This code was possible thanks to: - the Linux XFree86 NV driver, @@ -80,9 +80,9 @@ status_t nv_acc_init_dma() err = 0; /* a hanging engine only recovers from a complete power-down/power-up cycle */ - NV_REG32(NV32_PWRUPCTRL) = 0x13110011; + NV_REG32(NV32_PWRUPCTRL) = 0xffff00ff; snooze(1000); - NV_REG32(NV32_PWRUPCTRL) = 0x13111111; + NV_REG32(NV32_PWRUPCTRL) = 0xffffffff; /* don't try this on NV20 and later.. */ /* note: diff --git a/src/add-ons/accelerants/nvidia/engine/nv_general.c b/src/add-ons/accelerants/nvidia/engine/nv_general.c index 7e9da84278..88fd7d9e13 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_general.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_general.c @@ -1,7 +1,7 @@ /* Authors: Mark Watson 12/1999, Apsed, - Rudolf Cornelissen 10/2002-6/2008 + Rudolf Cornelissen 10/2002-5/2009 tst.. */ @@ -92,7 +92,7 @@ status_t nv_general_powerup() { status_t status; - LOG(1,("POWERUP: Haiku nVidia Accelerant 0.89 running.\n")); + LOG(1,("POWERUP: Haiku nVidia Accelerant 0.90 running.\n")); /* log VBLANK INT usability status */ if (si->ps.int_assigned) @@ -1654,17 +1654,18 @@ status_t nv_general_head_select(bool cross) static void unlock_card(void) { - /* power-up all nvidia hardware function blocks */ + /* make sure to power-up all nvidia hardware function blocks */ /* bit 28: OVERLAY ENGINE (BES), * bit 25: CRTC2, (> NV04A) * bit 24: CRTC1, * bit 20: framebuffer, * bit 16: PPMI, + * bit 13: some part of at least the G72 acceleration engine, * bit 12: PGRAPH, * bit 8: PFIFO, * bit 4: PMEDIA, * bit 0: TVOUT. (> NV04A) */ - NV_REG32(NV32_PWRUPCTRL) = 0x13111111; + NV_REG32(NV32_PWRUPCTRL) = 0xffffffff; /* select colormode CRTC registers base adresses */ NV_REG8(NV8_MISCW) = 0xcb; @@ -1689,9 +1690,9 @@ static void unlock_card(void) static status_t nv_general_bios_to_powergraphics() { /* let acc engine make power off/power on cycle to start 'fresh' */ - NV_REG32(NV32_PWRUPCTRL) = 0x13110011; + NV_REG32(NV32_PWRUPCTRL) = 0xffff00ff; snooze(1000); - NV_REG32(NV32_PWRUPCTRL) = 0x13111111; + NV_REG32(NV32_PWRUPCTRL) = 0xffffffff; unlock_card(); diff --git a/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html b/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html index 806e744213..9457446488 100644 --- a/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html +++ b/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html @@ -4,7 +4,7 @@

Changes done for each driverversion:

-

head (SVN 0.89, Rudolf)

+

head (SVN 0.90, Rudolf)

nv_driver 0.80 (Rudolf)