Linux-USB Archive on
 help / color / Atom feed
* Renesas uPD720202 controller fails when iommu=on
@ 2020-01-09 16:03 Frederik Carlier
  0 siblings, 0 replies; only message in thread
From: Frederik Carlier @ 2020-01-09 16:03 UTC (permalink / raw)
  To: linux-usb; +Cc: marc.zyngier


I have a StarTech PEXUSB3S44V PCI card with 4 Renesas uPD720202 controllers on it.
The card I have comes with a ROM module, which contains a vendor specific configuration data block (see section 6.3.2 of the manual) and firmware version (the most recent firmware version I know of).

The USB controllers work correctly when IOMMU is disabled and fail to initialize when iommu=on, on various kernel versions, including 4.4, 4.11, 4.12, 4.17, 5.0 and 5.3.
This controller is known to have problems when IOMMU is enabled and there have been two kernel patches [1], [2] to work around this problem.

I have captured dmesg output [3], which seems to indicate the card becomes unresponsive.

I have also observed that the procedure to read data from ROM [4]:
- Works when the kernel is running without IOMMU support
- Works whenever I unload the xhci_hcd driver and issue a PCI reset
- Does not work (in particular, the status code is never reset in DATA1) when the kernel is running with IOMMU support and the xhci_hcd driver is bound to the controller.

I am wondering whether there are any additional steps I could take to troubleshoot this issue? The original issue with the uPD720202 controllers with IOMMU enabled seem to be that the controller is accessing invalid memory regions.
Is there any way I can verify whether this causes the problem I'm seeing, or whether there's another issue at play here?

I apologize if this is the wrong forum for this question.




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, back to index

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-09 16:03 Renesas uPD720202 controller fails when iommu=on Frederik Carlier

Linux-USB Archive on

Archives are clonable:
	git clone --mirror linux-usb/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-usb linux-usb/ \
	public-inbox-index linux-usb

Example config snippet for mirrors

Newsgroup available over NNTP:

AGPL code for this site: git clone