Hello all;

A couple of things I found while sorting out multihead isa systems:

The vesa driver's probe looks like this:
   /* VGA has one more read/write attribute register than EGA */
   (void) inb(GenericIOBase + VGA_IN_STAT_1_OFFSET);  /* Reset flip-flop */
   outb(VGA_ATTR_INDEX, 0x14 | 0x20);
   CurrentValue = inb(VGA_ATTR_DATA_R);
   outb(VGA_ATTR_DATA_W, CurrentValue ^ 0x0F);
   outb(VGA_ATTR_INDEX, 0x14 | 0x20);
   TestValue = inb(VGA_ATTR_DATA_R);
   outb(VGA_ATTR_DATA_R, CurrentValue);

   /* Quit now if no VGA is present */
   if ((CurrentValue ^ 0x0F) != TestValue)
     return -1;

The last "outb" should be to VGA_ATTR_DATA_W rather than R. Probing
without loading the vesa driver will do bad things (foreground = background) to
your display.


The ati driver does not do what you might expect when it finds a Graphics Ultra Pro
with the VGA turned off. Configure sets up a screen and device for ati, but running
the server gives the error "VGA is not available through this adapter." Since the
README.ati says stand alone 8514 is not supported, the server is right and configure
is wrong. The last test for a successful probe in atiprobe.c looks like this:


           if ((pATI->Adapter != ATI_ADAPTER_VGA) &&
               ((pATI->Adapter != ATI_ADAPTER_8514A) ||
                ((pATI->VGAAdapter != ATI_ADAPTER_VGA) &&
                 (pATI->VGAAdapter != ATI_ADAPTER_NONE))))

Changing the second line to test pATI->ChipHasSUBSYS_CNTL will treat mach8
and mach32 as 8514 devices here. The third and fourth lines test if the VGA is disabled.
Enjoy
Lee


_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to