* USB suspend/resume in linux
@ 2006-10-13 5:54 Kaburlasos, Nikos
2006-10-13 8:39 ` Thomas Renninger
0 siblings, 1 reply; 6+ messages in thread
From: Kaburlasos, Nikos @ 2006-10-13 5:54 UTC (permalink / raw)
To: linux-acpi
Does anyone know whether the linux USB drivers support the suspend
feature on idle USB ports (i.e. the port has been idle for sometime and
so the driver transitions it in to a low-power 'suspend' state) while
the system is active and in S0 state? As far as I know, Windows don't
support that, I was wondering if linux does.
Please note, I have no background on linux or in OS programming (I am a
hardware guy), so please be gentle with the level of technical detail in
your response :-)
NK
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: USB suspend/resume in linux
2006-10-13 5:54 USB suspend/resume in linux Kaburlasos, Nikos
@ 2006-10-13 8:39 ` Thomas Renninger
2006-10-13 11:28 ` Rafael J. Wysocki
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Renninger @ 2006-10-13 8:39 UTC (permalink / raw)
To: Kaburlasos, Nikos; +Cc: linux-acpi
On Thu, 2006-10-12 at 22:54 -0700, Kaburlasos, Nikos wrote:
> Does anyone know whether the linux USB drivers support the suspend
> feature on idle USB ports (i.e. the port has been idle for sometime and
> so the driver transitions it in to a low-power 'suspend' state) while
> the system is active and in S0 state? As far as I know, Windows don't
> support that, I was wondering if linux does.
>
> Please note, I have no background on linux or in OS programming (I am a
> hardware guy), so please be gentle with the level of technical detail in
> your response :-)
AFAIK linux is not doing that.
Therefore the ohci (also uhci?) drivers need to poll the ports quite
often even there is no device attached. This makes C-states less
efficient (what should save more power than the suspended USB ports). I
thought Windows is doing that, I at least heard Mac OS is doing it like
that, but I don't know for sure.
The proper solution to avoid polling should be to suspend idle ports,
stop polling and wait for some kind of resume/attach event, but AFAIK
nobody really works on that. Would be nice if someone gives this a
try...
Thomas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: USB suspend/resume in linux
2006-10-13 8:39 ` Thomas Renninger
@ 2006-10-13 11:28 ` Rafael J. Wysocki
2006-10-13 14:19 ` Alan Stern
0 siblings, 1 reply; 6+ messages in thread
From: Rafael J. Wysocki @ 2006-10-13 11:28 UTC (permalink / raw)
To: trenn; +Cc: Kaburlasos, Nikos, linux-acpi, Alan Stern
On Friday, 13 October 2006 10:39, Thomas Renninger wrote:
> On Thu, 2006-10-12 at 22:54 -0700, Kaburlasos, Nikos wrote:
> > Does anyone know whether the linux USB drivers support the suspend
> > feature on idle USB ports (i.e. the port has been idle for sometime and
> > so the driver transitions it in to a low-power 'suspend' state) while
> > the system is active and in S0 state? As far as I know, Windows don't
> > support that, I was wondering if linux does.
> >
> > Please note, I have no background on linux or in OS programming (I am a
> > hardware guy), so please be gentle with the level of technical detail in
> > your response :-)
>
> AFAIK linux is not doing that.
> Therefore the ohci (also uhci?) drivers need to poll the ports quite
> often even there is no device attached. This makes C-states less
> efficient (what should save more power than the suspended USB ports). I
> thought Windows is doing that, I at least heard Mac OS is doing it like
> that, but I don't know for sure.
> The proper solution to avoid polling should be to suspend idle ports,
> stop polling and wait for some kind of resume/attach event, but AFAIK
> nobody really works on that. Would be nice if someone gives this a
> try...
Alan Stern has been working on USB autosuspend for quite some time
and there are some patches in -mm and in the recent mainline, AFAICT.
Greetings,
Rafael
--
You never change things by fighting the existing reality.
R. Buckminster Fuller
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: USB suspend/resume in linux
2006-10-13 11:28 ` Rafael J. Wysocki
@ 2006-10-13 14:19 ` Alan Stern
0 siblings, 0 replies; 6+ messages in thread
From: Alan Stern @ 2006-10-13 14:19 UTC (permalink / raw)
To: Rafael J. Wysocki; +Cc: trenn, Kaburlasos, Nikos, linux-acpi
On Fri, 13 Oct 2006, Rafael J. Wysocki wrote:
> On Friday, 13 October 2006 10:39, Thomas Renninger wrote:
> > On Thu, 2006-10-12 at 22:54 -0700, Kaburlasos, Nikos wrote:
> > > Does anyone know whether the linux USB drivers support the suspend
> > > feature on idle USB ports (i.e. the port has been idle for sometime and
> > > so the driver transitions it in to a low-power 'suspend' state) while
> > > the system is active and in S0 state? As far as I know, Windows don't
> > > support that, I was wondering if linux does.
> > >
> > > Please note, I have no background on linux or in OS programming (I am a
> > > hardware guy), so please be gentle with the level of technical detail in
> > > your response :-)
> >
> > AFAIK linux is not doing that.
> > Therefore the ohci (also uhci?) drivers need to poll the ports quite
> > often even there is no device attached. This makes C-states less
> > efficient (what should save more power than the suspended USB ports). I
> > thought Windows is doing that, I at least heard Mac OS is doing it like
> > that, but I don't know for sure.
> > The proper solution to avoid polling should be to suspend idle ports,
> > stop polling and wait for some kind of resume/attach event, but AFAIK
> > nobody really works on that. Would be nice if someone gives this a
> > try...
>
> Alan Stern has been working on USB autosuspend for quite some time
> and there are some patches in -mm and in the recent mainline, AFAICT.
Rafael is right. 2.6.19-rc1 already contains code that will suspend ports
if the attached device doesn't have a driver. Under testing now is a
patch to suspend ports when the attached device is idle, stop polling
root-hub ports, and stop DMA activity (which is even worse than polling
at keeping the processor out of low-power C states).
Alan Stern
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: USB suspend/resume in linux
@ 2006-10-13 14:37 Kaburlasos, Nikos
2006-10-13 15:13 ` Alan Stern
0 siblings, 1 reply; 6+ messages in thread
From: Kaburlasos, Nikos @ 2006-10-13 14:37 UTC (permalink / raw)
To: Alan Stern, Rafael J. Wysocki; +Cc: trenn, linux-acpi
Alan, will the 2.6.19-rc1 fix you mention also place USB controllers in
D3 (after all the ports under them are in suspend) to save a bit of
extra power?
Nikos Kaburlasos
-----Original Message-----
From: Alan Stern [mailto:stern@rowland.harvard.edu]
Sent: Friday, October 13, 2006 7:19 AM
To: Rafael J. Wysocki
Cc: trenn@suse.de; Kaburlasos, Nikos; linux-acpi@vger.kernel.org
Subject: Re: USB suspend/resume in linux
On Fri, 13 Oct 2006, Rafael J. Wysocki wrote:
> On Friday, 13 October 2006 10:39, Thomas Renninger wrote:
> > On Thu, 2006-10-12 at 22:54 -0700, Kaburlasos, Nikos wrote:
> > > Does anyone know whether the linux USB drivers support the suspend
> > > feature on idle USB ports (i.e. the port has been idle for
sometime and
> > > so the driver transitions it in to a low-power 'suspend' state)
while
> > > the system is active and in S0 state? As far as I know, Windows
don't
> > > support that, I was wondering if linux does.
> > >
> > > Please note, I have no background on linux or in OS programming (I
am a
> > > hardware guy), so please be gentle with the level of technical
detail in
> > > your response :-)
> >
> > AFAIK linux is not doing that.
> > Therefore the ohci (also uhci?) drivers need to poll the ports quite
> > often even there is no device attached. This makes C-states less
> > efficient (what should save more power than the suspended USB
ports). I
> > thought Windows is doing that, I at least heard Mac OS is doing it
like
> > that, but I don't know for sure.
> > The proper solution to avoid polling should be to suspend idle
ports,
> > stop polling and wait for some kind of resume/attach event, but
AFAIK
> > nobody really works on that. Would be nice if someone gives this a
> > try...
>
> Alan Stern has been working on USB autosuspend for quite some time
> and there are some patches in -mm and in the recent mainline, AFAICT.
Rafael is right. 2.6.19-rc1 already contains code that will suspend
ports
if the attached device doesn't have a driver. Under testing now is a
patch to suspend ports when the attached device is idle, stop polling
root-hub ports, and stop DMA activity (which is even worse than polling
at keeping the processor out of low-power C states).
Alan Stern
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: USB suspend/resume in linux
2006-10-13 14:37 Kaburlasos, Nikos
@ 2006-10-13 15:13 ` Alan Stern
0 siblings, 0 replies; 6+ messages in thread
From: Alan Stern @ 2006-10-13 15:13 UTC (permalink / raw)
To: Kaburlasos, Nikos; +Cc: Rafael J. Wysocki, trenn, linux-acpi
On Fri, 13 Oct 2006, Kaburlasos, Nikos wrote:
> Alan, will the 2.6.19-rc1 fix you mention also place USB controllers in
> D3 (after all the ports under them are in suspend) to save a bit of
> extra power?
No. My work affects only the USB stack. The controllers belong to the
PCI stack.
There's another reason not to do this: Power Management Event handling for
PCI devices isn't working. So the controller would not automatically go
back into D0 when you plugged in a new USB device.
Alan Stern
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2006-10-13 15:13 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-13 5:54 USB suspend/resume in linux Kaburlasos, Nikos
2006-10-13 8:39 ` Thomas Renninger
2006-10-13 11:28 ` Rafael J. Wysocki
2006-10-13 14:19 ` Alan Stern
-- strict thread matches above, loose matches on Subject: below --
2006-10-13 14:37 Kaburlasos, Nikos
2006-10-13 15:13 ` Alan Stern
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox