shithub: riscv

Download patch

ref: a8fc4ddc6d6af888f9f68d2c1ee9adffcc74cc73
parent: f98bdfece0a0b9ab91d2c0c4ad215538f5debaf5
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++)
--