FIXED a STUPID BUG I stumbled on for a lot of GeForce 6200 cardsjam If you have such a card and had trouble using the driver it's time to upgrade now :). Fixed are PLL refreshrate calculations and dualhead detection: rewrote the detection code to be much less breakable now when new cards are added to the driver-supported list. Bumped version to 0.57. Sorry about this to the people who reported trouble with those 6200's to me...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14462 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
a5cd1aeed0
commit
8ca55b56f0
|
@ -91,14 +91,14 @@ status_t nv_general_powerup()
|
|||
{
|
||||
status_t status;
|
||||
|
||||
LOG(1,("POWERUP: Haiku nVidia Accelerant 0.57 running.\n"));
|
||||
|
||||
/* log VBLANK INT usability status */
|
||||
if (si->ps.int_assigned)
|
||||
LOG(4,("POWERUP: Usable INT assigned to HW; Vblank semaphore enabled\n"));
|
||||
else
|
||||
LOG(4,("POWERUP: No (usable) INT assigned to HW; Vblank semaphore disabled\n"));
|
||||
|
||||
LOG(1,("POWERUP: Haiku nVidia Accelerant 0.56 running.\n"));
|
||||
|
||||
/* preset no laptop */
|
||||
si->ps.laptop = false;
|
||||
|
||||
|
|
|
@ -3051,63 +3051,38 @@ static void getstrap_arch_nv10_20_30_40(void)
|
|||
uint32 dev_manID = CFGR(DEVID);
|
||||
uint32 strapinfo = NV_REG32(NV32_NVSTRAPINFO2);
|
||||
|
||||
/* determine if we have a dualhead card */
|
||||
si->ps.secondary_head = false;
|
||||
switch (si->ps.card_type)
|
||||
{
|
||||
case NV04:
|
||||
case NV05:
|
||||
case NV05M64:
|
||||
case NV06:
|
||||
case NV10:
|
||||
case NV15:
|
||||
case NV20:
|
||||
break;
|
||||
default:
|
||||
if ((dev_manID & 0xfff0ffff) == 0x01a010de)
|
||||
{
|
||||
/* this is a singlehead NV11! */
|
||||
}
|
||||
else
|
||||
{
|
||||
si->ps.secondary_head = true;
|
||||
}
|
||||
}
|
||||
|
||||
/* determine PLL reference crystal frequency: three types are used... */
|
||||
if (strapinfo & 0x00000040)
|
||||
si->ps.f_ref = 14.31818;
|
||||
else
|
||||
si->ps.f_ref = 13.50000;
|
||||
|
||||
switch (dev_manID & 0xfff0ffff)
|
||||
if ((si->ps.secondary_head) && (si->ps.card_type != NV11))
|
||||
{
|
||||
/* Nvidia cards: */
|
||||
case 0x004010de:
|
||||
case 0x00c010de:
|
||||
case 0x00f010de:
|
||||
case 0x014010de:
|
||||
case 0x017010de:
|
||||
case 0x018010de:
|
||||
case 0x01f010de:
|
||||
case 0x025010de:
|
||||
case 0x028010de:
|
||||
case 0x030010de:
|
||||
case 0x031010de:
|
||||
case 0x032010de:
|
||||
case 0x033010de:
|
||||
case 0x034010de:
|
||||
/* Varisys cards: */
|
||||
case 0x35001888:
|
||||
if (strapinfo & 0x00400000) si->ps.f_ref = 27.00000;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* determine if we have a dualhead card */
|
||||
switch (dev_manID & 0xfff0ffff)
|
||||
{
|
||||
/* Nvidia cards: */
|
||||
case 0x004010de:
|
||||
case 0x00c010de:
|
||||
case 0x00f010de:
|
||||
case 0x011010de:
|
||||
case 0x014010de:
|
||||
case 0x017010de:
|
||||
case 0x018010de:
|
||||
case 0x01f010de:
|
||||
case 0x025010de:
|
||||
case 0x028010de:
|
||||
case 0x030010de:
|
||||
case 0x031010de:
|
||||
case 0x032010de:
|
||||
case 0x033010de:
|
||||
case 0x034010de:
|
||||
/* Varisys cards: */
|
||||
case 0x35001888:
|
||||
si->ps.secondary_head = true;
|
||||
break;
|
||||
default:
|
||||
si->ps.secondary_head = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue