Feature Request: Wake from USB attach for docking use cases, even from lid close |
||||||
Issue descriptionScenario: Chromebook is sleeping in lid closed state, with no accessories attached. The user attaches a USB-C docking station, which provides power, a USB hub, and display out via DisplayPort Alternate mode to a monitor. What happens now: Laptop charges, but because of our power state policy, we do not wake from this transition, so the monitor does not come up. The user is required to wake the system with a lid open in order for the displays to be driven. What should happen: We could wake the AP when we detect something's arrived on the USB-Cs that could change display state. In the case that the lid is closed, we could go directly into Docked mode. Other considerations: This may not be realistic for all Chromebooks with USB-C. It might be a good idea to require a board with a dedicated low power auto-toggle capability since right now we don't DRP toggle when we are in S3. If we plug in a Hoho or Ding dong for example, those are sinks and would require the chromebook to source power first.
,
Nov 18 2017
,
Nov 18 2017
,
Nov 18 2017
I'm not sure if this will work as described. It's possible that powerd would interpret the wake as being bogus (since the lid is still closed) and go back to S3 before Chrome gets a chance to tell it that an external display is connected.
,
Nov 19 2017
Hey Dan: Yeah, I expect that if we were to implement this feature, we'd have to build in some grace period for bogus wake resuspend in powerd for this... We'll race no matter what, but we can probably come up with some compromise based on the worst case observed for plugging in a docking station with a monitor... On top of that there's also more complicated cases like someone plugging in an hdmi dongle without anything attached, and then plugging in the HDMI side (generating a HPD) some indeterminate time in the future. It may be tricky, and we may run into interesting bugs with different adapters, but this is just to get the discussion started...
,
Nov 21 2017
Seems like you could do most of the logic on the EC, since HPD is handled via PD messaging. Don't wake the AP until you get a connection AND HPD goes high. The tricky bits (as #4 and #5 suggested) are that the HPD handling races with the bogus wake handling, and the condition where you attach a DP branch device (which could also be an HDMI adapter), where HPD is asserted but sink count is zero.
,
Nov 21 2017
David: Yeah, that would help if a DP Alt mode device is attached, but we also have docks that implement DisplayLink and may need to wake the AP to enumerate so they can configure the proper USB remote wakeup. I suspect we may have to wake whenever we resolve as a DFP just to see what's on the other side...
,
Dec 1 2017
,
Oct 1
,
Oct 1
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by bleung@chromium.org
, Nov 18 2017Components: OS>Kernel>Display