public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* USB D3 vs system S3
@ 2008-01-08 20:47 Len Brown
  2008-01-08 21:09 ` Rafael J. Wysocki
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Len Brown @ 2008-01-08 20:47 UTC (permalink / raw)
  To: Alan Stern, David Brownell, gregkh
  Cc: linux-acpi, Linux-pm mailing list, USB development list

FYI,
I think we may have an issue here where the entire Linux suspend order
is being proposed to change, when in fact the underlying issue
may really be that USB is in D3 on S3 for this box when it is
not supposed to be deeper below D1.

http://bugzilla.kernel.org/show_bug.cgi?id=9528

-Len

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: USB D3 vs system S3
  2008-01-08 20:47 USB D3 vs system S3 Len Brown
@ 2008-01-08 21:09 ` Rafael J. Wysocki
  2008-01-08 21:55 ` David Brownell
  2008-01-09  0:09 ` Carlos Corbacho
  2 siblings, 0 replies; 9+ messages in thread
From: Rafael J. Wysocki @ 2008-01-08 21:09 UTC (permalink / raw)
  To: Len Brown
  Cc: Alan Stern, David Brownell, gregkh, linux-acpi,
	Linux-pm mailing list, USB development list

On Tuesday, 8 of January 2008, Len Brown wrote:
> FYI,
> I think we may have an issue here where the entire Linux suspend order
> is being proposed to change, when in fact the underlying issue
> may really be that USB is in D3 on S3 for this box when it is
> not supposed to be deeper below D1.
> 
> http://bugzilla.kernel.org/show_bug.cgi?id=9528

Bug #9528 is not the only test case, though.

Please have a look at this thread:
http://marc.info/?t=119945995300002&r=1&w=2

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: USB D3 vs system S3
  2008-01-08 20:47 USB D3 vs system S3 Len Brown
  2008-01-08 21:09 ` Rafael J. Wysocki
@ 2008-01-08 21:55 ` David Brownell
  2008-01-09  0:09 ` Carlos Corbacho
  2 siblings, 0 replies; 9+ messages in thread
From: David Brownell @ 2008-01-08 21:55 UTC (permalink / raw)
  To: Len Brown
  Cc: Alan Stern, gregkh, linux-acpi, Linux-pm mailing list,
	USB development list

On Tuesday 08 January 2008, Len Brown wrote:
> FYI,
> I think we may have an issue here where the entire Linux suspend order
> is being proposed to change, when in fact the underlying issue
> may really be that USB is in D3 on S3 for this box when it is
> not supposed to be deeper below D1.
> 
> http://bugzilla.kernel.org/show_bug.cgi?id=9528
> 

I still run my system with those patches to hook up PCI and USB
wakeup mechanisms to the ACPI tables.  ISTR that they got pulled
at some point because they caused some system to wake up immediately
instead of suspending ... sound familiar?

If that immediate-wake problem is now otherwise resolved, maybe it's
time to revisit the merge of those patches.  (From *LAST* January
I think, in at least one otherwise-mergeable incarnation ...)

In the absense of those patches, nothing is hooking up USB to
the relevant ACPI tables.

Want I should repost my latest version of those patches?  They
apply cleanly against RC7.

- Dave

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: USB D3 vs system S3
  2008-01-08 20:47 USB D3 vs system S3 Len Brown
  2008-01-08 21:09 ` Rafael J. Wysocki
  2008-01-08 21:55 ` David Brownell
@ 2008-01-09  0:09 ` Carlos Corbacho
  2008-01-09 12:51   ` Carlos Corbacho
  2 siblings, 1 reply; 9+ messages in thread
From: Carlos Corbacho @ 2008-01-09  0:09 UTC (permalink / raw)
  To: Len Brown
  Cc: USB development list, gregkh, Linux-pm mailing list,
	David Brownell, linux-acpi, Alan Stern

On Tuesday 08 January 2008 20:47:00 Len Brown wrote:
> FYI,
> I think we may have an issue here where the entire Linux suspend order
> is being proposed to change, when in fact the underlying issue
> may really be that USB is in D3 on S3 for this box when it is
> not supposed to be deeper below D1.
>
> http://bugzilla.kernel.org/show_bug.cgi?id=9528

I respectfully disagree. The USB device that exhibits this behaviour (USB2, 
the device that gets bound to ehci-hcd) is not the offender - the system will 
suspend and resume just fine even after Linux has put it into D3.

USB0 (the device that gets bound to ohci-hcd), does not have this requirement 
that it can be only put into D1 when going to S3 - the DSDT here says it's 
just fine to put this device into D3 when we advertise XP compatibility.

As I pointed out in the bug:

1) The ACPI suspend ordering is still wrong for suspend on ACPI 1.0 systems

2) Based on poking around in Vista, it may also be required to disable 
autosuspend for OHCI on CK804 (nForce 4), since Vista here apparently does 
not enable USB autosuspend on the USB hubs on this board (yet enabling 
autosuspend is supposedly the default Vista behaviour, and I've certainly 
never touched the USB settings in Vista).

Given we have two different BIOS's from different manufacturers for the same 
chipset, that both have a similar SMI trap, and are both breaking here, I 
wonder if this is a known problem with the reference nVidia BIOS; so Windows 
will not put USB devices into D3 early on this chipset, to ensure that USB0 
is not in a low power state before _PTS() is called (unfortunately, on point 
2, I don't have enough to back it up either way, besides my own observations 
here).

-Carlos
-- 
E-Mail: carlos@strangeworlds.co.uk
Web: strangeworlds.co.uk
GPG Key ID: 0x23EE722D

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: USB D3 vs system S3
  2008-01-09  0:09 ` Carlos Corbacho
