shithub: riscv

Download patch

ref: f0217d2c3f31d83bbae91f6f549dc3cfa48e3fc6
parent: ffb28698bf5922f5d89a0d986fc6ab289fd5b6d3
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sat Jul 22 12:35:13 EDT 2017

usbohci, usbuhci, usbehci: use physical address of registers for matching controllers and printing

--- a/sys/src/9/pc/usbehcipc.c
+++ b/sys/src/9/pc/usbehcipc.c
@@ -180,7 +180,7 @@
 				p->vid, p->did);
 			continue;
 		}
-		dprint("usbehci: %#x %#x: port %#p size %#x irq %d\n",
+		print("usbehci: %#x %#x: port %#p size %#x irq %d\n",
 			p->vid, p->did, io, p->mem[0].size, p->intl);
 
 		ctlr = malloc(sizeof(Ctlr));
@@ -239,7 +239,7 @@
 	for(i = 0; i < Nhcis && ctlrs[i] != nil; i++){
 		ctlr = ctlrs[i];
 		if(ctlr->active == 0)
-		if(hp->port == 0 || hp->port == (uintptr)ctlr->capio){
+		if(hp->port == 0 || hp->port == PADDR(ctlr->capio)){
 			ctlr->active = 1;
 			break;
 		}
@@ -250,7 +250,7 @@
 
 	p = ctlr->pcidev;
 	hp->aux = ctlr;
-	hp->port = (uintptr)ctlr->capio;
+	hp->port = PADDR(ctlr->capio);
 	hp->irq = p->intl;
 	hp->tbdf = p->tbdf;
 
--- a/sys/src/9/pc/usbohci.c
+++ b/sys/src/9/pc/usbohci.c
@@ -2571,7 +2571,7 @@
 	for(i = 0; i < Nhcis && ctlrs[i] != nil; i++){
 		ctlr = ctlrs[i];
 		if(ctlr->active == 0)
-		if(hp->port == 0 || hp->port == (uintptr)ctlr->ohci){
+		if(hp->port == 0 || hp->port == PADDR(ctlr->ohci)){
 			ctlr->active = 1;
 			break;
 		}
@@ -2585,7 +2585,7 @@
 
 	p = ctlr->pcidev;
 	hp->aux = ctlr;
-	hp->port = (uintptr)ctlr->ohci;
+	hp->port = PADDR(ctlr->ohci);
 	hp->irq = p->intl;
 	hp->tbdf = p->tbdf;
 	ctlr->nports = hp->nports = ctlr->ohci->rhdesca & 0xff;
--- a/sys/src/9/pc/usbuhci.c
+++ b/sys/src/9/pc/usbuhci.c
@@ -2144,7 +2144,7 @@
 			continue;
 		}
 
-		dprint("uhci: %#x %#x: port %#ux size %#x irq %d\n",
+		print("uhci: %#x %#x: port %#ux size %#x irq %d\n",
 			p->vid, p->did, io, p->mem[4].size, p->intl);
 
 		ctlr = malloc(sizeof(Ctlr));