[this is a resend]

Hi all,

Problem:
We are seeing the BM_STS bit stuck at 1, when the USB driver is enabled on
Linux.

Why this is important:
ACPI defines processor power-saving states C0, C1, C2 and C3. We cannot
enter C3 if there is busmastering activity, and so we check BM_STS. If this
is high when it should not be, and we are therefore not using C3, we are
losing battery life.

The ICH2 datasheet says the following on p. 9-63:

"Bus Master Status (BM_STS)- R/WC.
1 = Set by the ICH2-M when a bus master requests a break from the C3 state
(the bus master break events are generated by PIRQ[x]# assertion or bus
master activity by any of ICH2-M's
internal bus masters). Bus master activity is detected by any of the PCI
requests being active, any internal bus master request being active, the
AGPBUSY# signal being active, or activity on either of the ICH2-M's USB
Controllers. A USB Controller is considered active if all three of the
following conditions are true
1. The controller is not in Global Suspend
2. At least one of the controller's ports is not suspended
3. The USB RUN bit is set"

So, which of these three conditions is true, and does it have to be? We also
see this behavior on Windows 2000, but only when a device is plugged in
(invoking condition 2, I guess...)

Thanks in advance -- Regards -- Andy (ACPI maintainer)

----------------------------
Andrew Grover
Intel/TRL/MAL
[EMAIL PROTECTED]



_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
http://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to