changeset 4279:4301c4adbcf7

reported working at 1600x1200 too, pciconfig stuff fixed, you can enable it with #define MGA_PCICONFIG_MEMDETECT
author alex
date Sun, 20 Jan 2002 13:11:23 +0000
parents 29f9d8bfde59
children a5f11106ef5e
files vidix/drivers/mga_vid.c
diffstat 1 files changed, 7 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/vidix/drivers/mga_vid.c	Sun Jan 20 12:15:01 2002 +0000
+++ b/vidix/drivers/mga_vid.c	Sun Jan 20 13:11:23 2002 +0000
@@ -45,6 +45,8 @@
 
 #undef MGA_EQUALIZER
 
+#undef MGA_PCICONFIG_MEMDETECT
+
 #include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -111,8 +113,8 @@
     "Matrox MGA G200/G400 YUV Video",
     TYPE_OUTPUT,
     { 0, 0, 0, 0 },
-    1024, /* 2048x2048 is supported if Pontscho is right */
-    768,
+    1600, /* 2048x2048 is supported if Pontscho is right */
+    1200,
     4,
     4,
     -1,
@@ -1198,7 +1200,7 @@
 	for (i = 0; i < num_pci; i++)
 	{
 	    if (mga_verbose > 2)
-		printf("pci[%d] vendor: %d device: %d\n",
+		printf("[mga] pci[%d] vendor: %d device: %d\n",
 		    i, lst[i].vendor, lst[i].device);
 	    if (lst[i].vendor == VENDOR_MATROX)
 	    {
@@ -1241,7 +1243,7 @@
 
 int vixInit(void)
 {
-    unsigned int card_option;
+    unsigned int card_option = 0;
 
     printf("[mga] init\n");
 
@@ -1255,16 +1257,9 @@
 	return(EINTR);
     }
 
-#warning "FIXME: implement pciconfig_read! (or enable syscall)\n"
-#if 0
-/* from linux/pci.h */
-#define PCI_DEVFN(slot, func) ((((slot) & 0x1f) << 3) | ((func) & 0x07))
-
-//    pci_config_read(pci_info.bus, PCI_DEVFN(pci_info.card, pci_info.func),
-//        0x40, 4, &card_option);
+#ifdef MGA_PCICONFIG_MEMDETECT
     pci_config_read(pci_info.bus, pci_info.card, pci_info.func,
         0x40, 4, &card_option);
-//    pci_read_config_dword(dev,  0x40, &card_option);
     printf("[mga] OPTION word: 0x%08X  mem: 0x%02X  %s\n", card_option,
     	(card_option>>10)&0x17, ((card_option>>14)&1)?"SGRAM":"SDRAM");
 #endif