The vga_switcheroo driver, used to switch between graphics chips, has gained a number of functions for supporting Optimus, NVIDIA's technology for enabling and disabling a discrete graphics chip on demand.
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d099230cc355c485e556121c034b1fca5a5fd18b
Newer nVidia cards with Optimus do not support/use the DSM switching functions. Instead, it require a DSM function to be called prior to bringing a device into D3 state. No other _DSM calls are necessary before/after enabling/disabling a device. Switching between discrete and integrated GPU is not supported by this Optimus _DSM call, therefore return on the switching method.