[opensuse-kernel] 3.4rc6: ACPI change/regression ?
Hi: Since 3.4rc6 I am not able to "turn off" unused Nvidia "optimus" card, either with 3rd party modules or vga_switchero. In rc5 it worked fine, now I get: a) with third party bbswitch module. bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0 bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP bbswitch: detected an Optimus _DSM function bbswitch: disabling discrete graphics bbswitch: Result of Optimus _DSM call: 11000059 pci 0000:01:00.0: Refused to change power state, currently in D0 ACPI: Device does not support D3 bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on Ok, third party module may be buggy and I don't expect anyone here to support it, so I went to try kernel vga_switchero.. VGA switcheroo: switched nouveau off [drm] nouveau 0000:01:00.0: Disabling display... [drm] nouveau 0000:01:00.0: Disabling fbcon... [drm] nouveau 0000:01:00.0: Unpinning framebuffer(s)... [drm] nouveau 0000:01:00.0: Evicting buffers... [drm] nouveau 0000:01:00.0: Idling channels... [drm] nouveau 0000:01:00.0: Suspending GPU objects... [drm] nouveau 0000:01:00.0: And we're gone! ACPI: Device does not support D3 But device DOES support D3 states or at least it did in rc5.. The ill effec of this change is that now the video card fan is running almost all the time. Is this a side effect of http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=1cc0... ? -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On Wednesday, May 09, 2012, Cristian Rodríguez wrote:
Hi:
Since 3.4rc6 I am not able to "turn off" unused Nvidia "optimus" card, either with 3rd party modules or vga_switchero.
In rc5 it worked fine, now I get:
a) with third party bbswitch module.
bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0 bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP bbswitch: detected an Optimus _DSM function bbswitch: disabling discrete graphics bbswitch: Result of Optimus _DSM call: 11000059 pci 0000:01:00.0: Refused to change power state, currently in D0 ACPI: Device does not support D3 bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
Ok, third party module may be buggy and I don't expect anyone here to support it, so I went to try kernel vga_switchero..
VGA switcheroo: switched nouveau off [drm] nouveau 0000:01:00.0: Disabling display... [drm] nouveau 0000:01:00.0: Disabling fbcon... [drm] nouveau 0000:01:00.0: Unpinning framebuffer(s)... [drm] nouveau 0000:01:00.0: Evicting buffers... [drm] nouveau 0000:01:00.0: Idling channels... [drm] nouveau 0000:01:00.0: Suspending GPU objects... [drm] nouveau 0000:01:00.0: And we're gone! ACPI: Device does not support D3
But device DOES support D3 states or at least it did in rc5..
The ill effec of this change is that now the video card fan is running almost all the time.
Is this a side effect of http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=1cc0... ?
-- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
Hi, On Thursday, May 10, 2012, Rafael J. Wysocki wrote:
On Wednesday, May 09, 2012, Cristian Rodríguez wrote:
Hi:
Since 3.4rc6 I am not able to "turn off" unused Nvidia "optimus" card, either with 3rd party modules or vga_switchero.
In rc5 it worked fine, now I get:
a) with third party bbswitch module.
bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0 bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP bbswitch: detected an Optimus _DSM function bbswitch: disabling discrete graphics bbswitch: Result of Optimus _DSM call: 11000059 pci 0000:01:00.0: Refused to change power state, currently in D0 ACPI: Device does not support D3 bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
Ok, third party module may be buggy and I don't expect anyone here to support it, so I went to try kernel vga_switchero..
VGA switcheroo: switched nouveau off [drm] nouveau 0000:01:00.0: Disabling display... [drm] nouveau 0000:01:00.0: Disabling fbcon... [drm] nouveau 0000:01:00.0: Unpinning framebuffer(s)... [drm] nouveau 0000:01:00.0: Evicting buffers... [drm] nouveau 0000:01:00.0: Idling channels... [drm] nouveau 0000:01:00.0: Suspending GPU objects... [drm] nouveau 0000:01:00.0: And we're gone! ACPI: Device does not support D3
But device DOES support D3 states or at least it did in rc5..
The ill effec of this change is that now the video card fan is running almost all the time.
Is this a side effect of http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=1cc0... ?
Yes, it's probably this one. Have you tried to revert it? Rafael -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On Fri, May 11, 2012 at 2:28 AM, Rafael J. Wysocki <rjw@suse.de> wrote:
On Wednesday, May 09, 2012, Cristian Rodríguez wrote:
Hi:
Since 3.4rc6 I am not able to "turn off" unused Nvidia "optimus" card, either with 3rd party modules or vga_switchero.
In rc5 it worked fine, now I get:
a) with third party bbswitch module.
bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0 bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP bbswitch: detected an Optimus _DSM function bbswitch: disabling discrete graphics bbswitch: Result of Optimus _DSM call: 11000059 pci 0000:01:00.0: Refused to change power state, currently in D0 ACPI: Device does not support D3 bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
Ok, third party module may be buggy and I don't expect anyone here to support it, so I went to try kernel vga_switchero..
VGA switcheroo: switched nouveau off [drm] nouveau 0000:01:00.0: Disabling display... [drm] nouveau 0000:01:00.0: Disabling fbcon... [drm] nouveau 0000:01:00.0: Unpinning framebuffer(s)... [drm] nouveau 0000:01:00.0: Evicting buffers... [drm] nouveau 0000:01:00.0: Idling channels... [drm] nouveau 0000:01:00.0: Suspending GPU objects... [drm] nouveau 0000:01:00.0: And we're gone! ACPI: Device does not support D3
But device DOES support D3 states or at least it did in rc5..
The ill effec of this change is that now the video card fan is running almost all the time.
Is this a side effect of http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=1cc0... ?
Hi Cristian, Could you attach the acpidump output of your machine? Thanks, Lin Ming -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On Friday, May 11, 2012, Lin Ming wrote:
On Fri, May 11, 2012 at 2:28 AM, Rafael J. Wysocki <rjw@suse.de> wrote:
On Wednesday, May 09, 2012, Cristian Rodríguez wrote:
Hi:
Since 3.4rc6 I am not able to "turn off" unused Nvidia "optimus" card, either with 3rd party modules or vga_switchero.
In rc5 it worked fine, now I get:
a) with third party bbswitch module.
bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0 bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP bbswitch: detected an Optimus _DSM function bbswitch: disabling discrete graphics bbswitch: Result of Optimus _DSM call: 11000059 pci 0000:01:00.0: Refused to change power state, currently in D0 ACPI: Device does not support D3 bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
Ok, third party module may be buggy and I don't expect anyone here to support it, so I went to try kernel vga_switchero..
VGA switcheroo: switched nouveau off [drm] nouveau 0000:01:00.0: Disabling display... [drm] nouveau 0000:01:00.0: Disabling fbcon... [drm] nouveau 0000:01:00.0: Unpinning framebuffer(s)... [drm] nouveau 0000:01:00.0: Evicting buffers... [drm] nouveau 0000:01:00.0: Idling channels... [drm] nouveau 0000:01:00.0: Suspending GPU objects... [drm] nouveau 0000:01:00.0: And we're gone! ACPI: Device does not support D3
This message is from __acpi_bus_set_power() which complains that the device's "valid" flag is not set for D3_HOT (otherwise it would print D4, which is a bug on its own, BTW). Now, the flag isn't set for D3_HOT (not _PR3 present, quite evidently), so I guess what happens is that the driver asks the device to go into PCI_D3hot and acpi_pci_set_power_state() calls acpi_bus_set_power() with state equal to ACPI_STATE_D3_HOT. Christian, does the patch below help? Rafael --- drivers/pci/pci-acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: linux/drivers/pci/pci-acpi.c =================================================================== --- linux.orig/drivers/pci/pci-acpi.c +++ linux/drivers/pci/pci-acpi.c @@ -223,7 +223,7 @@ static int acpi_pci_set_power_state(stru [PCI_D0] = ACPI_STATE_D0, [PCI_D1] = ACPI_STATE_D1, [PCI_D2] = ACPI_STATE_D2, - [PCI_D3hot] = ACPI_STATE_D3_HOT, + [PCI_D3hot] = ACPI_STATE_D3, [PCI_D3cold] = ACPI_STATE_D3 }; int error = -EINVAL; -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On Friday, May 11, 2012, Rafael J. Wysocki wrote:
On Friday, May 11, 2012, Lin Ming wrote:
On Fri, May 11, 2012 at 2:28 AM, Rafael J. Wysocki <rjw@suse.de> wrote:
On Wednesday, May 09, 2012, Cristian Rodríguez wrote:
Hi:
Since 3.4rc6 I am not able to "turn off" unused Nvidia "optimus" card, either with 3rd party modules or vga_switchero.
In rc5 it worked fine, now I get:
a) with third party bbswitch module.
bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0 bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.PEGP bbswitch: detected an Optimus _DSM function bbswitch: disabling discrete graphics bbswitch: Result of Optimus _DSM call: 11000059 pci 0000:01:00.0: Refused to change power state, currently in D0 ACPI: Device does not support D3 bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on
Ok, third party module may be buggy and I don't expect anyone here to support it, so I went to try kernel vga_switchero..
VGA switcheroo: switched nouveau off [drm] nouveau 0000:01:00.0: Disabling display... [drm] nouveau 0000:01:00.0: Disabling fbcon... [drm] nouveau 0000:01:00.0: Unpinning framebuffer(s)... [drm] nouveau 0000:01:00.0: Evicting buffers... [drm] nouveau 0000:01:00.0: Idling channels... [drm] nouveau 0000:01:00.0: Suspending GPU objects... [drm] nouveau 0000:01:00.0: And we're gone! ACPI: Device does not support D3
This message is from __acpi_bus_set_power() which complains that the device's "valid" flag is not set for D3_HOT (otherwise it would print D4, which is a bug on its own, BTW).
Now, the flag isn't set for D3_HOT (not _PR3 present, quite evidently), so I guess what happens is that the driver asks the device to go into PCI_D3hot and acpi_pci_set_power_state() calls acpi_bus_set_power() with state equal to ACPI_STATE_D3_HOT.
Christian, does the patch below help?
Rafael
--- drivers/pci/pci-acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux/drivers/pci/pci-acpi.c =================================================================== --- linux.orig/drivers/pci/pci-acpi.c +++ linux/drivers/pci/pci-acpi.c @@ -223,7 +223,7 @@ static int acpi_pci_set_power_state(stru [PCI_D0] = ACPI_STATE_D0, [PCI_D1] = ACPI_STATE_D1, [PCI_D2] = ACPI_STATE_D2, - [PCI_D3hot] = ACPI_STATE_D3_HOT, + [PCI_D3hot] = ACPI_STATE_D3, [PCI_D3cold] = ACPI_STATE_D3 }; int error = -EINVAL; --
Christian? Ping ... -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
participants (4)
-
Cristian Rodríguez
-
Lin Ming
-
Rafael J. Wysocki
-
Rafael J. Wysocki