> > The reason is that ehci_handle_root_hub_status_change() in ehci driver is
> > called once every 256 ms to poll the ehci root hub or port status change.
> > The fix way is to change the polling to the interrupter-driven. Fortunately,
> > there is a corresponding interrupt enable bit(Port Change Interrupt Enable)
> > offered in the ehci interrupt register. It will be supported to fix the
> > issue.
> 
> This might be one of the causes. 256ms is long enough to let CPUs enter
> deep package C-state. I guess there must be some other activities from USB.

The USB 1.x OHCI driver is polling for port status changes
more  frequently; OHCI is polling every 30 milliseconds:

#define OHCI_RH_POLL_TIME       30000

http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/sys/usb/hcd/openhci/ohci_hub.h#102


{e,o,u}hci_handle_root_hub_status_change
should be visible in powertop...
-- 
This message posted from opensolaris.org
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to