Re: NEC uPD720200 xHCI Controller dies when Runtime PM enabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

On 01.08.2016 13:15, Durval Menezes wrote:
Hello Mike, Mathias, list,

On 06.02.2016 19:08, Mike Murdoch wrote:
Bug ID: 111251

I have a NEC uPD720200 USB3.0 controller in a Thinkpad W520 laptop on
kernel 4.4.1-gentoo.

0e:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host
Controller (rev 04) (prog-if 30 [XHCI])
     Subsystem: Lenovo uPD720200 USB 3.0 Host Controller
     Flags: bus master, fast devsel, latency 0
     Memory at f3800000 (64-bit, non-prefetchable) [size=8K]
     Capabilities: [50] Power Management version 3
     Capabilities: [70] MSI: Enable- Count=1/8 Maskable- 64bit+
     Capabilities: [90] MSI-X: Enable+ Count=8 Masked-
     Capabilities: [a0] Express Endpoint, MSI 00
     Capabilities: [100] Advanced Error Reporting
     Capabilities: [140] Device Serial Number ff-ff-ff-ff-ff-ff-ff-ff
     Capabilities: [150] Latency Tolerance Reporting
     Kernel driver in use: xhci_hcd
     Kernel modules: xhci_pci

When runtime power control for this controller is disabled
(/sys/bus/pci/devices/0000:0e:00.0/power/control = on), the controller
works fine and reaches over 120MB/s transfer rates.

When runtime power control for this controller is enabled
(/sys/bus/pci/devices/0000:0e:00.0/power/control = auto), two effects
can be observed:

- Transfer rates are much lower at around 30MB/s
- During transfers, the controller dies after a couple of seconds:

I found this message in the list archives, and I have the exact same
issues on exactly the same hardware (Thinkpad W520 laptop with the same
USB3 controller showing on lspci -v); otherwise, I'm running distro kernel
2.6.32-573.7.1.el6.x86_64 on a Springdale Linux 6.7 (RHEL6) install.

I just verified that my controller's PM was set by default to "auto":
	cat /sys/bus/pci/devices/0000\:0e\:00.0/power/control
		auto
I have now set it to "on" and will test whether this will work around
the issue (I'm waiting for my USB3.0 "heavy duty" disk docks to be
released from another system that is using them right now).

I have one question for Mike: have you upgraded your uPD720200 controller
firmware (as per [1], [2]) or are you still running stock?

Also, one question for Mathias: do you know whether your patches at [3]
can be applied to kernel 2.6.32?

The last patch in [3] is faulty. So don't use the patches from the mail.

I just force updated that branch, so if you like you can try to backport
patches from:

 git://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git bug_usb3_enum_rtresume

only 2 patches are relevant:

8caabe9 xhci: Don't suspend the xhci bus it there is a pending event.
4427456 xhci: resume USB 3 roothub first

-Mathias


References
     [1] https://forums.lenovo.com/t5/ThinkPad-P-and-W-Series-Mobile/Anyone-updated-their-W520-USB-3-0-firmware/td-p/1164719
     [2] http://pete.akeo.ie/2011/10/flashing-necrenesas-usb-30.html
     [3] http://marc.info/?l=linux-usb&m=145684596900873&w=2


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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux