git: 9front

Download patch

ref: d8a7c1fae1c0b4456aabd132d8020ed29774428a
parent: 5f0cff613ccb73bb9b5f33f7437d8f4d572d0fca
author: cinap_lenrek <cinap_lenrek@gmx.de>
date: Wed Nov 28 02:35:28 EST 2012

usbehci: route ports to all ehci controllers, not just the first

i belive the seizing up was a side effect of broken
bios handover. ehci will not work on the other controllers
if we do not route the ports to them.

--- a/sys/src/9/port/usbehci.c
+++ b/sys/src/9/port/usbehci.c
@@ -3242,12 +3242,9 @@
 	opio->cmd |= Case;
 	coherence();
 	ehcirun(ctlr, 1);
-	/*
-	 * route all ports by default to only one ehci (the first).
-	 * it's not obvious how multiple ehcis could work and on some
-	 * machines, setting Callmine on all ehcis makes the machine seize up.
-	 */
-	opio->config = (ctlrno == 0 ? Callmine : 0);
+
+	/* route all ports to us */
+	opio->config = Callmine;
 	coherence();
 
 	for (i = 0; i < hp->nports; i++)
--