Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32e9bf0e authored by Azhar Shaikh's avatar Azhar Shaikh
Browse files

usb: xhci: Set interrupt moderation for host mode to 4000(1ms)



Higher value allows xhci core to moderate interrupts resulting
in fewer interrupts from xhci core. This results in lower CPU
utilization during peak throughput scenarios.

Change-Id: I69548fd9a1adff1b8eafee40c0f92639efd93b2e
Signed-off-by: default avatarDevdutt Patnaik <dpatnaik@codeaurora.org>
Signed-off-by: default avatarAzhar Shaikh <azhars@codeaurora.org>
parent 94e8222c
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@
#define DRIVER_AUTHOR "Sarah Sharp"
#define DRIVER_DESC "'eXtensible' Host Controller (xHC) Driver"

#define XHCI_INT_MODERATION_VAL 4000

#define	PORT_WAKE_BITS	(PORT_WKOC_E | PORT_WKDISC_E | PORT_WKCONN_E)

/* Some 0.95 hardware can't handle the chain bit on a Link TRB being cleared */
@@ -633,7 +635,7 @@ int xhci_run(struct usb_hcd *hcd)
			"// Set the interrupt modulation register");
	temp = readl(&xhci->ir_set->irq_control);
	temp &= ~ER_IRQ_INTERVAL_MASK;
	temp |= (u32) 160;
	temp |= (u32) XHCI_INT_MODERATION_VAL;
	writel(temp, &xhci->ir_set->irq_control);

	/* Set the HCD state before we enable the irqs */