disp: msm: dp: abort aux before going to dp suspend
During resume, DP uses AUX to perform various functionalities like DPCD/EDID read or link training etc. This involves other hardware modules as well like USB and Charger. In a situation like continuous suspend/resume, while DP is processing resume, suspend can trigger resulting in dependent hardware modules to go to sleep. As AUX communication is hardware interrupt based, this can result in unstable system. Abort all functionalities before going to suspend to avoid unnecessary AUX and other functionality failures. Change-Id: Id52d408270232adf7258a7eb064ee969eba4be71 Signed-off-by: Sankeerth Billakanti <sbillaka@codeaurora.org> Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
This commit is contained in:
@@ -102,7 +102,7 @@ static void dp_ctrl_video_ready(struct dp_ctrl_private *ctrl)
|
||||
complete(&ctrl->video_comp);
|
||||
}
|
||||
|
||||
static void dp_ctrl_abort(struct dp_ctrl *dp_ctrl)
|
||||
static void dp_ctrl_abort(struct dp_ctrl *dp_ctrl, bool abort)
|
||||
{
|
||||
struct dp_ctrl_private *ctrl;
|
||||
|
||||
@@ -113,7 +113,7 @@ static void dp_ctrl_abort(struct dp_ctrl *dp_ctrl)
|
||||
|
||||
ctrl = container_of(dp_ctrl, struct dp_ctrl_private, dp_ctrl);
|
||||
|
||||
atomic_set(&ctrl->aborted, 1);
|
||||
atomic_set(&ctrl->aborted, abort);
|
||||
}
|
||||
|
||||
static void dp_ctrl_state_ctrl(struct dp_ctrl_private *ctrl, u32 state)
|
||||
|
Reference in New Issue
Block a user