On 2016-04-25 03:55, Lucas Stach wrote:
> The Chipidea EHCI core seems to behave sanely and doesn't need
> the IO watchdog. This kills off 10 non-deferrable wakeup events
> per second when the controller is otherwise idle.
> 
> Signed-off-by: Lucas Stach <[email protected]>

Tested on Vybrid. Timer interrupts went down from ~35 to ~25 per second
(just did a by eye survey using watch -n 1 cat /proc/interrupts). Not
sure what failure to expect, but things just seemed to work as normal.
Did some md5sums on USB mass storage device and used a HID device.

Tested-by: Stefan Agner <[email protected]>

> ---
> I've only tested this on i.MX6 for now and would like to ask people
> on CC to test on their platforms as they also use the chipidea core.
> ---
>  drivers/usb/chipidea/host.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c
> index 053bac9d983c..96ae69502c86 100644
> --- a/drivers/usb/chipidea/host.c
> +++ b/drivers/usb/chipidea/host.c
> @@ -81,12 +81,15 @@ static int ehci_ci_reset(struct usb_hcd *hcd)
>  {
>       struct device *dev = hcd->self.controller;
>       struct ci_hdrc *ci = dev_get_drvdata(dev);
> +     struct ehci_hcd *ehci = hcd_to_ehci(hcd);
>       int ret;
>  
>       ret = ehci_setup(hcd);
>       if (ret)
>               return ret;
>  
> +     ehci->need_io_watchdog = 0;
> +
>       ci_platform_configure(ci);
>  
>       return ret;
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to