disp: msm: dp: skip waits when processing usb disconnect in sim mode
With real DP over Type-C sinks, DP driver requests access to USB combo PHY from USB driver. But in DP SIM mode, there is no real sink and PD management, so the combo PHY is managed by USB driver and DP driver uses it without actually claiming it. If the USB cable is unplugged in this scenario, USB driver notifies the disconnection through an atomic notifier call. It does not expect the handler to go into sleep, but the disconnect handler inside DP driver has multiple wait for events and also sleeps to wait for HW state updates. This change passes a skip_wait flag to all the disable functions to complete disconnect processing by skipping all processor sleeps and event waits. Change-Id: Ia98de0e7fa6b0573e644615ee59015914a93f4cf Signed-off-by: Rajkumar Subbiah <quic_rsubbia@quicinc.com>
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
001fa8da90
commit
5043291e1a
@@ -2466,6 +2466,8 @@ static void dp_debug_abort(struct dp_debug *dp_debug)
|
||||
debug = container_of(dp_debug, struct dp_debug_private, dp_debug);
|
||||
|
||||
mutex_lock(&debug->lock);
|
||||
// disconnect has already been handled. so clear hotplug
|
||||
debug->hotplug = false;
|
||||
dp_debug_set_sim_mode(debug, false);
|
||||
mutex_unlock(&debug->lock);
|
||||
}
|
||||
|
Reference in New Issue
Block a user