@ 2008-01-09 12:51   ` Carlos Corbacho
  2008-01-09 16:07     ` Alan Stern
  0 siblings, 1 reply; 9+ messages in thread
From: Carlos Corbacho @ 2008-01-09 12:51 UTC (permalink / raw)
  To: Len Brown
  Cc: Alan Stern, David Brownell, gregkh, linux-acpi,
	Linux-pm mailing list, USB development list

On Wednesday 09 January 2008 00:09:21 Carlos Corbacho wrote:
> 2) Based on poking around in Vista, it may also be required to disable
> autosuspend for OHCI on CK804 (nForce 4), since Vista here apparently does
> not enable USB autosuspend on the USB hubs on this board (yet enabling
> autosuspend is supposedly the default Vista behaviour, and I've certainly
> never touched the USB settings in Vista).
>
> Given we have two different BIOS's from different manufacturers for the
> same chipset, that both have a similar SMI trap, and are both breaking
> here, I wonder if this is a known problem with the reference nVidia BIOS;
> so Windows will not put USB devices into D3 early on this chipset, to
> ensure that USB0 is not in a low power state before _PTS() is called
> (unfortunately, on point 2, I don't have enough to back it up either way,
> besides my own observations here).

I've had confirmation from another nForce 4 box that Vista also disables 
autosuspend/ selective suspend on the root hubs there, so I'm pretty 
confident in saying now that this will also be needed in Linux (definitely 
for OHCI. I don't think we need to stop autosuspend on EHCI, even though 
Windows does appear to disable it for that as well), to avoid inadvertently 
triggering the suspend-to-RAM hang on these broken BIOSs.

(Testing also shows that putting the OHCI controller into D2 is no good 
either - having it in any state other than D1 before we call the ACPI _PTS() 
method will reliably hang the box on suspend).

What's the best way to go about doing this? I've been glancing over the OHCI 
code and I can't see how to easily do this (unless 'broken_suspend' is the 
correct option here?)

-Carlos
-- 
E-Mail: carlos@strangeworlds.co.uk
Web: strangeworlds.co.uk
GPG Key ID: 0x23EE722D

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: USB D3 vs system S3
  2008-01-09 12:51   ` Carlos Corbacho
@ 2008-01-09 16:07     ` Alan Stern
  2008-01-09 16:38       ` Carlos Corbacho
  0 siblings, 1 reply; 9+ messages in thread
From: Alan Stern @ 2008-01-09 16:07 UTC (permalink / raw)
  To: Carlos Corbacho
  Cc: Len Brown, David Brownell, gregkh, linux-acpi,
	Linux-pm mailing list, USB development list

On Wed, 9 Jan 2008, Carlos Corbacho wrote:

> I've had confirmation from another nForce 4 box that Vista also disables 
> autosuspend/ selective suspend on the root hubs there, so I'm pretty 
> confident in saying now that this will also be needed in Linux (definitely 
> for OHCI. I don't think we need to stop autosuspend on EHCI, even though 
> Windows does appear to disable it for that as well), to avoid inadvertently 
> triggering the suspend-to-RAM hang on these broken BIOSs.
> 
> (Testing also shows that putting the OHCI controller into D2 is no good 
> either - having it in any state other than D1 before we call the ACPI _PTS() 
> method will reliably hang the box on suspend).
> 
> What's the best way to go about doing this? I've been glancing over the OHCI 
> code and I can't see how to easily do this (unless 'broken_suspend' is the 
> correct option here?)

Currently there's no need to change anything.

The USB autosuspend code affects only the controller's USB interface -- 
it doesn't touch the PCI side.  An autosuspended controller will remain 
in D0.  Until somebody tries writing autosuspend code for PCI 
devices...

Alan Stern


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: USB D3 vs system S3
  2008-01-09 16:07     ` Alan Stern
