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