On Thu, 1 Jan 2004 23:26:13 +0800 Hugang <[EMAIL PROTECTED]> wrote: > > Any comment are welcome. > > ChangeLog: > * fix bug. > * add pre define in nv_type.h
Please forget last patch, I was lost a define in init, It will broke in non powerpc. Use this patch pls. -- Hu Gang / Steve RLU# : 204016 [1999] (Registered Linux user) GPG Public Key: http://soulinfo.com/~hugang/HuGang.asc
Only in xc/programs/Xserver/hw/xfree86/drivers/nv: Makefile Only in xc/programs/Xserver/hw/xfree86/drivers/nv: nv_cursor.o Only in xc/programs/Xserver/hw/xfree86/drivers/nv: nv_dac.o Only in xc/programs/Xserver/hw/xfree86/drivers/nv: nv_dga.o diff -u xc/programs/Xserver/hw/xfree86/drivers/nv.orig/nv_driver.c xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c --- xc/programs/Xserver/hw/xfree86/drivers/nv.orig/nv_driver.c Thu Jan 1 22:13:28 2004 +++ xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c Fri Jan 2 16:20:41 2004 @@ -1192,6 +1192,9 @@ pScrn->videoRam); pNv->FbMapSize = pScrn->videoRam * 1024; +#if defined(__powerpc__) + pNv->lcd_on = -1; +#endif /* * If the driver can do gamma correction, it should call xf86SetGamma() @@ -1508,8 +1511,20 @@ (pNv->Chipset == 0x10DE0189) || (pNv->Chipset == 0x10DE0329)) { - /* NV17,18,34 Apple iMac, iBook, PowerBook */ - CARD32 tmp; + /* NV17,18,34 Apple iMac, iBook, PowerBook + * adding light save by Hu Gang 2003.12.28 */ + CARD32 tmp; + if (pNv->lcd_on == on) return; + if(on) { /* turn light on */ + if (pNv->lcd_on == -1) return; + pNv->lcd_on = on; + pNv->PMC[0x10F0/4] = pNv->lcd_10f0; + pNv->PCRTC0[0x081C/4] = pNv->lcd_081c; + return; + } + pNv->lcd_on = on; + pNv->lcd_10f0 = pNv->PMC[0x10F0/4] & 0xFFFFFFFF; + pNv->lcd_081c = pNv->PCRTC0[0x081C/4] & 0xFFFFFFFF; tmp = pNv->PMC[0x10F0/4] & 0x7FFFFFFF; pNv->PMC[0x10F0/4] = tmp; tmp = pNv->PCRTC0[0x081C/4] & 0xFFFFFFFC; Only in xc/programs/Xserver/hw/xfree86/drivers/nv: nv_driver.o Only in xc/programs/Xserver/hw/xfree86/drivers/nv: nv_drv.o Only in xc/programs/Xserver/hw/xfree86/drivers/nv: nv_hw.o Only in xc/programs/Xserver/hw/xfree86/drivers/nv: nv_setup.o Only in xc/programs/Xserver/hw/xfree86/drivers/nv: nv_shadow.o diff -u xc/programs/Xserver/hw/xfree86/drivers/nv.orig/nv_type.h xc/programs/Xserver/hw/xfree86/drivers/nv/nv_type.h --- xc/programs/Xserver/hw/xfree86/drivers/nv.orig/nv_type.h Thu Jan 1 22:13:28 2004 +++ xc/programs/Xserver/hw/xfree86/drivers/nv/nv_type.h Thu Jan 1 22:58:51 2004 @@ -159,6 +159,12 @@ CARD32 *dmaBase; CARD32 currentRop; + +#if defined(__powerpc__) + CARD32 lcd_10f0; + CARD32 lcd_081c; + int lcd_on; +#endif } NVRec, *NVPtr; #define NVPTR(p) ((NVPtr)((p)->driverPrivate)) Only in xc/programs/Xserver/hw/xfree86/drivers/nv: nv_video.o Only in xc/programs/Xserver/hw/xfree86/drivers/nv: nv_xaa.o