Re: [PATCH v2] EHCI: Add no_io_watchdog feature to ehci_hcd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 12 Jun 2009, Alek Du wrote:

> Can anybody Ack this? It is small patch, but actually we need it. The ongoing Moorestown EHCI patch will leverage it to eliminate unnecessary wakeups which has been in kernel for a long time...
> 
> On Thu, 11 Jun 2009 13:56:04 +0800
> Alek Du <alek.du@xxxxxxxxx> wrote:
> 
> > From 5a1db37084a2e0de9bdc645cd7cf9a3d364855da Mon Sep 17 00:00:00 2001
> > From: Alek Du <alek.du@xxxxxxxxx>
> > Date: Wed, 10 Jun 2009 12:29:57 +0800
> > Subject: [PATCH] EHCI: Add no_io_watchdog feature to ehci_hcd
> > 
> > The IO watchdog wakes up system too much (as defined as EHCI_IO_JIFFIES, ~10
> > times per second) and actually it won't benefit most no interrupt quirk EHCI
> > controllers. Most good EHCI controllers needn't IO watchdog at all. This patch
> > will let them have a chance to disable it. The Intel Moorestown EHCI controller
> > patch will leverage it later.
> > 
> > Signed-off-by: Alek Du <alek.du@xxxxxxxxx>
> > ---
> >  drivers/usb/host/ehci-hcd.c |    2 ++
> >  drivers/usb/host/ehci.h     |    1 +
> >  2 files changed, 3 insertions(+), 0 deletions(-)
> > 
> > diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
> > index c637207..36cedc9 100644
> > --- a/drivers/usb/host/ehci-hcd.c
> > +++ b/drivers/usb/host/ehci-hcd.c
> > @@ -127,6 +127,8 @@ timer_action(struct ehci_hcd *ehci, enum ehci_timer_action action)
> >  
> >  		switch (action) {
> >  		case TIMER_IO_WATCHDOG:
> > +			if (ehci->no_io_watchdog)
> > +				return;
> >  			t = EHCI_IO_JIFFIES;
> >  			break;
> >  		case TIMER_ASYNC_OFF:
> > diff --git a/drivers/usb/host/ehci.h b/drivers/usb/host/ehci.h
> > index 6cff195..c36d22a 100644
> > --- a/drivers/usb/host/ehci.h
> > +++ b/drivers/usb/host/ehci.h
> > @@ -125,6 +125,7 @@ struct ehci_hcd {			/* one per controller */
> >  	unsigned		big_endian_mmio:1;
> >  	unsigned		big_endian_desc:1;
> >  	unsigned		has_amcc_usb23:1;
> > +	unsigned		no_io_watchdog:1;
> >  
> >  	/* required for usb32 quirk */
> >  	#define OHCI_CTRL_HCFS          (3 << 6)

I guess having the TIMER_IO_WATCHDOG bit set in ehci->actions won't 
hurt anything.

Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux