[PATCH] USB: OHCI relies less on NDP register
Some OHCI implementations have differences in the way the NDP register (in roothub_a) reports the number of ports present. This patch allows the platform specific code to optionally supply the number of ports. The driver just reads the value at init (if not supplied) instead of reading it every time its needed (except for an AMD756 bug workaround). It also sets the value correctly for the ARM pxa27x architecture. Signed-Off-By: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
e0fd3cbc50
commit
fdd13b36c4
@@ -228,23 +228,22 @@ ohci_dump_roothub (
|
||||
char **next,
|
||||
unsigned *size)
|
||||
{
|
||||
u32 temp, ndp, i;
|
||||
u32 temp, i;
|
||||
|
||||
temp = roothub_a (controller);
|
||||
if (temp == ~(u32)0)
|
||||
return;
|
||||
ndp = (temp & RH_A_NDP);
|
||||
|
||||
if (verbose) {
|
||||
ohci_dbg_sw (controller, next, size,
|
||||
"roothub.a %08x POTPGT=%d%s%s%s%s%s NDP=%d\n", temp,
|
||||
"roothub.a %08x POTPGT=%d%s%s%s%s%s NDP=%d(%d)\n", temp,
|
||||
((temp & RH_A_POTPGT) >> 24) & 0xff,
|
||||
(temp & RH_A_NOCP) ? " NOCP" : "",
|
||||
(temp & RH_A_OCPM) ? " OCPM" : "",
|
||||
(temp & RH_A_DT) ? " DT" : "",
|
||||
(temp & RH_A_NPS) ? " NPS" : "",
|
||||
(temp & RH_A_PSM) ? " PSM" : "",
|
||||
ndp
|
||||
(temp & RH_A_NDP), controller->num_ports
|
||||
);
|
||||
temp = roothub_b (controller);
|
||||
ohci_dbg_sw (controller, next, size,
|
||||
@@ -266,7 +265,7 @@ ohci_dump_roothub (
|
||||
);
|
||||
}
|
||||
|
||||
for (i = 0; i < ndp; i++) {
|
||||
for (i = 0; i < controller->num_ports; i++) {
|
||||
temp = roothub_portstatus (controller, i);
|
||||
dbg_port_sw (controller, i, temp, next, size);
|
||||
}
|
||||
|
Reference in New Issue
Block a user