Good news everyone! It looks like I've gotten disabling that power-gobbling Nvidia card to work
Code:
# cat /proc/acpi/battery/BAT1/state
present: yes
capacity state: ok
charging state: discharging
present rate: 21925 mW
remaining capacity: 65930 mWh
present voltage: 16473 mV
# cat dd/test.aml >> /sys/kernel/debug/acpi/custom_method
# insmod acpi_call/acpi_call.ko
# echo '\_SB.PCI0.P0P2.PEGP._PS3' > /proc/acpi/call
<Wait a bit for the results to settle>
# cat /proc/acpi/battery/BAT1/state
present: yes
capacity state: ok
charging state: discharging
present rate: 15459 mW
remaining capacity: 64790 mWh
present voltage: 16446 mV
Looks like a ~6500mW decrease in power consumption to me

I'll post a howto in a sec.
---------- Post added at 03:41 PM CDT ---------- Previous post was at 03:35 PM CDT ----------
And the how-to:
Create a file called override.asl with the following contents:
Code:
DefinitionBlock ("", "SSDT", 1, "", "", 0x20080715)
{
External (P80H)
External (SETF)
External (LNKD)
External (RLNK)
External (\_SB.PCI0.P0P2.PEGP.OMPR)
External (\_SB.PCI0.P0P2.PEGP.VGAB)
External (\_SB.PCI0.P0P2.PEGP.PO16)
External (\_SB.PCI0.P0P2.PEGP.PO36)
External (DGOS)
External (_PSC)
External (\_SB.PCI0.P0P2.VGAR)
Method (\_SB.PCI0.P0P2.PEGP._PS3, 0, NotSerialized)
{
Store (0x03, P80H)
Store ("NVGA_PS3_STR", Debug)
//If (LEqual (\_SB.PCI0.P0P2.PEGP.OMPR, 0x03))
//{
Store (\_SB.PCI0.P0P2.VGAR, \_SB.PCI0.P0P2.PEGP.VGAB)
Store (One, SETF)
Store (One, LNKD)
Store (One, RLNK)
If (Ones)
{
Store (Zero, \_SB.PCI0.P0P2.PEGP.PO16)
}
Else
{
Store (One, \_SB.PCI0.P0P2.PEGP.PO16)
}
If (Ones)
{
Store (Zero, \_SB.PCI0.P0P2.PEGP.PO36)
}
Else
{
Store (One, \_SB.PCI0.P0P2.PEGP.PO36)
}
Store (One, DGOS)
Store (0x02, \_SB.PCI0.P0P2.PEGP.OMPR)
//}
Store (0x03, _PSC)
}
}
Use iasl to compile this down to bytecode
Code:
# iasl override.asl
This will give you override.aml. Mount debugfs
Code:
# mount -t debugfs none /sys/kernel/debugfs
And insert out custom method
Code:
# override.aml >> /sys/kernel/debug/acpi/custom_method
Finally make sure acpi_call is loaded, and call the _PS3 function
Code:
# echo '\_SB.PCI0.P0P2.PEGP._PS3' > /proc/acpi/call
I've gone by memory here, so let me know if any of the steps don't work...