Skip to content

Commit f7201c3

Browse files
David Brownellgregkh
authored andcommitted
[PATCH] USB: EHCI workaround for NForce and mem > 2GB
NVidia reports (via Mark Overby) that some of their EHCI controllers don't like certain data structure addresses beyond the 2GB mark. He provided an earlier version of this patch. Signed-off-by: David Brownell <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 10f6524 commit f7201c3

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

drivers/usb/host/ehci-hcd.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -400,6 +400,23 @@ static int ehci_hc_reset (struct usb_hcd *hcd)
400400
return -EIO;
401401
}
402402
break;
403+
case PCI_VENDOR_ID_NVIDIA:
404+
/* NVidia reports that certain chips don't handle
405+
* QH, ITD, or SITD addresses above 2GB. (But TD,
406+
* data buffer, and periodic schedule are normal.)
407+
*/
408+
switch (pdev->device) {
409+
case 0x003c: /* MCP04 */
410+
case 0x005b: /* CK804 */
411+
case 0x00d8: /* CK8 */
412+
case 0x00e8: /* CK8S */
413+
if (pci_set_consistent_dma_mask(pdev,
414+
DMA_31BIT_MASK) < 0)
415+
ehci_warn (ehci, "can't enable NVidia "
416+
"workaround for >2GB RAM\n");
417+
break;
418+
}
419+
break;
403420
}
404421

405422
/* optional debug port, normally in the first BAR */

0 commit comments

Comments
 (0)