On Tue, 25 Feb 2003, Mark Vojkovich wrote:

> > >> While tracking down a bug, I encoutered these functions in:
> > >> programs/Xserver/hw/xfree86/vgahw/vgaHW.c:

> > >> void vgaHWLock(vgaHWPtr hwp)
> > >> {
> > >>     /* Protect CRTC[0-7] */
> > >>     hwp->writeCrtc(hwp, 0x11, hwp->readCrtc(hwp, 0x11) & ~0x80);
> > >> }

> > >> void vgaHWUnlock(vgaHWPtr hwp)
> > >> {
> > >>     /* Unprotect CRTC[0-7] */
> > >>      hwp->writeCrtc(hwp, 0x11, hwp->readCrtc(hwp, 0x11) | 0x80);
> > >> }

> > >> Every reference I can find on the sbuject, (specifically Ferraro's book,
> > >> 3rd ed, along with many HTML references) indicate that this logic is
> > >> reversed.  That is, for CRTC reg 0x11 bit 7: 1=disable, 0=enable writing
> > >> to CRTC regs[0-7].

> > >> Comments?

> > >You are absolutely correct.  I've just committed a change to correct this.
> > >Thanks for pointing out the problem.

> > I wonder why this hasn't shown up as a problem anywhere?

>    The "nv" driver doesn't use these.  It provides its own which
> has the reverse logic from what vgaHW was using.

Well, the bit doesn't affect reading the registers.  As for writes,
vgaHWRestoreMode(), which many drivers end up calling to set a mode,
ensures the bit is off before re-writting the CRTC registers.

Marc.

+----------------------------------+-----------------------------------+
|  Marc Aurele La France           |  work:   1-780-492-9310           |
|  Computing and Network Services  |  fax:    1-780-492-1729           |
|  352 General Services Building   |  email:  [EMAIL PROTECTED]          |
|  University of Alberta           +-----------------------------------+
|  Edmonton, Alberta               |                                   |
|  T6G 2H1                         |     Standard disclaimers apply    |
|  CANADA                          |                                   |
+----------------------------------+-----------------------------------+
XFree86 Core Team member.  ATI driver and X server internals.

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

Reply via email to