From: David Brownell <david-b@pacbell.net>
To: linux-usb-devel@lists.sourceforge.net
Cc: "Nathan Becker" <nathanbecker@gmail.com>, linux-kernel@vger.kernel.org
Subject: Re: [linux-usb-devel] Re: USB 2.0 ehci failure with large amount of RAM (4GB) on x86_64
Date: Fri, 12 May 2006 21:32:39 -0700 [thread overview]
Message-ID: <200605122132.41410.david-b@pacbell.net> (raw)
In-Reply-To: <2151339d0605092237m4ef4e835k16b8c779f6ad7046@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 702 bytes --]
On Tuesday 09 May 2006 10:37 pm, Nathan Becker wrote:
> I added 1 line to drivers/usb/host/ehci-pci.c which sets the DMA mask,
> and now it seems to work with ehci loaded and with 4 GB of RAM.
> Unfortunately, I don't really understand what I did. Perhaps you have
> a better idea what this is doing and if it is correct.
Interesting. My guess is that the IOMMU is helping you out, and the
issue is that the silicon erratum applies to the I/O buffers too, not
just to a subset of the schedule data structures.
Can you confirm that this patch also resolves your issue? Reboot
from scratch a few times (power off, warm reboot, etc) to be
reasonably sure you're seeing the cases that failed before.
[-- Attachment #2: ehci-nf4.patch --]
[-- Type: text/x-diff, Size: 1197 bytes --]
Modify workaround for the EHCI quirk in newer NVidia controllers by
assigning the DMA mask, not just the consistent DMA mask. It seems
to matter, as if the silicon erratum isn't quite what was described
in the original bug workaround (or there's another erratum).
Index: g26/drivers/usb/host/ehci-pci.c
===================================================================
--- g26.orig/drivers/usb/host/ehci-pci.c 2006-05-12 19:40:22.000000000 -0700
+++ g26/drivers/usb/host/ehci-pci.c 2006-05-12 21:15:31.000000000 -0700
@@ -118,7 +118,15 @@ static int ehci_pci_setup(struct usb_hcd
if (pci_set_consistent_dma_mask(pdev,
DMA_31BIT_MASK) < 0)
ehci_warn(ehci, "can't enable NVidia "
- "workaround for >2GB RAM\n");
+ "workaround %d for >2GB RAM\n", 1);
+
+ /* some users report problems with 4GB when the IOMMU
+ * doesn't force lowmem addresses... looks like the
+ * initial report from NVidia wasn't quite right.
+ */
+ if (pci_set_dma_mask(pdev, DMA_31BIT_MASK) < 0)
+ ehci_warn(ehci, "can't enable NVidia "
+ "workaround %d for >2GB RAM\n", 2);
break;
/* Some NForce2 chips have problems with selective suspend;
* fixed in newer silicon.
next prev parent reply other threads:[~2006-05-13 4:32 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <2151339d0605032148n5d6936ay31ab017fbabc65b3@mail.gmail.com>
2006-05-04 4:52 ` USB 2.0 ehci failure with large amount of RAM (4GB) on x86_64 Nathan Becker
2006-05-04 5:27 ` Greg KH
2006-05-04 7:49 ` Andi Kleen
2006-05-05 0:12 ` Nathan Becker
2006-05-05 2:22 ` David Brownell
2006-05-05 5:46 ` Nathan Becker
2006-05-06 19:32 ` David Brownell
2006-05-06 20:34 ` Nathan Becker
2006-05-10 5:37 ` Nathan Becker
2006-05-10 17:04 ` Nathan Becker
2006-05-13 4:32 ` David Brownell [this message]
2006-05-13 17:17 ` [linux-usb-devel] " Nathan Becker
2006-05-16 17:29 ` Pete Zaitcev
2006-05-20 18:03 ` Will Dyson
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=200605122132.41410.david-b@pacbell.net \
--to=david-b@pacbell.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=nathanbecker@gmail.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