linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Frederik Carlier <frederik.carlier@quamotion.mobi>
To: "linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>
Cc: "marc.zyngier@arm.com" <marc.zyngier@arm.com>
Subject: Renesas uPD720202 controller fails when iommu=on
Date: Thu, 9 Jan 2020 16:03:13 +0000	[thread overview]
Message-ID: <HE1PR05MB3515FB3878D80413BFA8240DEA390@HE1PR05MB3515.eurprd05.prod.outlook.com> (raw)

Hello,

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 2.0.2.6 (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.

Thanks,

Frederik.

[1] https://github.com/torvalds/linux/commit/8466489ef5ba48272ba4fa4ea9f8f403306de4c7
[2] https://github.com/torvalds/linux/commit/12de0a35c996c3a75d050bff748815db3432849c 
[3] https://bugzilla.kernel.org/attachment.cgi?id=286707 
[4] http://billauer.co.il/blog/2015/11/renesas-rom-setpci/ 

                 reply	other threads:[~2020-01-09 16:03 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=HE1PR05MB3515FB3878D80413BFA8240DEA390@HE1PR05MB3515.eurprd05.prod.outlook.com \
    --to=frederik.carlier@quamotion.mobi \
    --cc=linux-usb@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).