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
