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

Reply via email to