@ 2008-01-09 16:38       ` Carlos Corbacho
  2008-01-09 17:16         ` Alan Stern
  0 siblings, 1 reply; 9+ messages in thread
From: Carlos Corbacho @ 2008-01-09 16:38 UTC (permalink / raw)
  To: Alan Stern
  Cc: Len Brown, David Brownell, gregkh, linux-acpi,
	Linux-pm mailing list, USB development list

On Wednesday 09 January 2008 16:07:04 Alan Stern wrote:
> Currently there's no need to change anything.

Ok.

> The USB autosuspend code affects only the controller's USB interface --
> it doesn't touch the PCI side.  An autosuspended controller will remain
> in D0.  Until somebody tries writing autosuspend code for PCI
> devices...

Is this likely to happen?

-Carlos
-- 
E-Mail: carlos@strangeworlds.co.uk
Web: strangeworlds.co.uk
GPG Key ID: 0x23EE722D

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: USB D3 vs system S3
  2008-01-09 16:38       ` Carlos Corbacho
@ 2008-01-09 17:16         ` Alan Stern
  2008-01-09 21:03           ` David Brownell
  0 siblings, 1 reply; 9+ messages in thread
From: Alan Stern @ 2008-01-09 17:16 UTC (permalink / raw)
  To: Carlos Corbacho
  Cc: Len Brown, David Brownell, gregkh, linux-acpi,
	Linux-pm mailing list, USB development list

On Wed, 9 Jan 2008, Carlos Corbacho wrote:

> On Wednesday 09 January 2008 16:07:04 Alan Stern wrote:
> > Currently there's no need to change anything.
> 
> Ok.
> 
> > The USB autosuspend code affects only the controller's USB interface --
> > it doesn't touch the PCI side.  An autosuspended controller will remain
> > in D0.  Until somebody tries writing autosuspend code for PCI
> > devices...
> 
> Is this likely to happen?

I don't know of anybody working on it.  A minimal prerequisite is that 
PCI runtime wakeup processing needs to work right -- which it doesn't.  
See 

	http://bugzilla.kernel.org/show_bug.cgi?id=6892

Alan Stern


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: USB D3 vs system S3
  2008-01-09 17:16         ` Alan Stern
@ 2008-01-09 21:03           ` David Brownell
  0 siblings, 0 replies; 9+ messages in thread
From: David Brownell @ 2008-01-09 21:03 UTC (permalink / raw)
  To: Alan Stern
  Cc: Carlos Corbacho, Len Brown, gregkh, linux-acpi,
	Linux-pm mailing list, USB development list

On Wednesday 09 January 2008, Alan Stern wrote:
> 
> > > The USB autosuspend code affects only the controller's USB interface --
> > > it doesn't touch the PCI side.  An autosuspended controller will remain
> > > in D0.  Until somebody tries writing autosuspend code for PCI
> > > devices...
> > 
> > Is this likely to happen?
> 
> I don't know of anybody working on it.  A minimal prerequisite is that 
> PCI runtime wakeup processing needs to work right -- which it doesn't.  
> See 
> 
>         http://bugzilla.kernel.org/show_bug.cgi?id=6892

And while most of the non-PCI USB host platforms to which I have access
don't have that type of issue, their hardware isn't actually set up to
offer an analogue of runtime PCI_D3 (for example) power states.

In more detail:  they generally have some clocks that could be disabled,
but for various reasons they need to be left running.  Disabling those
clocks prevents wakeup from working ... yes, a multi-MHz clock just to
detect the D+ (or D-) pullup as it kicks in.  Systems using an external
PHY will sometimes offer an alternative, when the PHY can issue those
wakeup IRQs by itself, but that seems oddly uncommon.

- Dave

-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2008-01-09 21:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-08 20:47 USB D3 vs system S3 Len Brown
2008-01-08 21:09 ` Rafael J. Wysocki
2008-01-08 21:55 ` David Brownell
2008-01-09  0:09 ` Carlos Corbacho
2008-01-09 12:51   ` Carlos Corbacho
2008-01-09 16:07     ` Alan Stern
2008-01-09 16:38       ` Carlos Corbacho
2008-01-09 17:16         ` Alan Stern
2008-01-09 21:03           ` David Brownell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox