summaryrefslogtreecommitdiff
path: root/src/mga_bios.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mga_bios.c')
-rw-r--r--src/mga_bios.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mga_bios.c b/src/mga_bios.c
index dd75f3f..bf70b84 100644
--- a/src/mga_bios.c
+++ b/src/mga_bios.c
@@ -118,6 +118,7 @@ static void mga_initialize_bios_values( MGAPtr pMga,
(void) memset( bios, 0, sizeof( *bios ) );
bios->pixel.min_freq = 50000;
+ bios->connector[0] = bios->connector[1] = MGA_CONNECTOR_NONE;
switch( pMga->Chipset ) {
case PCI_CHIP_MGA2064:
@@ -341,6 +342,7 @@ static void mga_parse_bios_ver_5( struct mga_bios_values * bios,
const CARD8 * bios_data )
{
const unsigned scale = (bios_data[4] != 0) ? 8000 : 6000;
+ mga_connector_t connector;
if ( bios_data[38] != 0xff ) {
@@ -397,6 +399,14 @@ static void mga_parse_bios_ver_5( struct mga_bios_values * bios,
}
bios->host_interface = (bios_data[113] >> 3) & 0x07;
+
+ connector = bios_data[116] & 0x0f;
+ if (connector <= MGA_CONNECTOR_LAST)
+ bios->connector[0] = connector;
+
+ connector = (bios_data[116] >> 4) & 0x0f;
+ if (connector <= MGA_CONNECTOR_LAST)
+ bios->connector[1] = connector;
}