Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1466461 > unrolled thread

Re: How the EHCI HC driver make the decision to suspend some USB devices?

Started byAlan Stern <stern@rowland.harvard.edu>
First post2016-08-19 16:20 +0200
Last post2016-08-22 11:10 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: How the EHCI HC driver make the decision to suspend some USB  devices? Alan Stern <stern@rowland.harvard.edu> - 2016-08-19 16:20 +0200
    Re: How the EHCI HC driver make the decision to suspend some USB  devices? Oliver Neukum <oneukum@suse.com> - 2016-08-22 11:10 +0200

#1466461 — Re: How the EHCI HC driver make the decision to suspend some USB devices?

FromAlan Stern <stern@rowland.harvard.edu>
Date2016-08-19 16:20 +0200
SubjectRe: How the EHCI HC driver make the decision to suspend some USB devices?
Message-ID<s7SOm-6FX-19@gated-at.bofh.it>
On Fri, 19 Aug 2016, ludeng wrote:

> Hi,
> How the EHCI HC driver make the decision to suspend some USB devices,
> but not to suspend some others? We notice that for some USB Video
> Cameras, when they are enumerated and there is no data to transfer,
> the EHCI HC driver will suspend them by setting the Suspend bit of
> the PORTSC register. But for some other Cameras, the EHCI HC driver
> will not suspend them. The drvier make the decision based on what
> kind of information of the device ?

The EHCI driver does not make this decision.  The decision is made by 
the video camera driver and by the user.

Alan Stern

[toc] | [next] | [standalone]


#1467487

FromOliver Neukum <oneukum@suse.com>
Date2016-08-22 11:10 +0200
Message-ID<s8ToZ-4l2-1@gated-at.bofh.it>
In reply to#1466461
On Fri, 2016-08-19 at 10:16 -0400, Alan Stern wrote:
> On Fri, 19 Aug 2016, ludeng wrote:
> 
> > Hi,
> > How the EHCI HC driver make the decision to suspend some USB devices,
> > but not to suspend some others? We notice that for some USB Video
> > Cameras, when they are enumerated and there is no data to transfer,
> > the EHCI HC driver will suspend them by setting the Suspend bit of
> > the PORTSC register. But for some other Cameras, the EHCI HC driver
> > will not suspend them. The drvier make the decision based on what
> > kind of information of the device ?
> 
> The EHCI driver does not make this decision.  The decision is made by 
> the video camera driver and by the user.

And the driver core in case of devices with multiple interfaces.

But I guess, the question is also about how, not where the decision
is made.

Runtime suspend will be used if

1) every interface's driver has declared
	a) it supports autosuspend
	b) its interface is idle

2) every bus connected to an interface [SCSI] has only suspended
devices

3) the requirements for remote wakeup are met on every interface.
That means, either
	a) remote wakeup is not requested
	b) remote wakeup is requested and
		I) the device supports it
		II) the RESET_RESUME quirk is not set for the device

4) it is enabled in sysfs

	HTH
		Oliver

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web