New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 786721 link

Starred by 6 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature



Sign in to add a comment

Feature Request: Wake from USB attach for docking use cases, even from lid close

Project Member Reported by bleung@chromium.org, Nov 18 2017

Issue description

Scenario:
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.
 

Comment 1 by bleung@chromium.org, Nov 18 2017

Cc: marc...@chromium.org abodenha@chromium.org
Components: OS>Kernel>Display

Comment 2 by bleung@chromium.org, Nov 18 2017

Cc: mdhayter@chromium.org dnojiri@chromium.org

Comment 3 by bleung@chromium.org, Nov 18 2017

Cc: ggranito@chromium.org

Comment 4 by derat@chromium.org, 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.

Comment 5 by bleung@chromium.org, 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...
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.

Comment 7 by bleung@chromium.org, 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...
Labels: -Pri-2 Pri-3
Status: Available (was: Unconfirmed)
Cc: yungleem@chromium.org
Cc: iferouz@chromium.org

Sign in to add a comment