summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2007-09-27 00:22:04 +0200
committerAaron Plattner <aplattner@nvidia.com>2008-01-25 12:41:50 -0800
commite844f10c7b5e41330f2bcb884ab448641dd5bb06 (patch)
tree9d6aaa9a9b2f41680e315fd0786c7728a2fd4f63
parent02e431eb0969cabb67f3e4b1cb1a2d7fc5f697f0 (diff)
[PATCH] Enable backlight toggling for Dell Inspiron 8200 GeForce2 Go
GeForce2 Go and similar cards are explicitly excluded from the NVBacklightEnable() code (purposedly, as the code used for the other chipsets on x86 has no effect.) This causes the backlight to remain active on laptops equipped with such a card, even when DPMS modes were active. Fix the issue for Dell Inspiron 8200 by introducing the proper registry writes to toggle the backlight. Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
-rw-r--r--src/nv_driver.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/nv_driver.c b/src/nv_driver.c
index fa6259d..d4e0be5 100644
--- a/src/nv_driver.c
+++ b/src/nv_driver.c
@@ -2184,8 +2184,17 @@ static void NVBacklightEnable(NVPtr pNv, Bool on)
#endif
if(pNv->LVDS) {
- if(pNv->twoHeads && ((pNv->Chipset & 0x0ff0) != 0x0110)) {
- pNv->PMC[0x130C/4] = on ? 3 : 7;
+ if(pNv->twoHeads) {
+ if((pNv->Chipset & 0x0ff0) != 0x0110) {
+ pNv->PMC[0x130C/4] = on ? 3 : 7;
+ } else if(SUBVENDOR_ID(pNv->PciInfo) == 0x1028 &&
+ SUBDEVICE_ID(pNv->PciInfo) == 0xd4) {
+ // Dell Inspiron 8200, GeForce2 Go
+ CARD32 tmp_pcrt = pNv->PCRTC0[0x081C/4] & 0xFFFFFFFC;
+ if(on)
+ tmp_pcrt |= 0x1;
+ pNv->PCRTC0[0x081C/4] = tmp_pcrt;
+ }
}
} else {
CARD32 fpcontrol;