e1f12eb6ba
Hub-initiated LPM is not good for USB communications devices. Comms devices should be able to tell when their link can go into a lower power state, because they know when an incoming transmission is finished. Ideally, these devices would slam their links into a lower power state, using the device-initiated LPM, after finishing the last packet of their data transfer. If we enable the idle timeouts for the parent hubs to enable hub-initiated LPM, we will get a lot of useless LPM packets on the bus as the devices reject LPM transitions when they're in the middle of receiving data. Worse, some devices might blindly accept the hub-initiated LPM and power down their radios while they're in the middle of receiving a transmission. The Intel Windows folks are disabling hub-initiated LPM for all USB communications devices under a xHCI USB 3.0 host. In order to keep the Linux behavior as close as possible to Windows, we need to do the same in Linux. Set the disable_hub_initiated_lpm flag for for all USB communications drivers. I know there aren't currently any USB 3.0 devices that implement these class specifications, but we should be ready if they do. Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Cc: Marcel Holtmann <marcel@holtmann.org> Cc: Gustavo Padovan <gustavo@padovan.org> Cc: Johan Hedberg <johan.hedberg@gmail.com> Cc: Hansjoerg Lipp <hjlipp@web.de> Cc: Tilman Schmidt <tilman@imap.cc> Cc: Karsten Keil <isdn@linux-pingi.de> Cc: Peter Korsgaard <jacmet@sunsite.dk> Cc: Jan Dumon <j.dumon@option.com> Cc: Petko Manolov <petkan@users.sourceforge.net> Cc: Steve Glendinning <steve.glendinning@smsc.com> Cc: "John W. Linville" <linville@tuxdriver.com> Cc: Kalle Valo <kvalo@qca.qualcomm.com> Cc: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com> Cc: Jouni Malinen <jouni@qca.qualcomm.com> Cc: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com> Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com> Cc: Christian Lamparter <chunkeey@googlemail.com> Cc: Brett Rudley <brudley@broadcom.com> Cc: Roland Vossen <rvossen@broadcom.com> Cc: Arend van Spriel <arend@broadcom.com> Cc: "Franky (Zhenhui) Lin" <frankyl@broadcom.com> Cc: Kan Yan <kanyan@broadcom.com> Cc: Dan Williams <dcbw@redhat.com> Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Cc: Ivo van Doorn <IvDoorn@gmail.com> Cc: Gertjan van Wingerde <gwingerde@gmail.com> Cc: Helmut Schaa <helmut.schaa@googlemail.com> Cc: Herton Ronaldo Krzesinski <herton@canonical.com> Cc: Hin-Tak Leung <htl10@users.sourceforge.net> Cc: Larry Finger <Larry.Finger@lwfinger.net> Cc: Chaoming Li <chaoming_li@realsil.com.cn> Cc: Daniel Drake <dsd@gentoo.org> Cc: Ulrich Kunitz <kune@deine-taler.de> Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> |
||
---|---|---|
.. | ||
amd7930_fn.c | ||
amd7930_fn.h | ||
arcofi.c | ||
arcofi.h | ||
asuscom.c | ||
avm_a1.c | ||
avm_a1p.c | ||
avm_pci.c | ||
avma1_cs.c | ||
bkm_a4t.c | ||
bkm_a8.c | ||
bkm_ax.h | ||
callc.c | ||
config.c | ||
diva.c | ||
elsa_cs.c | ||
elsa_ser.c | ||
elsa.c | ||
enternow_pci.c | ||
fsm.c | ||
fsm.h | ||
gazel.c | ||
hfc4s8s_l1.c | ||
hfc4s8s_l1.h | ||
hfc_2bds0.c | ||
hfc_2bds0.h | ||
hfc_2bs0.c | ||
hfc_2bs0.h | ||
hfc_pci.c | ||
hfc_pci.h | ||
hfc_sx.c | ||
hfc_sx.h | ||
hfc_usb.c | ||
hfc_usb.h | ||
hfcscard.c | ||
hisax_cfg.h | ||
hisax_debug.h | ||
hisax_fcpcipnp.c | ||
hisax_fcpcipnp.h | ||
hisax_if.h | ||
hisax_isac.c | ||
hisax_isac.h | ||
hisax.h | ||
hscx_irq.c | ||
hscx.c | ||
hscx.h | ||
icc.c | ||
icc.h | ||
ipac.h | ||
ipacx.c | ||
ipacx.h | ||
isac.c | ||
isac.h | ||
isar.c | ||
isar.h | ||
isdnl1.c | ||
isdnl1.h | ||
isdnl2.c | ||
isdnl2.h | ||
isdnl3.c | ||
isdnl3.h | ||
isurf.c | ||
ix1_micro.c | ||
jade_irq.c | ||
jade.c | ||
jade.h | ||
Kconfig | ||
l3_1tr6.c | ||
l3_1tr6.h | ||
l3dss1.c | ||
l3dss1.h | ||
l3ni1.c | ||
l3ni1.h | ||
lmgr.c | ||
Makefile | ||
mic.c | ||
netjet.c | ||
netjet.h | ||
niccy.c | ||
nj_s.c | ||
nj_u.c | ||
q931.c | ||
s0box.c | ||
saphir.c | ||
sedlbauer_cs.c | ||
sedlbauer.c | ||
sportster.c | ||
st5481_b.c | ||
st5481_d.c | ||
st5481_init.c | ||
st5481_usb.c | ||
st5481.h | ||
tei.c | ||
teleint.c | ||
teles0.c | ||
teles3.c | ||
teles_cs.c | ||
telespci.c | ||
w6692.c | ||
w6692.h |