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
This commit is contained in:
Rudolf Cornelissen 2004-02-23 15:13:18 +00:00
parent 441fd5bdb4
commit ff2b84c3d5
4 changed files with 24 additions and 7 deletions

View File

@ -1,6 +1,6 @@
/* program the DAC */ /* program the DAC */
/* Author: /* Author:
Rudolf Cornelissen 12/2003-1/2004 Rudolf Cornelissen 12/2003-2/2004
*/ */
#define MODULE_BIT 0x00010000 #define MODULE_BIT 0x00010000
@ -285,7 +285,15 @@ static status_t nv4_nv10_nv20_dac_pix_pll_find(
for (m = 7; m <= 14; m++) for (m = 7; m <= 14; m++)
{ {
/* check if phase-discriminator will be within operational limits */ /* 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.. */ /* calculate VCO postscaler setting for current setup.. */
n = (int)(((f_vco * m) / si->ps.f_ref) + 0.5); n = (int)(((f_vco * m) / si->ps.f_ref) + 0.5);

View File

@ -1,6 +1,6 @@
/* program the secondary DAC */ /* program the secondary DAC */
/* Author: /* Author:
Rudolf Cornelissen 12/2003-1/2004 Rudolf Cornelissen 12/2003-2/2004
*/ */
#define MODULE_BIT 0x00001000 #define MODULE_BIT 0x00001000
@ -286,7 +286,15 @@ static status_t nv10_nv20_dac2_pix_pll_find(
for (m = 7; m <= 14; m++) for (m = 7; m <= 14; m++)
{ {
/* check if phase-discriminator will be within operational limits */ /* 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.. */ /* calculate VCO postscaler setting for current setup.. */
n = (int)(((f_vco * m) / si->ps.f_ref) + 0.5); n = (int)(((f_vco * m) / si->ps.f_ref) + 0.5);

View File

@ -80,7 +80,7 @@ status_t nv_general_powerup()
{ {
status_t status; 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 */ /* preset no laptop */
si->ps.laptop = false; si->ps.laptop = false;

View File

@ -4,10 +4,11 @@
</head> </head>
<body> <body>
<p><h2>Changes done for each driverversion:</h2></p> <p><h2>Changes done for each driverversion:</h2></p>
<p><h1>head: nv_driver 0.09-2, (Rudolf)</h1></p> <p><h1>head: nv_driver 0.09-3, (Rudolf)</h1></p>
<ul> <ul>
<li>Fixed NV11 trouble with repeating screen(s) on the right side of the monitor; <li>Fixed NV11 trouble with repeating screen(s) on the right side of the monitor;
<li>Updated CRTC memory granularity code to work-around a hardware bug in older cards. <li>Updated CRTC memory granularity code to work-around a hardware bug in older cards;
<li>Fixed most modes on GeForceFX 5700 cards: PLL discriminator restrictions updated.
</ul> </ul>
<p><h1>nv_driver 0.08, (Rudolf)</h1></p> <p><h1>nv_driver 0.08, (Rudolf)</h1></p>
<ul> <ul>