Browse Source

EHCI: replace mult/div with bit-mask operation

This patch (as1610) replaces multiplication and divison operations in
ehci-hcd's isochronous scheduling code with a bit-mask operation,
taking advantage of the fact that isochronous periods are always
powers of 2.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Alan Stern 12 years ago
parent
commit
7267547992
1 changed files with 1 additions and 1 deletions
  1. 1 1
      drivers/usb/host/ehci-sched.c

+ 1 - 1
drivers/usb/host/ehci-sched.c

@@ -1416,7 +1416,7 @@ iso_stream_schedule (
 
 		/* Behind the scheduling threshold?  Assume URB_ISO_ASAP. */
 		if (unlikely(start < next))
-			start += period * DIV_ROUND_UP(next - start, period);
+			start += (next - start + period - 1) & (- period);
 
 		start += base;
 	}