After investigating reports of large memory issues with nForce EHCI
controllers, NVIDIA has determined that EHCI data structures mapped
above 2GB in memory will cause undefined behavior in USB2 devices.  The
symptoms may include system and device crashes.  The data structures
which will lead to this system behavior are all Transfer Descriptors
used to control transfers on the USB2 bus.  They are namely the
Isochronous Transaction Descriptors (iTD) and Split-transaction
Isochronous Transfer Descriptors (siTD) used in the periodic schedule;
and Queue Heads (QH) used in the periodic and asynchronous schedules.
Note that data buffers, Queue Element Transfer Descriptors (qTD), Frame
Span Traversal Nodes (FSTN) and the Periodic Frame List are not affected
by this restriction.

We would request that this patch be included.

If you have any questions, please feel free to e-mail me.

Mark Overby
Platform Architecture
NVIDIA Corporation

--- linux-2.6.12.3/drivers/usb/host/ehci-hcd.c  2005-07-15
14:18:57.000000000 -0700
+++ linux-2.6.12.3usbpatch/drivers/usb/host/ehci-hcd.c  2005-07-18
16:02:32.000000000 -0700
@@ -551,6 +551,23 @@ static int ehci_start (struct usb_hcd *h
 
                /* help hc dma work well with cachelines */
                pci_set_mwi (pdev);
+
+               /* chip-specific init */
+               switch (pdev->vendor) {
+               case PCI_VENDOR_ID_NVIDIA:
+                       switch (pdev->device) {
+                       case 0x003c: /* MCP04 */
+                       case 0x005b: /* CK804 */
+                       case 0x00d8: /* CK8 */
+                       case 0x00e8: /* CK8S */
+                               /* >2GB Workaround for some of NVIDIA's
EHCI controllers. */
+                               if ((retval =
pci_set_consistent_dma_mask(pdev, 0x7fffffff)) != 0) {
+                                       printk(KERN_WARNING "Setting DMA
mask workaround failed.  This is harmless unless the system has 2GB or
more RAM.\n");
+                               }
+                               break;
+                       }
+                       break;
+               }
        }
 #endif



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id492&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to