Re: [Xpert]missing code in VESA DPMS

2002-04-10 Thread Marc Aurele La France

On Tue, 9 Apr 2002, Randolph Bentson wrote:

> I'm trying to get DPMS screen blanking to work on a ViewSonic
> ViewPad 1000, but I'm concerned about the code which has
> appeared in 4.2.0.

> In 4.1.0,  DPMSSet indirectly called VESADisplayPowerManagementSet,
> which called vgaHWDPMSSet, which called stdwriteCrtc via a pointer,
> which contained the lines

>  outb(hwp->IOBase + hwp->PIOOffset + VGA_CRTC_INDEX_OFFSET, index);
>  outb(hwp->IOBase + hwp->PIOOffset + VGA_CRTC_DATA_OFFSET, value);

> In 4.2.0,  DPMSSet indirectly called VESADisplayPowerManagementSet,
> which employs the WriteCrtc macro which expands to

>  outb(VGA_CRTC_INDEX_OFFSET, index);\
>  outb(VGA_CRTC_DATA_OFFSET, value)

> That seemed clearly bogus, and fortunatly for my peace of mind,
> in yesterday's 4.2.0 CVS fetch, DPMSSet indirectly called
> VESADisplayPowerManagementSet, which employs the
> WriteCrtc macro which now expands to

>  outb(pVesa->ioBase + VGA_CRTC_INDEX_OFFSET, index);\
>  outb(pVesa->ioBase + VGA_CRTC_DATA_OFFSET, value)

> >From inspection, this seems better, but isn't there still the need
> for some additional offset?  Or was the presence of "hwp->PIOOffset"
> a red herring?

These are missing VGA_IOBASE_COLOR.  I've just committed a fix for this.
Thanks for reporting the problem.

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.

___
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert



[Xpert]missing code in VESA DPMS

2002-04-09 Thread Randolph Bentson

I'm trying to get DPMS screen blanking to work on a ViewSonic
ViewPad 1000, but I'm concerned about the code which has
appeared in 4.2.0.

In 4.1.0,  DPMSSet indirectly called VESADisplayPowerManagementSet,
which called vgaHWDPMSSet, which called stdwriteCrtc via a pointer,
which contained the lines

 outb(hwp->IOBase + hwp->PIOOffset + VGA_CRTC_INDEX_OFFSET, index);
 outb(hwp->IOBase + hwp->PIOOffset + VGA_CRTC_DATA_OFFSET, value);


In 4.2.0,  DPMSSet indirectly called VESADisplayPowerManagementSet,
which employs the WriteCrtc macro which expands to

 outb(VGA_CRTC_INDEX_OFFSET, index);\
 outb(VGA_CRTC_DATA_OFFSET, value)


That seemed clearly bogus, and fortunatly for my peace of mind,
in yesterday's 4.2.0 CVS fetch, DPMSSet indirectly called
VESADisplayPowerManagementSet, which employs the
WriteCrtc macro which now expands to

 outb(pVesa->ioBase + VGA_CRTC_INDEX_OFFSET, index);\
 outb(pVesa->ioBase + VGA_CRTC_DATA_OFFSET, value)

>From inspection, this seems better, but isn't there still the need
for some additional offset?  Or was the presence of "hwp->PIOOffset"
a red herring?


In any event, "xset dpms force off" doesn't work.  I learned to
put 'Option "dpms" "on"' in the "Screen" section, and with the
insertion of "fprintf" statements, I have confirmed WriteCrtc
gets called.  Shortly after the screen blanks, xf86DPMSInit
is called again, and the screen comes back on.

Since I have no specifications for the hardware interface,
I can only reason by analogy and comparison.  If someone
such as the author of these changes (is it Marc La France?)
would drop me a note, I'm quite willing to help work on this
part of the driver.

It may be that DPMS works (mostly), but something further
on is failing causing th reset.  Anyone have suggestions?

Randolph Bentson
[EMAIL PROTECTED]
___
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert