finally fixed the colorpalette trouble on 'special versions of the G200'. That cost me 4 years... It turns out the driver ID'd G100 and G200 cards with a MAVEN as dualhead cards. This enabled secondary head programming stuff, resulting in broken colorpalette. Looks like CRTC2 DPMS turn-off was responsible for killing the palette. So, the only thing special about these G200's was the MAVEN connected to them. Apparantly. Bumped version to 0.29.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17258 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -54,7 +54,7 @@ status_t gx00_general_powerup()
|
||||
status_t status;
|
||||
uint8 card_class;
|
||||
|
||||
LOG(1,("POWERUP: Haiku Matrox Accelerant 0.28 running.\n"));
|
||||
LOG(1,("POWERUP: Haiku Matrox Accelerant 0.29 running.\n"));
|
||||
|
||||
/* log VBLANK INT usability status */
|
||||
if (si->ps.int_assigned)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/* some bits are hacks, where PINS is not known */
|
||||
/* Authors:
|
||||
Mark Watson 2/2000,
|
||||
Rudolf Cornelissen 10/2002-1/2004
|
||||
Rudolf Cornelissen 10/2002-4/2006
|
||||
*/
|
||||
|
||||
#define MODULE_BIT 0x00002000
|
||||
@@ -244,8 +244,10 @@ status_t pins3_read(uint8 *pins, uint8 length)
|
||||
si->ps.v3_option2_reg = pins[58];
|
||||
|
||||
/* for cards using this version of PINS both functions are in maven */
|
||||
si->ps.secondary_head = !(pins[59] & 0x01);
|
||||
si->ps.secondary_tvout = !(pins[59] & 0x01);
|
||||
/* G200 and earlier cards are always singlehead cards */
|
||||
si->ps.secondary_head = false;
|
||||
if (si->ps.card_type >= G400) si->ps.secondary_head = !(pins[59] & 0x01);
|
||||
|
||||
/* setup via gathered info from pins */
|
||||
si->ps.option_reg = 0;
|
||||
@@ -398,8 +400,10 @@ status_t pins4_read(uint8 *pins, uint8 length)
|
||||
si->ps.option_reg |= (rfhcnt << 15);
|
||||
|
||||
/* for cards using this version of PINS both functions are in maven */
|
||||
si->ps.secondary_head = !(pins[91] & 0x01);
|
||||
si->ps.secondary_tvout = !(pins[91] & 0x01);
|
||||
/* G200 and earlier cards are always singlehead cards */
|
||||
si->ps.secondary_head = false;
|
||||
if (si->ps.card_type >= G400) si->ps.secondary_head = !(pins[91] & 0x01);
|
||||
|
||||
/* assuming the only possible panellink will be on the first head */
|
||||
si->ps.primary_dvi = !(pins[91] & 0x40);
|
||||
@@ -577,7 +581,8 @@ void fake_pins(void)
|
||||
if (i2c_maven_probe() == B_OK)
|
||||
{
|
||||
si->ps.secondary_tvout = true;
|
||||
si->ps.secondary_head = true;
|
||||
/* G200 and earlier cards are always singlehead cards */
|
||||
if (si->ps.card_type >= G400) si->ps.secondary_head = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user