Skip to content

Commit

Permalink
USB: xHCI: Fix interrupt moderation.
Browse files Browse the repository at this point in the history
Mask off the lower 16 bits of the interrupt control register, instead of
masking off the upper 16 bits.  The interrupt moderation interval field is
the lower 16 bytes, and is set to 0x4000 (1ms) by default.  The previous
code was adding 40 us to the default value, instead of setting it to 40
us.  This makes performance really bad.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Sarah Sharp authored and Greg Kroah-Hartman committed Jun 16, 2009
1 parent 9844197 commit a4d8830
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/usb/host/xhci-hcd.c
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ int xhci_run(struct usb_hcd *hcd)

xhci_dbg(xhci, "// Set the interrupt modulation register\n");
temp = xhci_readl(xhci, &xhci->ir_set->irq_control);
temp &= 0xffff;
temp &= ~ER_IRQ_INTERVAL_MASK;
temp |= (u32) 160;
xhci_writel(xhci, temp, &xhci->ir_set->irq_control);

Expand Down

0 comments on commit a4d8830

Please sign in to comment.