summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ehci-sched.c
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2012-09-28 16:01:40 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-10-22 08:57:43 -0700
commit72675479925f53af051ae8a78bcfafeaa47b3eef (patch)
tree565aa9eda9af359c7a3fcef4c6dd11d532d38b8e /drivers/usb/host/ehci-sched.c
parent98cae42d82fe9c9e2b5dacdf391edaa007e147e5 (diff)
downloadop-kernel-dev-72675479925f53af051ae8a78bcfafeaa47b3eef.zip
op-kernel-dev-72675479925f53af051ae8a78bcfafeaa47b3eef.tar.gz
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>
Diffstat (limited to 'drivers/usb/host/ehci-sched.c')
-rw-r--r--drivers/usb/host/ehci-sched.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c
index b764cab..e08e65d 100644
--- a/drivers/usb/host/ehci-sched.c
+++ b/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;
}
OpenPOWER on IntegriCloud