From ff2b84c3d5c18d27d09a7b2ad2eb8c749defae64 Mon Sep 17 00:00:00 2001 From: Rudolf Cornelissen Date: Mon, 23 Feb 2004 15:13:18 +0000 Subject: [PATCH] fixed most modes on FX5700! (updated PLL discriminator range) git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6702 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/accelerants/nvidia/engine/nv_dac.c | 12 ++++++++++-- src/add-ons/accelerants/nvidia/engine/nv_dac2.c | 12 ++++++++++-- src/add-ons/accelerants/nvidia/engine/nv_general.c | 2 +- .../kernel/drivers/graphics/nvidia/UPDATE.html | 5 +++-- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/add-ons/accelerants/nvidia/engine/nv_dac.c b/src/add-ons/accelerants/nvidia/engine/nv_dac.c index eb72d371a4..f4c4850b0e 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_dac.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_dac.c @@ -1,6 +1,6 @@ /* program the DAC */ /* Author: - Rudolf Cornelissen 12/2003-1/2004 + Rudolf Cornelissen 12/2003-2/2004 */ #define MODULE_BIT 0x00010000 @@ -285,7 +285,15 @@ static status_t nv4_nv10_nv20_dac_pix_pll_find( for (m = 7; m <= 14; m++) { /* check if phase-discriminator will be within operational limits */ - if (((si->ps.f_ref / m) < 1.0) || ((si->ps.f_ref / m) > 2.0)) continue; + //fixme: PLL calcs will be resetup/splitup/updated... + if (si->ps.card_type == NV36) + { + if (((si->ps.f_ref / m) < 3.0) || ((si->ps.f_ref / m) > 9.0)) continue; + } + else + { + if (((si->ps.f_ref / m) < 1.0) || ((si->ps.f_ref / m) > 2.0)) continue; + } /* calculate VCO postscaler setting for current setup.. */ n = (int)(((f_vco * m) / si->ps.f_ref) + 0.5); diff --git a/src/add-ons/accelerants/nvidia/engine/nv_dac2.c b/src/add-ons/accelerants/nvidia/engine/nv_dac2.c index 73060532f2..230b2fd0d9 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_dac2.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_dac2.c @@ -1,6 +1,6 @@ /* program the secondary DAC */ /* Author: - Rudolf Cornelissen 12/2003-1/2004 + Rudolf Cornelissen 12/2003-2/2004 */ #define MODULE_BIT 0x00001000 @@ -286,7 +286,15 @@ static status_t nv10_nv20_dac2_pix_pll_find( for (m = 7; m <= 14; m++) { /* check if phase-discriminator will be within operational limits */ - if (((si->ps.f_ref / m) < 1.0) || ((si->ps.f_ref / m) > 2.0)) continue; + //fixme: PLL calcs will be resetup/splitup/updated... + if (si->ps.card_type == NV36) + { + if (((si->ps.f_ref / m) < 3.0) || ((si->ps.f_ref / m) > 9.0)) continue; + } + else + { + if (((si->ps.f_ref / m) < 1.0) || ((si->ps.f_ref / m) > 2.0)) continue; + } /* calculate VCO postscaler setting for current setup.. */ n = (int)(((f_vco * m) / si->ps.f_ref) + 0.5); diff --git a/src/add-ons/accelerants/nvidia/engine/nv_general.c b/src/add-ons/accelerants/nvidia/engine/nv_general.c index 9523117224..a73c36acd6 100644 --- a/src/add-ons/accelerants/nvidia/engine/nv_general.c +++ b/src/add-ons/accelerants/nvidia/engine/nv_general.c @@ -80,7 +80,7 @@ status_t nv_general_powerup() { status_t status; - LOG(1,("POWERUP: nVidia (open)BeOS Accelerant 0.09-2 running.\n")); + LOG(1,("POWERUP: nVidia (open)BeOS Accelerant 0.09-3 running.\n")); /* preset no laptop */ si->ps.laptop = false; diff --git a/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html b/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html index fe4d3a11c9..8d22257ded 100644 --- a/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html +++ b/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html @@ -4,10 +4,11 @@

Changes done for each driverversion:

-

head: nv_driver 0.09-2, (Rudolf)

+

head: nv_driver 0.09-3, (Rudolf)

nv_driver 0.08, (Rudolf)